+Implements a spin lock on a given directory. If the lock cannot be obtained,
+ the process will "spin" waiting for an opportunity to obtain the lock
+ requested.
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateException.html
index a1d5224c3..3cf591cfc 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateException.html
@@ -2,13 +2,13 @@
-
+
-UpdateException (dependency-check-core 1.0.1 API)
+UpdateException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ UpdateException (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="UpdateException (dependency-check-core 1.0.1 API)";
+ parent.document.title="UpdateException (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateService.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateService.html
index 54e28c83e..9dc7c5030 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateService.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/UpdateService.html
@@ -2,13 +2,13 @@
-
+
-UpdateService (dependency-check-core 1.0.1 API)
+UpdateService (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ UpdateService (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="UpdateService (dependency-check-core 1.0.1 API)";
+ parent.document.title="UpdateService (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/CachedWebDataSource.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/CachedWebDataSource.html
index f0f487a68..0745b9703 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/CachedWebDataSource.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/CachedWebDataSource.html
@@ -2,13 +2,13 @@
-
+
-Uses of Interface org.owasp.dependencycheck.data.CachedWebDataSource (dependency-check-core 1.0.1 API)
+Uses of Interface org.owasp.dependencycheck.data.CachedWebDataSource (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Interface org.owasp.dependencycheck.data.CachedWebDataSource (dependency
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Interface org.owasp.dependencycheck.data.CachedWebDataSource (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Interface org.owasp.dependencycheck.data.CachedWebDataSource (Dependency-Check Core 1.0.2 API)";
}
}
@@ -100,7 +100,7 @@ Packages that use
- org.owasp.dependencycheck.data.nvdcve.xml
+org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.data.nvdcve.xml
@@ -136,11 +136,11 @@ Uses of
+
@@ -148,15 +148,15 @@ Uses of
-Classes in org.owasp.dependencycheck.data.nvdcve.xml that implement CachedWebDataSource
+Classes in org.owasp.dependencycheck.data.update that implement CachedWebDataSource
class
-DatabaseUpdater
+DatabaseUpdater
-
+ Class responsible for updating the CPE and NVDCVE data stores.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateException.html
index 0ef49b728..c773c1f64 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateException.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.UpdateException (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.UpdateException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.UpdateException (dependency-check-c
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.UpdateException (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.UpdateException (Dependency-Check Core 1.0.2 API)";
}
}
@@ -100,7 +100,7 @@ Packages that use
- org.owasp.dependencycheck.data.nvdcve.xml
+org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.data.nvdcve.xml
@@ -137,11 +137,11 @@ Uses of
+
@@ -149,25 +149,26 @@ Uses of
-Methods in org.owasp.dependencycheck.data.nvdcve.xml that throw UpdateException
+Methods in org.owasp.dependencycheck.data.update that throw UpdateException
void
-DatabaseUpdater. update ()
+DataStoreMetaInfo. save (NvdCveInfo updatedValue)
+
+
+ Writes a properties file containing the last updated date to the
+ VULNERABLE_CPE directory.
+
+
+
+ void
+DatabaseUpdater. update ()
Downloads the latest NVD CVE XML file from the web and imports it into
the current CVE Database.
-
-
- Map <String ,DatabaseUpdater.NvdCveUrl >
-DatabaseUpdater. updateNeeded ()
-
-
- Determines if the index needs to be updated.
-
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateService.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateService.html
index 038ca4701..346445d0f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateService.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/class-use/UpdateService.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.UpdateService (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.UpdateService (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.UpdateService (dependency-check-cor
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.UpdateService (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.UpdateService (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/BaseIndex.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/BaseIndex.html
new file mode 100644
index 000000000..92e32e9c5
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/BaseIndex.html
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+BaseIndex (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.cpe
+
+Class BaseIndex
+
+java.lang.Object
+ org.owasp.dependencycheck.data.cpe.BaseIndex
+
+
+Direct Known Subclasses: CpeIndexReader , CpeIndexWriter
+
+
+
+public abstract class BaseIndex extends Object
+
+
+
+The Base Index class used to access the CPE Index.
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+BaseIndex ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Closes the CPE Index.
+
+
+
+static File
+getDataDirectory ()
+
+
+ Retrieves the directory that the JAR file exists in so that we can ensure
+ we always use a common data directory.
+
+
+
+ org.apache.lucene.store.Directory
+getDirectory ()
+
+
+ Gets the directory.
+
+
+
+ boolean
+isOpen ()
+
+
+ Returns the status of the data source - is the index open.
+
+
+
+ void
+open ()
+
+
+ Opens the CPE Index.
+
+
+
+protected org.apache.lucene.store.Directory
+openDirectory ()
+
+
+ Returns the Lucene directory object for the CPE Index.
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+BaseIndex
+
+public BaseIndex ()
+
+
+
+
+
+
+
+
+
+getDirectory
+
+public org.apache.lucene.store.Directory getDirectory ()
+
+Gets the directory.
+
+
+
+Returns: the directory
+
+
+
+
+
+open
+
+public void open ()
+ throws IOException
+
+Opens the CPE Index.
+
+
+
+Throws:
+IOException - is thrown if an IOException occurs opening the index.
+
+
+
+
+
+close
+
+public void close ()
+
+Closes the CPE Index.
+
+
+
+
+
+
+
+
+isOpen
+
+public boolean isOpen ()
+
+Returns the status of the data source - is the index open.
+
+
+
+Returns: true or false.
+
+
+
+
+
+openDirectory
+
+protected org.apache.lucene.store.Directory openDirectory ()
+ throws IOException
+
+Returns the Lucene directory object for the CPE Index.
+
+
+
+Returns: the Lucene Directory object for the CPE Index.
+ Throws:
+IOException - is thrown if an IOException occurs.
+
+
+
+
+
+getDataDirectory
+
+public static File getDataDirectory ()
+ throws IOException
+
+Retrieves the directory that the JAR file exists in so that we can ensure
+ we always use a common data directory.
+
+
+
+Returns: the data directory for this index.
+ Throws:
+IOException - is thrown if an IOException occurs of course...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeIndexReader.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeIndexReader.html
new file mode 100644
index 000000000..390946bb8
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeIndexReader.html
@@ -0,0 +1,383 @@
+
+
+
+
+
+
+
+CpeIndexReader (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.cpe
+
+Class CpeIndexReader
+
+java.lang.Object
+ org.owasp.dependencycheck.data.cpe.BaseIndex
+ org.owasp.dependencycheck.data.cpe.CpeIndexReader
+
+
+
+public class CpeIndexReader extends BaseIndex
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Closes the CPE Index.
+
+
+
+ org.apache.lucene.document.Document
+getDocument (int documentId)
+
+
+ Retrieves a document from the Index.
+
+
+
+ void
+open ()
+
+
+ Opens the CPE Index.
+
+
+
+ org.apache.lucene.search.TopDocs
+search (org.apache.lucene.search.Query query,
+ int maxQueryResults)
+
+
+ Searches the index using the given query.
+
+
+
+ org.apache.lucene.search.TopDocs
+search (String searchString,
+ int maxQueryResults)
+
+
+ Searches the index using the given search string.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+CpeIndexReader
+
+public CpeIndexReader ()
+
+
+
+
+
+
+
+
+
+open
+
+public void open ()
+ throws IOException
+
+Opens the CPE Index.
+
+
+Overrides: open in class BaseIndex
+
+
+
+Throws:
+IOException - is thrown if an IOException occurs opening the index.
+
+
+
+
+
+close
+
+public void close ()
+
+Closes the CPE Index.
+
+
+Overrides: close in class BaseIndex
+
+
+
+
+
+
+
+
+search
+
+public org.apache.lucene.search.TopDocs search (String searchString,
+ int maxQueryResults)
+ throws org.apache.lucene.queryparser.classic.ParseException,
+ IOException
+
+Searches the index using the given search string.
+
+
+Parameters: searchString - the query textmaxQueryResults - the maximum number of documents to return
+Returns: the TopDocs found by the search
+ Throws:
+org.apache.lucene.queryparser.classic.ParseException - thrown when the searchString is invalid
+IOException - is thrown if there is an issue with the underlying
+ Index
+
+
+
+
+
+search
+
+public org.apache.lucene.search.TopDocs search (org.apache.lucene.search.Query query,
+ int maxQueryResults)
+ throws org.apache.lucene.index.CorruptIndexException,
+ IOException
+
+Searches the index using the given query.
+
+
+Parameters: query - the query used to search the indexmaxQueryResults - the max number of results to return
+Returns: the TopDocs found be the query
+ Throws:
+org.apache.lucene.index.CorruptIndexException - thrown if the Index is corrupt
+IOException - thrown if there is an IOException
+
+
+
+
+
+getDocument
+
+public org.apache.lucene.document.Document getDocument (int documentId)
+ throws IOException
+
+Retrieves a document from the Index.
+
+
+Parameters: documentId - the id of the document to retrieve
+Returns: the Document
+ Throws:
+IOException - thrown if there is an IOException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeIndexWriter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeIndexWriter.html
new file mode 100644
index 000000000..e53f43af8
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeIndexWriter.html
@@ -0,0 +1,346 @@
+
+
+
+
+
+
+
+CpeIndexWriter (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.cpe
+
+Class CpeIndexWriter
+
+java.lang.Object
+ org.owasp.dependencycheck.data.cpe.BaseIndex
+ org.owasp.dependencycheck.data.cpe.CpeIndexWriter
+
+
+
+public class CpeIndexWriter extends BaseIndex
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ void
+close ()
+
+
+ Closes the CPE Index.
+
+
+
+ void
+commit ()
+
+
+ Commits any pending changes.
+
+
+
+ void
+open ()
+
+
+ Opens the CPE Index.
+
+
+
+ void
+saveEntry (IndexEntry entry)
+
+
+ Saves a CPE IndexEntry into the Lucene index.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+CpeIndexWriter
+
+public CpeIndexWriter ()
+
+
+
+
+
+
+
+
+
+open
+
+public void open ()
+ throws IOException
+
+Opens the CPE Index.
+
+
+Overrides: open in class BaseIndex
+
+
+
+Throws:
+IOException - is thrown if an IOException occurs opening the index.
+
+
+
+
+
+close
+
+public void close ()
+
+Closes the CPE Index.
+
+
+Overrides: close in class BaseIndex
+
+
+
+
+
+
+
+
+commit
+
+public void commit ()
+
+Commits any pending changes.
+
+
+
+
+
+
+
+
+saveEntry
+
+public void saveEntry (IndexEntry entry)
+ throws org.apache.lucene.index.CorruptIndexException,
+ IOException
+
+Saves a CPE IndexEntry into the Lucene index.
+
+
+Parameters: entry - a CPE entry.
+Throws:
+org.apache.lucene.index.CorruptIndexException - is thrown if the index is corrupt.
+IOException - is thrown if an IOException occurs.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/Fields.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/Fields.html
index 83e95947b..37a931cba 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/Fields.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/Fields.html
@@ -2,13 +2,13 @@
-
+
-Fields (dependency-check-core 1.0.1 API)
+Fields (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Fields (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Fields (dependency-check-core 1.0.1 API)";
+ parent.document.title="Fields (Dependency-Check Core 1.0.2 API)";
}
}
@@ -56,8 +56,8 @@ function windowTitle()
- PREV CLASS
- NEXT CLASS
+ PREV CLASS
+ NEXT CLASS
FRAMES
NO FRAMES
@@ -277,8 +277,8 @@ public Fields ()
- PREV CLASS
- NEXT CLASS
+ PREV CLASS
+ NEXT CLASS
FRAMES
NO FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexEntry.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexEntry.html
index 5f8e74c23..da45e77c9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexEntry.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexEntry.html
@@ -2,13 +2,13 @@
-
+
-IndexEntry (dependency-check-core 1.0.1 API)
+IndexEntry (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ IndexEntry (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="IndexEntry (dependency-check-core 1.0.1 API)";
+ parent.document.title="IndexEntry (Dependency-Check Core 1.0.2 API)";
}
}
@@ -56,7 +56,7 @@ function windowTitle()
- PREV CLASS
+ PREV CLASS
NEXT CLASS
FRAMES
@@ -515,7 +515,7 @@ public
- PREV CLASS
+ PREV CLASS
NEXT CLASS
FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/BaseIndex.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/BaseIndex.html
new file mode 100644
index 000000000..edef2ebab
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/BaseIndex.html
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.cpe.BaseIndex (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.cpe.BaseIndex
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeIndexReader.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeIndexReader.html
new file mode 100644
index 000000000..dbe8b7650
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeIndexReader.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.cpe.CpeIndexReader (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.cpe.CpeIndexReader
+
+No usage of org.owasp.dependencycheck.data.cpe.CpeIndexReader
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeIndexWriter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeIndexWriter.html
new file mode 100644
index 000000000..b8275f75e
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeIndexWriter.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.cpe.CpeIndexWriter (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.cpe.CpeIndexWriter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/Fields.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/Fields.html
index b2e43a535..c0b6148cc 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/Fields.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/Fields.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cpe.Fields (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.cpe.Fields (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.cpe.Fields (dependency-check-core 1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.cpe.Fields (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.cpe.Fields (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexEntry.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexEntry.html
index 2a7c4f913..d330d97e3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexEntry.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexEntry.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cpe.IndexEntry (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.cpe.IndexEntry (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.cpe.IndexEntry (dependency-check-co
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.cpe.IndexEntry (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.cpe.IndexEntry (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,6 +91,16 @@ function windowTitle()
Packages that use IndexEntry
+org.owasp.dependencycheck.analyzer
+
+
+ org.owasp.dependencycheck.analyzer
+
+
+ Analyzers are used to inspect the identified dependencies, collect Evidence,
+ and process the dependencies.
+
+
org.owasp.dependencycheck.data.cpe
@@ -111,6 +121,35 @@ Packages that use
+
+
+
+
+
+
+
-
-
-
Methods in org.owasp.dependencycheck.data.cpe with parameters of type IndexEntry
-protected org.apache.lucene.document.Document
-Index. convertEntryToDoc (IndexEntry entry)
-
-
- Converts a CPE entry into a Lucene Document.
-
-
-
void
-Index. saveEntry (IndexEntry entry)
+CpeIndexWriter. saveEntry (IndexEntry entry)
Saves a CPE IndexEntry into the Lucene index.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-frame.html
index 5969c683a..2cc92fc4b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.0.2 API)
-
+
@@ -24,12 +24,14 @@ org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1 API)
Classes
-CPEAnalyzer
+BaseIndex
+
+CpeIndexReader
+
+CpeIndexWriter
Fields
-Index
-
IndexEntry
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-summary.html
index a50fcc30f..35df0975c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.0.2 API)";
}
}
@@ -101,9 +101,16 @@ Package org.owasp.dependencycheck.data.cpe
Class Summary
-CPEAnalyzer
-CPEAnalyzer is a utility class that takes a project dependency and attempts
- to discern if there is an associated CPE.
+BaseIndex
+The Base Index class used to access the CPE Index.
+
+
+CpeIndexReader
+
+
+
+CpeIndexWriter
+
Fields
@@ -111,10 +118,6 @@ Package org.owasp.dependencycheck.data.cpe
entries.
-Index
-The Index class is used to utilize and maintain the CPE Index.
-
-
IndexEntry
A CPE entry containing the name, vendor, product, and version.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-tree.html
index 199c275f7..214dece70 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.cpe Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.cpe Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.cpe Class Hierarchy (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.cpe Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.cpe Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
@@ -93,9 +93,8 @@ Class Hierarchy
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-use.html
index 1757344d6..154bda7cd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.data.cpe (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,6 +91,16 @@ function windowTitle()
Packages that use org.owasp.dependencycheck.data.cpe
+org.owasp.dependencycheck.analyzer
+
+
+ org.owasp.dependencycheck.analyzer
+
+
+ Analyzers are used to inspect the identified dependencies, collect Evidence,
+ and process the dependencies.
+
+
org.owasp.dependencycheck.data.cpe
@@ -100,6 +110,15 @@ Packages that use
+ org.owasp.dependencycheck.data.nvdcve
+
+
+ org.owasp.dependencycheck.data.nvdcve
+
+
+ Contains classes used to work with the NVD CVE data.
+
+
org.owasp.dependencycheck.dependency
@@ -111,6 +130,21 @@ Packages that use
+
+
+
@@ -118,6 +152,12 @@ Packages that use org.owasp.dependencycheck.data.cpe used by org.owasp.dependencycheck.data.cpe
+BaseIndex
+
+
+ The Base Index class used to access the CPE Index.
+
+
IndexEntry
@@ -126,6 +166,21 @@ Classes in
+
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweDB.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweDB.html
index 9e4b9b9f6..34b485c47 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweDB.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweDB.html
@@ -2,13 +2,13 @@
-
+
-CweDB (dependency-check-core 1.0.1 API)
+CweDB (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ CweDB (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="CweDB (dependency-check-core 1.0.1 API)";
+ parent.document.title="CweDB (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweHandler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweHandler.html
index e8b43ab47..acb18a619 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweHandler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/CweHandler.html
@@ -2,13 +2,13 @@
-
+
-CweHandler (dependency-check-core 1.0.1 API)
+CweHandler (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ CweHandler (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="CweHandler (dependency-check-core 1.0.1 API)";
+ parent.document.title="CweHandler (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweDB.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweDB.html
index 335cb4ea0..bf254db63 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweDB.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweDB.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cwe.CweDB (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.cwe.CweDB (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.cwe.CweDB (dependency-check-core 1.
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.cwe.CweDB (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.cwe.CweDB (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweHandler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweHandler.html
index cee3e1dc8..7b821bb3d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweHandler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/class-use/CweHandler.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cwe.CweHandler (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.cwe.CweHandler (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.cwe.CweHandler (dependency-check-co
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.cwe.CweHandler (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.cwe.CweHandler (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-frame.html
index 7f5f4b4f3..263bfa963 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.cwe (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.0.2 API)
-
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-summary.html
index fdcba8597..f165c5811 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.cwe (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.cwe (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.cwe (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-tree.html
index f55286679..e323ca8dc 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.cwe Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.cwe Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.cwe Class Hierarchy (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.cwe Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.cwe Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-use.html
index 3fb0439d2..a6f18bc3d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cwe/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.cwe (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.data.cwe (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.data.cwe (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AbstractTokenizingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AbstractTokenizingFilter.html
index 1d7024b77..8608f20be 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AbstractTokenizingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AbstractTokenizingFilter.html
@@ -2,13 +2,13 @@
-
+
-AbstractTokenizingFilter (dependency-check-core 1.0.1 API)
+AbstractTokenizingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ AbstractTokenizingFilter (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="AbstractTokenizingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="AbstractTokenizingFilter (Dependency-Check Core 1.0.2 API)";
}
}
@@ -56,7 +56,7 @@ function windowTitle()
- PREV CLASS
+ PREV CLASS
NEXT CLASS
FRAMES
@@ -351,7 +351,7 @@ protected boolean addTerm ()
- PREV CLASS
+ PREV CLASS
NEXT CLASS
FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AlphaNumericTokenizer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AlphaNumericTokenizer.html
index 24852210b..cf30df806 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AlphaNumericTokenizer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/AlphaNumericTokenizer.html
@@ -2,13 +2,13 @@
-
+
-AlphaNumericTokenizer (dependency-check-core 1.0.1 API)
+AlphaNumericTokenizer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ AlphaNumericTokenizer (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="AlphaNumericTokenizer (dependency-check-core 1.0.1 API)";
+ parent.document.title="AlphaNumericTokenizer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/DependencySimilarity.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/DependencySimilarity.html
index 7aec5c856..dc7988107 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/DependencySimilarity.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/DependencySimilarity.html
@@ -2,13 +2,13 @@
-
+
-DependencySimilarity (dependency-check-core 1.0.1 API)
+DependencySimilarity (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DependencySimilarity (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DependencySimilarity (dependency-check-core 1.0.1 API)";
+ parent.document.title="DependencySimilarity (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/FieldAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/FieldAnalyzer.html
index e3142c784..f312727a3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/FieldAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/FieldAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-FieldAnalyzer (dependency-check-core 1.0.1 API)
+FieldAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ FieldAnalyzer (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="FieldAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="FieldAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/LuceneUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/LuceneUtils.html
index 10717af03..e0841335e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/LuceneUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/LuceneUtils.html
@@ -2,13 +2,13 @@
-
+
-LuceneUtils (dependency-check-core 1.0.1 API)
+LuceneUtils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ LuceneUtils (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="LuceneUtils (dependency-check-core 1.0.1 API)";
+ parent.document.title="LuceneUtils (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchFieldAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchFieldAnalyzer.html
index 56d09a516..332af4432 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchFieldAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchFieldAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-SearchFieldAnalyzer (dependency-check-core 1.0.1 API)
+SearchFieldAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ SearchFieldAnalyzer (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="SearchFieldAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="SearchFieldAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchVersionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchVersionAnalyzer.html
index 8b691c9fa..65137b5ee 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchVersionAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/SearchVersionAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-SearchVersionAnalyzer (dependency-check-core 1.0.1 API)
+SearchVersionAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ SearchVersionAnalyzer (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="SearchVersionAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="SearchVersionAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/TokenPairConcatenatingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/TokenPairConcatenatingFilter.html
index 546a2cf55..b8ee873dd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/TokenPairConcatenatingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/TokenPairConcatenatingFilter.html
@@ -2,13 +2,13 @@
-
+
-TokenPairConcatenatingFilter (dependency-check-core 1.0.1 API)
+TokenPairConcatenatingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ TokenPairConcatenatingFilter (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="TokenPairConcatenatingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="TokenPairConcatenatingFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/UrlTokenizingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/UrlTokenizingFilter.html
index 7a0035dc4..46d506c74 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/UrlTokenizingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/UrlTokenizingFilter.html
@@ -2,13 +2,13 @@
-
+
-UrlTokenizingFilter (dependency-check-core 1.0.1 API)
+UrlTokenizingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ UrlTokenizingFilter (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="UrlTokenizingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="UrlTokenizingFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionAnalyzer.html
index a1e5b0e5f..0fbd8d394 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-VersionAnalyzer (dependency-check-core 1.0.1 API)
+VersionAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ VersionAnalyzer (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="VersionAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="VersionAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionTokenizingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionTokenizingFilter.html
index 640933ebd..d5dde0cd0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionTokenizingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/VersionTokenizingFilter.html
@@ -2,13 +2,13 @@
-
+
-VersionTokenizingFilter (dependency-check-core 1.0.1 API)
+VersionTokenizingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ VersionTokenizingFilter (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="VersionTokenizingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="VersionTokenizingFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AbstractTokenizingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AbstractTokenizingFilter.html
index c45f1adce..ca790d2b8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AbstractTokenizingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AbstractTokenizingFilter.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AlphaNumericTokenizer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AlphaNumericTokenizer.html
index 829848a24..2128b8365 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AlphaNumericTokenizer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/AlphaNumericTokenizer.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer (depen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/DependencySimilarity.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/DependencySimilarity.html
index 561cb8ab5..3e893e8cc 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/DependencySimilarity.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/DependencySimilarity.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.DependencySimilarity (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.DependencySimilarity (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.DependencySimilarity (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.DependencySimilarity (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.DependencySimilarity (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/FieldAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/FieldAnalyzer.html
index e4fce6f12..1b8f81308 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/FieldAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/FieldAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.FieldAnalyzer (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.FieldAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.FieldAnalyzer (dependency-ch
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.FieldAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.FieldAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/LuceneUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/LuceneUtils.html
index 35eb1978b..80b19c0a4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/LuceneUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/LuceneUtils.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.LuceneUtils (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.LuceneUtils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.LuceneUtils (dependency-chec
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.LuceneUtils (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.LuceneUtils (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchFieldAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchFieldAnalyzer.html
index 741244afe..f0e02a8e7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchFieldAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchFieldAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer (depende
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchVersionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchVersionAnalyzer.html
index f48ddb985..1a3365da6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchVersionAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/SearchVersionAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer (depen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/TokenPairConcatenatingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/TokenPairConcatenatingFilter.html
index ae37965e8..e159a7788 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/TokenPairConcatenatingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/TokenPairConcatenatingFilter.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/UrlTokenizingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/UrlTokenizingFilter.html
index d43c047c7..70670c280 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/UrlTokenizingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/UrlTokenizingFilter.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter (depende
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionAnalyzer.html
index d500c1259..4c95fd58f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionAnalyzer.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.VersionAnalyzer (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.VersionAnalyzer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.VersionAnalyzer (dependency-
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.VersionAnalyzer (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.VersionAnalyzer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionTokenizingFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionTokenizingFilter.html
index 2e3b33495..8cf53d0e6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionTokenizingFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/class-use/VersionTokenizingFilter.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter (dep
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-frame.html
index e2940c149..c5093a53e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.0.2 API)
-
+
@@ -24,8 +24,6 @@ org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0.1 API)
Classes
-AbstractIndex
-
AbstractTokenizingFilter
AlphaNumericTokenizer
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-summary.html
index ce618f4b2..ba4703996 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.0.2 API)";
}
}
@@ -101,10 +101,6 @@ Package org.owasp.dependencycheck.data.lucene
Class Summary
-AbstractIndex
-The base Index for other index objects.
-
-
AbstractTokenizingFilter
An abstract tokenizing filter that can be used as the base for a tokenizing
filter.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-tree.html
index 30ce4fec0..2ec4a18b4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.lucene Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.lucene Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.lucene Class Hierarchy (dependency-check-core 1.0
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.lucene Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.lucene Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
@@ -93,7 +93,7 @@ Class Hierarchy
java.lang.Object
-org.owasp.dependencycheck.data.lucene.AbstractIndex org.apache.lucene.analysis.Analyzer (implements java.io.Closeable )
+ org.apache.lucene.analysis.Analyzer (implements java.io.Closeable )
org.apache.lucene.util.AttributeSource
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-use.html
index 6847356e6..663b34db7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/lucene/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.data.lucene (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,15 +91,6 @@ function windowTitle()
Packages that use org.owasp.dependencycheck.data.lucene
-org.owasp.dependencycheck.data.cpe
-
-
- org.owasp.dependencycheck.data.cpe
-
-
- Contains classes for working with the CPE Lucene Index.
-
-
org.owasp.dependencycheck.data.lucene
@@ -111,21 +102,6 @@ Packages that use
-
-
-
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/CveDB.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/CveDB.html
index 2f7da6b4b..d9ebd3333 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/CveDB.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/CveDB.html
@@ -2,13 +2,13 @@
-
+
-CveDB (dependency-check-core 1.0.1 API)
+CveDB (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ CveDB (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="CveDB (dependency-check-core 1.0.1 API)";
+ parent.document.title="CveDB (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseException.html
index d33e9a9d0..469777949 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseException.html
@@ -2,13 +2,13 @@
-
+
-DatabaseException (dependency-check-core 1.0.1 API)
+DatabaseException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DatabaseException (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DatabaseException (dependency-check-core 1.0.1 API)";
+ parent.document.title="DatabaseException (Dependency-Check Core 1.0.2 API)";
}
}
@@ -57,7 +57,7 @@ function windowTitle()
PREV CLASS
- NEXT CLASS
+ NEXT CLASS
FRAMES
NO FRAMES
@@ -237,7 +237,7 @@ public DatabaseException (
PREV CLASS
- NEXT CLASS
+ NEXT CLASS
FRAMES
NO FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/InvalidDataException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/InvalidDataException.html
new file mode 100644
index 000000000..6c7aba080
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/InvalidDataException.html
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+InvalidDataException (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.nvdcve
+
+Class InvalidDataException
+
+java.lang.Object
+ java.lang.Throwable
+ java.lang.Exception
+ org.owasp.dependencycheck.data.nvdcve.InvalidDataException
+
+
+All Implemented Interfaces: Serializable
+
+
+
+public class InvalidDataException extends Exception
+
+
+
+An InvalidDataDataException is a generic exception used when trying to load
+ the nvd cve meta data.
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Throwable
+
+
+fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+InvalidDataException
+
+public InvalidDataException (String msg)
+
+Creates an InvalidDataException.
+
+
+Parameters: msg - the exception message
+
+
+
+
+InvalidDataException
+
+public InvalidDataException (String msg,
+ Exception ex)
+
+Creates an InvalidDataException.
+
+
+Parameters: msg - the exception messageex - the cause of the exception
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.Element.html
new file mode 100644
index 000000000..1efaead6b
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.Element.html
@@ -0,0 +1,515 @@
+
+
+
+
+
+
+
+NvdCve12Handler.Element (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.nvdcve
+
+Class NvdCve12Handler.Element
+
+java.lang.Object
+ org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.Element
+
+
+Enclosing class: NvdCve12Handler
+
+
+
+protected static class NvdCve12Handler.Element extends Object
+
+
+
+A simple class to maintain information about the current element while
+ parsing the NVD CVE XML.
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+static String
+ENTRY
+
+
+ A node type in the NVD CVE Schema 1.2.
+
+
+
+static String
+NVD
+
+
+ A node type in the NVD CVE Schema 1.2.
+
+
+
+static String
+PROD
+
+
+ A node type in the NVD CVE Schema 1.2.
+
+
+
+static String
+VERS
+
+
+ A node type in the NVD CVE Schema 1.2.
+
+
+
+static String
+VULN_SOFTWARE
+
+
+ A node type in the NVD CVE Schema 1.2.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ String
+getNode ()
+
+
+ Gets the value of node.
+
+
+
+ boolean
+isEntryNode ()
+
+
+ Checks if the handler is at the ENTRY node.
+
+
+
+ boolean
+isNVDNode ()
+
+
+ Checks if the handler is at the NVD node.
+
+
+
+ boolean
+isProdNode ()
+
+
+ Checks if the handler is at the PROD node.
+
+
+
+ boolean
+isVersNode ()
+
+
+ Checks if the handler is at the VERS node.
+
+
+
+ boolean
+isVulnSoftwareNode ()
+
+
+ Checks if the handler is at the VULN_SOFTWARE node.
+
+
+
+ void
+setNode (String node)
+
+
+ Sets the value of node.
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+NVD
+
+public static final String NVD
+
+A node type in the NVD CVE Schema 1.2.
+
+
+See Also: Constant Field Values
+
+
+
+
+ENTRY
+
+public static final String ENTRY
+
+A node type in the NVD CVE Schema 1.2.
+
+
+See Also: Constant Field Values
+
+
+
+
+VULN_SOFTWARE
+
+public static final String VULN_SOFTWARE
+
+A node type in the NVD CVE Schema 1.2.
+
+
+See Also: Constant Field Values
+
+
+
+
+PROD
+
+public static final String PROD
+
+A node type in the NVD CVE Schema 1.2.
+
+
+See Also: Constant Field Values
+
+
+
+
+VERS
+
+public static final String VERS
+
+A node type in the NVD CVE Schema 1.2.
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+NvdCve12Handler.Element
+
+protected NvdCve12Handler.Element ()
+
+
+
+
+
+
+
+
+
+getNode
+
+public String getNode ()
+
+Gets the value of node.
+
+
+
+Returns: the value of node
+
+
+
+
+
+setNode
+
+public void setNode (String node)
+
+Sets the value of node.
+
+
+Parameters: node - new value of node
+
+
+
+
+
+isNVDNode
+
+public boolean isNVDNode ()
+
+Checks if the handler is at the NVD node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isEntryNode
+
+public boolean isEntryNode ()
+
+Checks if the handler is at the ENTRY node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVulnSoftwareNode
+
+public boolean isVulnSoftwareNode ()
+
+Checks if the handler is at the VULN_SOFTWARE node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isProdNode
+
+public boolean isProdNode ()
+
+Checks if the handler is at the PROD node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVersNode
+
+public boolean isVersNode ()
+
+Checks if the handler is at the VERS node.
+
+
+
+Returns: true or false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.html
new file mode 100644
index 000000000..adc44f253
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.html
@@ -0,0 +1,359 @@
+
+
+
+
+
+
+
+NvdCve12Handler (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.nvdcve
+
+Class NvdCve12Handler
+
+java.lang.Object
+ org.xml.sax.helpers.DefaultHandler
+ org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler
+
+
+All Implemented Interfaces: ContentHandler , DTDHandler , EntityResolver , ErrorHandler
+
+
+
+public class NvdCve12Handler extends org.xml.sax.helpers.DefaultHandler
+
+
+
+A SAX Handler that will parse the NVD CVE XML (schema version 1.2). This
+ parses the xml and retrieves a listing of CPEs that have previous versions
+ specified. The previous version information is not in the 2.0 version of the
+ schema and is useful to ensure accurate identification (or at least
+ complete).
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+protected static class
+NvdCve12Handler.Element
+
+
+ A simple class to maintain information about the current element while
+ parsing the NVD CVE XML.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class org.xml.sax.helpers.DefaultHandler
+
+
+characters, endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+NvdCve12Handler
+
+public NvdCve12Handler ()
+
+
+
+
+
+
+
+
+
+getVulnerabilities
+
+public Map <String ,List <VulnerableSoftware >> getVulnerabilities ()
+
+Get the value of vulnerabilities.
+
+
+
+Returns: the value of vulnerabilities
+
+
+
+
+
+startElement
+
+public void startElement (String uri,
+ String localName,
+ String qName,
+ Attributes attributes)
+ throws SAXException
+
+
+Specified by: startElement in interface ContentHandler Overrides: startElement in class org.xml.sax.helpers.DefaultHandler
+
+
+
+Throws:
+SAXException
+
+
+
+
+
+endElement
+
+public void endElement (String uri,
+ String localName,
+ String qName)
+ throws SAXException
+
+
+Specified by: endElement in interface ContentHandler Overrides: endElement in class org.xml.sax.helpers.DefaultHandler
+
+
+
+Throws:
+SAXException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.Element.html
new file mode 100644
index 000000000..40315851a
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.Element.html
@@ -0,0 +1,935 @@
+
+
+
+
+
+
+
+NvdCve20Handler.Element (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.nvdcve
+
+Class NvdCve20Handler.Element
+
+java.lang.Object
+ org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.Element
+
+
+Enclosing class: NvdCve20Handler
+
+
+
+protected static class NvdCve20Handler.Element extends Object
+
+
+
+A simple class to maintain information about the current element while
+ parsing the NVD CVE XML.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+ String
+getNode ()
+
+
+ Gets the value of node.
+
+
+
+ boolean
+isCVSSAccessComplexityNode ()
+
+
+ Checks if the handler is at the CVSS_ACCESS_COMPLEXITY node.
+
+
+
+ boolean
+isCVSSAccessVectorNode ()
+
+
+ Checks if the handler is at the CVSS_ACCESS_VECTOR node.
+
+
+
+ boolean
+isCVSSAuthenticationNode ()
+
+
+ Checks if the handler is at the CVSS_AUTHENTICATION node.
+
+
+
+ boolean
+isCVSSAvailabilityImpactNode ()
+
+
+ Checks if the handler is at the CVSS_AVAILABILITY_IMPACT node.
+
+
+
+ boolean
+isCVSSConfidentialityImpactNode ()
+
+
+ Checks if the handler is at the CVSS_CONFIDENTIALITY_IMPACT node.
+
+
+
+ boolean
+isCVSSIntegrityImpactNode ()
+
+
+ Checks if the handler is at the CVSS_INTEGRITY_IMPACT node.
+
+
+
+ boolean
+isCVSSScoreNode ()
+
+
+ Checks if the handler is at the CVSS_SCORE node.
+
+
+
+ boolean
+isEntryNode ()
+
+
+ Checks if the handler is at the ENTRY node.
+
+
+
+ boolean
+isNVDNode ()
+
+
+ Checks if the handler is at the NVD node.
+
+
+
+ boolean
+isVulnCWENode ()
+
+
+ Checks if the handler is at the VULN_CWE node.
+
+
+
+ boolean
+isVulnProductNode ()
+
+
+ Checks if the handler is at the VULN_PRODUCT node.
+
+
+
+ boolean
+isVulnReferenceNode ()
+
+
+ Checks if the handler is at the REFERENCE node.
+
+
+
+ boolean
+isVulnReferencesNode ()
+
+
+ Checks if the handler is at the REFERENCES node.
+
+
+
+ boolean
+isVulnSourceNode ()
+
+
+ Checks if the handler is at the VULN_SOURCE node.
+
+
+
+ boolean
+isVulnSummaryNode ()
+
+
+ Checks if the handler is at the VULN_SUMMARY node.
+
+
+
+ void
+setNode (String node)
+
+
+ Sets the value of node.
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+NVD
+
+public static final String NVD
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+ENTRY
+
+public static final String ENTRY
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+VULN_PRODUCT
+
+public static final String VULN_PRODUCT
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+VULN_REFERENCES
+
+public static final String VULN_REFERENCES
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+VULN_SOURCE
+
+public static final String VULN_SOURCE
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+VULN_REFERENCE
+
+public static final String VULN_REFERENCE
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+VULN_SUMMARY
+
+public static final String VULN_SUMMARY
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+VULN_CWE
+
+public static final String VULN_CWE
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+CVSS_SCORE
+
+public static final String CVSS_SCORE
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+CVSS_ACCESS_VECTOR
+
+public static final String CVSS_ACCESS_VECTOR
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+CVSS_ACCESS_COMPLEXITY
+
+public static final String CVSS_ACCESS_COMPLEXITY
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+CVSS_AUTHENTICATION
+
+public static final String CVSS_AUTHENTICATION
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+CVSS_CONFIDENTIALITY_IMPACT
+
+public static final String CVSS_CONFIDENTIALITY_IMPACT
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+CVSS_INTEGRITY_IMPACT
+
+public static final String CVSS_INTEGRITY_IMPACT
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+CVSS_AVAILABILITY_IMPACT
+
+public static final String CVSS_AVAILABILITY_IMPACT
+
+A node type in the NVD CVE Schema 2.0
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+NvdCve20Handler.Element
+
+protected NvdCve20Handler.Element ()
+
+
+
+
+
+
+
+
+
+getNode
+
+public String getNode ()
+
+Gets the value of node.
+
+
+
+Returns: the value of node
+
+
+
+
+
+setNode
+
+public void setNode (String node)
+
+Sets the value of node.
+
+
+Parameters: node - new value of node
+
+
+
+
+
+isNVDNode
+
+public boolean isNVDNode ()
+
+Checks if the handler is at the NVD node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isEntryNode
+
+public boolean isEntryNode ()
+
+Checks if the handler is at the ENTRY node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVulnProductNode
+
+public boolean isVulnProductNode ()
+
+Checks if the handler is at the VULN_PRODUCT node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVulnReferencesNode
+
+public boolean isVulnReferencesNode ()
+
+Checks if the handler is at the REFERENCES node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVulnReferenceNode
+
+public boolean isVulnReferenceNode ()
+
+Checks if the handler is at the REFERENCE node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVulnSourceNode
+
+public boolean isVulnSourceNode ()
+
+Checks if the handler is at the VULN_SOURCE node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVulnSummaryNode
+
+public boolean isVulnSummaryNode ()
+
+Checks if the handler is at the VULN_SUMMARY node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isVulnCWENode
+
+public boolean isVulnCWENode ()
+
+Checks if the handler is at the VULN_CWE node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isCVSSScoreNode
+
+public boolean isCVSSScoreNode ()
+
+Checks if the handler is at the CVSS_SCORE node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isCVSSAccessVectorNode
+
+public boolean isCVSSAccessVectorNode ()
+
+Checks if the handler is at the CVSS_ACCESS_VECTOR node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isCVSSAccessComplexityNode
+
+public boolean isCVSSAccessComplexityNode ()
+
+Checks if the handler is at the CVSS_ACCESS_COMPLEXITY node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isCVSSAuthenticationNode
+
+public boolean isCVSSAuthenticationNode ()
+
+Checks if the handler is at the CVSS_AUTHENTICATION node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isCVSSConfidentialityImpactNode
+
+public boolean isCVSSConfidentialityImpactNode ()
+
+Checks if the handler is at the CVSS_CONFIDENTIALITY_IMPACT node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isCVSSIntegrityImpactNode
+
+public boolean isCVSSIntegrityImpactNode ()
+
+Checks if the handler is at the CVSS_INTEGRITY_IMPACT node.
+
+
+
+Returns: true or false
+
+
+
+
+
+isCVSSAvailabilityImpactNode
+
+public boolean isCVSSAvailabilityImpactNode ()
+
+Checks if the handler is at the CVSS_AVAILABILITY_IMPACT node.
+
+
+
+Returns: true or false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.html
new file mode 100644
index 000000000..69bf2a4de
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.html
@@ -0,0 +1,501 @@
+
+
+
+
+
+
+
+NvdCve20Handler (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.nvdcve
+
+Class NvdCve20Handler
+
+java.lang.Object
+ org.xml.sax.helpers.DefaultHandler
+ org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler
+
+
+All Implemented Interfaces: ContentHandler , DTDHandler , EntityResolver , ErrorHandler
+
+
+
+public class NvdCve20Handler extends org.xml.sax.helpers.DefaultHandler
+
+
+
+A SAX Handler that will parse the NVD CVE XML (schema version 2.0).
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+protected static class
+NvdCve20Handler.Element
+
+
+ A simple class to maintain information about the current element while
+ parsing the NVD CVE XML.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class org.xml.sax.helpers.DefaultHandler
+
+
+endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+NvdCve20Handler
+
+public NvdCve20Handler ()
+
+
+
+
+
+
+
+
+
+getTotalNumberOfEntries
+
+public int getTotalNumberOfEntries ()
+
+Get the value of totalNumberOfEntries.
+
+
+
+Returns: the value of totalNumberOfEntries
+
+
+
+
+
+getTotalNumberOfApplicationEntries
+
+public int getTotalNumberOfApplicationEntries ()
+
+Get the value of totalNumberOfApplicationEntries.
+
+
+
+Returns: the value of totalNumberOfApplicationEntries
+
+
+
+
+
+startElement
+
+public void startElement (String uri,
+ String localName,
+ String qName,
+ Attributes attributes)
+ throws SAXException
+
+
+Specified by: startElement in interface ContentHandler Overrides: startElement in class org.xml.sax.helpers.DefaultHandler
+
+
+
+Throws:
+SAXException
+
+
+
+
+
+characters
+
+public void characters (char[] ch,
+ int start,
+ int length)
+ throws SAXException
+
+
+Specified by: characters in interface ContentHandler Overrides: characters in class org.xml.sax.helpers.DefaultHandler
+
+
+
+Throws:
+SAXException
+
+
+
+
+
+endElement
+
+public void endElement (String uri,
+ String localName,
+ String qName)
+ throws SAXException
+
+
+Specified by: endElement in interface ContentHandler Overrides: endElement in class org.xml.sax.helpers.DefaultHandler
+
+
+
+Throws:
+SAXException
+
+
+
+
+
+setCveDB
+
+public void setCveDB (CveDB db)
+
+Sets the cveDB.
+
+
+Parameters: db - a reference to the CveDB
+
+
+
+
+
+setPrevVersionVulnMap
+
+public void setPrevVersionVulnMap (Map <String ,List <VulnerableSoftware >> map)
+
+Sets the prevVersionVulnMap.
+
+
+Parameters: map - the map of vulnerable software with previous versions being
+ vulnerable
+
+
+
+
+
+saveEntry
+
+public void saveEntry (Vulnerability vuln)
+ throws DatabaseException ,
+ org.apache.lucene.index.CorruptIndexException,
+ IOException
+
+Saves a vulnerability to the CVE Database. This is a callback method
+ called by the Sax Parser Handler
+ org.owasp.dependencycheck.data.nvdcve.xml.NvdCve20Handler.
+
+
+Parameters: vuln - the vulnerability to store in the database
+Throws:
+DatabaseException - thrown if there is an error writing to the
+ database
+org.apache.lucene.index.CorruptIndexException - is thrown if the CPE Index is corrupt
+IOException - thrown if there is an IOException with the CPE Index
+
+
+
+
+
+setCpeIndex
+
+public void setCpeIndex (CpeIndexWriter index)
+
+Sets the cpe index writer.
+
+
+Parameters: index - the CPE Lucene Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/CveDB.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/CveDB.html
index 390975fb6..9c12a54ca 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/CveDB.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/CveDB.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.CveDB (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.nvdcve.CveDB (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.nvdcve.CveDB (dependency-check-core
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.nvdcve.CveDB (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.nvdcve.CveDB (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,21 +91,22 @@ function windowTitle()
Packages that use CveDB
-org.owasp.dependencycheck.data.nvdcve.xml
+org.owasp.dependencycheck.data.nvdcve
- org.owasp.dependencycheck.data.nvdcve.xml
+ org.owasp.dependencycheck.data.nvdcve
-
+
+ Contains classes used to work with the NVD CVE data.
-
+
@@ -113,12 +114,12 @@ Uses of
-Methods in org.owasp.dependencycheck.data.nvdcve.xml with parameters of type CveDB
+Methods in org.owasp.dependencycheck.data.nvdcve with parameters of type CveDB
void
-NvdCve20Handler. setCveDB (CveDB db)
+NvdCve20Handler. setCveDB (CveDB db)
Sets the cveDB.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseException.html
index f794e3d3d..8133895c4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseException.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseException (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseException (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseException (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseException (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,13 +91,14 @@ function windowTitle()
Packages that use DatabaseException
-org.owasp.dependencycheck.data.cpe
+org.owasp.dependencycheck.analyzer
- org.owasp.dependencycheck.data.cpe
+ org.owasp.dependencycheck.analyzer
- Contains classes for working with the CPE Lucene Index.
+ Analyzers are used to inspect the identified dependencies, collect Evidence,
+ and process the dependencies.
org.owasp.dependencycheck.data.nvdcve
@@ -108,22 +109,14 @@ Packages that use
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
-
-
+
@@ -131,12 +124,20 @@ Uses of
-Methods in org.owasp.dependencycheck.data.cpe that throw DatabaseException
+Methods in org.owasp.dependencycheck.analyzer that throw DatabaseException
void
-CPEAnalyzer. open ()
+NvdCveAnalyzer. open ()
+
+
+ Opens the data source.
+
+
+
+ void
+CPEAnalyzer. open ()
Opens the data source.
@@ -177,14 +178,6 @@ Uses of
void
-NvdCveAnalyzer. open ()
-
-
- Opens the data source.
-
-
-
- void
CveDB. open ()
@@ -193,35 +186,18 @@ Uses of
void
-CveDB. updateVulnerability (Vulnerability vuln)
+NvdCve20Handler. saveEntry (Vulnerability vuln)
- Updates the vulnerability within the database.
-
-
-
-
-
-
-
-
-
-
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/InvalidDataException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/InvalidDataException.html
new file mode 100644
index 000000000..2215f30bd
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/InvalidDataException.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.InvalidDataException (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.InvalidDataException
+
+No usage of org.owasp.dependencycheck.data.nvdcve.InvalidDataException
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve12Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve12Handler.Element.html
new file mode 100644
index 000000000..3e3e9095a
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve12Handler.Element.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.Element (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.Element
+
+No usage of org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.Element
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve12Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve12Handler.html
new file mode 100644
index 000000000..412707d75
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve12Handler.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler
+
+No usage of org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve20Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve20Handler.Element.html
new file mode 100644
index 000000000..c1d439870
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve20Handler.Element.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.Element (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.Element
+
+No usage of org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.Element
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve20Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve20Handler.html
new file mode 100644
index 000000000..c36fb461f
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/NvdCve20Handler.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler
+
+No usage of org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-frame.html
index dd791aff3..58369e415 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.nvdcve (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.0.2 API)
-
+
@@ -26,7 +26,13 @@ Classes
CveDB
-NvdCveAnalyzer
+NvdCve12Handler
+
+NvdCve12Handler.Element
+
+NvdCve20Handler
+
+NvdCve20Handler.Element
@@ -37,7 +43,9 @@ Classes
Exceptions
-DatabaseException
+DatabaseException
+
+InvalidDataException
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-summary.html
index 9c0776853..1bd58ff3e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.nvdcve (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.nvdcve (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.nvdcve (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.0.2 API)";
}
}
@@ -57,7 +57,7 @@ function windowTitle()
PREV PACKAGE
- NEXT PACKAGE
+ NEXT PACKAGE
FRAMES
NO FRAMES
@@ -105,9 +105,22 @@ Package org.owasp.dependencycheck.data.nvdcve
The database holding information about the NVD CVE data.
-NvdCveAnalyzer
-NvdCveAnalyzer is a utility class that takes a project dependency and
- attempts to discern if there is an associated CVEs.
+NvdCve12Handler
+A SAX Handler that will parse the NVD CVE XML (schema version 1.2).
+
+
+NvdCve12Handler.Element
+A simple class to maintain information about the current element while
+ parsing the NVD CVE XML.
+
+
+NvdCve20Handler
+A SAX Handler that will parse the NVD CVE XML (schema version 2.0).
+
+
+NvdCve20Handler.Element
+A simple class to maintain information about the current element while
+ parsing the NVD CVE XML.
@@ -123,6 +136,11 @@ Package org.owasp.dependencycheck.data.nvdcve
DatabaseException
An exception thrown if an operation against the database fails.
+
+InvalidDataException
+An InvalidDataDataException is a generic exception used when trying to load
+ the nvd cve meta data.
+
@@ -176,7 +194,7 @@ Package org.owasp.dependencycheck.data.nvdcve Description
PREV PACKAGE
- NEXT PACKAGE
+ NEXT PACKAGE
FRAMES
NO FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-tree.html
index 8b8969dc3..91cf6c215 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data.nvdcve Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data.nvdcve Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data.nvdcve Class Hierarchy (dependency-check-core 1.0
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data.nvdcve Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data.nvdcve Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
@@ -57,7 +57,7 @@ function windowTitle()
PREV
- NEXT
+ NEXT
FRAMES
NO FRAMES
@@ -93,11 +93,13 @@ Class Hierarchy
@@ -132,7 +134,7 @@ Class Hierarchy
PREV
- NEXT
+ NEXT
FRAMES
NO FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-use.html
index c20982c81..60c399ccd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.nvdcve (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.data.nvdcve (dependency-check-core 1.0
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.data.nvdcve (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,13 +91,14 @@ function windowTitle()
Packages that use org.owasp.dependencycheck.data.nvdcve
-org.owasp.dependencycheck.data.cpe
+org.owasp.dependencycheck.analyzer
- org.owasp.dependencycheck.data.cpe
+ org.owasp.dependencycheck.analyzer
- Contains classes for working with the CPE Lucene Index.
+ Analyzers are used to inspect the identified dependencies, collect Evidence,
+ and process the dependencies.
org.owasp.dependencycheck.data.nvdcve
@@ -108,25 +109,17 @@ Packages that use
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
-
-
+
-
-
-
-
-
-
-Classes in org.owasp.dependencycheck.data.nvdcve used by org.owasp.dependencycheck.data.nvdcve.xml
-
-
-CveDB
+CveDB
The database holding information about the NVD CVE data.
-DatabaseException
+DatabaseException
An exception thrown if an operation against the database fails.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-frame.html
index 8d424d711..7b6aef3d9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data (Dependency-Check Core 1.0.2 API)
-
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-summary.html
index 853d6829d..a9e51899a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data (Dependency-Check Core 1.0.2 API)";
}
}
@@ -56,7 +56,7 @@ function windowTitle()
- PREV PACKAGE
+ PREV PACKAGE
NEXT PACKAGE
FRAMES
@@ -184,7 +184,7 @@ Package org.owasp.dependencycheck.data Description
- PREV PACKAGE
+ PREV PACKAGE
NEXT PACKAGE
FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-tree.html
index 8587ef2db..230abc701 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.data Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.data Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.data Class Hierarchy (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.data Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.data Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
@@ -56,7 +56,7 @@ function windowTitle()
- PREV
+ PREV
NEXT
FRAMES
@@ -137,7 +137,7 @@ Interface Hierarchy
- PREV
+ PREV
NEXT
FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-use.html
index 26e7e8598..e96824ff2 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.data (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.data (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.data (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.data (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.data (Dependency-Check Core 1.0.2 API)";
}
}
@@ -100,7 +100,7 @@ Packages that use
- org.owasp.dependencycheck.data.nvdcve.xml
+org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.data.nvdcve.xml
@@ -137,20 +137,20 @@ Classes in
+
-Classes in org.owasp.dependencycheck.data used by org.owasp.dependencycheck.data.nvdcve.xml
+Classes in org.owasp.dependencycheck.data used by org.owasp.dependencycheck.data.update
-CachedWebDataSource
+CachedWebDataSource
Defines an Index who's data is retrieved from the Internet.
-UpdateException
+UpdateException
An exception used when an error occurs reading a setting.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/DataStoreMetaInfo.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/DataStoreMetaInfo.html
new file mode 100644
index 000000000..9328e738d
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/DataStoreMetaInfo.html
@@ -0,0 +1,505 @@
+
+
+
+
+
+
+
+DataStoreMetaInfo (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.update
+
+Class DataStoreMetaInfo
+
+java.lang.Object
+ org.owasp.dependencycheck.data.update.DataStoreMetaInfo
+
+
+
+public class DataStoreMetaInfo extends Object
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+static String
+BATCH
+
+
+ Batch key word, used as key to store information about batch mode.
+
+
+
+static String
+LAST_UPDATED
+
+
+ The properties file key for the last updated field - used to store the
+ last updated time of the Modified NVD CVE xml file.
+
+
+
+static String
+LAST_UPDATED_BASE
+
+
+ Stores the last updated time for each of the NVD CVE files.
+
+
+
+static String
+MODIFIED
+
+
+ Modified key word, used as a key to store information about the modified
+ file (i.e.
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+DataStoreMetaInfo ()
+
+
+ Constructs a new data properties object.
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+static File
+getPropertiesFile ()
+
+
+ Retrieves the properties file.
+
+
+
+ String
+getProperty (String key)
+
+
+ Returns the property value for the given key.
+
+
+
+ String
+getProperty (String key,
+ String defaultValue)
+
+
+ Returns the property value for the given key.
+
+
+
+protected boolean
+isBatchUpdateMode ()
+
+
+ Get the value of batchUpdateMode.
+
+
+
+ boolean
+isEmpty ()
+
+
+ Returns whether or not any properties are set.
+
+
+
+ void
+save (NvdCveInfo updatedValue)
+
+
+ Writes a properties file containing the last updated date to the
+ VULNERABLE_CPE directory.
+
+
+
+protected void
+setBatchUpdateMode (boolean batchUpdateMode)
+
+
+ Set the value of batchUpdateMode.
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+BATCH
+
+public static final String BATCH
+
+Batch key word, used as key to store information about batch mode.
+
+
+See Also: Constant Field Values
+
+
+
+
+MODIFIED
+
+public static final String MODIFIED
+
+Modified key word, used as a key to store information about the modified
+ file (i.e. the containing the last 8 days of updates)..
+
+
+See Also: Constant Field Values
+
+
+
+
+LAST_UPDATED
+
+public static final String LAST_UPDATED
+
+The properties file key for the last updated field - used to store the
+ last updated time of the Modified NVD CVE xml file.
+
+
+See Also: Constant Field Values
+
+
+
+
+LAST_UPDATED_BASE
+
+public static final String LAST_UPDATED_BASE
+
+Stores the last updated time for each of the NVD CVE files. These
+ timestamps should be updated if we process the modified file within 7
+ days of the last update.
+
+
+See Also: Constant Field Values
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+DataStoreMetaInfo
+
+public DataStoreMetaInfo ()
+
+Constructs a new data properties object.
+
+
+
+
+
+
+
+
+
+isBatchUpdateMode
+
+protected boolean isBatchUpdateMode ()
+
+Get the value of batchUpdateMode.
+
+
+
+Returns: the value of batchUpdateMode
+
+
+
+
+
+setBatchUpdateMode
+
+protected void setBatchUpdateMode (boolean batchUpdateMode)
+
+Set the value of batchUpdateMode.
+
+
+Parameters: batchUpdateMode - new value of batchUpdateMode
+
+
+
+
+
+isEmpty
+
+public boolean isEmpty ()
+
+Returns whether or not any properties are set.
+
+
+
+Returns: whether or not any properties are set
+
+
+
+
+
+save
+
+public void save (NvdCveInfo updatedValue)
+ throws UpdateException
+
+Writes a properties file containing the last updated date to the
+ VULNERABLE_CPE directory.
+
+
+Parameters: updatedValue - the updated nvdcve entry
+Throws:
+UpdateException - is thrown if there is an update exception
+
+
+
+
+
+getProperty
+
+public String getProperty (String key)
+
+Returns the property value for the given key. If the key is not contained
+ in the underlying properties null is returned.
+
+
+Parameters: key - the property key
+Returns: the value of the property
+
+
+
+
+
+getProperty
+
+public String getProperty (String key,
+ String defaultValue)
+
+Returns the property value for the given key. If the key is not contained
+ in the underlying properties the default value is returned.
+
+
+Parameters: key - the property keydefaultValue - the default value
+Returns: the value of the property
+
+
+
+
+
+getPropertiesFile
+
+public static File getPropertiesFile ()
+
+Retrieves the properties file.
+
+
+
+Returns: the properties file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/DatabaseUpdater.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/DatabaseUpdater.html
new file mode 100644
index 000000000..4d4ff30e3
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/DatabaseUpdater.html
@@ -0,0 +1,351 @@
+
+
+
+
+
+
+
+DatabaseUpdater (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.update
+
+Class DatabaseUpdater
+
+java.lang.Object
+ org.owasp.dependencycheck.data.update.DatabaseUpdater
+
+
+All Implemented Interfaces: CachedWebDataSource
+
+
+
+public class DatabaseUpdater extends Object implements CachedWebDataSource
+
+
+
+Class responsible for updating the CPE and NVDCVE data stores.
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+protected void
+deleteExistingData ()
+
+
+ Deletes the existing data directories.
+
+
+
+protected boolean
+isDoBatchUpdate ()
+
+
+ Get the value of doBatchUpdate
+
+
+
+protected void
+setDoBatchUpdate (boolean doBatchUpdate)
+
+
+ Set the value of doBatchUpdate
+
+
+
+ void
+update ()
+
+
+ Downloads the latest NVD CVE XML file from the web and imports it into
+ the current CVE Database.
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+DatabaseUpdater
+
+public DatabaseUpdater ()
+
+
+
+
+
+
+
+
+
+isDoBatchUpdate
+
+protected boolean isDoBatchUpdate ()
+
+Get the value of doBatchUpdate
+
+
+
+
+
+
+Returns: the value of doBatchUpdate
+
+
+
+
+
+setDoBatchUpdate
+
+protected void setDoBatchUpdate (boolean doBatchUpdate)
+
+Set the value of doBatchUpdate
+
+
+
+
+
+Parameters: doBatchUpdate - new value of doBatchUpdate
+
+
+
+
+
+update
+
+public void update ()
+ throws UpdateException
+
+Downloads the latest NVD CVE XML file from the web and imports it into
+ the current CVE Database.
+
+
+Specified by: update in interface CachedWebDataSource
+
+
+
+Throws:
+UpdateException - is thrown if there is an error updating the
+ database
+
+
+
+
+
+deleteExistingData
+
+protected void deleteExistingData ()
+ throws IOException
+
+Deletes the existing data directories.
+
+
+
+
+
+
+Throws:
+IOException - thrown if the directory cannot be deleted
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveInfo.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveInfo.html
new file mode 100644
index 000000000..b333a2cbb
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveInfo.html
@@ -0,0 +1,457 @@
+
+
+
+
+
+
+
+NvdCveInfo (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.update
+
+Class NvdCveInfo
+
+java.lang.Object
+ org.owasp.dependencycheck.data.update.NvdCveInfo
+
+
+
+public class NvdCveInfo extends Object
+
+
+
+A pojo that contains the Url and timestamp of the current NvdCve XML files.
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+NvdCveInfo ()
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+
+
+clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+NvdCveInfo
+
+public NvdCveInfo ()
+
+
+
+
+
+
+
+
+
+getId
+
+public String getId ()
+
+Get the value of id.
+
+
+
+Returns: the value of id
+
+
+
+
+
+setId
+
+public void setId (String id)
+
+Set the value of id.
+
+
+Parameters: id - new value of id
+
+
+
+
+
+getUrl
+
+public String getUrl ()
+
+Get the value of url.
+
+
+
+Returns: the value of url
+
+
+
+
+
+setUrl
+
+public void setUrl (String url)
+
+Set the value of url.
+
+
+Parameters: url - new value of url
+
+
+
+
+
+getOldSchemaVersionUrl
+
+public String getOldSchemaVersionUrl ()
+
+Get the value of oldSchemaVersionUrl.
+
+
+
+Returns: the value of oldSchemaVersionUrl
+
+
+
+
+
+setOldSchemaVersionUrl
+
+public void setOldSchemaVersionUrl (String oldSchemaVersionUrl)
+
+Set the value of oldSchemaVersionUrl.
+
+
+Parameters: oldSchemaVersionUrl - new value of oldSchemaVersionUrl
+
+
+
+
+
+getTimestamp
+
+public long getTimestamp ()
+
+Get the value of timestamp - epoch time.
+
+
+
+Returns: the value of timestamp - epoch time
+
+
+
+
+
+setTimestamp
+
+public void setTimestamp (long timestamp)
+
+Set the value of timestamp - epoch time.
+
+
+Parameters: timestamp - new value of timestamp - epoch time
+
+
+
+
+
+getNeedsUpdate
+
+public boolean getNeedsUpdate ()
+
+Get the value of needsUpdate.
+
+
+
+Returns: the value of needsUpdate
+
+
+
+
+
+setNeedsUpdate
+
+public void setNeedsUpdate (boolean needsUpdate)
+
+Set the value of needsUpdate.
+
+
+Parameters: needsUpdate - new value of needsUpdate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/DataStoreMetaInfo.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/DataStoreMetaInfo.html
new file mode 100644
index 000000000..8e8e850ae
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/DataStoreMetaInfo.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.update.DataStoreMetaInfo (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.update.DataStoreMetaInfo
+
+No usage of org.owasp.dependencycheck.data.update.DataStoreMetaInfo
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/DatabaseUpdater.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/DatabaseUpdater.html
new file mode 100644
index 000000000..d4a776c74
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/DatabaseUpdater.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.update.DatabaseUpdater (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.update.DatabaseUpdater
+
+No usage of org.owasp.dependencycheck.data.update.DatabaseUpdater
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/NvdCveInfo.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/NvdCveInfo.html
new file mode 100644
index 000000000..4d44701f7
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/NvdCveInfo.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.update.NvdCveInfo (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.data.update.NvdCveInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-frame.html
new file mode 100644
index 000000000..64d3007ab
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-frame.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.update (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.update
+
+
+
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-summary.html
new file mode 100644
index 000000000..639713f6a
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-summary.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.update (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Package org.owasp.dependencycheck.data.update
+
+
+
+ org.owasp.dependencycheck.data.nvdcve.xml
+
+
+
+See:
+
+ Description
+
+
+
+
+
+Class Summary
+
+
+DatabaseUpdater
+Class responsible for updating the CPE and NVDCVE data stores.
+
+
+DataStoreMetaInfo
+
+
+
+NvdCveInfo
+A pojo that contains the Url and timestamp of the current NvdCve XML files.
+
+
+
+
+
+
+Package org.owasp.dependencycheck.data.update Description
+
+
+
+
+
+ org.owasp.dependencycheck.data.nvdcve.xml
+
+
+ Contains classes used to parse the NVD CVE XML file.
+ The basic use is that the Importer is called to import
+ an NVD CVE file. The Importer instantiates an Indexer object
+ (which extends Index). The Indexer creates a partial-unmarshalling
+ SAX parser (implemented in the NvdCveXmlFilter) that extracts
+ VulnerabilityTypes (aka Entry) from the NVD CVE data file and
+ stores these into a Lucene Index.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-tree.html
new file mode 100644
index 000000000..8787cae12
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-tree.html
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+org.owasp.dependencycheck.data.update Class Hierarchy (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hierarchy For Package org.owasp.dependencycheck.data.update
+
+
+
+Package Hierarchies: All Packages
+
+
+Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-use.html
new file mode 100644
index 000000000..f0d0e061d
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/package-use.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+Uses of Package org.owasp.dependencycheck.data.update (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Package org.owasp.dependencycheck.data.update
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Dependency.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Dependency.html
index 2d9d7800e..2f3a88825 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Dependency.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Dependency.html
@@ -2,13 +2,13 @@
-
+
-Dependency (dependency-check-core 1.0.1 API)
+Dependency (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Dependency (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Dependency (dependency-check-core 1.0.1 API)";
+ parent.document.title="Dependency (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.Confidence.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.Confidence.html
index ea65dee30..790f8d6f3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.Confidence.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.Confidence.html
@@ -2,13 +2,13 @@
-
+
-Evidence.Confidence (dependency-check-core 1.0.1 API)
+Evidence.Confidence (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Evidence.Confidence (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Evidence.Confidence (dependency-check-core 1.0.1 API)";
+ parent.document.title="Evidence.Confidence (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.html
index e66f37d17..f471e9170 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.html
@@ -2,13 +2,13 @@
-
+
-Evidence (dependency-check-core 1.0.1 API)
+Evidence (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Evidence (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Evidence (dependency-check-core 1.0.1 API)";
+ parent.document.title="Evidence (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/EvidenceCollection.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/EvidenceCollection.html
index 2865775d4..83b4a897a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/EvidenceCollection.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/EvidenceCollection.html
@@ -2,13 +2,13 @@
-
+
-EvidenceCollection (dependency-check-core 1.0.1 API)
+EvidenceCollection (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ EvidenceCollection (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="EvidenceCollection (dependency-check-core 1.0.1 API)";
+ parent.document.title="EvidenceCollection (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Identifier.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Identifier.html
index 9f2133521..900f555d5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Identifier.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Identifier.html
@@ -2,13 +2,13 @@
-
+
-Identifier (dependency-check-core 1.0.1 API)
+Identifier (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Identifier (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Identifier (dependency-check-core 1.0.1 API)";
+ parent.document.title="Identifier (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Reference.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Reference.html
index 77b949e86..0fdf31358 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Reference.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Reference.html
@@ -2,13 +2,13 @@
-
+
-Reference (dependency-check-core 1.0.1 API)
+Reference (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Reference (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Reference (dependency-check-core 1.0.1 API)";
+ parent.document.title="Reference (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Vulnerability.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Vulnerability.html
index 7b753d0c9..b507904d6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Vulnerability.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Vulnerability.html
@@ -2,13 +2,13 @@
-
+
-Vulnerability (dependency-check-core 1.0.1 API)
+Vulnerability (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Vulnerability (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Vulnerability (dependency-check-core 1.0.1 API)";
+ parent.document.title="Vulnerability (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerabilityComparator.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerabilityComparator.html
index 155f4b817..ee11feaca 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerabilityComparator.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerabilityComparator.html
@@ -2,13 +2,13 @@
-
+
-VulnerabilityComparator (dependency-check-core 1.0.1 API)
+VulnerabilityComparator (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ VulnerabilityComparator (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="VulnerabilityComparator (dependency-check-core 1.0.1 API)";
+ parent.document.title="VulnerabilityComparator (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerableSoftware.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
index abe50b894..c6cbfa745 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
@@ -2,13 +2,13 @@
-
+
-VulnerableSoftware (dependency-check-core 1.0.1 API)
+VulnerableSoftware (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ VulnerableSoftware (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="VulnerableSoftware (dependency-check-core 1.0.1 API)";
+ parent.document.title="VulnerableSoftware (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Dependency.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Dependency.html
index cf686e342..b8eaff26f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Dependency.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Dependency.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Dependency (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.Dependency (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.Dependency (dependency-check-
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Dependency (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Dependency (Dependency-Check Core 1.0.2 API)";
}
}
@@ -110,24 +110,6 @@ Packages that use
- org.owasp.dependencycheck.data.cpe
-
-
- org.owasp.dependencycheck.data.cpe
-
-
- Contains classes for working with the CPE Lucene Index.
-
-
-org.owasp.dependencycheck.data.nvdcve
-
-
- org.owasp.dependencycheck.data.nvdcve
-
-
- Contains classes used to work with the NVD CVE data.
-
-
org.owasp.dependencycheck.dependency
@@ -190,6 +172,16 @@ Uses of
void
+NvdCveAnalyzer. analyze (Dependency dependency,
+ Engine engine)
+
+
+ Analyzes a dependency and attempts to determine if there are any CPE
+ identifiers for this dependency.
+
+
+
+ void
JavaScriptAnalyzer. analyze (Dependency dependency,
Engine engine)
@@ -248,6 +240,16 @@ Uses of
void
+CPEAnalyzer. analyze (Dependency dependency,
+ Engine engine)
+
+
+ Analyzes a dependency and attempts to determine if there are any CPE
+ identifiers for this dependency.
+
+
+
+ void
ArchiveAnalyzer. analyze (Dependency dependency,
Engine engine)
@@ -285,6 +287,15 @@ Uses of
+protected void
+CPEAnalyzer. determineCPE (Dependency dependency)
+
+
+ Searches the data store of CPE entries, trying to identify the CPE for
+ the given dependency based on the evidence contained within.
+
+
+
protected boolean
JarAnalyzer. parseManifest (Dependency dependency,
ArrayList <JarAnalyzer.ClassNameInformation > classInformation)
@@ -295,69 +306,6 @@ Uses of
-
-
-
-
-
-
-Methods in org.owasp.dependencycheck.data.cpe with parameters of type Dependency
-
-
-
- void
-CPEAnalyzer. analyze (Dependency dependency,
- Engine engine)
-
-
- Analyzes a dependency and attempts to determine if there are any CPE
- identifiers for this dependency.
-
-
-
-protected void
-CPEAnalyzer. determineCPE (Dependency dependency)
-
-
- Searches the data store of CPE entries, trying to identify the CPE for
- the given dependency based on the evidence contained within.
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.Confidence.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.Confidence.html
index 6ef3eadec..d5e5d365f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.Confidence.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.Confidence.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Evidence.Confidence (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.Evidence.Confidence (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.Evidence.Confidence (dependen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Evidence.Confidence (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Evidence.Confidence (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.html
index 0198fa530..8008cf23f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Evidence.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Evidence (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.Evidence (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.Evidence (dependency-check-co
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Evidence (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Evidence (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/EvidenceCollection.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/EvidenceCollection.html
index 9e00b50f8..394623d8e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/EvidenceCollection.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/EvidenceCollection.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.EvidenceCollection (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.EvidenceCollection (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.EvidenceCollection (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.EvidenceCollection (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.EvidenceCollection (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Identifier.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Identifier.html
index e60ae132e..aef0a332d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Identifier.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Identifier.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Identifier (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.Identifier (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.Identifier (dependency-check-
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Identifier (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Identifier (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Reference.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Reference.html
index 55479571e..5ed72a3d6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Reference.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Reference.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Reference (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.Reference (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.Reference (dependency-check-c
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Reference (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Reference (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Vulnerability.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Vulnerability.html
index 757730731..924999a99 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Vulnerability.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Vulnerability.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Vulnerability (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.Vulnerability (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.Vulnerability (dependency-che
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Vulnerability (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.Vulnerability (Dependency-Check Core 1.0.2 API)";
}
}
@@ -100,14 +100,6 @@ Packages that use
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
-
-
org.owasp.dependencycheck.dependency
@@ -152,35 +144,18 @@ Uses of
void
-CveDB. updateVulnerability (Vulnerability vuln)
+NvdCve20Handler. saveEntry (Vulnerability vuln)
- Updates the vulnerability within the database.
-
-
-
-
-
-
-
-
-
-
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerabilityComparator.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerabilityComparator.html
index 12ef91932..8b3ecb529 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerabilityComparator.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerabilityComparator.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.VulnerabilityComparator (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.VulnerabilityComparator (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.VulnerabilityComparator (depe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.VulnerabilityComparator (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.VulnerabilityComparator (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerableSoftware.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerableSoftware.html
index de41958a5..a15a915d4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerableSoftware.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/VulnerableSoftware.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.VulnerableSoftware (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.dependency.VulnerableSoftware (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.dependency.VulnerableSoftware (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.VulnerableSoftware (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.dependency.VulnerableSoftware (Dependency-Check Core 1.0.2 API)";
}
}
@@ -100,14 +100,6 @@ Packages that use
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
-
-
org.owasp.dependencycheck.dependency
@@ -143,27 +135,10 @@ Uses of
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Classes in org.owasp.dependencycheck.dependency used by org.owasp.dependencycheck.data.nvdcve.xml
-
-
-Vulnerability
-
-
- Contains the information about a vulnerability.
-
-
-VulnerableSoftware
-
A record containing information about vulnerable software.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/MavenNamespaceFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/MavenNamespaceFilter.html
index 85c871450..bc70be0ad 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/MavenNamespaceFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/MavenNamespaceFilter.html
@@ -2,13 +2,13 @@
-
+
-MavenNamespaceFilter (dependency-check-core 1.0.1 API)
+MavenNamespaceFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ MavenNamespaceFilter (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="MavenNamespaceFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="MavenNamespaceFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/class-use/MavenNamespaceFilter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/class-use/MavenNamespaceFilter.html
index 792f9e902..ebcb951c5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/class-use/MavenNamespaceFilter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/class-use/MavenNamespaceFilter.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Activation.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Activation.html
index e1bcdb88a..887e643ee 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Activation.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Activation.html
@@ -2,13 +2,13 @@
-
+
-Activation (dependency-check-core 1.0.1 API)
+Activation (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Activation (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Activation (dependency-check-core 1.0.1 API)";
+ parent.document.title="Activation (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationFile.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationFile.html
index 1c4a88a61..48a460d97 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationFile.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationFile.html
@@ -2,13 +2,13 @@
-
+
-ActivationFile (dependency-check-core 1.0.1 API)
+ActivationFile (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ActivationFile (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ActivationFile (dependency-check-core 1.0.1 API)";
+ parent.document.title="ActivationFile (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationOS.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationOS.html
index 2ea9463c0..d05ef1b49 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationOS.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationOS.html
@@ -2,13 +2,13 @@
-
+
-ActivationOS (dependency-check-core 1.0.1 API)
+ActivationOS (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ActivationOS (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ActivationOS (dependency-check-core 1.0.1 API)";
+ parent.document.title="ActivationOS (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationProperty.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationProperty.html
index 024f8104f..f55251517 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationProperty.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ActivationProperty.html
@@ -2,13 +2,13 @@
-
+
-ActivationProperty (dependency-check-core 1.0.1 API)
+ActivationProperty (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ActivationProperty (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ActivationProperty (dependency-check-core 1.0.1 API)";
+ parent.document.title="ActivationProperty (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Extensions.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Extensions.html
index 10ce6d263..3bf07b01c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Extensions.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Extensions.html
@@ -2,13 +2,13 @@
-
+
-Build.Extensions (dependency-check-core 1.0.1 API)
+Build.Extensions (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Build.Extensions (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Build.Extensions (dependency-check-core 1.0.1 API)";
+ parent.document.title="Build.Extensions (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Filters.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Filters.html
index e9e155b0f..80d021f45 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Filters.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Filters.html
@@ -2,13 +2,13 @@
-
+
-Build.Filters (dependency-check-core 1.0.1 API)
+Build.Filters (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Build.Filters (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Build.Filters (dependency-check-core 1.0.1 API)";
+ parent.document.title="Build.Filters (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Plugins.html
index ea8140daf..5a742fc7c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Plugins.html
@@ -2,13 +2,13 @@
-
+
-Build.Plugins (dependency-check-core 1.0.1 API)
+Build.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Build.Plugins (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Build.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="Build.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Resources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Resources.html
index 2567625ba..fc2af6350 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Resources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.Resources.html
@@ -2,13 +2,13 @@
-
+
-Build.Resources (dependency-check-core 1.0.1 API)
+Build.Resources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Build.Resources (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Build.Resources (dependency-check-core 1.0.1 API)";
+ parent.document.title="Build.Resources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.TestResources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.TestResources.html
index 9c08ef781..88c1ee846 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.TestResources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.TestResources.html
@@ -2,13 +2,13 @@
-
+
-Build.TestResources (dependency-check-core 1.0.1 API)
+Build.TestResources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Build.TestResources (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Build.TestResources (dependency-check-core 1.0.1 API)";
+ parent.document.title="Build.TestResources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.html
index 56bc569a8..f2af0d1af 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Build.html
@@ -2,13 +2,13 @@
-
+
-Build (dependency-check-core 1.0.1 API)
+Build (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Build (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Build (dependency-check-core 1.0.1 API)";
+ parent.document.title="Build (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Filters.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Filters.html
index 2c9545dd3..22cb0d844 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Filters.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Filters.html
@@ -2,13 +2,13 @@
-
+
-BuildBase.Filters (dependency-check-core 1.0.1 API)
+BuildBase.Filters (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ BuildBase.Filters (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="BuildBase.Filters (dependency-check-core 1.0.1 API)";
+ parent.document.title="BuildBase.Filters (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Plugins.html
index f9d42f9d0..f799b3054 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Plugins.html
@@ -2,13 +2,13 @@
-
+
-BuildBase.Plugins (dependency-check-core 1.0.1 API)
+BuildBase.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ BuildBase.Plugins (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="BuildBase.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="BuildBase.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Resources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Resources.html
index 2330d2150..292a52f84 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Resources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.Resources.html
@@ -2,13 +2,13 @@
-
+
-BuildBase.Resources (dependency-check-core 1.0.1 API)
+BuildBase.Resources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ BuildBase.Resources (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="BuildBase.Resources (dependency-check-core 1.0.1 API)";
+ parent.document.title="BuildBase.Resources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.TestResources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.TestResources.html
index 5e17c182a..ace36448c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.TestResources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.TestResources.html
@@ -2,13 +2,13 @@
-
+
-BuildBase.TestResources (dependency-check-core 1.0.1 API)
+BuildBase.TestResources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ BuildBase.TestResources (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="BuildBase.TestResources (dependency-check-core 1.0.1 API)";
+ parent.document.title="BuildBase.TestResources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.html
index e32473916..7f0f7ba35 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/BuildBase.html
@@ -2,13 +2,13 @@
-
+
-BuildBase (dependency-check-core 1.0.1 API)
+BuildBase (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ BuildBase (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="BuildBase (dependency-check-core 1.0.1 API)";
+ parent.document.title="BuildBase (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.Notifiers.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.Notifiers.html
index 1d9c25f18..31840cee6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.Notifiers.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.Notifiers.html
@@ -2,13 +2,13 @@
-
+
-CiManagement.Notifiers (dependency-check-core 1.0.1 API)
+CiManagement.Notifiers (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ CiManagement.Notifiers (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="CiManagement.Notifiers (dependency-check-core 1.0.1 API)";
+ parent.document.title="CiManagement.Notifiers (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.html
index 7e1f717f4..56d4d2ed7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/CiManagement.html
@@ -2,13 +2,13 @@
-
+
-CiManagement (dependency-check-core 1.0.1 API)
+CiManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ CiManagement (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="CiManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="CiManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Properties.html
index e1f614e2a..397b787fd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Properties.html
@@ -2,13 +2,13 @@
-
+
-Contributor.Properties (dependency-check-core 1.0.1 API)
+Contributor.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Contributor.Properties (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Contributor.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Contributor.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Roles.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Roles.html
index 83784bebd..5d78e22d5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Roles.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.Roles.html
@@ -2,13 +2,13 @@
-
+
-Contributor.Roles (dependency-check-core 1.0.1 API)
+Contributor.Roles (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Contributor.Roles (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Contributor.Roles (dependency-check-core 1.0.1 API)";
+ parent.document.title="Contributor.Roles (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.html
index 5530a7f1a..8f0c1eea0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Contributor.html
@@ -2,13 +2,13 @@
-
+
-Contributor (dependency-check-core 1.0.1 API)
+Contributor (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Contributor (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Contributor (dependency-check-core 1.0.1 API)";
+ parent.document.title="Contributor (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.Exclusions.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.Exclusions.html
index 02ef03986..c2c09b8bc 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.Exclusions.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.Exclusions.html
@@ -2,13 +2,13 @@
-
+
-Dependency.Exclusions (dependency-check-core 1.0.1 API)
+Dependency.Exclusions (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Dependency.Exclusions (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Dependency.Exclusions (dependency-check-core 1.0.1 API)";
+ parent.document.title="Dependency.Exclusions (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.html
index 6f7b8aaff..7c1a42a21 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Dependency.html
@@ -2,13 +2,13 @@
-
+
-Dependency (dependency-check-core 1.0.1 API)
+Dependency (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Dependency (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Dependency (dependency-check-core 1.0.1 API)";
+ parent.document.title="Dependency (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.Dependencies.html
index a77d7fdba..3c52660b5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-DependencyManagement.Dependencies (dependency-check-core 1.0.1 API)
+DependencyManagement.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DependencyManagement.Dependencies (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DependencyManagement.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="DependencyManagement.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.html
index d7bbc1333..710e32b04 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DependencyManagement.html
@@ -2,13 +2,13 @@
-
+
-DependencyManagement (dependency-check-core 1.0.1 API)
+DependencyManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DependencyManagement (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DependencyManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="DependencyManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DeploymentRepository.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DeploymentRepository.html
index 204123f13..556d352dd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DeploymentRepository.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DeploymentRepository.html
@@ -2,13 +2,13 @@
-
+
-DeploymentRepository (dependency-check-core 1.0.1 API)
+DeploymentRepository (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DeploymentRepository (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DeploymentRepository (dependency-check-core 1.0.1 API)";
+ parent.document.title="DeploymentRepository (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Properties.html
index d138b8b21..29ca7e63f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Properties.html
@@ -2,13 +2,13 @@
-
+
-Developer.Properties (dependency-check-core 1.0.1 API)
+Developer.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Developer.Properties (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Developer.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Developer.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Roles.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Roles.html
index 4c3c5600b..d067af115 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Roles.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.Roles.html
@@ -2,13 +2,13 @@
-
+
-Developer.Roles (dependency-check-core 1.0.1 API)
+Developer.Roles (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Developer.Roles (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Developer.Roles (dependency-check-core 1.0.1 API)";
+ parent.document.title="Developer.Roles (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.html
index 2bd7c7b7a..f3a143ef6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Developer.html
@@ -2,13 +2,13 @@
-
+
-Developer (dependency-check-core 1.0.1 API)
+Developer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Developer (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Developer (dependency-check-core 1.0.1 API)";
+ parent.document.title="Developer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DistributionManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DistributionManagement.html
index f74298bb6..8ebf744bd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DistributionManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/DistributionManagement.html
@@ -2,13 +2,13 @@
-
+
-DistributionManagement (dependency-check-core 1.0.1 API)
+DistributionManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DistributionManagement (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DistributionManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="DistributionManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.html
index ca82a8c19..1a5b52a0f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Exclusion.html
@@ -2,13 +2,13 @@
-
+
-Exclusion (dependency-check-core 1.0.1 API)
+Exclusion (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Exclusion (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Exclusion (dependency-check-core 1.0.1 API)";
+ parent.document.title="Exclusion (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Extension.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Extension.html
index 3506051e6..cbcc42369 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Extension.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Extension.html
@@ -2,13 +2,13 @@
-
+
-Extension (dependency-check-core 1.0.1 API)
+Extension (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Extension (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Extension (dependency-check-core 1.0.1 API)";
+ parent.document.title="Extension (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/IssueManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/IssueManagement.html
index 1c90188cf..140882590 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/IssueManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/IssueManagement.html
@@ -2,13 +2,13 @@
-
+
-IssueManagement (dependency-check-core 1.0.1 API)
+IssueManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ IssueManagement (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="IssueManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="IssueManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/License.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/License.html
index 1bb988585..22feeef10 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/License.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/License.html
@@ -2,13 +2,13 @@
-
+
-License (dependency-check-core 1.0.1 API)
+License (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ License (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="License (dependency-check-core 1.0.1 API)";
+ parent.document.title="License (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.OtherArchives.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.OtherArchives.html
index 67b79316a..2912d33a4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.OtherArchives.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.OtherArchives.html
@@ -2,13 +2,13 @@
-
+
-MailingList.OtherArchives (dependency-check-core 1.0.1 API)
+MailingList.OtherArchives (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ MailingList.OtherArchives (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="MailingList.OtherArchives (dependency-check-core 1.0.1 API)";
+ parent.document.title="MailingList.OtherArchives (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.html
index bdd373c9c..037e520b0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/MailingList.html
@@ -2,13 +2,13 @@
-
+
-MailingList (dependency-check-core 1.0.1 API)
+MailingList (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ MailingList (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="MailingList (dependency-check-core 1.0.1 API)";
+ parent.document.title="MailingList (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Contributors.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Contributors.html
index 192720171..3f78ac804 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Contributors.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Contributors.html
@@ -2,13 +2,13 @@
-
+
-Model.Contributors (dependency-check-core 1.0.1 API)
+Model.Contributors (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Contributors (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Contributors (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Contributors (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Dependencies.html
index 66feb4f16..def64df7a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-Model.Dependencies (dependency-check-core 1.0.1 API)
+Model.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Dependencies (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Developers.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Developers.html
index a9d5d4c86..d8dd6dcaa 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Developers.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Developers.html
@@ -2,13 +2,13 @@
-
+
-Model.Developers (dependency-check-core 1.0.1 API)
+Model.Developers (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Developers (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Developers (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Developers (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Licenses.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Licenses.html
index 14152e7a6..928508205 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Licenses.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Licenses.html
@@ -2,13 +2,13 @@
-
+
-Model.Licenses (dependency-check-core 1.0.1 API)
+Model.Licenses (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Licenses (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Licenses (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Licenses (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.MailingLists.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.MailingLists.html
index 8f174f71a..6d03b05e8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.MailingLists.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.MailingLists.html
@@ -2,13 +2,13 @@
-
+
-Model.MailingLists (dependency-check-core 1.0.1 API)
+Model.MailingLists (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.MailingLists (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.MailingLists (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.MailingLists (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Modules.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Modules.html
index eb4a4e6aa..85dfdeffd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Modules.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Modules.html
@@ -2,13 +2,13 @@
-
+
-Model.Modules (dependency-check-core 1.0.1 API)
+Model.Modules (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Modules (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Modules (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Modules (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.PluginRepositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.PluginRepositories.html
index 3eab9adc3..48ca0e7cd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.PluginRepositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.PluginRepositories.html
@@ -2,13 +2,13 @@
-
+
-Model.PluginRepositories (dependency-check-core 1.0.1 API)
+Model.PluginRepositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.PluginRepositories (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.PluginRepositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.PluginRepositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Profiles.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Profiles.html
index 7ffc2b944..28fc287b1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Profiles.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Profiles.html
@@ -2,13 +2,13 @@
-
+
-Model.Profiles (dependency-check-core 1.0.1 API)
+Model.Profiles (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Profiles (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Profiles (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Profiles (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Properties.html
index c9ae5597e..d7869dc23 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Properties.html
@@ -2,13 +2,13 @@
-
+
-Model.Properties (dependency-check-core 1.0.1 API)
+Model.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Properties (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Reports.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Reports.html
index 6cac1321a..80b66a0e2 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Reports.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Reports.html
@@ -2,13 +2,13 @@
-
+
-Model.Reports (dependency-check-core 1.0.1 API)
+Model.Reports (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Reports (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Reports (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Reports (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Repositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Repositories.html
index b602db035..be09d40d3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Repositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.Repositories.html
@@ -2,13 +2,13 @@
-
+
-Model.Repositories (dependency-check-core 1.0.1 API)
+Model.Repositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model.Repositories (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model.Repositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model.Repositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.html
index bd738e86c..f4d50337e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Model.html
@@ -2,13 +2,13 @@
-
+
-Model (dependency-check-core 1.0.1 API)
+Model (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Model (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Model (dependency-check-core 1.0.1 API)";
+ parent.document.title="Model (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.Configuration.html
index 147027c91..930f0bc48 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.Configuration.html
@@ -2,13 +2,13 @@
-
+
-Notifier.Configuration (dependency-check-core 1.0.1 API)
+Notifier.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Notifier.Configuration (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Notifier.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="Notifier.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.html
index bc9cfbe04..129d2f9ac 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Notifier.html
@@ -2,13 +2,13 @@
-
+
-Notifier (dependency-check-core 1.0.1 API)
+Notifier (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Notifier (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Notifier (dependency-check-core 1.0.1 API)";
+ parent.document.title="Notifier (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ObjectFactory.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ObjectFactory.html
index 489eed438..f82edd9f5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ObjectFactory.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ObjectFactory.html
@@ -2,13 +2,13 @@
-
+
-ObjectFactory (dependency-check-core 1.0.1 API)
+ObjectFactory (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ObjectFactory (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ObjectFactory (dependency-check-core 1.0.1 API)";
+ parent.document.title="ObjectFactory (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Organization.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Organization.html
index f2db34ca6..de8613ea0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Organization.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Organization.html
@@ -2,13 +2,13 @@
-
+
-Organization (dependency-check-core 1.0.1 API)
+Organization (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Organization (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Organization (dependency-check-core 1.0.1 API)";
+ parent.document.title="Organization (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Parent.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Parent.html
index 04d690341..4d4c7409b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Parent.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Parent.html
@@ -2,13 +2,13 @@
-
+
-Parent (dependency-check-core 1.0.1 API)
+Parent (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Parent (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Parent (dependency-check-core 1.0.1 API)";
+ parent.document.title="Parent (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Configuration.html
index a03dadda1..a3c9cbf25 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Configuration.html
@@ -2,13 +2,13 @@
-
+
-Plugin.Configuration (dependency-check-core 1.0.1 API)
+Plugin.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Plugin.Configuration (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Plugin.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="Plugin.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Dependencies.html
index bb57de621..9f1f3db5c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-Plugin.Dependencies (dependency-check-core 1.0.1 API)
+Plugin.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Plugin.Dependencies (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Plugin.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="Plugin.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Executions.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Executions.html
index 73afb21e4..5fe61fd56 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Executions.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Executions.html
@@ -2,13 +2,13 @@
-
+
-Plugin.Executions (dependency-check-core 1.0.1 API)
+Plugin.Executions (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Plugin.Executions (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Plugin.Executions (dependency-check-core 1.0.1 API)";
+ parent.document.title="Plugin.Executions (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Goals.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Goals.html
index 273c13006..6824bf92a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Goals.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.Goals.html
@@ -2,13 +2,13 @@
-
+
-Plugin.Goals (dependency-check-core 1.0.1 API)
+Plugin.Goals (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Plugin.Goals (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Plugin.Goals (dependency-check-core 1.0.1 API)";
+ parent.document.title="Plugin.Goals (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.html
index 80b4123b2..df9fe7be5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Plugin.html
@@ -2,13 +2,13 @@
-
+
-Plugin (dependency-check-core 1.0.1 API)
+Plugin (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Plugin (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Plugin (dependency-check-core 1.0.1 API)";
+ parent.document.title="Plugin (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Configuration.html
index fd32624f2..ec77bea3a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Configuration.html
@@ -2,13 +2,13 @@
-
+
-PluginExecution.Configuration (dependency-check-core 1.0.1 API)
+PluginExecution.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ PluginExecution.Configuration (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="PluginExecution.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="PluginExecution.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Goals.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Goals.html
index 1dfa297fb..90cfa81b2 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Goals.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.Goals.html
@@ -2,13 +2,13 @@
-
+
-PluginExecution.Goals (dependency-check-core 1.0.1 API)
+PluginExecution.Goals (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ PluginExecution.Goals (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="PluginExecution.Goals (dependency-check-core 1.0.1 API)";
+ parent.document.title="PluginExecution.Goals (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.html
index 72b1f7109..f5c1a43a8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginExecution.html
@@ -2,13 +2,13 @@
-
+
-PluginExecution (dependency-check-core 1.0.1 API)
+PluginExecution (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ PluginExecution (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="PluginExecution (dependency-check-core 1.0.1 API)";
+ parent.document.title="PluginExecution (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.Plugins.html
index d9a93b7e7..ce317cc71 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.Plugins.html
@@ -2,13 +2,13 @@
-
+
-PluginManagement.Plugins (dependency-check-core 1.0.1 API)
+PluginManagement.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ PluginManagement.Plugins (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="PluginManagement.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="PluginManagement.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.html
index c868035b2..9e0f7fb03 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/PluginManagement.html
@@ -2,13 +2,13 @@
-
+
-PluginManagement (dependency-check-core 1.0.1 API)
+PluginManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ PluginManagement (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="PluginManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="PluginManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Prerequisites.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Prerequisites.html
index 1b760f528..ff644fbd0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Prerequisites.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Prerequisites.html
@@ -2,13 +2,13 @@
-
+
-Prerequisites (dependency-check-core 1.0.1 API)
+Prerequisites (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Prerequisites (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Prerequisites (dependency-check-core 1.0.1 API)";
+ parent.document.title="Prerequisites (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Dependencies.html
index 96efbe1dd..b280bf5d7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-Profile.Dependencies (dependency-check-core 1.0.1 API)
+Profile.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Profile.Dependencies (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Profile.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="Profile.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Modules.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Modules.html
index e8bc1b9e4..feac4589c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Modules.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Modules.html
@@ -2,13 +2,13 @@
-
+
-Profile.Modules (dependency-check-core 1.0.1 API)
+Profile.Modules (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Profile.Modules (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Profile.Modules (dependency-check-core 1.0.1 API)";
+ parent.document.title="Profile.Modules (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.PluginRepositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.PluginRepositories.html
index cea0431d9..ac8e32537 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.PluginRepositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.PluginRepositories.html
@@ -2,13 +2,13 @@
-
+
-Profile.PluginRepositories (dependency-check-core 1.0.1 API)
+Profile.PluginRepositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Profile.PluginRepositories (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Profile.PluginRepositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Profile.PluginRepositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Properties.html
index 1f4719255..b3d30978c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Properties.html
@@ -2,13 +2,13 @@
-
+
-Profile.Properties (dependency-check-core 1.0.1 API)
+Profile.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Profile.Properties (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Profile.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Profile.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Reports.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Reports.html
index eeb4f0592..a8e69d362 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Reports.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Reports.html
@@ -2,13 +2,13 @@
-
+
-Profile.Reports (dependency-check-core 1.0.1 API)
+Profile.Reports (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Profile.Reports (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Profile.Reports (dependency-check-core 1.0.1 API)";
+ parent.document.title="Profile.Reports (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Repositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Repositories.html
index 31307e4c9..b6bea801a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Repositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.Repositories.html
@@ -2,13 +2,13 @@
-
+
-Profile.Repositories (dependency-check-core 1.0.1 API)
+Profile.Repositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Profile.Repositories (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Profile.Repositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Profile.Repositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.html
index e6df24f22..f5e3ccfc3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Profile.html
@@ -2,13 +2,13 @@
-
+
-Profile (dependency-check-core 1.0.1 API)
+Profile (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Profile (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Profile (dependency-check-core 1.0.1 API)";
+ parent.document.title="Profile (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Relocation.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Relocation.html
index dedbbc741..c608af618 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Relocation.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Relocation.html
@@ -2,13 +2,13 @@
-
+
-Relocation (dependency-check-core 1.0.1 API)
+Relocation (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Relocation (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Relocation (dependency-check-core 1.0.1 API)";
+ parent.document.title="Relocation (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.Configuration.html
index 9e28e3b3a..e605621aa 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.Configuration.html
@@ -2,13 +2,13 @@
-
+
-ReportPlugin.Configuration (dependency-check-core 1.0.1 API)
+ReportPlugin.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportPlugin.Configuration (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportPlugin.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportPlugin.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.ReportSets.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.ReportSets.html
index a74064622..e5846e958 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.ReportSets.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.ReportSets.html
@@ -2,13 +2,13 @@
-
+
-ReportPlugin.ReportSets (dependency-check-core 1.0.1 API)
+ReportPlugin.ReportSets (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportPlugin.ReportSets (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportPlugin.ReportSets (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportPlugin.ReportSets (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.html
index cb1c677e6..028b3bac9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportPlugin.html
@@ -2,13 +2,13 @@
-
+
-ReportPlugin (dependency-check-core 1.0.1 API)
+ReportPlugin (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportPlugin (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportPlugin (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportPlugin (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Configuration.html
index 914faa6a8..ad821c45a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Configuration.html
@@ -2,13 +2,13 @@
-
+
-ReportSet.Configuration (dependency-check-core 1.0.1 API)
+ReportSet.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportSet.Configuration (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportSet.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportSet.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Reports.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Reports.html
index 66e2dcdc6..3357becd0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Reports.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.Reports.html
@@ -2,13 +2,13 @@
-
+
-ReportSet.Reports (dependency-check-core 1.0.1 API)
+ReportSet.Reports (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportSet.Reports (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportSet.Reports (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportSet.Reports (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.html
index 11b08ea2e..4fc2eb59e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/ReportSet.html
@@ -2,13 +2,13 @@
-
+
-ReportSet (dependency-check-core 1.0.1 API)
+ReportSet (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportSet (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportSet (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportSet (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.Plugins.html
index 79859cf06..a251e15a9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.Plugins.html
@@ -2,13 +2,13 @@
-
+
-Reporting.Plugins (dependency-check-core 1.0.1 API)
+Reporting.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Reporting.Plugins (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Reporting.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="Reporting.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.html
index d8bd04da3..6b8095265 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Reporting.html
@@ -2,13 +2,13 @@
-
+
-Reporting (dependency-check-core 1.0.1 API)
+Reporting (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Reporting (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Reporting (dependency-check-core 1.0.1 API)";
+ parent.document.title="Reporting (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Repository.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Repository.html
index b5fa46d0e..ba06dc606 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Repository.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Repository.html
@@ -2,13 +2,13 @@
-
+
-Repository (dependency-check-core 1.0.1 API)
+Repository (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Repository (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Repository (dependency-check-core 1.0.1 API)";
+ parent.document.title="Repository (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/RepositoryPolicy.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/RepositoryPolicy.html
index 81b3c24e9..774b9a2ef 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/RepositoryPolicy.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/RepositoryPolicy.html
@@ -2,13 +2,13 @@
-
+
-RepositoryPolicy (dependency-check-core 1.0.1 API)
+RepositoryPolicy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ RepositoryPolicy (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="RepositoryPolicy (dependency-check-core 1.0.1 API)";
+ parent.document.title="RepositoryPolicy (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Excludes.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Excludes.html
index da4943e82..948a8edae 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Excludes.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Excludes.html
@@ -2,13 +2,13 @@
-
+
-Resource.Excludes (dependency-check-core 1.0.1 API)
+Resource.Excludes (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Resource.Excludes (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Resource.Excludes (dependency-check-core 1.0.1 API)";
+ parent.document.title="Resource.Excludes (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Includes.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Includes.html
index fc6e3f491..79f8b4b0d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Includes.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.Includes.html
@@ -2,13 +2,13 @@
-
+
-Resource.Includes (dependency-check-core 1.0.1 API)
+Resource.Includes (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Resource.Includes (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Resource.Includes (dependency-check-core 1.0.1 API)";
+ parent.document.title="Resource.Includes (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.html
index 88a1ae46f..b9ba51b84 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Resource.html
@@ -2,13 +2,13 @@
-
+
-Resource (dependency-check-core 1.0.1 API)
+Resource (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Resource (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Resource (dependency-check-core 1.0.1 API)";
+ parent.document.title="Resource (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Scm.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Scm.html
index 5baf996e7..ac15d776f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Scm.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Scm.html
@@ -2,13 +2,13 @@
-
+
-Scm (dependency-check-core 1.0.1 API)
+Scm (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Scm (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Scm (dependency-check-core 1.0.1 API)";
+ parent.document.title="Scm (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Site.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Site.html
index 059c743bf..2b271282d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Site.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/Site.html
@@ -2,13 +2,13 @@
-
+
-Site (dependency-check-core 1.0.1 API)
+Site (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Site (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Site (dependency-check-core 1.0.1 API)";
+ parent.document.title="Site (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Activation.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Activation.html
index 86cf2a36e..dde97ec7a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Activation.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Activation.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Activation (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Activation (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Activation (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Activation (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Activation (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationFile.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationFile.html
index 86274f64e..a0a4129f8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationFile.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationFile.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile (depen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationOS.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationOS.html
index a4310079a..ac48bb186 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationOS.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationOS.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS (depende
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationProperty.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationProperty.html
index dd73803b8..e6ba20d52 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationProperty.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ActivationProperty.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty (d
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Extensions.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Extensions.html
index 1c83e6ab8..faae6cfd1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Extensions.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Extensions.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Extensions (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Extensions (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Extensions (dep
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Extensions (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Extensions (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Filters.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Filters.html
index 144cb2ef4..01677b8af 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Filters.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Filters.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Filters (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Filters (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Filters (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Filters (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Filters (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Plugins.html
index 0da355c20..f55cf8163 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Plugins.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Plugins (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Plugins (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Resources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Resources.html
index 03d8b1a2c..d2660a190 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Resources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.Resources.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Resources (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Resources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Resources (depe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Resources (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.Resources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.TestResources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.TestResources.html
index 6a1394514..ea5b49255 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.TestResources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.TestResources.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.TestResources (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.TestResources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.TestResources (
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.TestResources (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build.TestResources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.html
index 0196dab66..0737b9542 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Build.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build (dependency-che
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Build (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Filters.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Filters.html
index b1309852e..5a75c0cb7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Filters.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Filters.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Filters (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Filters (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Filters (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Filters (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Filters (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Plugins.html
index 222fd9880..b6678c136 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Plugins.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Plugins (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Plugins (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Resources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Resources.html
index aeca494f4..4bc2e4bc5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Resources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.Resources.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Resources (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Resources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Resources (
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Resources (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Resources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.TestResources.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.TestResources.html
index 95386f333..acec8f9b2 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.TestResources.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.TestResources.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.TestResources (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.TestResources (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.TestResourc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.TestResources (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.TestResources (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.html
index 85699f37e..033c0e656 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/BuildBase.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase (dependency
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.BuildBase (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.Notifiers.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.Notifiers.html
index f88003f58..a710538a0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.Notifiers.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.Notifiers.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.Notifiers (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.Notifiers (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.Notifier
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.Notifiers (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.Notifiers (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.html
index 830219a2a..20726d1bd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/CiManagement.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement (depende
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.CiManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Properties.html
index 075bcb052..405af5679 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Properties.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Properties (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Propertie
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Roles.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Roles.html
index 650fbae3f..2083c0867 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Roles.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.Roles.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Roles (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Roles (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Roles (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Roles (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Roles (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.html
index 86725fc17..ff57d6a57 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Contributor.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor (dependen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Contributor (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.Exclusions.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.Exclusions.html
index 221585f9c..6d03a6ab1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.Exclusions.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.Exclusions.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency.Exclusions (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency.Exclusions (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency.Exclusions
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency.Exclusions (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency.Exclusions (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.html
index 37455da04..5cad1685b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Dependency.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Dependency (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.Dependencies.html
index fa4a5d049..838dacb1d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.Dependencies (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.html
index f968b57b3..3b6bcf8c9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DependencyManagement.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DeploymentRepository.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DeploymentRepository.html
index 6d37602b9..4ad3ab6c0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DeploymentRepository.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DeploymentRepository.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Properties.html
index e7427505f..8d8642c9e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Properties.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Properties (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Properties
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Roles.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Roles.html
index f661e041e..c02be385e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Roles.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.Roles.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Roles (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Roles (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Roles (depe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Roles (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer.Roles (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.html
index 97651e1e7..9aaf56224 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Developer.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer (dependency
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Developer (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DistributionManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DistributionManagement.html
index b53c9328b..9c63a0839 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DistributionManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/DistributionManagement.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagemen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Exclusion.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Exclusion.html
index 272937d0a..6d398170d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Exclusion.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Exclusion.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Exclusion (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Exclusion (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Exclusion (dependency
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Exclusion (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Exclusion (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Extension.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Extension.html
index 56a01a5e6..f50741133 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Extension.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Extension.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Extension (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Extension (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Extension (dependency
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Extension (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Extension (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/IssueManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/IssueManagement.html
index 97241eebd..8cc99689f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/IssueManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/IssueManagement.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement (depe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/License.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/License.html
index 2817b2866..fb67d7462 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/License.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/License.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.License (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.License (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.License (dependency-c
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.License (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.License (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.OtherArchives.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.OtherArchives.html
index 4e153ac78..2c87df59f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.OtherArchives.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.OtherArchives.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList.OtherArchives (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList.OtherArchives (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList.OtherArch
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList.OtherArchives (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList.OtherArchives (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.html
index 54c994eb3..291423927 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/MailingList.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList (dependen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.MailingList (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Contributors.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Contributors.html
index efb82f9ab..432e5aaa0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Contributors.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Contributors.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Contributors (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Contributors (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Contributors (d
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Contributors (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Contributors (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Dependencies.html
index ef992ebc3..c6f9cf5d5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Dependencies (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Dependencies (d
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Developers.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Developers.html
index 78b108682..d120bc7d2 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Developers.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Developers.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Developers (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Developers (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Developers (dep
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Developers (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Developers (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Licenses.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Licenses.html
index e4865a7d9..17e189bd8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Licenses.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Licenses.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Licenses (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Licenses (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Licenses (depen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Licenses (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Licenses (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.MailingLists.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.MailingLists.html
index 6dc4b8d44..4fa206eb7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.MailingLists.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.MailingLists.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.MailingLists (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.MailingLists (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.MailingLists (d
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.MailingLists (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.MailingLists (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Modules.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Modules.html
index 937b46bcc..99735f5ee 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Modules.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Modules.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Modules (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Modules (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Modules (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Modules (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Modules (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.PluginRepositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.PluginRepositories.html
index 25c44a09e..4c4c60972 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.PluginRepositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.PluginRepositories.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.PluginRepositories (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.PluginRepositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.PluginRepositor
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.PluginRepositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.PluginRepositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Profiles.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Profiles.html
index b99ccba78..040926809 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Profiles.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Profiles.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Profiles (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Profiles (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Profiles (depen
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Profiles (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Profiles (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Properties.html
index 970a748da..4b5188215 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Properties.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Properties (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Properties (dep
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Reports.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Reports.html
index b0ad45856..969f274d5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Reports.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Reports.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Reports (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Reports (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Reports (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Reports (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Reports (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Repositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Repositories.html
index fdfd29060..b2bc36f2a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Repositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.Repositories.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Repositories (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Repositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Repositories (d
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Repositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model.Repositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.html
index acc07fe2c..5f52191ec 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Model.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model (dependency-che
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Model (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.Configuration.html
index 78658eccd..9eb807066 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.Configuration.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuratio
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.html
index 8d698ff6d..15e268eb4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Notifier.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier (dependency-
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ObjectFactory.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ObjectFactory.html
index 8807a08b2..81fd642d9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ObjectFactory.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ObjectFactory.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Organization.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Organization.html
index b150b33e0..d2734c410 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Organization.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Organization.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Organization (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Organization (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Organization (depende
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Organization (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Organization (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Parent.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Parent.html
index 33898e051..905bbdf22 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Parent.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Parent.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Parent (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Parent (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Parent (dependency-ch
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Parent (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Parent (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Configuration.html
index b77133fdb..5d0ef4b18 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Configuration.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Dependencies.html
index 736eff90c..f68e918fb 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies (
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Executions.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Executions.html
index 8297120d1..b663aa436 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Executions.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Executions.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Goals.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Goals.html
index abc6d39dd..8d4229058 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Goals.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.Goals.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals (depende
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.html
index c779b6720..509b5160f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Plugin.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin (dependency-ch
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Configuration.html
index 69eaa60a7..d0959b94d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Configuration.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Confi
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Goals.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Goals.html
index 086d73a34..d540ca1a4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Goals.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.Goals.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.html
index 3516068db..e9636bcf5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginExecution.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution (depe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.Plugins.html
index 5d827a3e3..7252692a7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.Plugins.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plug
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.html
index 3ed4f3888..ae819abad 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/PluginManagement.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement (dep
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Prerequisites.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Prerequisites.html
index 2d98bb6cf..10b5344a8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Prerequisites.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Prerequisites.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Dependencies.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Dependencies.html
index 18e35ffe4..9bc027372 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Dependencies.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Dependencies.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Modules.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Modules.html
index 9ad12aa73..af162c28b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Modules.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Modules.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules (depe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.PluginRepositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.PluginRepositories.html
index e84dc246b..51ef4d4a1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.PluginRepositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.PluginRepositories.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginReposit
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Properties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Properties.html
index ad70226d6..3f4dfd4a4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Properties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Properties.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties (d
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Reports.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Reports.html
index 049210cf1..8d72d7f08 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Reports.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Reports.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports (depe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Repositories.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Repositories.html
index 962dc50ac..7c85f6619 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Repositories.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.Repositories.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.html
index 688c2c490..aaa2acc00 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Profile.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile (dependency-c
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Relocation.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Relocation.html
index b63cc0a9d..769cfa559 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Relocation.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Relocation.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Relocation (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Relocation (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Relocation (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Relocation (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Relocation (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.Configuration.html
index c5cc7350c..37f0331e0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.Configuration.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configuration (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configur
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.ReportSets.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.ReportSets.html
index bc970e247..38efb906f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.ReportSets.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.ReportSets.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSets (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSets (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSe
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSets (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSets (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.html
index 7e6af47cf..b3859f144 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportPlugin.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin (depende
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Configuration.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Configuration.html
index 3d19f4041..b33607431 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Configuration.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Configuration.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configuration (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configuration (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configurati
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configuration (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configuration (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Reports.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Reports.html
index 1430f7fde..21d00097d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Reports.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.Reports.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.html
index 150826538..b17497916 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/ReportSet.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet (dependency
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.Plugins.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.Plugins.html
index 958722f07..a43487c7e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.Plugins.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.Plugins.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.html
index 8de4b34d9..f61b3b942 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Reporting.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting (dependency
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Repository.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Repository.html
index be5202d64..1771ec265 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Repository.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Repository.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Repository (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Repository (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Repository (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Repository (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Repository (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/RepositoryPolicy.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/RepositoryPolicy.html
index e535b1834..d05db4629 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/RepositoryPolicy.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/RepositoryPolicy.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy (dep
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Excludes.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Excludes.html
index 0b80683a1..189a760e1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Excludes.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Excludes.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Includes.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Includes.html
index dbda43f1d..5a29eb625 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Includes.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.Includes.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes (de
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.html
index e53ebca41..0be2d680b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Resource.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource (dependency-
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Scm.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Scm.html
index 2af1e10c6..8ffe40286 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Scm.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Scm.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Scm (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Scm (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Scm (dependency-check
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Scm (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Scm (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Site.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Site.html
index 9d574c48f..dcfef253d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Site.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/class-use/Site.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Site (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Site (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Site (dependency-chec
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Site (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Site (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
index 737872c0d..9b8b07769 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.jaxb.pom.generated (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.0.2 API)
-
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
index 6ab244367..84f4261f8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.jaxb.pom.generated (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.jaxb.pom.generated (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.jaxb.pom.generated (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-tree.html
index b5a3ebe6b..0e989318e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.jaxb.pom.generated Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.jaxb.pom.generated Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.jaxb.pom.generated Class Hierarchy (dependency-check-c
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.jaxb.pom.generated Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.jaxb.pom.generated Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-use.html
index 971c9cf9e..fd1ab0a91 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/generated/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.jaxb.pom.generated (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.jaxb.pom.generated (dependency-check-c
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.jaxb.pom.generated (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-frame.html
index 4b2cf7b43..f3e9cb0e8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.jaxb.pom (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.0.2 API)
-
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-summary.html
index a7eaffada..087087d94 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.jaxb.pom (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.jaxb.pom (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.jaxb.pom (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-tree.html
index d33faff35..df85537ce 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.jaxb.pom Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.jaxb.pom Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.jaxb.pom Class Hierarchy (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.jaxb.pom Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.jaxb.pom Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-use.html
index 9bfa4a5e6..f16ce1180 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/jaxb/pom/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.jaxb.pom (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.jaxb.pom (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.jaxb.pom (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-frame.html
index c28e15a53..d9a8cf1fb 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck (Dependency-Check Core 1.0.2 API)
-
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-summary.html
index 35873b2f2..a34c69a10 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-tree.html
index 869b2f24f..f8b714cfd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck Class Hierarchy (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-use.html
index d946df3db..c24f243e5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck (Dependency-Check Core 1.0.2 API)";
}
}
@@ -101,22 +101,13 @@ Packages that use
- org.owasp.dependencycheck.data.cpe
+org.owasp.dependencycheck.utils
- org.owasp.dependencycheck.data.cpe
+ org.owasp.dependencycheck.utils
- Contains classes for working with the CPE Lucene Index.
-
-
-org.owasp.dependencycheck.data.nvdcve
-
-
- org.owasp.dependencycheck.data.nvdcve
-
-
- Contains classes used to work with the NVD CVE data.
+ Includes various utility classes such as a Settings wrapper, a Checksum utility, etc.
@@ -136,29 +127,14 @@ Classes in org
-
+
-
-
-
-
-
-
-Classes in org.owasp.dependencycheck used by org.owasp.dependencycheck.data.nvdcve
-
-
-Engine
+Engine
Scans files, directories, etc.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.Format.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.Format.html
index ba6770aa1..e5d3b2a35 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.Format.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.Format.html
@@ -2,13 +2,13 @@
-
+
-ReportGenerator.Format (dependency-check-core 1.0.1 API)
+ReportGenerator.Format (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportGenerator.Format (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportGenerator.Format (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportGenerator.Format (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.html
index fd13e6b82..31dafccdc 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.html
@@ -2,13 +2,13 @@
-
+
-ReportGenerator (dependency-check-core 1.0.1 API)
+ReportGenerator (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ ReportGenerator (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="ReportGenerator (dependency-check-core 1.0.1 API)";
+ parent.document.title="ReportGenerator (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.html
index a81faf2f0..c85926361 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.html
@@ -2,13 +2,13 @@
-
+
-VelocityLoggerRedirect (dependency-check-core 1.0.1 API)
+VelocityLoggerRedirect (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ VelocityLoggerRedirect (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="VelocityLoggerRedirect (dependency-check-core 1.0.1 API)";
+ parent.document.title="VelocityLoggerRedirect (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.Format.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.Format.html
index ee0ce3b04..1ca3c1f21 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.Format.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.Format.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator.Format (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator.Format (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator.Format (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator.Format (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator.Format (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.html
index 443843730..f2ed95ad5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/ReportGenerator.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator (dependency-ch
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/VelocityLoggerRedirect.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/VelocityLoggerRedirect.html
index aab692049..8032e4bcf 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/VelocityLoggerRedirect.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/VelocityLoggerRedirect.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.reporting.VelocityLoggerRedirect (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.reporting.VelocityLoggerRedirect (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.reporting.VelocityLoggerRedirect (depend
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.reporting.VelocityLoggerRedirect (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.reporting.VelocityLoggerRedirect (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-frame.html
index dce95c175..fbf1e2a3b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.reporting (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.reporting (Dependency-Check Core 1.0.2 API)
-
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-summary.html
index 95d500cc3..71c8eaf3a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.reporting (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.reporting (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.reporting (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.reporting (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.reporting (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-tree.html
index 3d9224bb8..5604c057f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.reporting Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.reporting Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.reporting Class Hierarchy (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.reporting Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.reporting Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-use.html
index 3e659fc6f..81038034a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.reporting (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.reporting (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.reporting (dependency-check-core 1.0.1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.reporting (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.reporting (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Checksum.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Checksum.html
index 6452d8cd6..bc3005ba9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Checksum.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Checksum.html
@@ -2,13 +2,13 @@
-
+
-Checksum (dependency-check-core 1.0.1 API)
+Checksum (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Checksum (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Checksum (dependency-check-core 1.0.1 API)";
+ parent.document.title="Checksum (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersion.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersion.html
index ac414d25c..a5738e438 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersion.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersion.html
@@ -2,13 +2,13 @@
-
+
-DependencyVersion (dependency-check-core 1.0.1 API)
+DependencyVersion (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DependencyVersion (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DependencyVersion (dependency-check-core 1.0.1 API)";
+ parent.document.title="DependencyVersion (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersionUtil.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersionUtil.html
index afd908d0d..504c5b4bf 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersionUtil.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersionUtil.html
@@ -2,13 +2,13 @@
-
+
-DependencyVersionUtil (dependency-check-core 1.0.1 API)
+DependencyVersionUtil (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DependencyVersionUtil (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DependencyVersionUtil (dependency-check-core 1.0.1 API)";
+ parent.document.title="DependencyVersionUtil (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DownloadFailedException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DownloadFailedException.html
index 25af082f4..a9a85c99e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DownloadFailedException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DownloadFailedException.html
@@ -2,13 +2,13 @@
-
+
-DownloadFailedException (dependency-check-core 1.0.1 API)
+DownloadFailedException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ DownloadFailedException (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="DownloadFailedException (dependency-check-core 1.0.1 API)";
+ parent.document.title="DownloadFailedException (Dependency-Check Core 1.0.2 API)";
}
}
@@ -57,7 +57,7 @@ function windowTitle()
PREV CLASS
- NEXT CLASS
+ NEXT CLASS
FRAMES
NO FRAMES
@@ -272,7 +272,7 @@ public DownloadFailedException (
PREV CLASS
- NEXT CLASS
+ NEXT CLASS
FRAMES
NO FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Downloader.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Downloader.html
index e6d309072..4c9fac918 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Downloader.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Downloader.html
@@ -2,13 +2,13 @@
-
+
-Downloader (dependency-check-core 1.0.1 API)
+Downloader (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Downloader (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Downloader (dependency-check-core 1.0.1 API)";
+ parent.document.title="Downloader (Dependency-Check Core 1.0.2 API)";
}
}
@@ -128,35 +128,6 @@ A utility to download files from the Internet.
fetchFile (URL url,
File outputPath)
-
- Retrieves a file from a given URL and saves it to the outputPath.
-
-
-
-static void
-fetchFile (URL url,
- File outputPath,
- boolean unzip)
-
-
- Retrieves a file from a given URL and saves it to the outputPath.
-
-
-
-static void
-fetchFile (URL url,
- String outputPath)
-
-
- Retrieves a file from a given URL and saves it to the outputPath.
-
-
-
-static void
-fetchFile (URL url,
- String outputPath,
- boolean unzip)
-
Retrieves a file from a given URL and saves it to the outputPath.
@@ -192,44 +163,6 @@ A utility to download files from the Internet.
-
-fetchFile
-
-public static void fetchFile (URL url,
- String outputPath)
- throws DownloadFailedException
-
-Retrieves a file from a given URL and saves it to the outputPath.
-
-
-Parameters: url - the URL of the file to download.outputPath - the path to the save the file to.
-Throws:
-DownloadFailedException - is thrown if there is an error
- downloading the file.
-
-
-
-
-
-fetchFile
-
-public static void fetchFile (URL url,
- String outputPath,
- boolean unzip)
- throws DownloadFailedException
-
-Retrieves a file from a given URL and saves it to the outputPath.
-
-
-Parameters: url - the URL of the file to download.outputPath - the path to the save the file to.unzip - true/false indicating that the file being retrieved is
- gzipped and if true, should be uncompressed before writing to the file.
-Throws:
-DownloadFailedException - is thrown if there is an error
- downloading the file.
-
-
-
-
fetchFile
@@ -248,26 +181,6 @@ public static void fetchFile (
-fetchFile
-
-public static void fetchFile (URL url,
- File outputPath,
- boolean unzip)
- throws DownloadFailedException
-
-Retrieves a file from a given URL and saves it to the outputPath.
-
-
-Parameters: url - the URL of the file to download.outputPath - the path to the save the file to.unzip - true/false indicating that the file being retrieved is
- gzipped and if true, should be uncompressed before writing to the file.
-Throws:
-DownloadFailedException - is thrown if there is an error
- downloading the file.
-
-
-
-
getLastModified
@@ -275,7 +188,8 @@ public static long getLastModified (DownloadFailedException
Makes an HTTP Head request to retrieve the last modified date of the
- given URL.
+ given URL. If the file:// protocol is specified, then the lastTimestamp
+ of the file is returned.
Parameters: url - the URL to retrieve the timestamp from
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/ExtractionException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/ExtractionException.html
new file mode 100644
index 000000000..2bc502d40
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/ExtractionException.html
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+
+ExtractionException (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+org.owasp.dependencycheck.utils
+
+Class ExtractionException
+
+java.lang.Object
+ java.lang.Throwable
+ java.lang.Exception
+ java.io.IOException
+ org.owasp.dependencycheck.utils.ExtractionException
+
+
+All Implemented Interfaces: Serializable
+
+
+
+public class ExtractionException extends IOException
+
+
+
+An exception used when a file is unable to be un-zipped.
+
+
+
+
+Author:
+ Jeremy Long (jeremy.long@owasp.org)
+See Also: Serialized Form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Throwable
+
+
+fillInStackTrace , getCause , getLocalizedMessage , getMessage , getStackTrace , initCause , printStackTrace , printStackTrace , printStackTrace , setStackTrace , toString
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+ExtractionException
+
+public ExtractionException ()
+
+Creates a new ExtractionException.
+
+
+
+
+
+ExtractionException
+
+public ExtractionException (String msg)
+
+Creates a new ExtractionException.
+
+
+Parameters: msg - a message for the exception.
+
+
+
+
+ExtractionException
+
+public ExtractionException (Throwable ex)
+
+Creates a new ExtractionException.
+
+
+Parameters: ex - the cause of the download failure.
+
+
+
+
+ExtractionException
+
+public ExtractionException (String msg,
+ Throwable ex)
+
+Creates a new ExtractionException.
+
+
+Parameters: msg - a message for the exception.ex - the cause of the download failure.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/FileUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/FileUtils.html
index 988f9547f..cf7a97838 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/FileUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/FileUtils.html
@@ -2,13 +2,13 @@
-
+
-FileUtils (dependency-check-core 1.0.1 API)
+FileUtils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ FileUtils (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="FileUtils (dependency-check-core 1.0.1 API)";
+ parent.document.title="FileUtils (Dependency-Check Core 1.0.2 API)";
}
}
@@ -56,7 +56,7 @@ function windowTitle()
- PREV CLASS
+ PREV CLASS
NEXT CLASS
FRAMES
@@ -132,6 +132,34 @@ A collection of utilities for processing information about files.
+static void
+delete (File file,
+ boolean deleteOnExit)
+
+
+ Deletes a file.
+
+
+
+static void
+extractFiles (File archive,
+ File extractTo)
+
+
+ Extracts the contents of an archive into the specified directory.
+
+
+
+static void
+extractFiles (File archive,
+ File extractTo,
+ Engine engine)
+
+
+ Extracts the contents of an archive into the specified directory.
+
+
+
static File
getDataDirectory (String configuredFilePath,
Class clazz)
@@ -211,6 +239,26 @@ public static void delete (
+delete
+
+public static void delete (File file,
+ boolean deleteOnExit)
+ throws IOException
+
+Deletes a file. If the File is a directory it will recursively delete the
+ contents.
+
+
+Parameters: file - the File to deletedeleteOnExit - setting this to true will cause errors to be ignored
+ and if there is an error deleting the file it will be setup to be deleted
+ when the JVM exits.
+Throws:
+IOException - is thrown if the file could not be deleted
+
+
+
+
getDataDirectory
@@ -259,6 +307,46 @@ getPathToJar
UnsupportedEncodingException - thrown if UTF-8 is not supported.
+
+
+
+extractFiles
+
+public static void extractFiles (File archive,
+ File extractTo)
+ throws ExtractionException
+
+Extracts the contents of an archive into the specified directory.
+
+
+Parameters: archive - an archive file such as a WAR or EARextractTo - a directory to extract the contents to
+Throws:
+ExtractionException - thrown if an exception occurs while
+ extracting the files
+
+
+
+
+
+extractFiles
+
+public static void extractFiles (File archive,
+ File extractTo,
+ Engine engine)
+ throws ExtractionException
+
+Extracts the contents of an archive into the specified directory. The
+ files are only extracted if they are supported by the analyzers loaded
+ into the specified engine. If the engine is specified as null then all
+ files are extracted.
+
+
+Parameters: archive - an archive file such as a WAR or EARextractTo - a directory to extract the contents toengine - the scanning engine
+Throws:
+ExtractionException - thrown if there is an error extracting the
+ files
+
+
@@ -290,7 +378,7 @@ getPathToJar
- PREV CLASS
+ PREV CLASS
NEXT CLASS
FRAMES
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Filter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Filter.html
index 3f376879a..81f03de60 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Filter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Filter.html
@@ -2,13 +2,13 @@
-
+
-Filter (dependency-check-core 1.0.1 API)
+Filter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Filter (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Filter (dependency-check-core 1.0.1 API)";
+ parent.document.title="Filter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/InvalidSettingException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/InvalidSettingException.html
index 112eb0771..4aa6edf02 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/InvalidSettingException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/InvalidSettingException.html
@@ -2,13 +2,13 @@
-
+
-InvalidSettingException (dependency-check-core 1.0.1 API)
+InvalidSettingException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ InvalidSettingException (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="InvalidSettingException (dependency-check-core 1.0.1 API)";
+ parent.document.title="InvalidSettingException (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/NonClosingStream.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/NonClosingStream.html
index 9e6bbce23..db06ffc85 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/NonClosingStream.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/NonClosingStream.html
@@ -2,13 +2,13 @@
-
+
-NonClosingStream (dependency-check-core 1.0.1 API)
+NonClosingStream (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ NonClosingStream (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="NonClosingStream (dependency-check-core 1.0.1 API)";
+ parent.document.title="NonClosingStream (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.KEYS.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.KEYS.html
index a10eea0b0..234e6ce5a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.KEYS.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.KEYS.html
@@ -2,13 +2,13 @@
-
+
-Settings.KEYS (dependency-check-core 1.0.1 API)
+Settings.KEYS (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Settings.KEYS (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Settings.KEYS (dependency-check-core 1.0.1 API)";
+ parent.document.title="Settings.KEYS (Dependency-Check Core 1.0.2 API)";
}
}
@@ -132,6 +132,14 @@ The collection of keys used within the properties file.
static String
+BATCH_UPDATE_URL
+
+
+ The location of the batch update URL.
+
+
+
+static String
CONNECTION_TIMEOUT
@@ -149,22 +157,6 @@ The collection of keys used within the properties file.
static String
-CPE_META_URL
-
-
- The properties key for the URL to the CPE.
-
-
-
-static String
-CPE_URL
-
-
- The properties key for the URL to the CPE.
-
-
-
-static String
CVE_DATA_DIRECTORY
@@ -364,6 +356,19 @@ public static final
+BATCH_UPDATE_URL
+
+public static final String BATCH_UPDATE_URL
+
+The location of the batch update URL. This is a zip file that
+ contains the contents of the data directory.
+
+
+See Also: Constant Field Values
+
+
+
CPE_DATA_DIRECTORY
@@ -390,30 +395,6 @@ public static final
-CPE_URL
-
-public static final String CPE_URL
-
-The properties key for the URL to the CPE.
-
-
-See Also: Constant Field Values
-
-
-
-
-CPE_META_URL
-
-public static final String CPE_META_URL
-
-The properties key for the URL to the CPE.
-
-
-See Also: Constant Field Values
-
-
-
CVE_META_URL
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.html
index 5936a8001..da3902232 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Settings.html
@@ -2,13 +2,13 @@
-
+
-Settings (dependency-check-core 1.0.1 API)
+Settings (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Settings (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Settings (dependency-check-core 1.0.1 API)";
+ parent.document.title="Settings (Dependency-Check Core 1.0.2 API)";
}
}
@@ -152,15 +152,6 @@ A simple settings container that wraps the dependencycheck.properties file.
static File
getFile (String key)
-
- Returns a value from the properties file as a File object.
-
-
-
-static File
-getFile (String key,
- String defaultValue)
-
Returns a value from the properties file as a File object.
@@ -208,6 +199,14 @@ A simple settings container that wraps the dependencycheck.properties file.
+static File
+getTempDirectory ()
+
+
+ Returns the temporary directory.
+
+
+
static void
mergeProperties (InputStream stream)
@@ -225,6 +224,14 @@ A simple settings container that wraps the dependencycheck.properties file.
static void
+removeProperty (String key)
+
+
+ Removes a property from the local properties collection.
+
+
+
+static void
setBoolean (String key,
boolean value)
@@ -334,29 +341,10 @@ public static void mergeProperties (
-getFile
-
-public static File getFile (String key,
- String defaultValue)
-
-Returns a value from the properties file as a File object. If the value
- was specified as a system property or passed in via the -Dprop=value
- argument - this method will return the value from the system properties
- before the values in the contained configuration file.
-
-
-Parameters: key - the key to lookup within the properties filedefaultValue - the default value for the requested property
-Returns: the property from the properties file as a File object
-
-
-
-
getFile
-public static File getFile (String key)
- throws IOException
+public static File getFile (String key)
Returns a value from the properties file as a File object. If the value
was specified as a system property or passed in via the -Dprop=value
@@ -368,9 +356,7 @@ public static IOException - thrown if the file path to the JAR cannot be found
+Returns: the property from the properties file converted to a File object
@@ -393,6 +379,20 @@ public static
+getTempDirectory
+
+public static File getTempDirectory ()
+
+Returns the temporary directory.
+
+
+
+Returns: the temporary directory
+
+
+
+
getString
@@ -410,6 +410,20 @@ public static
+removeProperty
+
+public static void removeProperty (String key)
+
+Removes a property from the local properties collection. This is mainly
+ used in test cases.
+
+
+Parameters: key - the property key to remove
+
+
+
+
getInt
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/UrlStringUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/UrlStringUtils.html
index 842a4748f..25cb31200 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/UrlStringUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/UrlStringUtils.html
@@ -2,13 +2,13 @@
-
+
-UrlStringUtils (dependency-check-core 1.0.1 API)
+UrlStringUtils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ UrlStringUtils (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="UrlStringUtils (dependency-check-core 1.0.1 API)";
+ parent.document.title="UrlStringUtils (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Checksum.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Checksum.html
index e180fe830..edbfbe403 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Checksum.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Checksum.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.Checksum (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.Checksum (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.Checksum (dependency-check-core 1.
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Checksum (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Checksum (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersion.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersion.html
index 8a7191b81..aa5434c32 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersion.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersion.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.DependencyVersion (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.DependencyVersion (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.DependencyVersion (dependency-chec
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DependencyVersion (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DependencyVersion (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersionUtil.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersionUtil.html
index 033bc2fdf..8e62568fc 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersionUtil.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DependencyVersionUtil.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.DependencyVersionUtil (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.DependencyVersionUtil (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.DependencyVersionUtil (dependency-
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DependencyVersionUtil (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DependencyVersionUtil (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DownloadFailedException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DownloadFailedException.html
index 2c35169f3..3e2a3395d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DownloadFailedException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DownloadFailedException.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.DownloadFailedException (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,14 +91,6 @@ function windowTitle()
Packages that use DownloadFailedException
-org.owasp.dependencycheck.data.nvdcve.xml
-
-
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
-
-
org.owasp.dependencycheck.utils
@@ -110,39 +102,6 @@ Packages that use
-
-
-
-
-
-
-
@@ -163,35 +122,6 @@ Uses of fetchFile (URL url,
File outputPath)
-
- Retrieves a file from a given URL and saves it to the outputPath.
-
-
-
-static void
-Downloader. fetchFile (URL url,
- File outputPath,
- boolean unzip)
-
-
- Retrieves a file from a given URL and saves it to the outputPath.
-
-
-
-static void
-Downloader. fetchFile (URL url,
- String outputPath)
-
-
- Retrieves a file from a given URL and saves it to the outputPath.
-
-
-
-static void
-Downloader. fetchFile (URL url,
- String outputPath,
- boolean unzip)
-
Retrieves a file from a given URL and saves it to the outputPath.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Downloader.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Downloader.html
index c7520cc48..482fe7811 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Downloader.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Downloader.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.Downloader (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.Downloader (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.Downloader (dependency-check-core
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Downloader (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Downloader (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionException.html
new file mode 100644
index 000000000..bd38b0a6e
--- /dev/null
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionException.html
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.ExtractionException (Dependency-Check Core 1.0.2 API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Uses of Class org.owasp.dependencycheck.utils.ExtractionException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright © 2012-2013 OWASP . All Rights Reserved.
+
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/FileUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/FileUtils.html
index a9f356808..db68ab416 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/FileUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/FileUtils.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.FileUtils (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.FileUtils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.FileUtils (dependency-check-core 1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.FileUtils (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.FileUtils (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Filter.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Filter.html
index e69cf719d..e84c3648e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Filter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Filter.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.Filter (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.Filter (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.Filter (dependency-check-core 1.0.
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Filter (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Filter (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/InvalidSettingException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/InvalidSettingException.html
index 2259703ea..8e51d14ed 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/InvalidSettingException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/InvalidSettingException.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (dependenc
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.InvalidSettingException (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,14 +91,6 @@ function windowTitle()
Packages that use InvalidSettingException
-org.owasp.dependencycheck.data.nvdcve.xml
-
-
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
-
-
org.owasp.dependencycheck.utils
@@ -110,31 +102,6 @@ Packages that use
-
-
-
-
-
-
-
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/NonClosingStream.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/NonClosingStream.html
index 32557b980..59af61fef 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/NonClosingStream.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/NonClosingStream.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.NonClosingStream (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.NonClosingStream (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.NonClosingStream (dependency-check
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.NonClosingStream (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.NonClosingStream (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.KEYS.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.KEYS.html
index b6422080e..f62835d5f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.KEYS.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.KEYS.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (dependency-check-co
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings.KEYS (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.html
index 47099e246..d0d038a10 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Settings.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.Settings (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.Settings (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.Settings (dependency-check-core 1.
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.Settings (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/UrlStringUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/UrlStringUtils.html
index abba9f526..e110ef6a9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/UrlStringUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/UrlStringUtils.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.UrlStringUtils (dependency-check-core 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.utils.UrlStringUtils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.utils.UrlStringUtils (dependency-check-c
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.utils.UrlStringUtils (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.utils.UrlStringUtils (Dependency-Check Core 1.0.2 API)";
}
}
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-frame.html
index 9a9370ffe..fc65681e1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.utils (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.utils (Dependency-Check Core 1.0.2 API)
-
+
@@ -55,6 +55,8 @@ Exceptions
DownloadFailedException
+ExtractionException
+
InvalidSettingException
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-summary.html
index 3ea911ba3..e1a2e97cd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.utils (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.utils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.utils (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.utils (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.utils (Dependency-Check Core 1.0.2 API)";
}
}
@@ -157,6 +157,10 @@ Package org.owasp.dependencycheck.utils
An exception used when a download fails.
+ExtractionException
+An exception used when a file is unable to be un-zipped.
+
+
InvalidSettingException
An exception used when an error occurs reading a setting.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-tree.html
index 1102414eb..7bd135f57 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.utils Class Hierarchy (dependency-check-core 1.0.1 API)
+org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.utils Class Hierarchy (dependency-check-core 1.0.1 API
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.utils Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
@@ -103,7 +103,7 @@ Class Hierarchy
org.owasp.dependencycheck.utils.UrlStringUtils
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-use.html
index 991d0466d..b0b0bbafe 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.utils (dependency-check-core 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.utils (dependency-check-core 1.0.1 API
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.utils (dependency-check-core 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Core 1.0.2 API)";
}
}
@@ -91,14 +91,6 @@ function windowTitle()
Packages that use org.owasp.dependencycheck.utils
-org.owasp.dependencycheck.data.nvdcve.xml
-
-
- org.owasp.dependencycheck.data.nvdcve.xml
-
-
-
-
org.owasp.dependencycheck.dependency
@@ -119,27 +111,6 @@ Packages that use
-
-
-
@@ -174,6 +145,12 @@ Classes in
+ ExtractionException
+
+
+ An exception used when a file is unable to be un-zipped.
+
+
InvalidSettingException
diff --git a/dependency-check-core/apidocs/overview-frame.html b/dependency-check-core/apidocs/overview-frame.html
index 22cec39c9..b0ef9953a 100644
--- a/dependency-check-core/apidocs/overview-frame.html
+++ b/dependency-check-core/apidocs/overview-frame.html
@@ -2,13 +2,13 @@
-
+
-Overview List (dependency-check-core 1.0.1 API)
+Overview List (Dependency-Check Core 1.0.2 API)
-
+
@@ -35,6 +35,8 @@ Packages
org.owasp.dependencycheck.analyzer
+org.owasp.dependencycheck.concurrency
+
org.owasp.dependencycheck.data
org.owasp.dependencycheck.data.cpe
@@ -45,7 +47,7 @@ Packages
org.owasp.dependencycheck.data.nvdcve
-org.owasp.dependencycheck.data.nvdcve.xml
+org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/apidocs/overview-summary.html b/dependency-check-core/apidocs/overview-summary.html
index 17614606e..930efb0c8 100644
--- a/dependency-check-core/apidocs/overview-summary.html
+++ b/dependency-check-core/apidocs/overview-summary.html
@@ -2,13 +2,13 @@
-
+
-Overview (dependency-check-core 1.0.1 API)
+Overview (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Overview (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Overview (dependency-check-core 1.0.1 API)";
+ parent.document.title="Overview (Dependency-Check Core 1.0.2 API)";
}
}
@@ -82,7 +82,7 @@ function windowTitle()
-dependency-check-core 1.0.1 API
+Dependency-Check Core 1.0.2 API
@@ -111,6 +111,15 @@ dependency-check-core 1.0.1 API
and process the dependencies.
+org.owasp.dependencycheck.concurrency
+
+
+ org.owasp.dependencycheck.concurrency
+
+
+ Contains classes used to create shared and exclusive locks on directories.
+
+
org.owasp.dependencycheck.data
@@ -156,7 +165,7 @@ dependency-check-core 1.0.1 API
Contains classes used to work with the NVD CVE data.
-org.owasp.dependencycheck.data.nvdcve.xml
+org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.data.nvdcve.xml
diff --git a/dependency-check-core/apidocs/overview-tree.html b/dependency-check-core/apidocs/overview-tree.html
index 6f1832f25..b76a7f3b4 100644
--- a/dependency-check-core/apidocs/overview-tree.html
+++ b/dependency-check-core/apidocs/overview-tree.html
@@ -2,13 +2,13 @@
-
+
-Class Hierarchy (dependency-check-core 1.0.1 API)
+Class Hierarchy (Dependency-Check Core 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Class Hierarchy (dependency-check-core 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Class Hierarchy (dependency-check-core 1.0.1 API)";
+ parent.document.title="Class Hierarchy (Dependency-Check Core 1.0.2 API)";
}
}
@@ -85,7 +85,7 @@ function windowTitle()
Hierarchy For All Packages
-Package Hierarchies: org.owasp.dependencycheck , org.owasp.dependencycheck.analyzer , org.owasp.dependencycheck.data , org.owasp.dependencycheck.data.cpe , org.owasp.dependencycheck.data.cwe , org.owasp.dependencycheck.data.lucene , org.owasp.dependencycheck.data.nvdcve , org.owasp.dependencycheck.data.nvdcve.xml , org.owasp.dependencycheck.dependency , org.owasp.dependencycheck.jaxb.pom , org.owasp.dependencycheck.jaxb.pom.generated , org.owasp.dependencycheck.reporting , org.owasp.dependencycheck.utils
+Package Hierarchies: org.owasp.dependencycheck , org.owasp.dependencycheck.analyzer , org.owasp.dependencycheck.concurrency , org.owasp.dependencycheck.data , org.owasp.dependencycheck.data.cpe , org.owasp.dependencycheck.data.cwe , org.owasp.dependencycheck.data.lucene , org.owasp.dependencycheck.data.nvdcve , org.owasp.dependencycheck.data.update , org.owasp.dependencycheck.dependency , org.owasp.dependencycheck.jaxb.pom , org.owasp.dependencycheck.jaxb.pom.generated , org.owasp.dependencycheck.reporting , org.owasp.dependencycheck.utils
Class Hierarchy
@@ -101,8 +101,6 @@ Class Hierarchy
org.owasp.dependencycheck.analyzer.JarAnalyzer (implements org.owasp.dependencycheck.analyzer.Analyzer )
org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer (implements org.owasp.dependencycheck.analyzer.Analyzer )
- org.owasp.dependencycheck.data.lucene.AbstractIndex
-org.owasp.dependencycheck.data.cpe.Index
org.owasp.dependencycheck.jaxb.pom.generated.Activation org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty org.apache.lucene.analysis.Analyzer (implements java.io.Closeable )
@@ -119,14 +117,17 @@ Class Hierarchy
- org.owasp.dependencycheck.jaxb.pom.generated.Build org.owasp.dependencycheck.jaxb.pom.generated.Build.Extensions org.owasp.dependencycheck.jaxb.pom.generated.Build.Filters org.owasp.dependencycheck.jaxb.pom.generated.Build.Plugins org.owasp.dependencycheck.jaxb.pom.generated.Build.Resources org.owasp.dependencycheck.jaxb.pom.generated.Build.TestResources org.owasp.dependencycheck.jaxb.pom.generated.BuildBase org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Filters org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Plugins org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Resources org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.TestResources org.owasp.dependencycheck.utils.Checksum org.owasp.dependencycheck.jaxb.pom.generated.CiManagement org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.Notifiers org.owasp.dependencycheck.jaxb.pom.generated.Contributor org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Properties org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Roles org.owasp.dependencycheck.data.cpe.CPEAnalyzer (implements org.owasp.dependencycheck.analyzer.Analyzer )
- org.owasp.dependencycheck.data.nvdcve.CveDB org.owasp.dependencycheck.data.cwe.CweDB org.owasp.dependencycheck.data.nvdcve.xml.DatabaseUpdater (implements org.owasp.dependencycheck.data.CachedWebDataSource )
- org.owasp.dependencycheck.data.nvdcve.xml.DatabaseUpdater.NvdCveUrl org.xml.sax.helpers.DefaultHandler (implements org.xml.sax.ContentHandler , org.xml.sax.DTDHandler , org.xml.sax.EntityResolver , org.xml.sax.ErrorHandler )
+ org.owasp.dependencycheck.data.cpe.BaseIndex
+ org.owasp.dependencycheck.jaxb.pom.generated.Build org.owasp.dependencycheck.jaxb.pom.generated.Build.Extensions org.owasp.dependencycheck.jaxb.pom.generated.Build.Filters org.owasp.dependencycheck.jaxb.pom.generated.Build.Plugins org.owasp.dependencycheck.jaxb.pom.generated.Build.Resources org.owasp.dependencycheck.jaxb.pom.generated.Build.TestResources org.owasp.dependencycheck.jaxb.pom.generated.BuildBase org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Filters org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Plugins org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.Resources org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.TestResources org.owasp.dependencycheck.utils.Checksum org.owasp.dependencycheck.jaxb.pom.generated.CiManagement org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.Notifiers org.owasp.dependencycheck.jaxb.pom.generated.Contributor org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Properties org.owasp.dependencycheck.jaxb.pom.generated.Contributor.Roles org.owasp.dependencycheck.analyzer.CPEAnalyzer (implements org.owasp.dependencycheck.analyzer.Analyzer )
+ org.owasp.dependencycheck.data.nvdcve.CveDB org.owasp.dependencycheck.data.cwe.CweDB org.owasp.dependencycheck.data.update.DatabaseUpdater (implements org.owasp.dependencycheck.data.CachedWebDataSource )
+ org.owasp.dependencycheck.data.update.DataStoreMetaInfo org.xml.sax.helpers.DefaultHandler (implements org.xml.sax.ContentHandler , org.xml.sax.DTDHandler , org.xml.sax.EntityResolver , org.xml.sax.ErrorHandler )
+ org.owasp.dependencycheck.data.cwe.CweHandler org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler
org.owasp.dependencycheck.dependency.Dependency (implements java.lang.Comparable <T>)
org.owasp.dependencycheck.jaxb.pom.generated.Dependency org.owasp.dependencycheck.jaxb.pom.generated.Dependency.Exclusions org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.Dependencies org.owasp.dependencycheck.utils.DependencyVersion (implements java.lang.Comparable <T>, java.lang.Iterable <T>)
- org.owasp.dependencycheck.utils.DependencyVersionUtil org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository org.owasp.dependencycheck.jaxb.pom.generated.Developer org.owasp.dependencycheck.jaxb.pom.generated.Developer.Properties org.owasp.dependencycheck.jaxb.pom.generated.Developer.Roles org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement org.owasp.dependencycheck.utils.Downloader org.owasp.dependencycheck.Engine org.owasp.dependencycheck.dependency.Evidence (implements java.lang.Comparable <T>)
+ org.owasp.dependencycheck.utils.DependencyVersionUtil org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository org.owasp.dependencycheck.jaxb.pom.generated.Developer org.owasp.dependencycheck.jaxb.pom.generated.Developer.Properties org.owasp.dependencycheck.jaxb.pom.generated.Developer.Roles org.owasp.dependencycheck.concurrency.DirectorySpinLock (implements java.io.Closeable )
+ org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement org.owasp.dependencycheck.utils.Downloader org.owasp.dependencycheck.Engine org.owasp.dependencycheck.dependency.Evidence (implements java.lang.Comparable <T>)
org.owasp.dependencycheck.dependency.EvidenceCollection (implements java.lang.Iterable <T>)
org.owasp.dependencycheck.jaxb.pom.generated.Exclusion org.owasp.dependencycheck.jaxb.pom.generated.Extension org.owasp.dependencycheck.data.cpe.Fields org.owasp.dependencycheck.utils.FileUtils org.owasp.dependencycheck.utils.Filter <T> org.owasp.dependencycheck.dependency.Identifier (implements java.lang.Comparable <T>)
org.owasp.dependencycheck.data.cpe.IndexEntry (implements java.io.Serializable )
@@ -138,8 +139,8 @@ Class Hierarchy
java.io.FilterInputStream
- org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement org.owasp.dependencycheck.analyzer.JarAnalyzer.ClassNameInformation org.owasp.dependencycheck.jaxb.pom.generated.License org.owasp.dependencycheck.data.lucene.LuceneUtils org.owasp.dependencycheck.jaxb.pom.generated.MailingList org.owasp.dependencycheck.jaxb.pom.generated.MailingList.OtherArchives org.owasp.dependencycheck.jaxb.pom.generated.Model org.owasp.dependencycheck.jaxb.pom.generated.Model.Contributors org.owasp.dependencycheck.jaxb.pom.generated.Model.Dependencies org.owasp.dependencycheck.jaxb.pom.generated.Model.Developers org.owasp.dependencycheck.jaxb.pom.generated.Model.Licenses org.owasp.dependencycheck.jaxb.pom.generated.Model.MailingLists org.owasp.dependencycheck.jaxb.pom.generated.Model.Modules org.owasp.dependencycheck.jaxb.pom.generated.Model.PluginRepositories org.owasp.dependencycheck.jaxb.pom.generated.Model.Profiles org.owasp.dependencycheck.jaxb.pom.generated.Model.Properties org.owasp.dependencycheck.jaxb.pom.generated.Model.Reports org.owasp.dependencycheck.jaxb.pom.generated.Model.Repositories org.owasp.dependencycheck.jaxb.pom.generated.Notifier org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration org.owasp.dependencycheck.data.nvdcve.xml.NvdCve12Handler.Element org.owasp.dependencycheck.data.nvdcve.xml.NvdCve20Handler.Element org.owasp.dependencycheck.data.nvdcve.NvdCveAnalyzer (implements org.owasp.dependencycheck.analyzer.Analyzer )
- org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory org.owasp.dependencycheck.jaxb.pom.generated.Organization org.owasp.dependencycheck.jaxb.pom.generated.Parent org.owasp.dependencycheck.jaxb.pom.generated.Plugin org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites org.owasp.dependencycheck.jaxb.pom.generated.Profile org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories org.owasp.dependencycheck.dependency.Reference (implements java.lang.Comparable <T>, java.io.Serializable )
+ org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement org.owasp.dependencycheck.analyzer.JarAnalyzer.ClassNameInformation org.owasp.dependencycheck.jaxb.pom.generated.License org.owasp.dependencycheck.data.lucene.LuceneUtils org.owasp.dependencycheck.jaxb.pom.generated.MailingList org.owasp.dependencycheck.jaxb.pom.generated.MailingList.OtherArchives org.owasp.dependencycheck.jaxb.pom.generated.Model org.owasp.dependencycheck.jaxb.pom.generated.Model.Contributors org.owasp.dependencycheck.jaxb.pom.generated.Model.Dependencies org.owasp.dependencycheck.jaxb.pom.generated.Model.Developers org.owasp.dependencycheck.jaxb.pom.generated.Model.Licenses org.owasp.dependencycheck.jaxb.pom.generated.Model.MailingLists org.owasp.dependencycheck.jaxb.pom.generated.Model.Modules org.owasp.dependencycheck.jaxb.pom.generated.Model.PluginRepositories org.owasp.dependencycheck.jaxb.pom.generated.Model.Profiles org.owasp.dependencycheck.jaxb.pom.generated.Model.Properties org.owasp.dependencycheck.jaxb.pom.generated.Model.Reports org.owasp.dependencycheck.jaxb.pom.generated.Model.Repositories org.owasp.dependencycheck.jaxb.pom.generated.Notifier org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.Element org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.Element org.owasp.dependencycheck.analyzer.NvdCveAnalyzer (implements org.owasp.dependencycheck.analyzer.Analyzer )
+ org.owasp.dependencycheck.data.update.NvdCveInfo org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory org.owasp.dependencycheck.jaxb.pom.generated.Organization org.owasp.dependencycheck.jaxb.pom.generated.Parent org.owasp.dependencycheck.jaxb.pom.generated.Plugin org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites org.owasp.dependencycheck.jaxb.pom.generated.Profile org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories org.owasp.dependencycheck.dependency.Reference (implements java.lang.Comparable <T>, java.io.Serializable )
org.owasp.dependencycheck.jaxb.pom.generated.Relocation org.owasp.dependencycheck.reporting.ReportGenerator org.owasp.dependencycheck.jaxb.pom.generated.Reporting org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configuration org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSets org.owasp.dependencycheck.jaxb.pom.generated.ReportSet org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configuration org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports org.owasp.dependencycheck.jaxb.pom.generated.Repository org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy org.owasp.dependencycheck.jaxb.pom.generated.Resource org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes org.owasp.dependencycheck.jaxb.pom.generated.Scm org.owasp.dependencycheck.utils.Settings org.owasp.dependencycheck.utils.Settings.KEYS org.apache.lucene.search.similarities.Similarity
org.apache.lucene.search.similarities.TFIDFSimilarity
org.apache.lucene.search.similarities.DefaultSimilarity
+
+
org/owasp/dependencycheck/utils/UrlStringUtils.java
+
+
+Violation
+Message
+Line
+
+
+Line is longer than 150 characters (found 170).
+73
diff --git a/dependency-check-core/checkstyle.rss b/dependency-check-core/checkstyle.rss
index 30fa82187..969139785 100644
--- a/dependency-check-core/checkstyle.rss
+++ b/dependency-check-core/checkstyle.rss
@@ -2,14 +2,14 @@
- dependency-check-core - Checkstyle report
+ Dependency-Check Core - Checkstyle report
https://github.com/jeremylong/DependencyCheck.git/dependency-check-core
- dependency-check-core - Checkstyle report
+ Dependency-Check Core - Checkstyle report
en-us
©2012 - 2013 OWASP
-
-
File: 151,
- Errors: 2,
+ File: 140,
+ Errors: 4,
Warnings: 0,
Infos: 0
@@ -28,20 +28,6 @@
-
- dependency-check-maven/target/classes/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
org/owasp/dependencycheck/data/lucene/package-info.java
@@ -57,7 +43,7 @@
- dependency-check-maven/target/generated-classes/cobertura/mojo.properties
+ org/owasp/dependencycheck/data/update/package-info.java
0
@@ -82,20 +68,6 @@
0
-
-
-
- org/owasp/dependencycheck/data/nvdcve/xml/DatabaseUpdater.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -124,20 +96,6 @@
0
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -194,6 +152,20 @@
0
+
+
+
+ org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -267,7 +239,7 @@
- dependency-check-ant/target/generated-classes/cobertura/task.properties
+ org/owasp/dependencycheck/analyzer/CPEAnalyzer.java
0
@@ -276,21 +248,7 @@
0
- 0
-
-
-
-
- dependency-check-maven/target/maven-archiver/pom.properties
-
-
- 0
-
-
- 0
-
-
- 0
+ 1
@@ -320,20 +278,6 @@
0
-
-
-
- dependency-check-maven/target/maven-plugin-help.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -365,7 +309,7 @@
- dependency-check-ant/target/classes/task.properties
+ org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.java
0
@@ -432,20 +376,6 @@
0
-
-
-
- dependency-check-maven/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -516,6 +446,20 @@
0
+
+
+
+ org/owasp/dependencycheck/data/nvdcve/InvalidDataException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -614,20 +558,6 @@
0
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/taskdefs.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -754,20 +684,6 @@
0
-
-
-
- dependency-check-ant/target/maven-archiver/pom.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -810,20 +726,6 @@
0
-
-
-
- dependency-check-cli/target/maven-archiver/pom.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -892,7 +794,7 @@
0
- 0
+ 1
@@ -953,7 +855,7 @@
- dependency-check-ant/target/classes/log.properties
+ org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.java
0
@@ -992,20 +894,6 @@
0
-
-
-
- dependency-check-cli/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1034,6 +922,20 @@
0
+
+
+
+ org/owasp/dependencycheck/concurrency/DirectoryLockException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1090,20 +992,6 @@
0
-
-
-
- dependency-check-ant/target/classes/taskdefs.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1118,20 +1006,6 @@
0
-
-
-
- org/owasp/dependencycheck/data/nvdcve/xml/NvdCve20Handler.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1160,20 +1034,6 @@
0
-
-
-
- org/owasp/dependencycheck/data/cpe/CPEAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1202,20 +1062,6 @@
0
-
-
-
- org/owasp/dependencycheck/data/nvdcve/xml/NvdCve12Handler.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1412,20 +1258,6 @@
0
-
-
-
- dependency-check-maven/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1440,20 +1272,6 @@
0
-
-
-
- org/owasp/dependencycheck/data/nvdcve/xml/package-info.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1485,7 +1303,7 @@
- org/owasp/dependencycheck/data/nvdcve/xml/InvalidDataException.java
+ org/owasp/dependencycheck/concurrency/package-info.java
0
@@ -1510,20 +1328,6 @@
0
-
-
-
- org/owasp/dependencycheck/data/lucene/AbstractIndex.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1608,6 +1412,20 @@
0
+
+
+
+ org/owasp/dependencycheck/concurrency/DirectorySpinLock.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1625,7 +1443,21 @@
- org/owasp/dependencycheck/data/cpe/Index.java
+ org/owasp/dependencycheck/data/update/DataStoreMetaInfo.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/cpe/BaseIndex.java
0
@@ -1734,20 +1566,6 @@
0
-
-
-
- dependency-check-cli/target/generated-classes/cobertura/cobertura.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1776,20 +1594,6 @@
0
-
-
-
- dependency-check-ant/target/generated-classes/cobertura/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1818,20 +1622,6 @@
0
-
-
-
- dependency-check-cli/target/classes/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1860,6 +1650,20 @@
0
+
+
+
+ org/owasp/dependencycheck/data/cpe/CpeIndexWriter.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1916,6 +1720,34 @@
0
+
+
+
+ org/owasp/dependencycheck/data/update/NvdCveInfo.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/cpe/CpeIndexReader.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1944,34 +1776,6 @@
0
-
-
-
- org/owasp/dependencycheck/data/nvdcve/NvdCveAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
-
-
-
- dependency-check-maven/target/classes/mojo.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -2070,6 +1874,20 @@
0
+
+
+
+ org/owasp/dependencycheck/utils/ExtractionException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2126,6 +1944,34 @@
0
+
+
+
+ org/owasp/dependencycheck/concurrency/InvalidDirectoryException.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/data/update/DatabaseUpdater.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
diff --git a/dependency-check-core/cobertura/frame-packages.html b/dependency-check-core/cobertura/frame-packages.html
index 571cdfad8..a86db9b53 100644
--- a/dependency-check-core/cobertura/frame-packages.html
+++ b/dependency-check-core/cobertura/frame-packages.html
@@ -19,6 +19,9 @@
org.owasp.dependencycheck.analyzer
+org.owasp.dependencycheck.concurrency
+
+
org.owasp.dependencycheck.data
@@ -34,7 +37,7 @@
org.owasp.dependencycheck.data.nvdcve
-org.owasp.dependencycheck.data.nvdcve.xml
+org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html
index 4790127d2..aa0fb73bf 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.html
@@ -30,13 +30,16 @@ org.owasp.dependencycheck.analyzer
AnalyzerService (100%)
-ArchiveAnalyzer (72%)
+ArchiveAnalyzer (70%)
+
+
+CPEAnalyzer (79%)
DependencyBundlingAnalyzer (6%)
-FalsePositiveAnalyzer (56%)
+FalsePositiveAnalyzer (62%)
FileNameAnalyzer (100%)
@@ -50,6 +53,9 @@ org.owasp.dependencycheck.analyzer
JavaScriptAnalyzer (0%)
+
+NvdCveAnalyzer (11%)
+
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.concurrency.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.concurrency.html
new file mode 100644
index 000000000..c532d2a1a
--- /dev/null
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.concurrency.html
@@ -0,0 +1,29 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+org.owasp.dependencycheck.concurrency
+
+
+Classes
+
+
+
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cpe.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cpe.html
index 75e174092..70f97f9f9 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cpe.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cpe.html
@@ -15,16 +15,19 @@ org.owasp.dependencycheck.data.cpe
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.lucene.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.lucene.html
index d4711c6b3..716800395 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.lucene.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.lucene.html
@@ -15,9 +15,6 @@ org.owasp.dependencycheck.data.lucene
-AbstractIndex (54%)
-
-
AbstractTokenizingFilter (100%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nvdcve.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nvdcve.html
index 6d7a8f500..481b6750c 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nvdcve.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nvdcve.html
@@ -24,7 +24,13 @@ org.owasp.dependencycheck.data.nvdcve
DatabaseException (0%)
-NvdCveAnalyzer (11%)
+InvalidDataException (0%)
+
+
+NvdCve12Handler (93%)
+
+
+NvdCve20Handler (79%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.html
new file mode 100644
index 000000000..14b673feb
--- /dev/null
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.html
@@ -0,0 +1,29 @@
+
+
+
+
+Coverage Report Classes
+
+
+
+
+org.owasp.dependencycheck.data.update
+
+
+Classes
+
+
+
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.utils.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.utils.html
index 5365d82ce..6cbc1c733 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.utils.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.utils.html
@@ -27,10 +27,13 @@ org.owasp.dependencycheck.utils
DownloadFailedException (0%)
-Downloader (0%)
+Downloader (8%)
-FileUtils (36%)
+ExtractionException (0%)
+
+
+FileUtils (48%)
Filter (92%)
@@ -45,7 +48,7 @@ org.owasp.dependencycheck.utils
Settings (61%)
-UrlStringUtils (81%)
+UrlStringUtils (82%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles.html b/dependency-check-core/cobertura/frame-sourcefiles.html
index d1ab5a2fe..3a64a294d 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles.html
@@ -18,9 +18,6 @@ All Packages
AbstractAnalyzer (100%)
-AbstractIndex (54%)
-
-
AbstractTokenizingFilter (100%)
@@ -51,7 +48,10 @@ All Packages
AnalyzerService (100%)
-ArchiveAnalyzer (72%)
+ArchiveAnalyzer (70%)
+
+
+BaseIndex (73%)
Build (9%)
@@ -60,7 +60,7 @@ All Packages
BuildBase (7%)
-CPEAnalyzer (78%)
+CPEAnalyzer (79%)
CachedWebDataSource (N/A)
@@ -78,6 +78,12 @@ All Packages
CorruptDatabaseException (0%)
+CpeIndexReader (75%)
+
+
+CpeIndexWriter (48%)
+
+
CveDB (46%)
@@ -87,10 +93,13 @@ All Packages
CweHandler (0%)
+DataStoreMetaInfo (50%)
+
+
DatabaseException (0%)
-DatabaseUpdater (0%)
+DatabaseUpdater (33%)
Dependency (57%)
@@ -120,13 +129,19 @@ All Packages
Developer (5%)
+DirectoryLockException (25%)
+
+
+DirectorySpinLock (65%)
+
+
DistributionManagement (5%)
DownloadFailedException (0%)
-Downloader (0%)
+Downloader (8%)
Engine (38%)
@@ -144,7 +159,10 @@ All Packages
Extension (0%)
-FalsePositiveAnalyzer (56%)
+ExtractionException (0%)
+
+
+FalsePositiveAnalyzer (62%)
FieldAnalyzer (100%)
@@ -156,7 +174,7 @@ All Packages
FileNameAnalyzer (100%)
-FileUtils (36%)
+FileUtils (48%)
Filter (92%)
@@ -168,13 +186,13 @@ All Packages
Identifier (25%)
-Index (64%)
+IndexEntry (63%)
-IndexEntry (66%)
+InvalidDataException (0%)
-InvalidDataException (0%)
+InvalidDirectoryException (0%)
InvalidSettingException (0%)
@@ -210,13 +228,16 @@ All Packages
Notifier (0%)
-NvdCve12Handler (93%)
+NvdCve12Handler (93%)
-NvdCve20Handler (79%)
+NvdCve20Handler (79%)
-NvdCveAnalyzer (11%)
+NvdCveAnalyzer (11%)
+
+
+NvdCveInfo (88%)
ObjectFactory (0%)
@@ -294,7 +315,7 @@ All Packages
UpdateService (0%)
-UrlStringUtils (81%)
+UrlStringUtils (82%)
UrlTokenizingFilter (80%)
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html
index a6484b7b6..97dfb9b1d 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.concurrency.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.concurrency.html
new file mode 100644
index 000000000..a82e46bf3
--- /dev/null
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.concurrency.html
@@ -0,0 +1,46 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.concurrency
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html
index c0c09e11a..8c11aeca4 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cpe.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html
index 76b795646..4aa5dd1b5 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.cwe.html
@@ -39,6 +39,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.html
index d8b1c128a..a6de81c74 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.html
@@ -17,11 +17,11 @@
Package # Classes Line Coverage Branch Coverage Complexity
org.owasp.dependencycheck.data 3 1.125; 1.125
- org.owasp.dependencycheck.data.cpe 6 3.1923076923076925; 3.192
+ org.owasp.dependencycheck.data.cpe 5 2.1333333333333333; 2.133
org.owasp.dependencycheck.data.cwe 2 2.8; 2.8
- org.owasp.dependencycheck.data.lucene 12 2.3404255319148937; 2.34
- org.owasp.dependencycheck.data.nvdcve 4 3.3548387096774195; 3.355
- org.owasp.dependencycheck.data.nvdcve.xml 7 3.789473684210526; 3.789
+ org.owasp.dependencycheck.data.lucene 11 2.607142857142857; 2.607
+ org.owasp.dependencycheck.data.nvdcve 8 3.305084745762712; 3.305
+ org.owasp.dependencycheck.data.update 3 4.933333333333334; 4.933
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html
index 4c852b5cf..02f78a500 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.lucene.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html
index 3260ccf6e..9c9dce79b 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nvdcve.html
@@ -16,8 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
new file mode 100644
index 000000000..5c0683c0c
--- /dev/null
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
@@ -0,0 +1,46 @@
+
+
+
+
+Coverage Report
+
+
+
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.update
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
index 38ce77018..8218ed133 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
@@ -57,6 +57,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
index 72ff7c471..5396419b0 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
@@ -17,18 +17,19 @@
Package # Classes Line Coverage Branch Coverage Complexity
org.owasp.dependencycheck 1 3.411764705882353; 3.412
- org.owasp.dependencycheck.analyzer 13 4.195652173913044; 4.196
+ org.owasp.dependencycheck.analyzer 17 3.970149253731343; 3.97
+ org.owasp.dependencycheck.concurrency 3 2.611111111111111; 2.611
org.owasp.dependencycheck.data 3 1.125; 1.125
- org.owasp.dependencycheck.data.cpe 6 3.1923076923076925; 3.192
+ org.owasp.dependencycheck.data.cpe 5 2.1333333333333333; 2.133
org.owasp.dependencycheck.data.cwe 2 2.8; 2.8
- org.owasp.dependencycheck.data.lucene 12 2.3404255319148937; 2.34
- org.owasp.dependencycheck.data.nvdcve 4 3.3548387096774195; 3.355
- org.owasp.dependencycheck.data.nvdcve.xml 7 3.789473684210526; 3.789
+ org.owasp.dependencycheck.data.lucene 11 2.607142857142857; 2.607
+ org.owasp.dependencycheck.data.nvdcve 8 3.305084745762712; 3.305
+ org.owasp.dependencycheck.data.update 3 4.933333333333334; 4.933
org.owasp.dependencycheck.dependency 14 2.4387096774193546; 2.439
org.owasp.dependencycheck.jaxb.pom 1 1.25; 1.25
org.owasp.dependencycheck.jaxb.pom.generated 87 1.0907407407407408; 1.091
org.owasp.dependencycheck.reporting 3 4.2727272727272725; 4.273
- org.owasp.dependencycheck.utils 14 2.8805970149253732; 2.881
+ org.owasp.dependencycheck.utils 15 3.1805555555555554; 3.181
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html
index bcfbd70d2..6ee4cfdab 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.generated.html
@@ -160,6 +160,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html
index aa09686a4..4cadf0ed3 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.jaxb.pom.html
@@ -38,6 +38,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
index 874b3fa81..e4c560170 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
@@ -40,6 +40,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
index 50770297a..026a18c69 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.utils.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dependency-check-core/cobertura/frame-summary.html b/dependency-check-core/cobertura/frame-summary.html
index 5bb4450d0..114a6fe20 100644
--- a/dependency-check-core/cobertura/frame-summary.html
+++ b/dependency-check-core/cobertura/frame-summary.html
@@ -16,20 +16,21 @@
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
index fc681f4b1..050c7017f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
@@ -125,14 +125,14 @@
54
- 55 3 private final List<Dependency> dependencies = new ArrayList<Dependency>();
+ 55 2 private final List<Dependency> dependencies = new ArrayList<Dependency>();
56
57
58
- 59 3 private final EnumMap<AnalysisPhase, List<Analyzer>> analyzers =
+ 59 2 private final EnumMap<AnalysisPhase, List<Analyzer>> analyzers =
60
new EnumMap<AnalysisPhase, List<Analyzer>>(AnalysisPhase.class );
61
@@ -141,7 +141,7 @@
63
- 64 3 private final Set<String> extensions = new HashSet<String>();
+ 64 2 private final Set<String> extensions = new HashSet<String>();
65
66
@@ -150,20 +150,20 @@
68
- 69 3 public Engine() {
- 70 3 boolean autoUpdate = true ;
+ 69 2 public Engine() {
+ 70 2 boolean autoUpdate = true ;
71
try {
- 72 3 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
+ 72 2 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
73 0 } catch (InvalidSettingException ex) {
74 0 Logger.getLogger(Engine.class .getName()).log(Level.FINE, "Invalid setting for auto-update; using true." );
- 75 3 }
- 76 3 if (autoUpdate) {
+ 75 2 }
+ 76 2 if (autoUpdate) {
77 0 doUpdates();
78
}
- 79 3 loadAnalyzers();
- 80 3 }
+ 79 2 loadAnalyzers();
+ 80 2 }
81
82
@@ -207,23 +207,23 @@
private void loadAnalyzers() {
104
- 105 30 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 106 27 analyzers.put(phase, new ArrayList<Analyzer>());
+ 105 20 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 106 18 analyzers.put(phase, new ArrayList<Analyzer>());
107
}
108
- 109 3 final AnalyzerService service = AnalyzerService.getInstance();
- 110 3 final Iterator<Analyzer> iterator = service.getAnalyzers();
- 111 27 while (iterator.hasNext()) {
- 112 24 final Analyzer a = iterator.next();
- 113 24 analyzers.get(a.getAnalysisPhase()).add(a);
- 114 24 if (a.getSupportedExtensions() != null ) {
- 115 6 extensions.addAll(a.getSupportedExtensions());
+ 109 2 final AnalyzerService service = AnalyzerService.getInstance();
+ 110 2 final Iterator<Analyzer> iterator = service.getAnalyzers();
+ 111 18 while (iterator.hasNext()) {
+ 112 16 final Analyzer a = iterator.next();
+ 113 16 analyzers.get(a.getAnalysisPhase()).add(a);
+ 114 16 if (a.getSupportedExtensions() != null ) {
+ 115 4 extensions.addAll(a.getSupportedExtensions());
116
}
- 117 24 }
- 118 3 }
+ 117 16 }
+ 118 2 }
119
120
@@ -257,7 +257,7 @@
135
public List<Dependency> getDependencies() {
- 136 15 return dependencies;
+ 136 13 return dependencies;
137
}
138
@@ -439,21 +439,21 @@
237
protected void scanDirectory(File dir) {
- 238 876 final File[] files = dir.listFiles();
- 239 876 if (files != null ) {
- 240 1926 for (File f : files) {
- 241 1050 if (f.isDirectory()) {
- 242 873 scanDirectory(f);
+ 238 28 final File[] files = dir.listFiles();
+ 239 28 if (files != null ) {
+ 240 58 for (File f : files) {
+ 241 30 if (f.isDirectory()) {
+ 242 25 scanDirectory(f);
243
} else {
- 244 177 scanFile(f);
+ 244 5 scanFile(f);
245
}
246
}
247
}
- 248 876 }
+ 248 28 }
249
250
@@ -470,19 +470,19 @@
256
protected void scanFile(File file) {
- 257 177 if (!file.isFile()) {
+ 257 5 if (!file.isFile()) {
258 0 final String msg = String.format("Path passed to scanFile(File) is not a file: %s. Skipping the file." , file.toString());
259 0 Logger.getLogger(Engine.class .getName()).log(Level.FINE, msg);
260 0 return ;
261
}
- 262 177 final String fileName = file.getName();
- 263 177 final String extension = FileUtils.getFileExtension(fileName);
- 264 177 if (extension != null ) {
- 265 177 if (extensions.contains(extension)) {
- 266 177 final Dependency dependency = new Dependency(file);
- 267 177 dependencies.add(dependency);
- 268 177 }
+ 262 5 final String fileName = file.getName();
+ 263 5 final String extension = FileUtils.getFileExtension(fileName);
+ 264 5 if (extension != null ) {
+ 265 5 if (extensions.contains(extension)) {
+ 266 5 final Dependency dependency = new Dependency(file);
+ 267 5 dependencies.add(dependency);
+ 268 5 }
269
} else {
270 0 final String msg = String.format("No file extension found on file '%s'. The file was not analyzed." ,
@@ -491,7 +491,7 @@
272 0 Logger.getLogger(Engine.class .getName()).log(Level.FINEST, msg);
273
}
- 274 177 }
+ 274 5 }
275
276
@@ -649,28 +649,28 @@
377
public boolean supportsExtension(String ext) {
- 378 17691 if (ext == null ) {
- 379 231 return false ;
+ 378 138 if (ext == null ) {
+ 379 8 return false ;
380
}
- 381 173184 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 382 155901 final List<Analyzer> analyzerList = analyzers.get(phase);
- 383 155901 for (Analyzer a : analyzerList) {
- 384 138618 if (a.getSupportedExtensions() != null && a.supportsExtension(ext)) {
- 385 177 return true ;
+ 381 1259 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 382 1134 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 383 1134 for (Analyzer a : analyzerList) {
+ 384 1009 if (a.getSupportedExtensions() != null && a.supportsExtension(ext)) {
+ 385 5 return true ;
386
}
387
}
388
}
- 389 17283 return false ;
+ 389 125 return false ;
390
}
391
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
index e31d82245..9aef3b313 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
@@ -73,7 +73,7 @@
28
- 29 138 public abstract class AbstractAnalyzer implements Analyzer {
+ 29 51 public abstract class AbstractAnalyzer implements Analyzer {
30
31
@@ -100,11 +100,11 @@
42
protected static Set<String> newHashSet(String... strings) {
- 43 15 final Set<String> set = new HashSet<String>();
+ 43 5 final Set<String> set = new HashSet<String>();
44
- 45 15 Collections.addAll(set, strings);
- 46 15 return set;
+ 45 5 Collections.addAll(set, strings);
+ 46 5 return set;
47
}
48
@@ -125,7 +125,7 @@
public void initialize() throws Exception {
56
- 57 3 }
+ 57 1 }
58
59
@@ -144,11 +144,11 @@
public void close() throws Exception {
66
- 67 3 }
+ 67 1 }
68
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html
index 574bb395b..517488923 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisException.html
@@ -145,6 +145,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
index f6446812b..bc5e5e685 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
@@ -67,7 +67,7 @@
25
- 26 17496 public enum AnalysisPhase {
+ 26 143 public enum AnalysisPhase {
27
28
@@ -76,67 +76,67 @@
30
- 31 3 INITIAL,
+ 31 1 INITIAL,
32
33
34
- 35 3 INFORMATION_COLLECTION,
+ 35 1 INFORMATION_COLLECTION,
36
37
38
- 39 3 PRE_IDENTIFIER_ANALYSIS,
+ 39 1 PRE_IDENTIFIER_ANALYSIS,
40
41
42
- 43 3 IDENTIFIER_ANALYSIS,
+ 43 1 IDENTIFIER_ANALYSIS,
44
45
46
- 47 3 POST_IDENTIFIER_ANALYSIS,
+ 47 1 POST_IDENTIFIER_ANALYSIS,
48
49
50
- 51 3 PRE_FINDING_ANALYSIS,
+ 51 1 PRE_FINDING_ANALYSIS,
52
53
54
- 55 3 FINDING_ANALYSIS,
+ 55 1 FINDING_ANALYSIS,
56
57
58
- 59 3 POST_FINDING_ANALYSIS,
+ 59 1 POST_FINDING_ANALYSIS,
60
61
62
- 63 3 FINAL
+ 63 1 FINAL
64
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
index f5edea9b7..3ae449392 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
@@ -223,6 +223,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
index 6a6da58b8..3aeca5631 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
@@ -99,9 +99,9 @@
41
- 42 3 private AnalyzerService() {
- 43 3 loader = ServiceLoader.load(Analyzer.class );
- 44 3 }
+ 42 1 private AnalyzerService() {
+ 43 1 loader = ServiceLoader.load(Analyzer.class );
+ 44 1 }
45
46
@@ -116,11 +116,11 @@
51
public static synchronized AnalyzerService getInstance() {
- 52 6 if (service == null ) {
- 53 3 service = new AnalyzerService();
+ 52 3 if (service == null ) {
+ 53 1 service = new AnalyzerService();
54
}
- 55 6 return service;
+ 55 3 return service;
56
}
57
@@ -137,13 +137,13 @@
63
public Iterator<Analyzer> getAnalyzers() {
- 64 6 return loader.iterator();
+ 64 3 return loader.iterator();
65
}
66
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
index 8e9688681..506837985 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.ArchiveAnalyzer.html
@@ -12,7 +12,7 @@
@@ -86,457 +86,476 @@
34
import java.util.logging.Logger;
35
- import java.util.zip.ZipEntry;
+
36
- import java.util.zip.ZipInputStream;
+
37
- import org.h2.store.fs.FileUtils;
+
38
- import org.owasp.dependencycheck.Engine;
+ import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
39
- import org.owasp.dependencycheck.dependency.Dependency;
+ import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
40
- import org.owasp.dependencycheck.utils.Settings;
+ import org.h2.store.fs.FileUtils;
41
-
+ import org.owasp.dependencycheck.Engine;
42
-
+ import org.owasp.dependencycheck.dependency.Dependency;
43
-
+ import org.owasp.dependencycheck.utils.Settings;
44
-
+
45
-
+
46
-
+
47
-
+
48
-
+
49
-
+
50
-
+
51
-
+
52
-
+
53
-
+
54
-
+
55
-
+
56
-
+
57
-
- 58 21 public class ArchiveAnalyzer extends AbstractAnalyzer implements Analyzer {
+
+ 58
+
59
-
+
60
-
- 61
-
+
+ 61 8 public class ArchiveAnalyzer extends AbstractAnalyzer implements Analyzer {
62
-
+
63
- private static final int BUFFER_SIZE = 4096;
+
64
-
+
65
-
+
66
-
+ private static final int BUFFER_SIZE = 4096;
67
-
- 68 3 private static int dirCount = 0;
+
+ 68
+
69
-
+
70
-
- 71
- 72 21 private File tempFileLocation = null ;
+ 71 1 private static int dirCount = 0;
+ 72
+
73
-
+
74
-
- 75
-
+
+ 75 8 private File tempFileLocation = null ;
76
-
- 77 3 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
+
+ 77
+
78
-
+
79
-
- 80
- 81 21 private int scanDepth = 0;
+ 80 1 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
+ 81
+
82
-
+
83
-
- 84
-
+
+ 84 8 private int scanDepth = 0;
85
-
+
86
- private static final String ANALYZER_NAME = "Archive Analyzer" ;
+
87
-
+
88
-
+
89
-
- 90 3 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
+ private static final String ANALYZER_NAME = "Archive Analyzer" ;
+ 90
+
91
-
+
92
-
- 93
- 94 3 private static final Set<String> EXTENSIONS = newHashSet("zip" , "ear" , "war" );
+ 93 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
+ 94
+
95
-
+
96
-
- 97
-
+
+ 97 1 private static final Set<String> EXTENSIONS = newHashSet("zip" , "ear" , "war" );
98
-
+
99
-
+
100
-
+
101
- public Set<String> getSupportedExtensions() {
- 102 17472 return EXTENSIONS;
+
+ 102
+
103
- }
+
104
-
- 105
-
+ public Set<String> getSupportedExtensions() {
+ 105 136 return EXTENSIONS;
106
-
+ }
107
-
+
108
-
+
109
-
+
110
- public String getName() {
- 111 3 return ANALYZER_NAME;
+
+ 111
+
112
- }
+
113
-
- 114
-
+ public String getName() {
+ 114 1 return ANALYZER_NAME;
115
-
+ }
116
-
+
117
-
+
118
-
+
119
-
+
120
-
+
121
- public boolean supportsExtension(String extension) {
- 122 17649 return EXTENSIONS.contains(extension);
+
+ 122
+
123
- }
+
124
-
- 125
-
+ public boolean supportsExtension(String extension) {
+ 125 139 return EXTENSIONS.contains(extension);
126
-
+ }
127
-
+
128
-
+
129
-
+
130
- public AnalysisPhase getAnalysisPhase() {
- 131 6 return ANALYSIS_PHASE;
+
+ 131
+
132
- }
+
133
-
- 134
-
+ public AnalysisPhase getAnalysisPhase() {
+ 134 3 return ANALYSIS_PHASE;
135
-
- 136
-
- 137
-
- 138
-
- 139
-
- 140
-
- 141
- @Override
- 142
- public void initialize() throws Exception {
- 143 6 final String tmpDir = Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" ));
- 144 6 final File baseDir = new File(tmpDir);
- 145 6 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
- 146 6 if (!tempFileLocation.delete()) {
- 147 0 throw new AnalysisException("Unable to delete temporary file '" + tempFileLocation.getAbsolutePath() + "'." );
- 148
- }
- 149 6 if (!tempFileLocation.mkdirs()) {
- 150 0 throw new AnalysisException("Unable to create directory '" + tempFileLocation.getAbsolutePath() + "'." );
- 151
- }
- 152 6 }
- 153
-
- 154
-
- 155
-
- 156
-
- 157
-
- 158
-
- 159
-
- 160
- @Override
- 161
- public void close() throws Exception {
- 162 6 if (tempFileLocation != null && tempFileLocation.exists()) {
- 163 6 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
- 164
- }
- 165 6 }
- 166
-
- 167
-
- 168
-
- 169
-
- 170
-
- 171
-
- 172
-
- 173
-
- 174
-
- 175
-
- 176
- @Override
- 177
- public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 178 3 final File f = new File(dependency.getActualFilePath());
- 179 3 final File tmpDir = getNextTempDirectory();
- 180 3 extractFiles(f, tmpDir, engine);
- 181
-
- 182
-
- 183 3 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
- 184 3 engine.scan(tmpDir);
- 185 3 final List<Dependency> newDependencies = engine.getDependencies();
- 186 3 if (dependencies.size() != newDependencies.size()) {
- 187
-
- 188 3 final Set<Dependency> dependencySet = new HashSet<Dependency>();
- 189 3 dependencySet.addAll(newDependencies);
- 190 3 dependencySet.removeAll(dependencies);
- 191
-
- 192 3 for (Dependency d : dependencySet) {
- 193
-
- 194 177 final String displayPath = String.format("%s%s" ,
- 195
- dependency.getFilePath(),
- 196
- d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
- 197 177 final String displayName = String.format("%s%s%s" ,
- 198
- dependency.getFileName(),
- 199
- File.separator,
- 200
- d.getFileName());
- 201 177 d.setFilePath(displayPath);
- 202 177 d.setFileName(displayName);
- 203
-
- 204
-
- 205
-
- 206
-
- 207 177 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
- 208 0 scanDepth += 1;
- 209 0 analyze(d, engine);
- 210 0 scanDepth -= 1;
- 211
- }
- 212 177 }
- 213
- }
- 214 3 Collections.sort(engine.getDependencies());
- 215 3 }
- 216
-
- 217
-
- 218
-
- 219
-
- 220
-
- 221
-
- 222
-
- 223
- private File getNextTempDirectory() throws AnalysisException {
- 224 3 dirCount += 1;
- 225 3 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
- 226 3 if (!directory.mkdirs()) {
- 227 0 throw new AnalysisException("Unable to create temp directory '" + directory.getAbsolutePath() + "'." );
- 228
- }
- 229 3 return directory;
- 230
}
- 231
+ 136
+
+ 137
- 232
+ 138
- 233
-
- 234
+ 139
+
+ 140
- 235
-
- 236
-
- 237
-
- 238
-
- 239
+ 141
+
+ 142
+
+ 143
- 240
- private void extractFiles(File archive, File extractTo, Engine engine) throws AnalysisException {
- 241 3 if (archive == null || extractTo == null ) {
- 242 0 return ;
- 243
+ 144
+ @Override
+ 145
+ public void initialize() throws Exception {
+ 146 3 final File baseDir = Settings.getTempDirectory();
+ 147 3 if (!baseDir.exists()) {
+ 148 0 baseDir.mkdirs();
+ 149
}
+ 150 3 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
+ 151 3 if (!tempFileLocation.delete()) {
+ 152 0 throw new AnalysisException("Unable to delete temporary file '" + tempFileLocation.getAbsolutePath() + "'." );
+ 153
+ }
+ 154 3 if (!tempFileLocation.mkdirs()) {
+ 155 0 throw new AnalysisException("Unable to create directory '" + tempFileLocation.getAbsolutePath() + "'." );
+ 156
+ }
+ 157 3 }
+ 158
+
+ 159
+
+ 160
+
+ 161
+
+ 162
+
+ 163
+
+ 164
+
+ 165
+ @Override
+ 166
+ public void close() throws Exception {
+ 167 3 if (tempFileLocation != null && tempFileLocation.exists()) {
+ 168 3 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
+ 169
+ }
+ 170 3 }
+ 171
+
+ 172
+
+ 173
+
+ 174
+
+ 175
+
+ 176
+
+ 177
+
+ 178
+
+ 179
+
+ 180
+
+ 181
+ @Override
+ 182
+ public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+ 183 3 final File f = new File(dependency.getActualFilePath());
+ 184 3 final File tmpDir = getNextTempDirectory();
+ 185 3 extractFiles(f, tmpDir, engine);
+ 186
+
+ 187
+
+ 188 3 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
+ 189 3 engine.scan(tmpDir);
+ 190 3 final List<Dependency> newDependencies = engine.getDependencies();
+ 191 3 if (dependencies.size() != newDependencies.size()) {
+ 192
+
+ 193 1 final Set<Dependency> dependencySet = new HashSet<Dependency>();
+ 194 1 dependencySet.addAll(newDependencies);
+ 195 1 dependencySet.removeAll(dependencies);
+ 196
+
+ 197 1 for (Dependency d : dependencySet) {
+ 198
+
+ 199 5 final String displayPath = String.format("%s%s" ,
+ 200
+ dependency.getFilePath(),
+ 201
+ d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
+ 202 5 final String displayName = String.format("%s%s%s" ,
+ 203
+ dependency.getFileName(),
+ 204
+ File.separator,
+ 205
+ d.getFileName());
+ 206 5 d.setFilePath(displayPath);
+ 207 5 d.setFileName(displayName);
+ 208
+
+ 209
+
+ 210
+
+ 211
+
+ 212 5 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
+ 213 1 scanDepth += 1;
+ 214 1 analyze(d, engine);
+ 215 1 scanDepth -= 1;
+ 216
+ }
+ 217 5 }
+ 218
+ }
+ 219 3 Collections.sort(engine.getDependencies());
+ 220 3 }
+ 221
+
+ 222
+
+ 223
+
+ 224
+
+ 225
+
+ 226
+
+ 227
+
+ 228
+ private File getNextTempDirectory() throws AnalysisException {
+ 229 3 dirCount += 1;
+ 230 3 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
+ 231 3 if (!directory.mkdirs()) {
+ 232 0 throw new AnalysisException("Unable to create temp directory '" + directory.getAbsolutePath() + "'." );
+ 233
+ }
+ 234 3 return directory;
+ 235
+ }
+ 236
+
+ 237
+
+ 238
+
+ 239
+
+ 240
+
+ 241
+
+ 242
+
+ 243
+
244
-
- 245 3 FileInputStream fis = null ;
- 246 3 ZipInputStream zis = null ;
- 247
-
+
+ 245
+ private void extractFiles(File archive, File extractTo, Engine engine) throws AnalysisException {
+ 246 3 if (archive == null || extractTo == null ) {
+ 247 0 return ;
248
+ }
+ 249
+
+ 250 3 FileInputStream fis = null ;
+ 251
+
+ 252 3 ZipArchiveInputStream zis = null ;
+ 253
+
+ 254
try {
- 249 3 fis = new FileInputStream(archive);
- 250 0 } catch (FileNotFoundException ex) {
- 251 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
- 252 0 throw new AnalysisException("Archive file was not found." , ex);
- 253 3 }
- 254 3 zis = new ZipInputStream(new BufferedInputStream(fis));
- 255
- ZipEntry entry;
- 256
- try {
- 257 18567 while ((entry = zis.getNextEntry()) != null ) {
- 258 18564 if (entry.isDirectory()) {
- 259 873 final File d = new File(extractTo, entry.getName());
- 260 873 if (!d.mkdirs()) {
- 261 0 throw new AnalysisException("Unable to create '" + d.getAbsolutePath() + "'." );
+ 255 3 fis = new FileInputStream(archive);
+ 256 0 } catch (FileNotFoundException ex) {
+ 257 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
+ 258 0 throw new AnalysisException("Archive file was not found." , ex);
+ 259 3 }
+ 260 3 zis = new ZipArchiveInputStream(new BufferedInputStream(fis));
+ 261
+ ZipArchiveEntry entry;
262
- }
- 263 873 } else {
- 264 17691 final File file = new File(extractTo, entry.getName());
- 265 17691 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
- 266 17691 if (engine.supportsExtension(ext)) {
- 267 177 BufferedOutputStream bos = null ;
- 268
- FileOutputStream fos;
+
+ 263
+ try {
+ 264 166 while ((entry = zis.getNextZipEntry()) != null ) {
+ 265 163 if (entry.isDirectory()) {
+ 266 25 final File d = new File(extractTo, entry.getName());
+ 267 25 if (!d.mkdirs()) {
+ 268 0 throw new AnalysisException("Unable to create '" + d.getAbsolutePath() + "'." );
269
- try {
- 270 177 fos = new FileOutputStream(file);
- 271 177 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
- 272
- int count;
- 273 177 final byte data[] = new byte [BUFFER_SIZE];
- 274 354765 while ((count = zis.read(data, 0, BUFFER_SIZE)) != -1) {
- 275 354588 bos.write(data, 0, count);
- 276
- }
- 277 177 bos.flush();
- 278 0 } catch (FileNotFoundException ex) {
- 279 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 280 0 throw new AnalysisException("Unable to find file '" + file.getName() + "'." , ex);
- 281 0 } catch (IOException ex) {
- 282 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 283 0 throw new AnalysisException("IO Exception while parsing file '" + file.getName() + "'." , ex);
- 284
- } finally {
- 285 177 if (bos != null ) {
- 286
- try {
- 287 177 bos.close();
- 288 0 } catch (IOException ex) {
- 289 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
- 290 177 }
- 291
- }
- 292
- }
- 293
}
- 294 17691 }
- 295
- }
- 296 0 } catch (IOException ex) {
- 297 0 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
- 298 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, msg, ex);
- 299 0 throw new AnalysisException(msg, ex);
+ 270 25 } else {
+ 271 138 final File file = new File(extractTo, entry.getName());
+ 272 138 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
+ 273 138 if (engine.supportsExtension(ext)) {
+ 274 5 BufferedOutputStream bos = null ;
+ 275
+ FileOutputStream fos;
+ 276
+ try {
+ 277 5 fos = new FileOutputStream(file);
+ 278 5 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
+ 279
+ int count;
+ 280 5 final byte data[] = new byte [BUFFER_SIZE];
+ 281 1307 while ((count = zis.read(data, 0, BUFFER_SIZE)) != -1) {
+ 282 1302 bos.write(data, 0, count);
+ 283
+ }
+ 284 5 bos.flush();
+ 285 0 } catch (FileNotFoundException ex) {
+ 286 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 287 0 throw new AnalysisException("Unable to find file '" + file.getName() + "'." , ex);
+ 288 0 } catch (IOException ex) {
+ 289 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 290 0 throw new AnalysisException("IO Exception while parsing file '" + file.getName() + "'." , ex);
+ 291
+ } finally {
+ 292 5 if (bos != null ) {
+ 293
+ try {
+ 294 5 bos.close();
+ 295 0 } catch (IOException ex) {
+ 296 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+ 297 5 }
+ 298
+ }
+ 299
+ }
300
+ }
+ 301 138 }
+ 302
+ }
+ 303 0 } catch (IOException ex) {
+ 304 0 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+ 305 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+ 306 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 307 0 throw new AnalysisException(msg, ex);
+ 308 0 } catch (Throwable ex) {
+ 309 0 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+ 310 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+ 311 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, null , ex);
+ 312 0 throw new AnalysisException(msg, ex);
+ 313
} finally {
- 301 0 try {
- 302 3 zis.close();
- 303 0 } catch (IOException ex) {
- 304 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
- 305 3 }
- 306 0 }
- 307 3 }
- 308
+ 314 0 try {
+ 315 3 zis.close();
+ 316 0 } catch (IOException ex) {
+ 317 0 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+ 318 3 }
+ 319 0 }
+ 320 3 }
+ 321
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
new file mode 100644
index 000000000..48219cf43
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
@@ -0,0 +1,1391 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.analyzer.CPEAnalyzer
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.analyzer;
+ 20
+
+ 21
+ import java.io.IOException;
+ 22
+ import java.io.UnsupportedEncodingException;
+ 23
+ import java.net.URLEncoder;
+ 24
+ import java.sql.SQLException;
+ 25
+ import java.util.ArrayList;
+ 26
+ import java.util.Collections;
+ 27
+ import java.util.List;
+ 28
+ import java.util.Set;
+ 29
+ import java.util.StringTokenizer;
+ 30
+ import java.util.logging.Level;
+ 31
+ import java.util.logging.Logger;
+ 32
+ import org.apache.lucene.document.Document;
+ 33
+ import org.apache.lucene.index.CorruptIndexException;
+ 34
+ import org.apache.lucene.queryparser.classic.ParseException;
+ 35
+ import org.apache.lucene.search.ScoreDoc;
+ 36
+ import org.apache.lucene.search.TopDocs;
+ 37
+ import org.owasp.dependencycheck.Engine;
+ 38
+ import org.owasp.dependencycheck.data.lucene.LuceneUtils;
+ 39
+ import org.owasp.dependencycheck.dependency.Dependency;
+ 40
+ import org.owasp.dependencycheck.dependency.Evidence;
+ 41
+ import org.owasp.dependencycheck.dependency.Evidence.Confidence;
+ 42
+ import org.owasp.dependencycheck.dependency.EvidenceCollection;
+ 43
+ import org.owasp.dependencycheck.data.cpe.CpeIndexReader;
+ 44
+ import org.owasp.dependencycheck.data.cpe.Fields;
+ 45
+ import org.owasp.dependencycheck.data.cpe.IndexEntry;
+ 46
+ import org.owasp.dependencycheck.data.nvdcve.CveDB;
+ 47
+ import org.owasp.dependencycheck.data.nvdcve.DatabaseException;
+ 48
+ import org.owasp.dependencycheck.dependency.Identifier;
+ 49
+ import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+ 50
+ import org.owasp.dependencycheck.utils.DependencyVersion;
+ 51
+ import org.owasp.dependencycheck.utils.DependencyVersionUtil;
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60 11 public class CPEAnalyzer implements Analyzer {
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+ static final int MAX_QUERY_RESULTS = 25;
+ 66
+
+ 67
+
+ 68
+
+ 69
+ static final String WEIGHTING_BOOST = "^5" ;
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+ static final String CLEANSE_CHARACTER_RX = "[^A-Za-z0-9 ._-]" ;
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+ static final String CLEANSE_NONALPHA_RX = "[^A-Za-z]*" ;
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+ static final int STRING_BUILDER_BUFFER = 20;
+ 85
+
+ 86
+
+ 87
+
+ 88
+ private CpeIndexReader cpe;
+ 89
+
+ 90
+
+ 91
+
+ 92
+ private CveDB cve;
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+ public void open() throws IOException, DatabaseException {
+ 103 9 cpe = new CpeIndexReader();
+ 104 9 cpe.open();
+ 105 9 cve = new CveDB();
+ 106
+ try {
+ 107 9 cve.open();
+ 108 0 } catch (SQLException ex) {
+ 109 0 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 110 0 throw new DatabaseException("Unable to open the cve db" , ex);
+ 111 0 } catch (ClassNotFoundException ex) {
+ 112 0 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, null , ex);
+ 113 0 throw new DatabaseException("Unable to open the cve db" , ex);
+ 114 9 }
+ 115 9 }
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+ @Override
+ 121
+ public void close() {
+ 122 9 if (cpe != null ) {
+ 123 9 cpe.close();
+ 124
+ }
+ 125 9 if (cve != null ) {
+ 126 9 cve.close();
+ 127
+ }
+ 128 9 }
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+
+ 135
+ public boolean isOpen() {
+ 136 8 return (cpe != null ) && cpe.isOpen();
+ 137
+ }
+ 138
+
+ 139
+
+ 140
+
+ 141
+
+ 142
+
+ 143
+
+ 144
+ @Override
+ 145
+ protected void finalize() throws Throwable {
+ 146 5 super .finalize();
+ 147 5 if (isOpen()) {
+ 148 0 close();
+ 149
+ }
+ 150 5 }
+ 151
+
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156
+
+ 157
+
+ 158
+
+ 159
+
+ 160
+
+ 161
+
+ 162
+ protected void determineCPE(Dependency dependency) throws CorruptIndexException, IOException, ParseException {
+ 163 10 Confidence vendorConf = Confidence.HIGHEST;
+ 164 10 Confidence productConf = Confidence.HIGHEST;
+ 165
+
+ 166 10 String vendors = addEvidenceWithoutDuplicateTerms("" , dependency.getVendorEvidence(), vendorConf);
+ 167 10 String products = addEvidenceWithoutDuplicateTerms("" , dependency.getProductEvidence(), productConf);
+ 168
+
+ 169 10 int ctr = 0;
+ 170
+ do {
+ 171 40 if (!vendors.isEmpty() && !products.isEmpty()) {
+ 172 40 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
+ 173
+ dependency.getVendorEvidence().getWeighting());
+ 174
+
+ 175 40 for (IndexEntry e : entries) {
+ 176 397 if (verifyEntry(e, dependency)) {
+ 177 27 final String vendor = e.getVendor();
+ 178 27 final String product = e.getProduct();
+ 179 27 determineIdentifiers(dependency, vendor, product);
+ 180 397 }
+ 181
+ }
+ 182
+ }
+ 183 40 vendorConf = reduceConfidence(vendorConf);
+ 184 40 if (dependency.getVendorEvidence().contains(vendorConf)) {
+ 185 38 vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), vendorConf);
+ 186
+ }
+ 187 40 productConf = reduceConfidence(productConf);
+ 188 40 if (dependency.getProductEvidence().contains(productConf)) {
+ 189 40 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), productConf);
+ 190
+ }
+ 191 40 } while ((++ctr) < 4);
+ 192 10 }
+ 193
+
+ 194
+
+ 195
+
+ 196
+
+ 197
+
+ 198
+
+ 199
+
+ 200
+
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+ private String addEvidenceWithoutDuplicateTerms(final String text, final EvidenceCollection ec, Confidence confidenceFilter) {
+ 206 98 final String txt = (text == null ) ? "" : text;
+ 207 98 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
+ 208 98 sb.append(' ' ).append(txt).append(' ' );
+ 209 98 for (Evidence e : ec.iterator(confidenceFilter)) {
+ 210 247 String value = e.getValue();
+ 211
+
+ 212
+
+ 213
+
+ 214 247 if (value.startsWith("http://" )) {
+ 215 20 value = value.substring(7).replaceAll("\\." , " " );
+ 216
+ }
+ 217 247 if (value.startsWith("https://" )) {
+ 218 0 value = value.substring(8).replaceAll("\\." , " " );
+ 219
+ }
+ 220 247 if (sb.indexOf(" " + value + " " ) < 0) {
+ 221 153 sb.append(value).append(' ' );
+ 222
+ }
+ 223 247 }
+ 224 98 return sb.toString().trim();
+ 225
+ }
+ 226
+
+ 227
+
+ 228
+
+ 229
+
+ 230
+
+ 231
+
+ 232
+
+ 233
+
+ 234
+ private Confidence reduceConfidence(final Confidence c) {
+ 235 80 if (c == Confidence.HIGHEST) {
+ 236 20 return Confidence.HIGH;
+ 237 60 } else if (c == Confidence.HIGH) {
+ 238 20 return Confidence.MEDIUM;
+ 239
+ } else {
+ 240 40 return Confidence.LOW;
+ 241
+ }
+ 242
+ }
+ 243
+
+ 244
+
+ 245
+
+ 246
+
+ 247
+
+ 248
+
+ 249
+
+ 250
+
+ 251
+
+ 252
+
+ 253
+
+ 254
+
+ 255
+
+ 256
+
+ 257
+
+ 258
+
+ 259
+
+ 260
+
+ 261
+
+ 262
+ protected List<IndexEntry> searchCPE(String vendor, String product,
+ 263
+ Set<String> vendorWeightings, Set<String> productWeightings)
+ 264
+ throws CorruptIndexException, IOException, ParseException {
+ 265 41 final ArrayList<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
+ 266
+
+ 267 41 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
+ 268 41 if (searchString == null ) {
+ 269 0 return ret;
+ 270
+ }
+ 271
+
+ 272 41 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
+ 273 834 for (ScoreDoc d : docs.scoreDocs) {
+ 274 793 if (d.score >= 0.08) {
+ 275 417 final Document doc = cpe.getDocument(d.doc);
+ 276 417 final IndexEntry entry = new IndexEntry();
+ 277 417 entry.setVendor(doc.get(Fields.VENDOR));
+ 278 417 entry.setProduct(doc.get(Fields.PRODUCT));
+ 279
+
+ 280
+
+ 281
+
+ 282
+
+ 283
+
+ 284
+
+ 285
+
+ 286 417 entry.setSearchScore(d.score);
+ 287 417 if (!ret.contains(entry)) {
+ 288 417 ret.add(entry);
+ 289
+ }
+ 290
+ }
+ 291
+ }
+ 292 41 return ret;
+ 293
+ }
+ 294
+
+ 295
+
+ 296
+
+ 297
+
+ 298
+
+ 299
+
+ 300
+
+ 301
+
+ 302
+
+ 303
+
+ 304
+
+ 305
+
+ 306
+
+ 307
+
+ 308
+
+ 309
+
+ 310
+
+ 311
+ protected String buildSearch(String vendor, String product,
+ 312
+ Set<String> vendorWeighting, Set<String> productWeightings) {
+ 313 45 final String v = vendor;
+ 314 45 final String p = product;
+ 315 45 final StringBuilder sb = new StringBuilder(v.length() + p.length()
+ 316
+ + Fields.PRODUCT.length() + Fields.VENDOR.length() + STRING_BUILDER_BUFFER);
+ 317
+
+ 318 45 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
+ 319 0 return null ;
+ 320
+ }
+ 321 45 sb.append(" AND " );
+ 322 45 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
+ 323 0 return null ;
+ 324
+ }
+ 325 45 return sb.toString();
+ 326
+ }
+ 327
+
+ 328
+
+ 329
+
+ 330
+
+ 331
+
+ 332
+
+ 333
+
+ 334
+
+ 335
+
+ 336
+
+ 337
+
+ 338
+
+ 339
+
+ 340
+
+ 341
+
+ 342
+ private boolean appendWeightedSearch(StringBuilder sb, String field, String searchText, Set<String> weightedText) {
+ 343 90 sb.append(" " ).append(field).append(":( " );
+ 344
+
+ 345 90 final String cleanText = cleanseText(searchText);
+ 346
+
+ 347 90 if ("" .equals(cleanText)) {
+ 348 0 return false ;
+ 349
+ }
+ 350
+
+ 351 90 if (weightedText == null || weightedText.isEmpty()) {
+ 352 12 LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);
+ 353
+ } else {
+ 354 78 final StringTokenizer tokens = new StringTokenizer(cleanText);
+ 355 920 while (tokens.hasMoreElements()) {
+ 356 842 final String word = tokens.nextToken();
+ 357 842 String temp = null ;
+ 358 842 for (String weighted : weightedText) {
+ 359 1709 final String weightedStr = cleanseText(weighted);
+ 360 1709 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
+ 361 173 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
+ 362 173 if (!word.equalsIgnoreCase(weightedStr)) {
+ 363 12 temp += " " + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;
+ 364
+ }
+ 365
+ }
+ 366 1709 }
+ 367 842 if (temp == null ) {
+ 368 669 temp = LuceneUtils.escapeLuceneQuery(word);
+ 369
+ }
+ 370 842 sb.append(" " ).append(temp);
+ 371 842 }
+ 372
+ }
+ 373 90 sb.append(" ) " );
+ 374 90 return true ;
+ 375
+ }
+ 376
+
+ 377
+
+ 378
+
+ 379
+
+ 380
+
+ 381
+
+ 382
+
+ 383
+
+ 384
+ private String cleanseText(String text) {
+ 385 1799 return text.replaceAll(CLEANSE_CHARACTER_RX, " " );
+ 386
+ }
+ 387
+
+ 388
+
+ 389
+
+ 390
+
+ 391
+
+ 392
+
+ 393
+
+ 394
+
+ 395
+
+ 396
+ private boolean equalsIgnoreCaseAndNonAlpha(String l, String r) {
+ 397 1709 if (l == null || r == null ) {
+ 398 0 return false ;
+ 399
+ }
+ 400
+
+ 401 1709 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "" );
+ 402 1709 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "" );
+ 403 1709 return left.equalsIgnoreCase(right);
+ 404
+ }
+ 405
+
+ 406
+
+ 407
+
+ 408
+
+ 409
+
+ 410
+
+ 411
+
+ 412
+
+ 413
+
+ 414
+
+ 415
+ private boolean verifyEntry(final IndexEntry entry, final Dependency dependency) {
+ 416 397 boolean isValid = false ;
+ 417
+
+ 418 397 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
+ 419
+ && collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {
+ 420
+
+ 421 27 isValid = true ;
+ 422
+ }
+ 423 397 return isValid;
+ 424
+ }
+ 425
+
+ 426
+
+ 427
+
+ 428
+
+ 429
+
+ 430
+
+ 431
+
+ 432
+
+ 433
+ private boolean collectionContainsString(EvidenceCollection ec, String text) {
+ 434
+
+ 435
+
+ 436
+
+ 437
+
+ 438
+
+ 439
+
+ 440
+
+ 441
+
+ 442
+
+ 443
+
+ 444
+
+ 445
+
+ 446
+
+ 447 428 final String[] words = text.split("[\\s_-]" );
+ 448 428 final List<String> list = new ArrayList<String>();
+ 449 428 String tempWord = null ;
+ 450 1195 for (String word : words) {
+ 451
+
+ 452
+
+ 453 767 if (tempWord != null ) {
+ 454 17 list.add(tempWord + word);
+ 455 17 tempWord = null ;
+ 456 750 } else if (word.length() <= 2) {
+ 457 28 tempWord = word;
+ 458
+ } else {
+ 459 722 list.add(word);
+ 460
+ }
+ 461
+ }
+ 462 428 if (tempWord != null && !list.isEmpty()) {
+ 463 9 String tmp = list.get(list.size() - 1) + tempWord;
+ 464 9 list.add(tmp);
+ 465
+ }
+ 466 428 boolean contains = true ;
+ 467 428 for (String word : list) {
+ 468 748 contains &= ec.containsUsedString(word);
+ 469
+ }
+ 470 428 return contains;
+ 471
+ }
+ 472
+
+ 473
+
+ 474
+
+ 475
+
+ 476
+
+ 477
+
+ 478
+
+ 479
+
+ 480
+
+ 481
+
+ 482
+ @Override
+ 483
+ public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+ 484
+ try {
+ 485 6 determineCPE(dependency);
+ 486 0 } catch (CorruptIndexException ex) {
+ 487 0 throw new AnalysisException("CPE Index is corrupt." , ex);
+ 488 0 } catch (IOException ex) {
+ 489 0 throw new AnalysisException("Failure opening the CPE Index." , ex);
+ 490 0 } catch (ParseException ex) {
+ 491 0 throw new AnalysisException("Unable to parse the generated Lucene query for this dependency." , ex);
+ 492 6 }
+ 493 6 }
+ 494
+
+ 495
+
+ 496
+
+ 497
+
+ 498
+
+ 499
+
+ 500
+ @Override
+ 501
+ public Set<String> getSupportedExtensions() {
+ 502 128 return null ;
+ 503
+ }
+ 504
+
+ 505
+
+ 506
+
+ 507
+
+ 508
+
+ 509
+
+ 510
+ @Override
+ 511
+ public String getName() {
+ 512 0 return "CPE Analyzer" ;
+ 513
+ }
+ 514
+
+ 515
+
+ 516
+
+ 517
+
+ 518
+
+ 519
+
+ 520
+
+ 521
+ @Override
+ 522
+ public boolean supportsExtension(String extension) {
+ 523 0 return true ;
+ 524
+ }
+ 525
+
+ 526
+
+ 527
+
+ 528
+
+ 529
+
+ 530
+
+ 531
+ @Override
+ 532
+ public AnalysisPhase getAnalysisPhase() {
+ 533 2 return AnalysisPhase.IDENTIFIER_ANALYSIS;
+ 534
+ }
+ 535
+
+ 536
+
+ 537
+
+ 538
+
+ 539
+
+ 540
+
+ 541
+ @Override
+ 542
+ public void initialize() throws Exception {
+ 543 0 this .open();
+ 544 0 }
+ 545
+
+ 546
+
+ 547
+
+ 548
+
+ 549
+
+ 550
+
+ 551
+
+ 552
+
+ 553
+
+ 554
+
+ 555
+
+ 556
+
+ 557
+
+ 558
+ private void determineIdentifiers(Dependency dependency, String vendor, String product) throws UnsupportedEncodingException {
+ 559 27 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
+ 560 27 DependencyVersion bestGuess = new DependencyVersion("-" );
+ 561 27 Confidence bestGuessConf = null ;
+ 562 27 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
+ 563 135 for (Confidence conf : Confidence.values()) {
+ 564 108 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
+ 565 84 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
+ 566 84 if (evVer == null ) {
+ 567 0 continue ;
+ 568
+ }
+ 569 84 for (VulnerableSoftware vs : cpes) {
+ 570
+ DependencyVersion dbVer;
+ 571 4216 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
+ 572 1419 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
+ 573
+ } else {
+ 574 2797 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
+ 575
+ }
+ 576 4216 if (dbVer == null
+ 577
+ || evVer.equals(dbVer)) {
+ 578 77 final String url = String.format("http://web.nvd.nist.gov/view/vuln/search?cpe=%s" , URLEncoder.encode(vs.getName(), "UTF-8" ));
+ 579 77 final IdentifierMatch match = new IdentifierMatch("cpe" , vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
+ 580 77 collected.add(match);
+ 581 77 } else {
+ 582
+
+ 583 4139 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
+ 584
+ && evVer.matchesAtLeastThreeLevels(dbVer)) {
+ 585 232 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 586 6 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
+ 587 6 bestGuess = dbVer;
+ 588 6 bestGuessConf = conf;
+ 589
+ }
+ 590
+ }
+ 591
+ }
+ 592
+ }
+ 593 4216 }
+ 594 84 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 595 21 if (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {
+ 596 21 bestGuess = evVer;
+ 597 21 bestGuessConf = conf;
+ 598
+ }
+ 599
+ }
+ 600 84 }
+ 601
+ }
+ 602 27 final String cpeName = String.format("cpe:/a:%s:%s:%s" , vendor, product, bestGuess.toString());
+ 603 27 final String url = null ;
+ 604 27 if (bestGuessConf == null ) {
+ 605 0 bestGuessConf = Confidence.LOW;
+ 606
+ }
+ 607 27 final IdentifierMatch match = new IdentifierMatch("cpe" , cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
+ 608 27 collected.add(match);
+ 609
+
+ 610 27 Collections.sort(collected);
+ 611 27 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
+ 612 27 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
+ 613 27 for (IdentifierMatch m : collected) {
+ 614 104 if (bestIdentifierQuality.equals(m.getConfidence())
+ 615
+ && bestEvidenceQuality.equals(m.getEvidenceConfidence())) {
+ 616 32 dependency.addIdentifier(m.getIdentifier());
+ 617
+ }
+ 618
+ }
+ 619 27 }
+ 620
+
+ 621
+
+ 622
+
+ 623
+
+ 624 3 private enum IdentifierConfidence {
+ 625
+
+ 626
+
+ 627
+
+ 628
+
+ 629 1 EXACT_MATCH,
+ 630
+
+ 631
+
+ 632
+
+ 633 1 BEST_GUESS
+ 634
+ }
+ 635
+
+ 636
+
+ 637
+
+ 638
+
+ 639
+
+ 640 101 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
+ 641
+
+ 642
+
+ 643
+
+ 644
+
+ 645
+
+ 646
+
+ 647
+
+ 648
+
+ 649
+
+ 650
+
+ 651
+
+ 652
+
+ 653 104 IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
+ 654 104 this .identifier = new Identifier(type, value, url);
+ 655 104 this .confidence = identifierConfidence;
+ 656 104 this .evidenceConfidence = evidenceConfidence;
+ 657 104 }
+ 658
+
+ 659
+
+ 660
+
+ 661
+
+ 662
+ private Confidence evidenceConfidence;
+ 663
+
+ 664
+
+ 665
+
+ 666
+
+ 667
+
+ 668
+
+ 669
+ public Confidence getEvidenceConfidence() {
+ 670 111 return evidenceConfidence;
+ 671
+ }
+ 672
+
+ 673
+
+ 674
+
+ 675
+
+ 676
+
+ 677
+
+ 678
+ public void setEvidenceConfidence(Confidence evidenceConfidence) {
+ 679 0 this .evidenceConfidence = evidenceConfidence;
+ 680 0 }
+ 681
+
+ 682
+
+ 683
+
+ 684
+ private IdentifierConfidence confidence;
+ 685
+
+ 686
+
+ 687
+
+ 688
+
+ 689
+
+ 690
+
+ 691
+ public IdentifierConfidence getConfidence() {
+ 692 131 return confidence;
+ 693
+ }
+ 694
+
+ 695
+
+ 696
+
+ 697
+
+ 698
+
+ 699
+
+ 700
+ public void setConfidence(IdentifierConfidence confidence) {
+ 701 0 this .confidence = confidence;
+ 702 0 }
+ 703
+
+ 704
+
+ 705
+
+ 706
+ private Identifier identifier;
+ 707
+
+ 708
+
+ 709
+
+ 710
+
+ 711
+
+ 712
+
+ 713
+ public Identifier getIdentifier() {
+ 714 32 return identifier;
+ 715
+ }
+ 716
+
+ 717
+
+ 718
+
+ 719
+
+ 720
+
+ 721
+
+ 722
+ public void setIdentifier(Identifier identifier) {
+ 723 0 this .identifier = identifier;
+ 724 0 }
+ 725
+
+ 726
+
+ 727
+
+ 728
+
+ 729
+
+ 730
+
+ 731
+
+ 732
+
+ 733
+ @Override
+ 734
+ public String toString() {
+ 735 0 return "IdentifierMatch{" + "evidenceConfidence=" + evidenceConfidence
+ 736
+ + ", confidence=" + confidence + ", identifier=" + identifier + '}' ;
+ 737
+ }
+ 738
+
+ 739
+
+ 740
+
+ 741
+
+ 742
+
+ 743
+
+ 744
+ @Override
+ 745
+ public int hashCode() {
+ 746 0 int hash = 5;
+ 747 0 hash = 97 * hash + (this .evidenceConfidence != null ? this .evidenceConfidence.hashCode() : 0);
+ 748 0 hash = 97 * hash + (this .confidence != null ? this .confidence.hashCode() : 0);
+ 749 0 hash = 97 * hash + (this .identifier != null ? this .identifier.hashCode() : 0);
+ 750 0 return hash;
+ 751
+ }
+ 752
+
+ 753
+
+ 754
+
+ 755
+
+ 756
+
+ 757
+
+ 758
+
+ 759
+ @Override
+ 760
+ public boolean equals(Object obj) {
+ 761 0 if (obj == null ) {
+ 762 0 return false ;
+ 763
+ }
+ 764 0 if (getClass() != obj.getClass()) {
+ 765 0 return false ;
+ 766
+ }
+ 767 0 final IdentifierMatch other = (IdentifierMatch) obj;
+ 768 0 if (this .evidenceConfidence != other.evidenceConfidence) {
+ 769 0 return false ;
+ 770
+ }
+ 771 0 if (this .confidence != other.confidence) {
+ 772 0 return false ;
+ 773
+ }
+ 774 0 if (this .identifier != other.identifier && (this .identifier == null || !this .identifier.equals(other.identifier))) {
+ 775 0 return false ;
+ 776
+ }
+ 777 0 return true ;
+ 778
+ }
+ 779
+
+ 780
+
+ 781
+
+ 782
+
+ 783
+
+ 784
+
+ 785
+
+ 786
+
+ 787
+
+ 788
+ @Override
+ 789
+ public int compareTo(IdentifierMatch o) {
+ 790 101 int conf = this .confidence.compareTo(o.confidence);
+ 791 101 if (conf == 0) {
+ 792 81 conf = this .evidenceConfidence.compareTo(o.evidenceConfidence);
+ 793 81 if (conf == 0) {
+ 794 39 conf = identifier.compareTo(o.identifier);
+ 795
+ }
+ 796
+ }
+ 797 101 return conf;
+ 798
+ }
+ 799
+ }
+ 800
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
index ad5622c1d..fdf1116c3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
@@ -103,7 +103,7 @@
43
- 44 3 public class DependencyBundlingAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 44 1 public class DependencyBundlingAnalyzer extends AbstractAnalyzer implements Analyzer {
45
46
@@ -114,14 +114,14 @@
49
- 50 3 private static final Pattern STARTING_TEXT_PATTERN = Pattern.compile("^[a-zA-Z]*" );
+ 50 1 private static final Pattern STARTING_TEXT_PATTERN = Pattern.compile("^[a-zA-Z]*" );
51
52
53
- 54 3 private boolean analyzed = false ;
+ 54 1 private boolean analyzed = false ;
55
56
@@ -132,7 +132,7 @@
59
- 60 3 private static final Set<String> EXTENSIONS = null ;
+ 60 1 private static final Set<String> EXTENSIONS = null ;
61
62
@@ -147,7 +147,7 @@
67
- 68 3 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;
+ 68 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_FINDING_ANALYSIS;
69
70
@@ -162,7 +162,7 @@
75
public Set<String> getSupportedExtensions() {
- 76 17289 return EXTENSIONS;
+ 76 128 return EXTENSIONS;
77
}
78
@@ -217,7 +217,7 @@
104
public AnalysisPhase getAnalysisPhase() {
- 105 3 return ANALYSIS_PHASE;
+ 105 2 return ANALYSIS_PHASE;
106
}
107
@@ -570,6 +570,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
index 7c30974fe..c55cb8056 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer.html
@@ -12,7 +12,7 @@
@@ -103,7 +103,7 @@
43
- 44 18 public class FalsePositiveAnalyzer extends AbstractAnalyzer {
+ 44 7 public class FalsePositiveAnalyzer extends AbstractAnalyzer {
45
46
@@ -114,7 +114,7 @@
49
- 50 3 private static final Set<String> EXTENSIONS = null ;
+ 50 1 private static final Set<String> EXTENSIONS = null ;
51
52
@@ -129,7 +129,7 @@
57
- 58 3 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
+ 58 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.POST_IDENTIFIER_ANALYSIS;
59
60
@@ -144,7 +144,7 @@
65
public Set<String> getSupportedExtensions() {
- 66 17289 return EXTENSIONS;
+ 66 128 return EXTENSIONS;
67
}
68
@@ -199,7 +199,7 @@
94
public AnalysisPhase getAnalysisPhase() {
- 95 3 return ANALYSIS_PHASE;
+ 95 2 return ANALYSIS_PHASE;
96
}
97
@@ -228,11 +228,11 @@
@Override
109
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 110 15 removeJreEntries(dependency);
- 111 15 removeBadMatches(dependency);
- 112 15 removeSpuriousCPE(dependency);
- 113 15 addFalseNegativeCPEs(dependency);
- 114 15 }
+ 110 6 removeJreEntries(dependency);
+ 111 6 removeBadMatches(dependency);
+ 112 6 removeSpuriousCPE(dependency);
+ 113 6 addFalseNegativeCPEs(dependency);
+ 114 6 }
115
116
@@ -269,28 +269,28 @@
132
private void removeSpuriousCPE(Dependency dependency) {
- 133 15 final List<Identifier> ids = new ArrayList<Identifier>();
- 134 15 ids.addAll(dependency.getIdentifiers());
- 135 15 Collections.sort(ids);
- 136 15 final ListIterator<Identifier> mainItr = ids.listIterator();
- 137 24 while (mainItr.hasNext()) {
- 138 9 final Identifier currentId = mainItr.next();
- 139 9 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
- 140 9 if (currentCpe == null ) {
+ 133 6 final List<Identifier> ids = new ArrayList<Identifier>();
+ 134 6 ids.addAll(dependency.getIdentifiers());
+ 135 6 Collections.sort(ids);
+ 136 6 final ListIterator<Identifier> mainItr = ids.listIterator();
+ 137 13 while (mainItr.hasNext()) {
+ 138 7 final Identifier currentId = mainItr.next();
+ 139 7 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
+ 140 7 if (currentCpe == null ) {
141 0 continue ;
142
}
- 143 9 final ListIterator<Identifier> subItr = ids.listIterator(mainItr.nextIndex());
- 144 9 while (subItr.hasNext()) {
- 145 0 final Identifier nextId = subItr.next();
- 146 0 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
- 147 0 if (nextCpe == null ) {
+ 143 7 final ListIterator<Identifier> subItr = ids.listIterator(mainItr.nextIndex());
+ 144 12 while (subItr.hasNext()) {
+ 145 5 final Identifier nextId = subItr.next();
+ 146 5 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
+ 147 5 if (nextCpe == null ) {
148 0 continue ;
149
}
150
- 151 0 if (currentCpe.getVendor().equals(nextCpe.getVendor())) {
+ 151 5 if (currentCpe.getVendor().equals(nextCpe.getVendor())) {
152 0 if (currentCpe.getProduct().equals(nextCpe.getProduct())) {
153
@@ -320,9 +320,9 @@
}
172
}
- 173 0 }
- 174 9 }
- 175 15 }
+ 173 5 }
+ 174 7 }
+ 175 6 }
176
177
@@ -331,7 +331,7 @@
179
- 180 3 public static final Pattern CORE_JAVA = Pattern.compile("^cpe:/a:(sun|oracle|ibm):(j2[ems]e|"
+ 180 1 public static final Pattern CORE_JAVA = Pattern.compile("^cpe:/a:(sun|oracle|ibm):(j2[ems]e|"
181
+ "java(_platfrom_micro_edition|_runtime_environment|_se|virtual_machine|se_development_kit|fx)?|"
182
@@ -342,7 +342,7 @@
185
- 186 3 public static final Pattern CORE_FILES = Pattern.compile("^((alt[-])?rt|jsf[-].*|jsse|jfxrt|jfr|jce|javaws|deploy|charsets)\\.jar$" );
+ 186 1 public static final Pattern CORE_FILES = Pattern.compile("^((alt[-])?rt|jsf[-].*|jsse|jfxrt|jfr|jce|javaws|deploy|charsets)\\.jar$" );
187
188
@@ -359,13 +359,13 @@
194
private void removeJreEntries(Dependency dependency) {
- 195 15 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 196 15 final Iterator<Identifier> itr = identifiers.iterator();
- 197 24 while (itr.hasNext()) {
- 198 9 final Identifier i = itr.next();
- 199 9 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
- 200 9 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
- 201 9 if (coreCPE.matches() && !coreFiles.matches()) {
+ 195 6 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 196 6 final Iterator<Identifier> itr = identifiers.iterator();
+ 197 13 while (itr.hasNext()) {
+ 198 7 final Identifier i = itr.next();
+ 199 7 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
+ 200 7 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
+ 201 7 if (coreCPE.matches() && !coreFiles.matches()) {
202 0 itr.remove();
203
}
@@ -411,8 +411,8 @@
224
- 225 9 }
- 226 15 }
+ 225 7 }
+ 226 6 }
227
228
@@ -431,19 +431,19 @@
235
private VulnerableSoftware parseCpe(String type, String value) {
- 236 9 if (!"cpe" .equals(type)) {
+ 236 12 if (!"cpe" .equals(type)) {
237 0 return null ;
238
}
- 239 9 final VulnerableSoftware cpe = new VulnerableSoftware();
+ 239 12 final VulnerableSoftware cpe = new VulnerableSoftware();
240
try {
- 241 9 cpe.parseName(value);
+ 241 12 cpe.parseName(value);
242 0 } catch (UnsupportedEncodingException ex) {
243 0 Logger.getLogger(FalsePositiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
244 0 return null ;
- 245 9 }
- 246 9 return cpe;
+ 245 12 }
+ 246 12 return cpe;
247
}
248
@@ -464,8 +464,8 @@
256
private void removeBadMatches(Dependency dependency) {
- 257 15 final Set<Identifier> identifiers = dependency.getIdentifiers();
- 258 15 final Iterator<Identifier> itr = identifiers.iterator();
+ 257 6 final Set<Identifier> identifiers = dependency.getIdentifiers();
+ 258 6 final Iterator<Identifier> itr = identifiers.iterator();
259
260
@@ -486,12 +486,12 @@
268
- 269 24 while (itr.hasNext()) {
- 270 9 final Identifier i = itr.next();
+ 269 13 while (itr.hasNext()) {
+ 270 7 final Identifier i = itr.next();
271
- 272 9 if ("cpe" .equals(i.getType())) {
- 273 9 if ((i.getValue().matches(".*c\\+\\+.*" )
+ 272 7 if ("cpe" .equals(i.getType())) {
+ 273 7 if ((i.getValue().matches(".*c\\+\\+.*" )
274
|| i.getValue().startsWith("cpe:/a:jquery:jquery" )
275
@@ -501,7 +501,7 @@
277
&& dependency.getFileName().toLowerCase().endsWith(".jar" )) {
278 0 itr.remove();
- 279 9 } else if (i.getValue().startsWith("cpe:/a:file:file" )
+ 279 7 } else if (i.getValue().startsWith("cpe:/a:file:file" )
280
|| i.getValue().startsWith("cpe:/a:mozilla:mozilla" )
281
@@ -511,8 +511,8 @@
}
284
}
- 285 9 }
- 286 15 }
+ 285 7 }
+ 286 6 }
287
288
@@ -533,10 +533,10 @@
296
private void addFalseNegativeCPEs(Dependency dependency) {
- 297 15 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
- 298 24 while (itr.hasNext()) {
- 299 9 final Identifier i = itr.next();
- 300 9 if ("cpe" .equals(i.getType()) && i.getValue() != null
+ 297 6 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
+ 298 13 while (itr.hasNext()) {
+ 299 7 final Identifier i = itr.next();
+ 300 7 if ("cpe" .equals(i.getType()) && i.getValue() != null
301
&& (i.getValue().startsWith("cpe:/a:oracle:opensso:" )
302
@@ -578,12 +578,12 @@
325 0 }
326
}
- 327 9 }
- 328 15 }
+ 327 7 }
+ 328 6 }
329
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
index 81bc7b703..e6e92a0d3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
@@ -85,7 +85,7 @@
34
- 35 42 public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 35 15 public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
36
37
@@ -104,14 +104,14 @@
44
- 45 3 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 45 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
46
47
48
- 49 3 private static final Set<String> EXTENSIONS = null ;
+ 49 1 private static final Set<String> EXTENSIONS = null ;
50
51
@@ -126,7 +126,7 @@
56
public Set<String> getSupportedExtensions() {
- 57 17292 return EXTENSIONS;
+ 57 129 return EXTENSIONS;
58
}
59
@@ -143,7 +143,7 @@
65
public String getName() {
- 66 3 return ANALYZER_NAME;
+ 66 1 return ANALYZER_NAME;
67
}
68
@@ -164,7 +164,7 @@
76
public boolean supportsExtension(String extension) {
- 77 3 return true ;
+ 77 1 return true ;
78
}
79
@@ -181,7 +181,7 @@
85
public AnalysisPhase getAnalysisPhase() {
- 86 6 return ANALYSIS_PHASE;
+ 86 3 return ANALYSIS_PHASE;
87
}
88
@@ -212,27 +212,27 @@
101
- 102 24 final File f = new File(dependency.getFileName());
- 103 24 String fileName = f.getName();
+ 102 9 final File f = new File(dependency.getFileName());
+ 103 9 String fileName = f.getName();
104
105
- 106 24 final int pos = fileName.lastIndexOf("." );
- 107 24 if (pos > 0) {
- 108 24 fileName = fileName.substring(0, pos);
+ 106 9 final int pos = fileName.lastIndexOf("." );
+ 107 9 if (pos > 0) {
+ 108 9 fileName = fileName.substring(0, pos);
109
}
110
111
- 112 24 final DependencyVersion version = DependencyVersionUtil.parseVersion(fileName);
- 113 24 if (version != null ) {
- 114 21 dependency.getVersionEvidence().addEvidence("file" , "name" ,
+ 112 9 final DependencyVersion version = DependencyVersionUtil.parseVersion(fileName);
+ 113 9 if (version != null ) {
+ 114 8 dependency.getVersionEvidence().addEvidence("file" , "name" ,
115
version.toString(), Evidence.Confidence.HIGHEST);
- 116 21 dependency.getVersionEvidence().addEvidence("file" , "name" ,
+ 116 8 dependency.getVersionEvidence().addEvidence("file" , "name" ,
117
fileName, Evidence.Confidence.MEDIUM);
118
@@ -241,28 +241,28 @@
120
- 121 24 if (fileName.contains("-" )) {
- 122 21 dependency.getProductEvidence().addEvidence("file" , "name" ,
+ 121 9 if (fileName.contains("-" )) {
+ 122 8 dependency.getProductEvidence().addEvidence("file" , "name" ,
123
fileName, Evidence.Confidence.HIGHEST);
- 124 21 dependency.getVendorEvidence().addEvidence("file" , "name" ,
+ 124 8 dependency.getVendorEvidence().addEvidence("file" , "name" ,
125
fileName, Evidence.Confidence.HIGHEST);
126
} else {
- 127 3 dependency.getProductEvidence().addEvidence("file" , "name" ,
+ 127 1 dependency.getProductEvidence().addEvidence("file" , "name" ,
128
fileName, Evidence.Confidence.HIGH);
- 129 3 dependency.getVendorEvidence().addEvidence("file" , "name" ,
+ 129 1 dependency.getVendorEvidence().addEvidence("file" , "name" ,
130
fileName, Evidence.Confidence.HIGH);
131
}
- 132 24 }
+ 132 9 }
133
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
index b64563170..14a63e883 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
@@ -79,7 +79,7 @@
31
- 32 18 public class HintAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 32 7 public class HintAnalyzer extends AbstractAnalyzer implements Analyzer {
33
34
@@ -98,14 +98,14 @@
41
- 42 3 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
+ 42 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
43
44
45
- 46 3 private static final Set<String> EXTENSIONS = null ;
+ 46 1 private static final Set<String> EXTENSIONS = null ;
47
48
@@ -120,7 +120,7 @@
53
public Set<String> getSupportedExtensions() {
- 54 17289 return EXTENSIONS;
+ 54 128 return EXTENSIONS;
55
}
56
@@ -175,7 +175,7 @@
82
public AnalysisPhase getAnalysisPhase() {
- 83 3 return ANALYSIS_PHASE;
+ 83 2 return ANALYSIS_PHASE;
84
}
85
@@ -204,7 +204,7 @@
@Override
97
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 98 15 final Evidence springTest1 = new Evidence("Manifest" ,
+ 98 6 final Evidence springTest1 = new Evidence("Manifest" ,
99
"Implementation-Title" ,
100
@@ -213,7 +213,7 @@
Evidence.Confidence.HIGH);
102
- 103 15 final Evidence springTest2 = new Evidence("Manifest" ,
+ 103 6 final Evidence springTest2 = new Evidence("Manifest" ,
104
"Implementation-Title" ,
105
@@ -222,7 +222,7 @@
Evidence.Confidence.HIGH);
107
- 108 15 final Evidence springTest3 = new Evidence("Manifest" ,
+ 108 6 final Evidence springTest3 = new Evidence("Manifest" ,
109
"Bundle-Vendor" ,
110
@@ -233,47 +233,47 @@
113
- 114 15 Set<Evidence> evidence = dependency.getProductEvidence().getEvidence();
- 115 15 if (evidence.contains(springTest1) || evidence.contains(springTest2)) {
- 116 6 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Evidence.Confidence.HIGH);
- 117 6 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "SpringSource" , Evidence.Confidence.HIGH);
- 118 6 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Evidence.Confidence.HIGH);
+ 114 6 Set<Evidence> evidence = dependency.getProductEvidence().getEvidence();
+ 115 6 if (evidence.contains(springTest1) || evidence.contains(springTest2)) {
+ 116 2 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Evidence.Confidence.HIGH);
+ 117 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "SpringSource" , Evidence.Confidence.HIGH);
+ 118 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Evidence.Confidence.HIGH);
119
}
120
- 121 15 evidence = dependency.getVendorEvidence().getEvidence();
- 122 15 if (evidence.contains(springTest3)) {
- 123 6 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Evidence.Confidence.HIGH);
- 124 6 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Evidence.Confidence.HIGH);
+ 121 6 evidence = dependency.getVendorEvidence().getEvidence();
+ 122 6 if (evidence.contains(springTest3)) {
+ 123 2 dependency.getProductEvidence().addEvidence("hint analyzer" , "product" , "springsource_spring_framework" , Evidence.Confidence.HIGH);
+ 124 2 dependency.getVendorEvidence().addEvidence("hint analyzer" , "vendor" , "vmware" , Evidence.Confidence.HIGH);
125
}
- 126 15 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
- 127 15 final ArrayList<Evidence> newEntries = new ArrayList<Evidence>();
- 128 162 while (itr.hasNext()) {
- 129 147 final Evidence e = itr.next();
- 130 147 if ("sun" .equalsIgnoreCase(e.getValue(false ))) {
- 131 6 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)" , e.getName(), "oracle" , e.getConfidence());
- 132 6 newEntries.add(newEvidence);
- 133 6 } else if ("oracle" .equalsIgnoreCase(e.getValue(false ))) {
+ 126 6 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
+ 127 6 final ArrayList<Evidence> newEntries = new ArrayList<Evidence>();
+ 128 65 while (itr.hasNext()) {
+ 129 59 final Evidence e = itr.next();
+ 130 59 if ("sun" .equalsIgnoreCase(e.getValue(false ))) {
+ 131 2 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)" , e.getName(), "oracle" , e.getConfidence());
+ 132 2 newEntries.add(newEvidence);
+ 133 2 } else if ("oracle" .equalsIgnoreCase(e.getValue(false ))) {
134 0 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)" , e.getName(), "sun" , e.getConfidence());
135 0 newEntries.add(newEvidence);
136
}
- 137 147 }
- 138 15 for (Evidence e : newEntries) {
- 139 6 dependency.getVendorEvidence().addEvidence(e);
+ 137 59 }
+ 138 6 for (Evidence e : newEntries) {
+ 139 2 dependency.getVendorEvidence().addEvidence(e);
140
}
141
142
- 143 15 }
+ 143 6 }
144
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
index 9f51af159..beffa3d0f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
@@ -12,7 +12,7 @@
@@ -172,7 +172,7 @@
77
- 78 3 private static final String NEWLINE = System.getProperty("line.separator" );
+ 78 1 private static final String NEWLINE = System.getProperty("line.separator" );
79
80
@@ -181,7 +181,7 @@
82
- 83 3 private static final Set<String> IGNORE_VALUES = newHashSet(
+ 83 1 private static final Set<String> IGNORE_VALUES = newHashSet(
84
"Sun Java System Application Server" );
85
@@ -190,7 +190,7 @@
87
- 88 3 private static final Set<String> IGNORE_KEYS = newHashSet(
+ 88 1 private static final Set<String> IGNORE_KEYS = newHashSet(
89
"built-by" ,
90
@@ -275,7 +275,7 @@
130
- 131 3 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>" , Pattern.CASE_INSENSITIVE);
+ 131 1 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>" , Pattern.CASE_INSENSITIVE);
132
133
@@ -294,16 +294,16 @@
140
- 141 36 public JarAnalyzer() {
+ 141 13 public JarAnalyzer() {
142
try {
- 143 36 final JAXBContext jaxbContext = JAXBContext.newInstance("org.owasp.dependencycheck.jaxb.pom.generated" );
- 144 36 pomUnmarshaller = jaxbContext.createUnmarshaller();
+ 143 13 final JAXBContext jaxbContext = JAXBContext.newInstance("org.owasp.dependencycheck.jaxb.pom.generated" );
+ 144 13 pomUnmarshaller = jaxbContext.createUnmarshaller();
145 0 } catch (JAXBException ex) {
146 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.SEVERE, "Unable to load parser. See the log for more details." );
147 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, null , ex);
- 148 36 }
- 149 36 }
+ 148 13 }
+ 149 13 }
150
151
@@ -320,14 +320,14 @@
157
- 158 3 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 158 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
159
160
161
- 162 3 private static final Set<String> EXTENSIONS = newHashSet("jar" );
+ 162 1 private static final Set<String> EXTENSIONS = newHashSet("jar" , "war" );
163
164
@@ -342,7 +342,7 @@
169
public Set<String> getSupportedExtensions() {
- 170 17472 return EXTENSIONS;
+ 170 135 return EXTENSIONS;
171
}
172
@@ -359,7 +359,7 @@
178
public String getName() {
- 179 3 return ANALYZER_NAME;
+ 179 1 return ANALYZER_NAME;
180
}
181
@@ -380,7 +380,7 @@
189
public boolean supportsExtension(String extension) {
- 190 17463 return EXTENSIONS.contains(extension);
+ 190 130 return EXTENSIONS.contains(extension);
191
}
192
@@ -397,7 +397,7 @@
198
public AnalysisPhase getAnalysisPhase() {
- 199 3 return ANALYSIS_PHASE;
+ 199 2 return ANALYSIS_PHASE;
200
}
201
@@ -428,9 +428,9 @@
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
214
try {
- 215 36 final ArrayList<ClassNameInformation> classNames = collectClassNames(dependency);
- 216 36 final String fileName = dependency.getFileName().toLowerCase();
- 217 36 if (classNames.isEmpty()
+ 215 13 final ArrayList<ClassNameInformation> classNames = collectClassNames(dependency);
+ 216 13 final String fileName = dependency.getFileName().toLowerCase();
+ 217 13 if (classNames.isEmpty()
218
&& (fileName.endsWith("-sources.jar" )
219
@@ -442,14 +442,14 @@
222 0 engine.getDependencies().remove(dependency);
223
}
- 224 36 final boolean hasManifest = parseManifest(dependency, classNames);
- 225 36 final boolean hasPOM = analyzePOM(dependency, classNames);
- 226 36 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
- 227 36 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
+ 224 13 final boolean hasManifest = parseManifest(dependency, classNames);
+ 225 13 final boolean hasPOM = analyzePOM(dependency, classNames);
+ 226 13 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
+ 227 13 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
228 0 } catch (IOException ex) {
229 0 throw new AnalysisException("Exception occurred reading the JAR file." , ex);
- 230 36 }
- 231 36 }
+ 230 13 }
+ 231 13 }
232
233
@@ -476,12 +476,12 @@
244
protected boolean analyzePOM(Dependency dependency, ArrayList<ClassNameInformation> classes) throws AnalysisException {
- 245 36 boolean foundSomething = false ;
+ 245 13 boolean foundSomething = false ;
246
final JarFile jar;
247
try {
- 248 36 jar = new JarFile(dependency.getActualFilePath());
+ 248 13 jar = new JarFile(dependency.getActualFilePath());
249 0 } catch (IOException ex) {
250 0 final String msg = String.format("Unable to read JarFile '%s'." , dependency.getActualFilePath());
251 0 final AnalysisException ax = new AnalysisException(msg, ex);
@@ -489,12 +489,12 @@
253 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.WARNING, msg);
254 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, null , ex);
255 0 return false ;
- 256 36 }
+ 256 13 }
257
List<String> pomEntries;
258
try {
- 259 36 pomEntries = retrievePomListing(jar);
+ 259 13 pomEntries = retrievePomListing(jar);
260 0 } catch (IOException ex) {
261 0 final String msg = String.format("Unable to read Jar file entries in '%s'." , dependency.getActualFilePath());
262 0 final AnalysisException ax = new AnalysisException(msg, ex);
@@ -502,27 +502,27 @@
264 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.WARNING, msg);
265 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.INFO, msg, ex);
266 0 return false ;
- 267 36 }
- 268 36 if (pomEntries.isEmpty()) {
- 269 24 return false ;
+ 267 13 }
+ 268 13 if (pomEntries.isEmpty()) {
+ 269 8 return false ;
270
}
- 271 12 if (pomEntries.size() > 1) {
+ 271 5 if (pomEntries.size() > 1) {
272 0 pomEntries = filterPomEntries(pomEntries, classes);
273
}
- 274 12 for (String path : pomEntries) {
- 275 12 Properties pomProperties = null ;
+ 274 5 for (String path : pomEntries) {
+ 275 5 Properties pomProperties = null ;
276
try {
- 277 12 pomProperties = retrievePomProperties(path, jar);
+ 277 5 pomProperties = retrievePomProperties(path, jar);
278 0 } catch (IOException ex) {
279 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINEST, "ignore this, failed reading a non-existent pom.properties" , ex);
- 280 12 }
- 281 12 Model pom = null ;
+ 280 5 }
+ 281 5 Model pom = null ;
282
try {
- 283 12 pom = retrievePom(path, jar);
+ 283 5 pom = retrievePom(path, jar);
284 0 } catch (JAXBException ex) {
285 0 final String msg = String.format("Unable to parse POM '%s' in '%s'" ,
286
@@ -535,10 +535,10 @@
292
path, dependency.getFilePath());
293 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, msg, ex);
- 294 12 }
- 295 12 foundSomething = setPomEvidence(dependency, pom, pomProperties, classes) || foundSomething;
- 296 12 }
- 297 12 return foundSomething;
+ 294 5 }
+ 295 5 foundSomething = setPomEvidence(dependency, pom, pomProperties, classes) || foundSomething;
+ 296 5 }
+ 297 5 return foundSomething;
298
}
299
@@ -569,16 +569,16 @@
justification = "The reader is closed by closing the zipEntry" )
312
private Properties retrievePomProperties(String path, final JarFile jar) throws IOException {
- 313 12 Properties pomProperties = null ;
- 314 12 final String propPath = path.substring(0, path.length() - 7) + "pom.properies" ;
- 315 12 final ZipEntry propEntry = jar.getEntry(propPath);
- 316 12 if (propEntry != null ) {
+ 313 5 Properties pomProperties = null ;
+ 314 5 final String propPath = path.substring(0, path.length() - 7) + "pom.properies" ;
+ 315 5 final ZipEntry propEntry = jar.getEntry(propPath);
+ 316 5 if (propEntry != null ) {
317 0 final Reader reader = new InputStreamReader(jar.getInputStream(propEntry), "UTF-8" );
318 0 pomProperties = new Properties();
319 0 pomProperties.load(reader);
320
}
- 321 12 return pomProperties;
+ 321 5 return pomProperties;
322
}
323
@@ -601,17 +601,17 @@
332
private List<String> retrievePomListing(final JarFile jar) throws IOException {
- 333 36 final List<String> pomEntries = new ArrayList<String>();
- 334 36 final Enumeration<JarEntry> entries = jar.entries();
- 335 12552 while (entries.hasMoreElements()) {
- 336 12516 final JarEntry entry = entries.nextElement();
- 337 12516 final String entryName = (new File(entry.getName())).getName().toLowerCase();
- 338 12516 if (!entry.isDirectory() && "pom.xml" .equals(entryName)) {
- 339 12 pomEntries.add(entry.getName());
+ 333 13 final List<String> pomEntries = new ArrayList<String>();
+ 334 13 final Enumeration<JarEntry> entries = jar.entries();
+ 335 5523 while (entries.hasMoreElements()) {
+ 336 5510 final JarEntry entry = entries.nextElement();
+ 337 5510 final String entryName = (new File(entry.getName())).getName().toLowerCase();
+ 338 5510 if (!entry.isDirectory() && "pom.xml" .equals(entryName)) {
+ 339 5 pomEntries.add(entry.getName());
340
}
- 341 12516 }
- 342 36 return pomEntries;
+ 341 5510 }
+ 342 13 return pomEntries;
343
}
344
@@ -638,30 +638,30 @@
355
private Model retrievePom(String path, JarFile jar) throws JAXBException, IOException {
- 356 12 final ZipEntry entry = jar.getEntry(path);
- 357 12 if (entry != null ) {
- 358 12 Model m = null ;
+ 356 5 final ZipEntry entry = jar.getEntry(path);
+ 357 5 if (entry != null ) {
+ 358 5 Model m = null ;
359
try {
- 360 12 final XMLFilter filter = new MavenNamespaceFilter();
- 361 12 final SAXParserFactory spf = SAXParserFactory.newInstance();
- 362 12 final SAXParser sp = spf.newSAXParser();
- 363 12 final XMLReader xr = sp.getXMLReader();
- 364 12 filter.setParent(xr);
- 365 12 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
- 366 12 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8" );
- 367 12 final InputSource xml = new InputSource(reader);
- 368 12 final SAXSource source = new SAXSource(filter, xml);
- 369 12 final JAXBElement<Model> el = pomUnmarshaller.unmarshal(source, Model.class );
- 370 12 m = el.getValue();
+ 360 5 final XMLFilter filter = new MavenNamespaceFilter();
+ 361 5 final SAXParserFactory spf = SAXParserFactory.newInstance();
+ 362 5 final SAXParser sp = spf.newSAXParser();
+ 363 5 final XMLReader xr = sp.getXMLReader();
+ 364 5 filter.setParent(xr);
+ 365 5 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
+ 366 5 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8" );
+ 367 5 final InputSource xml = new InputSource(reader);
+ 368 5 final SAXSource source = new SAXSource(filter, xml);
+ 369 5 final JAXBElement<Model> el = pomUnmarshaller.unmarshal(source, Model.class );
+ 370 5 m = el.getValue();
371 0 } catch (ParserConfigurationException ex) {
372 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'" , path, jar.getName());
373 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, msg, ex);
374 0 } catch (SAXException ex) {
375 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'" , path, jar.getName());
376 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, msg, ex);
- 377 12 }
- 378 12 return m;
+ 377 5 }
+ 378 5 return m;
379
}
380 0 return null ;
@@ -693,49 +693,49 @@
394
private boolean setPomEvidence(Dependency dependency, Model pom, Properties pomProperties, ArrayList<ClassNameInformation> classes) {
- 395 12 boolean foundSomething = false ;
- 396 12 if (pom == null ) {
+ 395 5 boolean foundSomething = false ;
+ 396 5 if (pom == null ) {
397 0 return foundSomething;
398
}
- 399 12 String groupid = interpolateString(pom.getGroupId(), pomProperties);
- 400 12 if (groupid != null && !groupid.isEmpty()) {
- 401 9 if (groupid.startsWith("org." ) || groupid.startsWith("com." )) {
- 402 6 groupid = groupid.substring(4);
+ 399 5 String groupid = interpolateString(pom.getGroupId(), pomProperties);
+ 400 5 if (groupid != null && !groupid.isEmpty()) {
+ 401 3 if (groupid.startsWith("org." ) || groupid.startsWith("com." )) {
+ 402 2 groupid = groupid.substring(4);
403
}
- 404 9 foundSomething = true ;
- 405 9 dependency.getVendorEvidence().addEvidence("pom" , "groupid" , groupid, Evidence.Confidence.HIGH);
- 406 9 dependency.getProductEvidence().addEvidence("pom" , "groupid" , groupid, Evidence.Confidence.LOW);
- 407 9 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
- 408 9 addMatchingValues(classes, groupid, dependency.getProductEvidence());
+ 404 3 foundSomething = true ;
+ 405 3 dependency.getVendorEvidence().addEvidence("pom" , "groupid" , groupid, Evidence.Confidence.HIGH);
+ 406 3 dependency.getProductEvidence().addEvidence("pom" , "groupid" , groupid, Evidence.Confidence.LOW);
+ 407 3 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
+ 408 3 addMatchingValues(classes, groupid, dependency.getProductEvidence());
409
}
- 410 12 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
- 411 12 if (artifactid != null && !artifactid.isEmpty()) {
- 412 12 if (artifactid.startsWith("org." ) || artifactid.startsWith("com." )) {
+ 410 5 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
+ 411 5 if (artifactid != null && !artifactid.isEmpty()) {
+ 412 5 if (artifactid.startsWith("org." ) || artifactid.startsWith("com." )) {
413 0 artifactid = artifactid.substring(4);
414
}
- 415 12 foundSomething = true ;
- 416 12 dependency.getProductEvidence().addEvidence("pom" , "artifactid" , artifactid, Evidence.Confidence.HIGH);
- 417 12 dependency.getVendorEvidence().addEvidence("pom" , "artifactid" , artifactid, Evidence.Confidence.LOW);
- 418 12 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
- 419 12 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
+ 415 5 foundSomething = true ;
+ 416 5 dependency.getProductEvidence().addEvidence("pom" , "artifactid" , artifactid, Evidence.Confidence.HIGH);
+ 417 5 dependency.getVendorEvidence().addEvidence("pom" , "artifactid" , artifactid, Evidence.Confidence.LOW);
+ 418 5 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
+ 419 5 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
420
}
421
- 422 12 final String version = interpolateString(pom.getVersion(), pomProperties);
- 423 12 if (version != null && !version.isEmpty()) {
- 424 6 foundSomething = true ;
- 425 6 dependency.getVersionEvidence().addEvidence("pom" , "version" , version, Evidence.Confidence.HIGHEST);
+ 422 5 final String version = interpolateString(pom.getVersion(), pomProperties);
+ 423 5 if (version != null && !version.isEmpty()) {
+ 424 2 foundSomething = true ;
+ 425 2 dependency.getVersionEvidence().addEvidence("pom" , "version" , version, Evidence.Confidence.HIGHEST);
426
}
427
- 428 12 final Organization org = pom.getOrganization();
- 429 12 if (org != null && org.getName() != null ) {
+ 428 5 final Organization org = pom.getOrganization();
+ 429 5 if (org != null && org.getName() != null ) {
430 0 foundSomething = true ;
431 0 final String orgName = interpolateString(org.getName(), pomProperties);
432 0 if (orgName != null && !orgName.isEmpty()) {
@@ -747,26 +747,26 @@
}
437
- 438 12 final String pomName = interpolateString(pom.getName(), pomProperties);
- 439 12 if (pomName != null && !pomName.isEmpty()) {
- 440 12 foundSomething = true ;
- 441 12 dependency.getProductEvidence().addEvidence("pom" , "name" , pomName, Evidence.Confidence.HIGH);
- 442 12 dependency.getVendorEvidence().addEvidence("pom" , "name" , pomName, Evidence.Confidence.HIGH);
- 443 12 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
- 444 12 addMatchingValues(classes, pomName, dependency.getProductEvidence());
+ 438 5 final String pomName = interpolateString(pom.getName(), pomProperties);
+ 439 5 if (pomName != null && !pomName.isEmpty()) {
+ 440 5 foundSomething = true ;
+ 441 5 dependency.getProductEvidence().addEvidence("pom" , "name" , pomName, Evidence.Confidence.HIGH);
+ 442 5 dependency.getVendorEvidence().addEvidence("pom" , "name" , pomName, Evidence.Confidence.HIGH);
+ 443 5 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
+ 444 5 addMatchingValues(classes, pomName, dependency.getProductEvidence());
445
}
446
447
- 448 12 if (pom.getDescription() != null ) {
- 449 6 foundSomething = true ;
- 450 6 final String description = interpolateString(pom.getDescription(), pomProperties);
- 451 6 if (description != null && !description.isEmpty()) {
- 452 6 addDescription(dependency, description, "pom" , "description" );
- 453 6 addMatchingValues(classes, description, dependency.getVendorEvidence());
- 454 6 addMatchingValues(classes, description, dependency.getProductEvidence());
+ 448 5 if (pom.getDescription() != null ) {
+ 449 2 foundSomething = true ;
+ 450 2 final String description = interpolateString(pom.getDescription(), pomProperties);
+ 451 2 if (description != null && !description.isEmpty()) {
+ 452 2 addDescription(dependency, description, "pom" , "description" );
+ 453 2 addMatchingValues(classes, description, dependency.getVendorEvidence());
+ 454 2 addMatchingValues(classes, description, dependency.getProductEvidence());
455
}
456
@@ -775,47 +775,47 @@
458
- 459 12 if (pom.getLicenses() != null ) {
- 460 3 String license = null ;
- 461 3 for (License lic : pom.getLicenses().getLicense()) {
- 462 3 String tmp = null ;
- 463 3 if (lic.getName() != null ) {
- 464 3 tmp = interpolateString(lic.getName(), pomProperties);
+ 459 5 if (pom.getLicenses() != null ) {
+ 460 1 String license = null ;
+ 461 1 for (License lic : pom.getLicenses().getLicense()) {
+ 462 1 String tmp = null ;
+ 463 1 if (lic.getName() != null ) {
+ 464 1 tmp = interpolateString(lic.getName(), pomProperties);
465
}
- 466 3 if (lic.getUrl() != null ) {
- 467 3 if (tmp == null ) {
+ 466 1 if (lic.getUrl() != null ) {
+ 467 1 if (tmp == null ) {
468 0 tmp = interpolateString(lic.getUrl(), pomProperties);
469
} else {
- 470 3 tmp += ": " + interpolateString(lic.getUrl(), pomProperties);
+ 470 1 tmp += ": " + interpolateString(lic.getUrl(), pomProperties);
471
}
472
}
- 473 3 if (tmp == null ) {
+ 473 1 if (tmp == null ) {
474 0 continue ;
475
}
- 476 3 if (HTML_DETECTION_PATTERN.matcher(tmp).find()) {
+ 476 1 if (HTML_DETECTION_PATTERN.matcher(tmp).find()) {
477 0 tmp = Jsoup.parse(tmp).text();
478
}
- 479 3 if (license == null ) {
- 480 3 license = tmp;
+ 479 1 if (license == null ) {
+ 480 1 license = tmp;
481
} else {
482 0 license += "\n" + tmp;
483
}
- 484 3 }
- 485 3 if (license != null ) {
- 486 3 dependency.setLicense(license);
+ 484 1 }
+ 485 1 if (license != null ) {
+ 486 1 dependency.setLicense(license);
487
}
488
}
- 489 12 return foundSomething;
+ 489 5 return foundSomething;
490
}
491
@@ -846,41 +846,41 @@
protected void analyzePackageNames(ArrayList<ClassNameInformation> classNames,
504
Dependency dependency, boolean addPackagesAsEvidence) {
- 505 36 final HashMap<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
- 506 36 final HashMap<String, Integer> productIdentifiers = new HashMap<String, Integer>();
- 507 36 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
+ 505 13 final HashMap<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
+ 506 13 final HashMap<String, Integer> productIdentifiers = new HashMap<String, Integer>();
+ 507 13 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
508
- 509 36 final int classCount = classNames.size();
- 510 36 final EvidenceCollection vendor = dependency.getVendorEvidence();
- 511 36 final EvidenceCollection product = dependency.getProductEvidence();
+ 509 13 final int classCount = classNames.size();
+ 510 13 final EvidenceCollection vendor = dependency.getVendorEvidence();
+ 511 13 final EvidenceCollection product = dependency.getProductEvidence();
512
- 513 36 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
- 514 333 final float ratio = entry.getValue() / (float ) classCount;
- 515 333 if (ratio > 0.5) {
+ 513 13 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
+ 514 134 final float ratio = entry.getValue() / (float ) classCount;
+ 515 134 if (ratio > 0.5) {
516
- 517 72 vendor.addWeighting(entry.getKey());
- 518 72 if (addPackagesAsEvidence) {
- 519 51 vendor.addEvidence("jar" , "package" , entry.getKey(), Evidence.Confidence.LOW);
+ 517 26 vendor.addWeighting(entry.getKey());
+ 518 26 if (addPackagesAsEvidence) {
+ 519 17 vendor.addEvidence("jar" , "package" , entry.getKey(), Evidence.Confidence.LOW);
520
}
521
}
- 522 333 }
- 523 36 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
- 524 5133 final float ratio = entry.getValue() / (float ) classCount;
- 525 5133 if (ratio > 0.5) {
- 526 42 product.addWeighting(entry.getKey());
- 527 42 if (addPackagesAsEvidence) {
- 528 27 product.addEvidence("jar" , "package" , entry.getKey(), Evidence.Confidence.LOW);
+ 522 134 }
+ 523 13 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
+ 524 2990 final float ratio = entry.getValue() / (float ) classCount;
+ 525 2990 if (ratio > 0.5) {
+ 526 15 product.addWeighting(entry.getKey());
+ 527 15 if (addPackagesAsEvidence) {
+ 528 9 product.addEvidence("jar" , "package" , entry.getKey(), Evidence.Confidence.LOW);
529
}
530
}
- 531 5133 }
- 532 36 }
+ 531 2990 }
+ 532 13 }
533
534
@@ -913,15 +913,15 @@
548
protected boolean parseManifest(Dependency dependency, ArrayList<ClassNameInformation> classInformation) throws IOException {
- 549 36 boolean foundSomething = false ;
- 550 36 JarFile jar = null ;
+ 549 13 boolean foundSomething = false ;
+ 550 13 JarFile jar = null ;
551
try {
- 552 36 jar = new JarFile(dependency.getActualFilePath());
+ 552 13 jar = new JarFile(dependency.getActualFilePath());
553
- 554 36 final Manifest manifest = jar.getManifest();
- 555 36 if (manifest == null ) {
+ 554 13 final Manifest manifest = jar.getManifest();
+ 555 13 if (manifest == null ) {
556
557 0 if (!dependency.getFileName().toLowerCase().endsWith("-sources.jar" )
@@ -941,60 +941,60 @@
565 0 return false ;
566
}
- 567 36 final Attributes atts = manifest.getMainAttributes();
+ 567 13 final Attributes atts = manifest.getMainAttributes();
568
- 569 36 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
- 570 36 final EvidenceCollection productEvidence = dependency.getProductEvidence();
- 571 36 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
+ 569 13 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
+ 570 13 final EvidenceCollection productEvidence = dependency.getProductEvidence();
+ 571 13 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
572
- 573 36 final String source = "Manifest" ;
+ 573 13 final String source = "Manifest" ;
574
- 575 36 for (Entry<Object, Object> entry : atts.entrySet()) {
- 576 504 String key = entry.getKey().toString();
- 577 504 String value = atts.getValue(key);
- 578 504 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
+ 575 13 for (Entry<Object, Object> entry : atts.entrySet()) {
+ 576 194 String key = entry.getKey().toString();
+ 577 194 String value = atts.getValue(key);
+ 578 194 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
579 0 value = Jsoup.parse(value).text();
580
}
- 581 504 if (IGNORE_VALUES.contains(value)) {
+ 581 194 if (IGNORE_VALUES.contains(value)) {
582 0 continue ;
- 583 504 } else if (key.equals(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
- 584 18 foundSomething = true ;
- 585 18 productEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
- 586 18 addMatchingValues(classInformation, value, productEvidence);
- 587 486 } else if (key.equals(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
- 588 24 foundSomething = true ;
- 589 24 versionEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
- 590 462 } else if (key.equals(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
- 591 12 foundSomething = true ;
- 592 12 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
- 593 12 addMatchingValues(classInformation, value, vendorEvidence);
- 594 450 } else if (key.equals(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
- 595 6 foundSomething = true ;
- 596 6 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
- 597 6 addMatchingValues(classInformation, value, vendorEvidence);
- 598 444 } else if (key.equals(BUNDLE_DESCRIPTION)) {
- 599 15 foundSomething = true ;
- 600 15 addDescription(dependency, value, "manifest" , key);
+ 583 194 } else if (key.equals(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
+ 584 7 foundSomething = true ;
+ 585 7 productEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
+ 586 7 addMatchingValues(classInformation, value, productEvidence);
+ 587 187 } else if (key.equals(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
+ 588 9 foundSomething = true ;
+ 589 9 versionEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
+ 590 178 } else if (key.equals(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
+ 591 5 foundSomething = true ;
+ 592 5 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
+ 593 5 addMatchingValues(classInformation, value, vendorEvidence);
+ 594 173 } else if (key.equals(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
+ 595 3 foundSomething = true ;
+ 596 3 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
+ 597 3 addMatchingValues(classInformation, value, vendorEvidence);
+ 598 170 } else if (key.equals(BUNDLE_DESCRIPTION)) {
+ 599 6 foundSomething = true ;
+ 600 6 addDescription(dependency, value, "manifest" , key);
601
- 602 15 addMatchingValues(classInformation, value, productEvidence);
- 603 429 } else if (key.equals(BUNDLE_NAME)) {
- 604 21 foundSomething = true ;
- 605 21 productEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
- 606 21 addMatchingValues(classInformation, value, productEvidence);
- 607 408 } else if (key.equals(BUNDLE_VENDOR)) {
- 608 15 foundSomething = true ;
- 609 15 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
- 610 15 addMatchingValues(classInformation, value, vendorEvidence);
- 611 393 } else if (key.equals(BUNDLE_VERSION)) {
- 612 21 foundSomething = true ;
- 613 21 versionEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
- 614 372 } else if (key.equals(Attributes.Name.MAIN_CLASS.toString())) {
- 615 9 continue ;
+ 602 6 addMatchingValues(classInformation, value, productEvidence);
+ 603 164 } else if (key.equals(BUNDLE_NAME)) {
+ 604 8 foundSomething = true ;
+ 605 8 productEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
+ 606 8 addMatchingValues(classInformation, value, productEvidence);
+ 607 156 } else if (key.equals(BUNDLE_VENDOR)) {
+ 608 6 foundSomething = true ;
+ 609 6 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
+ 610 6 addMatchingValues(classInformation, value, vendorEvidence);
+ 611 150 } else if (key.equals(BUNDLE_VERSION)) {
+ 612 8 foundSomething = true ;
+ 613 8 versionEvidence.addEvidence(source, key, value, Evidence.Confidence.HIGH);
+ 614 142 } else if (key.equals(Attributes.Name.MAIN_CLASS.toString())) {
+ 615 4 continue ;
616
617
@@ -1013,10 +1013,10 @@
624
} else {
- 625 363 key = key.toLowerCase();
+ 625 138 key = key.toLowerCase();
626
- 627 363 if (!IGNORE_KEYS.contains(key)
+ 627 138 if (!IGNORE_KEYS.contains(key)
628
&& !key.endsWith("jdk" )
629
@@ -1037,41 +1037,41 @@
&& !isPackage(key, value)) {
637
- 638 108 foundSomething = true ;
- 639 108 if (key.contains("version" )) {
- 640 18 versionEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
- 641 90 } else if (key.contains("title" )) {
- 642 12 productEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
- 643 12 addMatchingValues(classInformation, value, productEvidence);
- 644 78 } else if (key.contains("vendor" )) {
- 645 6 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
- 646 6 addMatchingValues(classInformation, value, vendorEvidence);
- 647 72 } else if (key.contains("name" )) {
- 648 24 productEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
- 649 24 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
- 650 24 addMatchingValues(classInformation, value, vendorEvidence);
- 651 24 addMatchingValues(classInformation, value, productEvidence);
- 652 48 } else if (key.contains("license" )) {
- 653 9 addLicense(dependency, value);
+ 638 42 foundSomething = true ;
+ 639 42 if (key.contains("version" )) {
+ 640 7 versionEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
+ 641 35 } else if (key.contains("title" )) {
+ 642 5 productEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
+ 643 5 addMatchingValues(classInformation, value, productEvidence);
+ 644 30 } else if (key.contains("vendor" )) {
+ 645 3 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
+ 646 3 addMatchingValues(classInformation, value, vendorEvidence);
+ 647 27 } else if (key.contains("name" )) {
+ 648 9 productEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
+ 649 9 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.MEDIUM);
+ 650 9 addMatchingValues(classInformation, value, vendorEvidence);
+ 651 9 addMatchingValues(classInformation, value, productEvidence);
+ 652 18 } else if (key.contains("license" )) {
+ 653 4 addLicense(dependency, value);
654
} else {
- 655 39 if (key.contains("description" )) {
+ 655 14 if (key.contains("description" )) {
656 0 addDescription(dependency, value, "manifest" , key);
657
} else {
- 658 39 productEvidence.addEvidence(source, key, value, Evidence.Confidence.LOW);
- 659 39 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.LOW);
- 660 39 addMatchingValues(classInformation, value, vendorEvidence);
- 661 39 addMatchingValues(classInformation, value, productEvidence);
- 662 39 if (value.matches(".*\\d.*" )) {
- 663 18 final StringTokenizer tokenizer = new StringTokenizer(value, " " );
- 664 90 while (tokenizer.hasMoreElements()) {
- 665 72 final String s = tokenizer.nextToken();
- 666 72 if (s.matches("^[0-9.]+$" )) {
+ 658 14 productEvidence.addEvidence(source, key, value, Evidence.Confidence.LOW);
+ 659 14 vendorEvidence.addEvidence(source, key, value, Evidence.Confidence.LOW);
+ 660 14 addMatchingValues(classInformation, value, vendorEvidence);
+ 661 14 addMatchingValues(classInformation, value, productEvidence);
+ 662 14 if (value.matches(".*\\d.*" )) {
+ 663 6 final StringTokenizer tokenizer = new StringTokenizer(value, " " );
+ 664 30 while (tokenizer.hasMoreElements()) {
+ 665 24 final String s = tokenizer.nextToken();
+ 666 24 if (s.matches("^[0-9.]+$" )) {
667 0 versionEvidence.addEvidence(source, key, s, Evidence.Confidence.LOW);
668
}
- 669 72 }
+ 669 24 }
670
}
671
@@ -1082,16 +1082,16 @@
}
674
}
- 675 495 }
+ 675 190 }
676
} finally {
- 677 36 if (jar != null ) {
- 678 36 jar.close();
+ 677 13 if (jar != null ) {
+ 678 13 jar.close();
679
}
680
}
- 681 36 return foundSomething;
+ 681 13 return foundSomething;
682
}
683
@@ -1114,48 +1114,48 @@
692
private void addDescription(Dependency dependency, String description, String source, String key) {
- 693 21 if (dependency.getDescription() == null ) {
- 694 18 dependency.setDescription(description);
+ 693 8 if (dependency.getDescription() == null ) {
+ 694 7 dependency.setDescription(description);
695
}
696
String desc;
- 697 21 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
+ 697 8 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
698 0 desc = Jsoup.parse(description).text();
699
} else {
- 700 21 desc = description;
+ 700 8 desc = description;
701
}
- 702 21 dependency.setDescription(desc);
- 703 21 if (desc.length() > 100) {
- 704 6 final int posSuchAs = desc.toLowerCase().indexOf("such as " , 100);
- 705 6 final int posLike = desc.toLowerCase().indexOf("like " , 100);
- 706 6 int pos = -1;
- 707 6 if (posLike > 0 && posSuchAs > 0) {
+ 702 8 dependency.setDescription(desc);
+ 703 8 if (desc.length() > 100) {
+ 704 2 final int posSuchAs = desc.toLowerCase().indexOf("such as " , 100);
+ 705 2 final int posLike = desc.toLowerCase().indexOf("like " , 100);
+ 706 2 int pos = -1;
+ 707 2 if (posLike > 0 && posSuchAs > 0) {
708 0 pos = posLike > posSuchAs ? posLike : posSuchAs;
- 709 6 } else if (posLike > 0) {
- 710 6 pos = posLike;
+ 709 2 } else if (posLike > 0) {
+ 710 2 pos = posLike;
711 0 } else if (posSuchAs > 0) {
712 0 pos = posSuchAs;
713
}
- 714 6 String descToUse = desc;
- 715 6 if (pos > 0) {
- 716 6 final StringBuilder sb = new StringBuilder(pos + 3);
- 717 6 sb.append(desc.substring(0, pos));
- 718 6 sb.append("..." );
- 719 6 descToUse = sb.toString();
+ 714 2 String descToUse = desc;
+ 715 2 if (pos > 0) {
+ 716 2 final StringBuilder sb = new StringBuilder(pos + 3);
+ 717 2 sb.append(desc.substring(0, pos));
+ 718 2 sb.append("..." );
+ 719 2 descToUse = sb.toString();
720
}
- 721 6 dependency.getProductEvidence().addEvidence(source, key, descToUse, Evidence.Confidence.LOW);
- 722 6 dependency.getVendorEvidence().addEvidence(source, key, descToUse, Evidence.Confidence.LOW);
- 723 6 } else {
- 724 15 dependency.getProductEvidence().addEvidence(source, key, desc, Evidence.Confidence.MEDIUM);
- 725 15 dependency.getVendorEvidence().addEvidence(source, key, desc, Evidence.Confidence.MEDIUM);
+ 721 2 dependency.getProductEvidence().addEvidence(source, key, descToUse, Evidence.Confidence.LOW);
+ 722 2 dependency.getVendorEvidence().addEvidence(source, key, descToUse, Evidence.Confidence.LOW);
+ 723 2 } else {
+ 724 6 dependency.getProductEvidence().addEvidence(source, key, desc, Evidence.Confidence.MEDIUM);
+ 725 6 dependency.getVendorEvidence().addEvidence(source, key, desc, Evidence.Confidence.MEDIUM);
726
}
- 727 21 }
+ 727 8 }
728
729
@@ -1172,13 +1172,13 @@
735
private void addLicense(Dependency d, String license) {
- 736 9 if (d.getLicense() == null ) {
- 737 9 d.setLicense(license);
+ 736 4 if (d.getLicense() == null ) {
+ 737 4 d.setLicense(license);
738 0 } else if (!d.getLicense().contains(license)) {
739 0 d.setLicense(d.getLicense() + NEWLINE + license);
740
}
- 741 9 }
+ 741 4 }
742
743
@@ -1261,40 +1261,40 @@
783
protected String interpolateString(String text, Properties properties) {
- 784 81 Properties props = properties;
- 785 81 if (text == null ) {
- 786 9 return text;
+ 784 31 Properties props = properties;
+ 785 31 if (text == null ) {
+ 786 5 return text;
787
}
- 788 72 if (props == null ) {
- 789 51 props = new Properties();
+ 788 26 if (props == null ) {
+ 789 19 props = new Properties();
790
}
791
- 792 72 final int pos = text.indexOf("${" );
- 793 72 if (pos < 0) {
- 794 63 return text;
+ 792 26 final int pos = text.indexOf("${" );
+ 793 26 if (pos < 0) {
+ 794 23 return text;
795
}
- 796 9 final int end = text.indexOf("}" );
- 797 9 if (end < pos) {
+ 796 3 final int end = text.indexOf("}" );
+ 797 3 if (end < pos) {
798 0 return text;
799
}
800
- 801 9 final String propName = text.substring(pos + 2, end);
- 802 9 String propValue = interpolateString(props.getProperty(propName), props);
- 803 9 if (propValue == null ) {
+ 801 3 final String propName = text.substring(pos + 2, end);
+ 802 3 String propValue = interpolateString(props.getProperty(propName), props);
+ 803 3 if (propValue == null ) {
804 0 propValue = "" ;
805
}
- 806 9 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
- 807 9 sb.append(text.subSequence(0, pos));
- 808 9 sb.append(propValue);
- 809 9 sb.append(text.substring(end + 1));
- 810 9 return interpolateString(sb.toString(), props);
+ 806 3 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
+ 807 3 sb.append(text.subSequence(0, pos));
+ 808 3 sb.append(propValue);
+ 809 3 sb.append(text.substring(end + 1));
+ 810 3 return interpolateString(sb.toString(), props);
811
}
812
@@ -1319,12 +1319,12 @@
822
private boolean isImportPackage(String key, String value) {
- 823 114 final Pattern packageRx = Pattern.compile("^((([a-zA-Z_#\\$0-9]\\.)+)\\s*\\;\\s*)+$" );
- 824 114 if (packageRx.matcher(value).matches()) {
+ 823 44 final Pattern packageRx = Pattern.compile("^((([a-zA-Z_#\\$0-9]\\.)+)\\s*\\;\\s*)+$" );
+ 824 44 if (packageRx.matcher(value).matches()) {
825 0 return (key.contains("import" ) || key.contains("include" ));
826
}
- 827 114 return false ;
+ 827 44 return false ;
828
}
829
@@ -1347,41 +1347,41 @@
838
private ArrayList<ClassNameInformation> collectClassNames(Dependency dependency) {
- 839 36 final ArrayList<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
- 840 36 JarFile jar = null ;
+ 839 13 final ArrayList<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
+ 840 13 JarFile jar = null ;
841
try {
- 842 36 jar = new JarFile(dependency.getActualFilePath());
- 843 36 final Enumeration entries = jar.entries();
- 844 12552 while (entries.hasMoreElements()) {
- 845 12516 final JarEntry entry = (JarEntry) entries.nextElement();
- 846 12516 final String name = entry.getName().toLowerCase();
+ 842 13 jar = new JarFile(dependency.getActualFilePath());
+ 843 13 final Enumeration entries = jar.entries();
+ 844 5523 while (entries.hasMoreElements()) {
+ 845 5510 final JarEntry entry = (JarEntry) entries.nextElement();
+ 846 5510 final String name = entry.getName().toLowerCase();
847
- 848 12516 if (name.endsWith(".class" ) && !name.matches("^javax?\\..*$" )) {
- 849 10350 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
- 850 10350 classNames.add(className);
+ 848 5510 if (name.endsWith(".class" ) && !name.matches("^javax?\\..*$" )) {
+ 849 4741 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
+ 850 4741 classNames.add(className);
851
}
- 852 12516 }
+ 852 5510 }
853 0 } catch (IOException ex) {
854 0 final String msg = String.format("Unable to open jar file '%s'." , dependency.getFileName());
855 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.WARNING, msg);
856 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINE, null , ex);
857
} finally {
- 858 36 if (jar != null ) {
+ 858 13 if (jar != null ) {
859
try {
- 860 36 jar.close();
+ 860 13 jar.close();
861 0 } catch (IOException ex) {
862 0 Logger.getLogger(JarAnalyzer.class .getName()).log(Level.FINEST, null , ex);
- 863 36 }
+ 863 13 }
864
}
865
}
- 866 36 return classNames;
+ 866 13 return classNames;
867
}
868
@@ -1414,31 +1414,31 @@
private void analyzeFullyQualifiedClassNames(ArrayList<ClassNameInformation> classNames,
882
HashMap<String, Integer> vendor, HashMap<String, Integer> product) {
- 883 36 for (ClassNameInformation entry : classNames) {
- 884 10350 final ArrayList<String> list = entry.getPackageStructure();
- 885 10350 addEntry(vendor, list.get(0));
+ 883 13 for (ClassNameInformation entry : classNames) {
+ 884 4741 final ArrayList<String> list = entry.getPackageStructure();
+ 885 4741 addEntry(vendor, list.get(0));
886
- 887 10350 if (list.size() == 2) {
+ 887 4741 if (list.size() == 2) {
888 0 addEntry(product, list.get(1));
889
}
- 890 10350 if (list.size() == 3) {
- 891 2226 addEntry(vendor, list.get(1));
- 892 2226 addEntry(product, list.get(1));
- 893 2226 addEntry(product, list.get(2));
+ 890 4741 if (list.size() == 3) {
+ 891 1777 addEntry(vendor, list.get(1));
+ 892 1777 addEntry(product, list.get(1));
+ 893 1777 addEntry(product, list.get(2));
894
}
- 895 10350 if (list.size() >= 4) {
- 896 8124 addEntry(vendor, list.get(1));
- 897 8124 addEntry(vendor, list.get(2));
- 898 8124 addEntry(product, list.get(1));
- 899 8124 addEntry(product, list.get(2));
- 900 8124 addEntry(product, list.get(3));
+ 895 4741 if (list.size() >= 4) {
+ 896 2964 addEntry(vendor, list.get(1));
+ 897 2964 addEntry(vendor, list.get(2));
+ 898 2964 addEntry(product, list.get(1));
+ 899 2964 addEntry(product, list.get(2));
+ 900 2964 addEntry(product, list.get(3));
901
}
- 902 10350 }
- 903 36 }
+ 902 4741 }
+ 903 13 }
904
905
@@ -1459,14 +1459,14 @@
913
private void addEntry(HashMap<String, Integer> collection, String key) {
- 914 57648 if (collection.containsKey(key)) {
- 915 52182 collection.put(key, collection.get(key) + 1);
+ 914 24892 if (collection.containsKey(key)) {
+ 915 21768 collection.put(key, collection.get(key) + 1);
916
} else {
- 917 5466 collection.put(key, 1);
+ 917 3124 collection.put(key, 1);
918
}
- 919 57648 }
+ 919 24892 }
920
921
@@ -1491,22 +1491,22 @@
931
private void addMatchingValues(ArrayList<ClassNameInformation> classes, String value, EvidenceCollection evidence) {
- 932 309 if (value == null || value.isEmpty()) {
+ 932 119 if (value == null || value.isEmpty()) {
933 0 return ;
934
}
- 935 309 final String text = value.toLowerCase();
- 936 309 for (ClassNameInformation cni : classes) {
- 937 91014 for (String key : cni.getPackageStructure()) {
- 938 350844 if (text.contains(key)) {
- 939 109401 evidence.addEvidence("jar" , "package name" , key, Evidence.Confidence.HIGHEST);
+ 935 119 final String text = value.toLowerCase();
+ 936 119 for (ClassNameInformation cni : classes) {
+ 937 50994 for (String key : cni.getPackageStructure()) {
+ 938 183012 if (text.contains(key)) {
+ 939 57140 evidence.addEvidence("jar" , "package name" , key, Evidence.Confidence.HIGHEST);
940
}
941
}
942
}
- 943 309 }
+ 943 119 }
944
945
@@ -1674,7 +1674,7 @@
private boolean isPackage(String key, String value) {
1027
- 1028 114 return !key.matches(".*(version|title|vendor|name|license|description).*" )
+ 1028 44 return !key.matches(".*(version|title|vendor|name|license|description).*" )
1029
&& value.matches("^([a-zA-Z_][a-zA-Z0-9_\\$]*(\\.[a-zA-Z_][a-zA-Z0-9_\\$]*)*)?$" );
1030
@@ -1727,30 +1727,30 @@
1054
- 1055 10350 ClassNameInformation(String className) {
- 1056 10350 name = className;
- 1057 10350 if (name.contains("/" )) {
- 1058 10350 final String[] tmp = className.toLowerCase().split("/" );
- 1059 10350 int start = 0;
- 1060 10350 int end = 3;
- 1061 10350 if ("com" .equals(tmp[0]) || "org" .equals(tmp[0])) {
- 1062 9069 start = 1;
- 1063 9069 end = 4;
+ 1055 4741 ClassNameInformation(String className) {
+ 1056 4741 name = className;
+ 1057 4741 if (name.contains("/" )) {
+ 1058 4741 final String[] tmp = className.toLowerCase().split("/" );
+ 1059 4741 int start = 0;
+ 1060 4741 int end = 3;
+ 1061 4741 if ("com" .equals(tmp[0]) || "org" .equals(tmp[0])) {
+ 1062 4314 start = 1;
+ 1063 4314 end = 4;
1064
}
- 1065 10350 if (tmp.length <= end) {
- 1066 2226 end = tmp.length - 1;
+ 1065 4741 if (tmp.length <= end) {
+ 1066 1777 end = tmp.length - 1;
1067
}
- 1068 49524 for (int i = start; i <= end; i++) {
- 1069 39174 packageStructure.add(tmp[i]);
+ 1068 21928 for (int i = start; i <= end; i++) {
+ 1069 17187 packageStructure.add(tmp[i]);
1070
}
- 1071 10350 } else {
+ 1071 4741 } else {
1072 0 packageStructure.add(name);
1073
}
- 1074 10350 }
+ 1074 4741 }
1075
1076
@@ -1800,7 +1800,7 @@
1100
- 1101 10350 private ArrayList<String> packageStructure = new ArrayList<String>();
+ 1101 4741 private ArrayList<String> packageStructure = new ArrayList<String>();
1102
1103
@@ -1815,7 +1815,7 @@
1108
public ArrayList<String> getPackageStructure() {
- 1109 101364 return packageStructure;
+ 1109 55735 return packageStructure;
1110
}
1111
@@ -1824,6 +1824,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
index 7a481b9b8..c1027326a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
@@ -252,6 +252,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
new file mode 100644
index 000000000..07866aec7
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
@@ -0,0 +1,441 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.analyzer.NvdCveAnalyzer
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.analyzer;
+ 20
+
+ 21
+ import java.io.IOException;
+ 22
+ import java.sql.SQLException;
+ 23
+ import java.util.List;
+ 24
+ import java.util.Set;
+ 25
+ import org.owasp.dependencycheck.Engine;
+ 26
+ import org.owasp.dependencycheck.dependency.Dependency;
+ 27
+ import org.owasp.dependencycheck.dependency.Vulnerability;
+ 28
+ import org.owasp.dependencycheck.dependency.Identifier;
+ 29
+ import org.owasp.dependencycheck.data.nvdcve.CveDB;
+ 30
+ import org.owasp.dependencycheck.data.nvdcve.DatabaseException;
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39 1 public class NvdCveAnalyzer implements Analyzer {
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+ static final int MAX_QUERY_RESULTS = 100;
+ 45
+
+ 46
+
+ 47
+
+ 48
+ private CveDB cveDB;
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+ public void open() throws SQLException, IOException, DatabaseException, ClassNotFoundException {
+ 60 0 cveDB = new CveDB();
+ 61 0 cveDB.open();
+ 62 0 }
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+ public void close() {
+ 68 0 cveDB.close();
+ 69 0 cveDB = null ;
+ 70 0 }
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+ public boolean isOpen() {
+ 78 0 return (cveDB != null );
+ 79
+ }
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+
+ 85
+
+ 86
+ @Override
+ 87
+ protected void finalize() throws Throwable {
+ 88 0 super .finalize();
+ 89 0 if (isOpen()) {
+ 90 0 close();
+ 91
+ }
+ 92 0 }
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+ public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+ 104 0 for (Identifier id : dependency.getIdentifiers()) {
+ 105 0 if ("cpe" .equals(id.getType())) {
+ 106
+ try {
+ 107 0 final String value = id.getValue();
+ 108 0 final List<Vulnerability> vulns = cveDB.getVulnerabilities(value);
+ 109 0 dependency.getVulnerabilities().addAll(vulns);
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+
+ 117 0 } catch (DatabaseException ex) {
+ 118 0 throw new AnalysisException(ex);
+ 119 0 }
+ 120
+ }
+ 121
+ }
+ 122 0 }
+ 123
+
+ 124
+
+ 125
+
+ 126
+
+ 127
+
+ 128
+
+ 129
+ public Set<String> getSupportedExtensions() {
+ 130 128 return null ;
+ 131
+ }
+ 132
+
+ 133
+
+ 134
+
+ 135
+
+ 136
+
+ 137
+
+ 138
+ public String getName() {
+ 139 0 return "NVD CVE Analyzer" ;
+ 140
+ }
+ 141
+
+ 142
+
+ 143
+
+ 144
+
+ 145
+
+ 146
+
+ 147
+
+ 148
+ public boolean supportsExtension(String extension) {
+ 149 0 return true ;
+ 150
+ }
+ 151
+
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156
+
+ 157
+ public AnalysisPhase getAnalysisPhase() {
+ 158 2 return AnalysisPhase.FINDING_ANALYSIS;
+ 159
+ }
+ 160
+
+ 161
+
+ 162
+
+ 163
+
+ 164
+
+ 165
+
+ 166
+ public void initialize() throws Exception {
+ 167 0 this .open();
+ 168 0 }
+ 169
+
+ 170
+
+ 171
+
+ 172
+
+ 173
+
+ 174
+
+ 175
+
+ 176
+
+ 177
+
+ 178
+
+ 179
+
+ 180
+
+ 181
+
+ 182
+
+ 183
+
+ 184
+
+ 185
+
+ 186
+
+ 187
+
+ 188
+
+ 189
+
+ 190
+
+ 191
+
+ 192
+
+ 193
+
+ 194
+
+ 195
+
+ 196
+
+ 197
+
+ 198
+
+ 199
+
+ 200
+
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+
+ 206
+
+ 207
+
+ 208
+
+ 209
+
+ 210
+
+ 211
+
+ 212
+
+ 213
+
+ 214
+
+ 215
+
+ 216
+
+ 217
+
+ 218
+
+ 219
+
+ 220
+
+ 221
+
+ 222
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.DirectoryLockException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.DirectoryLockException.html
new file mode 100644
index 000000000..4a99ab3fa
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.DirectoryLockException.html
@@ -0,0 +1,150 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.concurrency.DirectoryLockException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.concurrency;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+ public class DirectoryLockException extends Exception {
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+ private static final long serialVersionUID = 1L;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ public DirectoryLockException() {
+ 37 0 super ();
+ 38 0 }
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+ public DirectoryLockException(String msg) {
+ 46 0 super (msg);
+ 47 0 }
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+ public DirectoryLockException(Throwable ex) {
+ 55 0 super (ex);
+ 56 0 }
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+ public DirectoryLockException(String msg, Throwable ex) {
+ 65 1 super (msg, ex);
+ 66 1 }
+ 67
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.DirectorySpinLock.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.DirectorySpinLock.html
new file mode 100644
index 000000000..52ba35056
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.DirectorySpinLock.html
@@ -0,0 +1,480 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.concurrency.DirectorySpinLock
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.concurrency;
+ 20
+
+ 21
+ import java.io.Closeable;
+ 22
+ import java.io.File;
+ 23
+ import java.io.FileNotFoundException;
+ 24
+ import java.io.IOException;
+ 25
+ import java.io.RandomAccessFile;
+ 26
+ import java.nio.channels.AsynchronousCloseException;
+ 27
+ import java.nio.channels.ClosedChannelException;
+ 28
+ import java.nio.channels.FileChannel;
+ 29
+ import java.nio.channels.FileLock;
+ 30
+ import java.nio.channels.FileLockInterruptionException;
+ 31
+ import java.nio.channels.NonWritableChannelException;
+ 32
+ import java.nio.channels.OverlappingFileLockException;
+ 33
+ import java.util.logging.Level;
+ 34
+ import java.util.logging.Logger;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+ public class DirectorySpinLock implements Closeable {
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+ public static final String LOCK_NAME = "data.lock" ;
+ 49
+
+ 50
+
+ 51
+
+ 52
+ public static final int MAX_SPIN = 100;
+ 53
+
+ 54
+
+ 55
+
+ 56 6 private FileChannel channel = null ;
+ 57
+
+ 58
+
+ 59
+
+ 60 6 private File lockFile = null ;
+ 61
+
+ 62
+
+ 63
+
+ 64 6 private FileLock lock = null ;
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69 6 private long maxWait = MAX_SPIN;
+ 70
+
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+ public long getMaxWait() {
+ 78 0 return maxWait / 2;
+ 79
+ }
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+
+ 85
+
+ 86
+
+ 87
+ public void setMaxWait(long maxWait) {
+ 88 3 this .maxWait = maxWait * 2;
+ 89 3 }
+ 90
+
+ 91
+
+ 92
+
+ 93
+
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+
+ 100 6 public DirectorySpinLock(File directory) throws InvalidDirectoryException, DirectoryLockException {
+ 101 6 checkDirectory(directory);
+ 102 6 lockFile = new File(directory, LOCK_NAME);
+ 103 6 RandomAccessFile file = null ;
+ 104
+ try {
+ 105 6 file = new RandomAccessFile(lockFile, "rw" );
+ 106 0 } catch (FileNotFoundException ex) {
+ 107 0 throw new DirectoryLockException("Lock file not found" , ex);
+ 108 6 }
+ 109 6 channel = file.getChannel();
+ 110 6 }
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+ public void obtainSharedLock() throws DirectoryLockException {
+ 121 2 obtainLock(true );
+ 122 2 }
+ 123
+
+ 124
+
+ 125
+
+ 126
+
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+ public void obtainExclusiveLock() throws DirectoryLockException {
+ 133 1 obtainLock(false );
+ 134 1 }
+ 135
+
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+
+ 141
+
+ 142
+
+ 143
+
+ 144
+
+ 145
+
+ 146
+
+ 147
+ protected void obtainLock(boolean shared, long maxWait) throws DirectoryLockException {
+ 148 3 setMaxWait(maxWait);
+ 149 3 obtainLock(shared);
+ 150 2 }
+ 151
+
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156
+
+ 157
+
+ 158
+
+ 159
+
+ 160
+
+ 161
+ protected void obtainLock(boolean shared) throws DirectoryLockException {
+ 162 6 if (lock != null ) {
+ 163 0 release();
+ 164
+ }
+ 165 6 if (channel == null ) {
+ 166 0 throw new DirectoryLockException("Unable to create lock, no file channel exists" );
+ 167
+ }
+ 168 6 int count = 0;
+ 169 6 Exception lastException = null ;
+ 170 13 while (lock == null && count++ < maxWait) {
+ 171
+ try {
+ 172 7 lock = channel.lock(0, Long.MAX_VALUE, shared);
+ 173 0 } catch (AsynchronousCloseException ex) {
+ 174 0 lastException = ex;
+ 175 0 } catch (ClosedChannelException ex) {
+ 176 0 lastException = ex;
+ 177 0 } catch (FileLockInterruptionException ex) {
+ 178 0 lastException = ex;
+ 179 2 } catch (OverlappingFileLockException ex) {
+ 180 2 lastException = ex;
+ 181 0 } catch (NonWritableChannelException ex) {
+ 182 0 lastException = ex;
+ 183 0 } catch (IOException ex) {
+ 184 0 lastException = ex;
+ 185 7 }
+ 186
+ try {
+ 187 7 Thread.sleep(500);
+ 188 0 } catch (InterruptedException ex) {
+ 189 0 Thread.currentThread().interrupt();
+ 190 7 }
+ 191
+ }
+ 192 6 if (lock == null ) {
+ 193 1 if (lastException == null ) {
+ 194 0 throw new DirectoryLockException("Unable to obtain lock" );
+ 195
+ } else {
+ 196 1 throw new DirectoryLockException("Unable to obtain lock" , lastException);
+ 197
+ }
+ 198
+ }
+ 199 5 }
+ 200
+
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+
+ 206
+
+ 207
+
+ 208
+
+ 209
+ private void checkDirectory(File directory) throws InvalidDirectoryException {
+ 210 6 if (directory == null ) {
+ 211 0 throw new InvalidDirectoryException("Unable to obtain lock on a null File" );
+ 212
+ }
+ 213 6 if (!directory.isDirectory()) {
+ 214 0 final String msg = String.format("File, '%s', does not exist or is not a directory" , directory.getAbsolutePath());
+ 215 0 throw new InvalidDirectoryException(msg);
+ 216
+ }
+ 217 6 }
+ 218
+
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+
+ 224
+ @Override
+ 225
+ public void close() throws IOException {
+ 226 6 release();
+ 227
+
+ 228
+
+ 229
+
+ 230
+
+ 231
+
+ 232
+
+ 233
+
+ 234
+
+ 235 6 if (channel != null ) {
+ 236
+ try {
+ 237 6 channel.close();
+ 238 0 } catch (IOException ex) {
+ 239 0 Logger.getLogger(DirectorySpinLock.class .getName()).log(Level.FINEST, "Unable to close the channel for the file lock" , ex);
+ 240 6 }
+ 241
+ }
+ 242 6 if (lockFile != null ) {
+ 243 6 if (lockFile.exists()) {
+ 244
+
+ 245
+
+ 246
+
+ 247 6 lockFile.delete();
+ 248
+ }
+ 249
+ }
+ 250 6 }
+ 251
+
+ 252
+
+ 253
+
+ 254
+
+ 255
+
+ 256
+ public void release() {
+ 257 6 if (lock != null ) {
+ 258
+ try {
+ 259 5 lock.release();
+ 260 0 } catch (ClosedChannelException ex) {
+ 261 0 Logger.getLogger(DirectorySpinLock.class .getName()).log(Level.FINEST, "Uable to release file lock" , ex);
+ 262 0 } catch (IOException ex) {
+ 263 0 Logger.getLogger(DirectorySpinLock.class .getName()).log(Level.FINEST, "Unable to release file lock due to IO Exception" , ex);
+ 264 5 }
+ 265
+ }
+ 266 6 }
+ 267
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.InvalidDirectoryException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.InvalidDirectoryException.html
new file mode 100644
index 000000000..703cd20ac
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.concurrency.InvalidDirectoryException.html
@@ -0,0 +1,150 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.concurrency.InvalidDirectoryException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.concurrency;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+ public class InvalidDirectoryException extends Exception {
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+ private static final long serialVersionUID = 1L;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+ public InvalidDirectoryException() {
+ 37 0 super ();
+ 38 0 }
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+ public InvalidDirectoryException(String msg) {
+ 46 0 super (msg);
+ 47 0 }
+ 48
+
+ 49
+
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+ public InvalidDirectoryException(Throwable ex) {
+ 55 0 super (ex);
+ 56 0 }
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+ public InvalidDirectoryException(String msg, Throwable ex) {
+ 65 0 super (msg, ex);
+ 66 0 }
+ 67
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.CachedWebDataSource.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.CachedWebDataSource.html
index d9e22f32a..247687cd1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.CachedWebDataSource.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.CachedWebDataSource.html
@@ -95,6 +95,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateException.html
index 2f2b02aaf..f6ef44286 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateException.html
@@ -149,6 +149,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateService.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateService.html
index 788bd639f..061a55186 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateService.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.UpdateService.html
@@ -146,6 +146,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.BaseIndex.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.BaseIndex.html
new file mode 100644
index 000000000..484e41de8
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.BaseIndex.html
@@ -0,0 +1,235 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.cpe.BaseIndex
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.cpe;
+ 20
+
+ 21
+ import java.io.File;
+ 22
+ import java.io.IOException;
+ 23
+ import java.util.logging.Level;
+ 24
+ import java.util.logging.Logger;
+ 25
+ import org.apache.lucene.store.Directory;
+ 26
+ import org.apache.lucene.store.FSDirectory;
+ 27
+ import org.owasp.dependencycheck.utils.Settings;
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34 11 public abstract class BaseIndex {
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+ private Directory directory;
+ 40
+
+ 41
+
+ 42
+
+ 43 11 private boolean indexOpen = false ;
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+ public Directory getDirectory() {
+ 51 11 return directory;
+ 52
+ }
+ 53
+
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+ public void open() throws IOException {
+ 60 11 directory = this .openDirectory();
+ 61 11 indexOpen = true ;
+ 62 11 }
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+ public void close() {
+ 68
+ try {
+ 69 11 directory.close();
+ 70 0 } catch (IOException ex) {
+ 71 0 final String msg = "Unable to update database due to an IO error." ;
+ 72 0 Logger.getLogger(BaseIndex.class .getName()).log(Level.SEVERE, msg);
+ 73 0 Logger.getLogger(BaseIndex.class .getName()).log(Level.FINE, null , ex);
+ 74
+ } finally {
+ 75 11 directory = null ;
+ 76 11 }
+ 77 11 indexOpen = false ;
+ 78
+
+ 79 11 }
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+
+ 85
+
+ 86
+ public boolean isOpen() {
+ 87 6 return indexOpen;
+ 88
+ }
+ 89
+
+ 90
+
+ 91
+
+ 92
+
+ 93
+
+ 94
+
+ 95
+
+ 96
+ protected Directory openDirectory() throws IOException {
+ 97 11 final File path = getDataDirectory();
+ 98 11 return FSDirectory.open(path);
+ 99
+ }
+ 100
+
+ 101
+
+ 102
+
+ 103
+
+ 104
+
+ 105
+
+ 106
+
+ 107
+
+ 108
+ public static File getDataDirectory() throws IOException {
+ 109 12 final File path = Settings.getFile(Settings.KEYS.CPE_DATA_DIRECTORY);
+ 110 12 if (!path.exists()) {
+ 111 0 if (!path.mkdirs()) {
+ 112 0 throw new IOException("Unable to create CPE Data directory" );
+ 113
+ }
+ 114
+ }
+ 115 12 return path;
+ 116
+ }
+ 117
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeIndexReader.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeIndexReader.html
new file mode 100644
index 000000000..79e9d1207
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeIndexReader.html
@@ -0,0 +1,345 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.cpe.CpeIndexReader
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.cpe;
+ 20
+
+ 21
+ import java.io.IOException;
+ 22
+ import java.util.HashMap;
+ 23
+ import java.util.Map;
+ 24
+ import java.util.logging.Level;
+ 25
+ import java.util.logging.Logger;
+ 26
+ import org.apache.lucene.analysis.Analyzer;
+ 27
+ import org.apache.lucene.analysis.core.KeywordAnalyzer;
+ 28
+ import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
+ 29
+ import org.apache.lucene.document.Document;
+ 30
+ import org.apache.lucene.index.CorruptIndexException;
+ 31
+ import org.apache.lucene.index.DirectoryReader;
+ 32
+ import org.apache.lucene.index.IndexReader;
+ 33
+ import org.apache.lucene.queryparser.classic.ParseException;
+ 34
+ import org.apache.lucene.queryparser.classic.QueryParser;
+ 35
+ import org.apache.lucene.search.IndexSearcher;
+ 36
+ import org.apache.lucene.search.Query;
+ 37
+ import org.apache.lucene.search.TopDocs;
+ 38
+ import org.apache.lucene.util.Version;
+ 39
+ import org.owasp.dependencycheck.data.lucene.FieldAnalyzer;
+ 40
+ import org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer;
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46 9 public class CpeIndexReader extends BaseIndex {
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51
+ private IndexReader indexReader;
+ 52
+
+ 53
+
+ 54
+
+ 55
+ private IndexSearcher indexSearcher;
+ 56
+
+ 57
+
+ 58
+
+ 59
+ private Analyzer searchingAnalyzer;
+ 60
+
+ 61
+
+ 62
+
+ 63
+ private QueryParser queryParser;
+ 64
+
+ 65
+
+ 66
+
+ 67
+ private SearchFieldAnalyzer productSearchFieldAnalyzer;
+ 68
+
+ 69
+
+ 70
+
+ 71
+ private SearchFieldAnalyzer vendorSearchFieldAnalyzer;
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+ @Override
+ 79
+ public void open() throws IOException {
+ 80
+
+ 81 9 super .open();
+ 82 9 indexReader = DirectoryReader.open(getDirectory());
+ 83 9 indexSearcher = new IndexSearcher(indexReader);
+ 84 9 searchingAnalyzer = createSearchingAnalyzer();
+ 85 9 queryParser = new QueryParser(Version.LUCENE_43, Fields.DOCUMENT_KEY, searchingAnalyzer);
+ 86 9 }
+ 87
+
+ 88
+
+ 89
+
+ 90
+
+ 91
+ @Override
+ 92
+ public void close() {
+ 93
+
+ 94 9 if (searchingAnalyzer != null ) {
+ 95 9 searchingAnalyzer.close();
+ 96 9 searchingAnalyzer = null ;
+ 97
+ }
+ 98 9 if (indexReader != null ) {
+ 99
+ try {
+ 100 9 indexReader.close();
+ 101 0 } catch (IOException ex) {
+ 102 0 Logger.getLogger(CpeIndexReader.class .getName()).log(Level.FINEST, null , ex);
+ 103 9 }
+ 104 9 indexReader = null ;
+ 105
+ }
+ 106 9 queryParser = null ;
+ 107 9 indexSearcher = null ;
+ 108 9 super .close();
+ 109 9 }
+ 110
+
+ 111
+
+ 112
+
+ 113
+
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+ public TopDocs search(String searchString, int maxQueryResults) throws ParseException, IOException {
+ 122 41 final Query query = queryParser.parse(searchString);
+ 123 41 return indexSearcher.search(query, maxQueryResults);
+ 124
+ }
+ 125
+
+ 126
+
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+
+ 135
+ public TopDocs search(Query query, int maxQueryResults) throws CorruptIndexException, IOException {
+ 136 0 resetSearchingAnalyzer();
+ 137 0 return indexSearcher.search(query, maxQueryResults);
+ 138
+ }
+ 139
+
+ 140
+
+ 141
+
+ 142
+
+ 143
+
+ 144
+
+ 145
+
+ 146
+
+ 147
+ public Document getDocument(int documentId) throws IOException {
+ 148 417 return indexSearcher.doc(documentId);
+ 149
+ }
+ 150
+
+ 151
+
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156
+ @SuppressWarnings("unchecked" )
+ 157
+ private Analyzer createSearchingAnalyzer() {
+ 158 9 final Map fieldAnalyzers = new HashMap();
+ 159 9 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 160 9 productSearchFieldAnalyzer = new SearchFieldAnalyzer(Version.LUCENE_43);
+ 161 9 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer(Version.LUCENE_43);
+ 162 9 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
+ 163 9 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
+ 164
+
+ 165 9 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(Version.LUCENE_43), fieldAnalyzers);
+ 166
+ }
+ 167
+
+ 168
+
+ 169
+
+ 170
+
+ 171
+ private void resetSearchingAnalyzer() {
+ 172 0 if (productSearchFieldAnalyzer != null ) {
+ 173 0 productSearchFieldAnalyzer.clear();
+ 174
+ }
+ 175 0 if (vendorSearchFieldAnalyzer != null ) {
+ 176 0 vendorSearchFieldAnalyzer.clear();
+ 177
+ }
+ 178 0 }
+ 179
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeIndexWriter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeIndexWriter.html
new file mode 100644
index 000000000..190b2cd05
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeIndexWriter.html
@@ -0,0 +1,272 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.cpe.CpeIndexWriter
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.cpe;
+ 20
+
+ 21
+ import java.io.IOException;
+ 22
+ import java.util.HashMap;
+ 23
+ import java.util.Map;
+ 24
+ import java.util.logging.Level;
+ 25
+ import java.util.logging.Logger;
+ 26
+ import org.apache.lucene.analysis.Analyzer;
+ 27
+ import org.apache.lucene.analysis.core.KeywordAnalyzer;
+ 28
+ import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
+ 29
+ import org.apache.lucene.document.Document;
+ 30
+ import org.apache.lucene.document.Field;
+ 31
+ import org.apache.lucene.document.StringField;
+ 32
+ import org.apache.lucene.document.TextField;
+ 33
+ import org.apache.lucene.index.CorruptIndexException;
+ 34
+ import org.apache.lucene.index.IndexWriter;
+ 35
+ import org.apache.lucene.index.IndexWriterConfig;
+ 36
+ import org.apache.lucene.index.Term;
+ 37
+ import org.apache.lucene.util.Version;
+ 38
+ import org.owasp.dependencycheck.data.lucene.FieldAnalyzer;
+ 39
+
+ 40
+
+ 41
+
+ 42
+
+ 43
+
+ 44 2 public class CpeIndexWriter extends BaseIndex {
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+ private IndexWriter indexWriter;
+ 50
+
+ 51
+
+ 52
+
+ 53
+ private Analyzer indexingAnalyzer;
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+ @Override
+ 61
+ public void open() throws IOException {
+ 62
+
+ 63 2 super .open();
+ 64 2 indexingAnalyzer = createIndexingAnalyzer();
+ 65 2 final IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_43, indexingAnalyzer);
+ 66 2 indexWriter = new IndexWriter(getDirectory(), conf);
+ 67 2 }
+ 68
+
+ 69
+
+ 70
+
+ 71
+
+ 72
+ @Override
+ 73
+ public void close() {
+ 74
+
+ 75 2 if (indexWriter != null ) {
+ 76 2 commit();
+ 77
+ try {
+ 78 2 indexWriter.close(true );
+ 79 0 } catch (CorruptIndexException ex) {
+ 80 0 final String msg = "Unable to update database, there is a corrupt index." ;
+ 81 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+ 82 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+ 83 0 } catch (IOException ex) {
+ 84 0 final String msg = "Unable to update database due to an IO error." ;
+ 85 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+ 86 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+ 87
+ } finally {
+ 88 2 indexWriter = null ;
+ 89 2 }
+ 90
+ }
+ 91 2 if (indexingAnalyzer != null ) {
+ 92 2 indexingAnalyzer.close();
+ 93 2 indexingAnalyzer = null ;
+ 94
+ }
+ 95 2 super .close();
+ 96 2 }
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+ public void commit() {
+ 102 2 if (indexWriter != null ) {
+ 103
+ try {
+ 104 2 indexWriter.forceMerge(1);
+ 105 2 indexWriter.commit();
+ 106 0 } catch (CorruptIndexException ex) {
+ 107 0 final String msg = "Unable to update database, there is a corrupt index." ;
+ 108 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+ 109 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+ 110 0 } catch (IOException ex) {
+ 111 0 final String msg = "Unable to update database due to an IO error." ;
+ 112 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+ 113 0 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+ 114 2 }
+ 115
+ }
+ 116 2 }
+ 117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+
+ 122
+
+ 123
+ @SuppressWarnings("unchecked" )
+ 124
+ private Analyzer createIndexingAnalyzer() {
+ 125 2 final Map fieldAnalyzers = new HashMap();
+ 126 2 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 127 2 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(Version.LUCENE_43), fieldAnalyzers);
+ 128
+ }
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+
+ 135
+
+ 136
+
+ 137
+ public void saveEntry(IndexEntry entry) throws CorruptIndexException, IOException {
+ 138 0 final Document doc = new Document();
+ 139 0 final Field documentKey = new StringField(Fields.DOCUMENT_KEY, entry.getDocumentId(), Field.Store.NO);
+ 140 0 final Field vendor = new TextField(Fields.VENDOR, entry.getVendor(), Field.Store.YES);
+ 141 0 final Field product = new TextField(Fields.PRODUCT, entry.getProduct(), Field.Store.YES);
+ 142 0 doc.add(documentKey);
+ 143 0 doc.add(vendor);
+ 144 0 doc.add(product);
+ 145
+
+ 146 0 final Term term = new Term(Fields.DOCUMENT_KEY, entry.getDocumentId());
+ 147 0 indexWriter.updateDocument(term, doc);
+ 148 0 }
+ 149
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html
index e40a4c456..0b0101c68 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.Fields.html
@@ -106,6 +106,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html
index 6119ab9ff..f45c509aa 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexEntry.html
@@ -12,7 +12,7 @@
@@ -75,7 +75,7 @@
29
- 30 8602 public class IndexEntry implements Serializable {
+ 30 3902 public class IndexEntry implements Serializable {
31
32
@@ -153,7 +153,7 @@
71
public String getVendor() {
- 72 1235 return vendor;
+ 72 452 return vendor;
73
}
74
@@ -170,8 +170,8 @@
80
public void setVendor(String vendor) {
- 81 8599 this .vendor = vendor;
- 82 8599 }
+ 81 3901 this .vendor = vendor;
+ 82 3901 }
83
84
@@ -194,7 +194,7 @@
93
public String getProduct() {
- 94 1658 return product;
+ 94 808 return product;
95
}
96
@@ -211,8 +211,8 @@
102
public void setProduct(String product) {
- 103 8599 this .product = product;
- 104 8599 }
+ 103 3901 this .product = product;
+ 104 3901 }
105
106
@@ -252,8 +252,8 @@
124
public void setSearchScore(float searchScore) {
- 125 2709 this .searchScore = searchScore;
- 126 2709 }
+ 125 417 this .searchScore = searchScore;
+ 126 417 }
127
128
@@ -288,19 +288,19 @@
143
public void parseName(String cpeName) throws UnsupportedEncodingException {
- 144 3 if (cpeName != null && cpeName.length() > 7) {
- 145 3 final String[] data = cpeName.substring(7).split(":" );
- 146 3 if (data.length >= 1) {
- 147 3 vendor = URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" );
- 148 3 if (data.length >= 2) {
- 149 3 product = URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" );
+ 144 1 if (cpeName != null && cpeName.length() > 7) {
+ 145 1 final String[] data = cpeName.substring(7).split(":" );
+ 146 1 if (data.length >= 1) {
+ 147 1 vendor = URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" );
+ 148 1 if (data.length >= 2) {
+ 149 1 product = URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" );
150
}
151
}
152
}
- 153 3 }
+ 153 1 }
154
155
@@ -318,24 +318,24 @@
@Override
163
public boolean equals(Object obj) {
- 164 7140 if (obj == null ) {
+ 164 3586 if (obj == null ) {
165 0 return false ;
166
}
- 167 7140 if (getClass() != obj.getClass()) {
+ 167 3586 if (getClass() != obj.getClass()) {
168 0 return false ;
169
}
- 170 7140 final IndexEntry other = (IndexEntry) obj;
- 171 7140 if ((this .vendor == null ) ? (other.vendor != null ) : !this .vendor.equals(other.vendor)) {
- 172 3828 return false ;
+ 170 3586 final IndexEntry other = (IndexEntry) obj;
+ 171 3586 if ((this .vendor == null ) ? (other.vendor != null ) : !this .vendor.equals(other.vendor)) {
+ 172 2633 return false ;
173
}
- 174 3312 if ((this .product == null ) ? (other.product != null ) : !this .product.equals(other.product)) {
- 175 1077 return false ;
+ 174 953 if ((this .product == null ) ? (other.product != null ) : !this .product.equals(other.product)) {
+ 175 953 return false ;
176
}
- 177 2235 return true ;
+ 177 0 return true ;
178
}
179
@@ -361,6 +361,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html
index 83c42240d..cda3372d8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweDB.html
@@ -99,7 +99,7 @@
42
- 43 3 private static final HashMap<String, String> CWE = loadData();
+ 43 1 private static final HashMap<String, String> CWE = loadData();
44
45
@@ -114,13 +114,13 @@
50
private static HashMap<String, String> loadData() {
- 51 3 ObjectInputStream oin = null ;
+ 51 1 ObjectInputStream oin = null ;
52
try {
- 53 3 final String filePath = "data/cwe.hashmap.serialized" ;
- 54 3 final InputStream input = CweDB.class .getClassLoader().getResourceAsStream(filePath);
- 55 3 oin = new ObjectInputStream(input);
- 56 3 return (HashMap<String, String>) oin.readObject();
+ 53 1 final String filePath = "data/cwe.hashmap.serialized" ;
+ 54 1 final InputStream input = CweDB.class .getClassLoader().getResourceAsStream(filePath);
+ 55 1 oin = new ObjectInputStream(input);
+ 56 1 return (HashMap<String, String>) oin.readObject();
57 0 } catch (ClassNotFoundException ex) {
58 0 Logger.getLogger(CweDB.class .getName()).log(Level.WARNING, "Unable to load CWE data. This should not be an issue." );
59 0 Logger.getLogger(CweDB.class .getName()).log(Level.FINE, null , ex);
@@ -129,13 +129,13 @@
62 0 Logger.getLogger(CweDB.class .getName()).log(Level.FINE, null , ex);
63
} finally {
- 64 3 if (oin != null ) {
+ 64 1 if (oin != null ) {
65
try {
- 66 3 oin.close();
+ 66 1 oin.close();
67 0 } catch (IOException ex) {
68 0 Logger.getLogger(CweDB.class .getName()).log(Level.FINEST, null , ex);
- 69 6 }
+ 69 2 }
70
}
71
@@ -159,8 +159,8 @@
81
public static String getCweName(String cweId) {
- 82 54 if (cweId != null ) {
- 83 54 return CWE.get(cweId);
+ 82 18 if (cweId != null ) {
+ 83 18 return CWE.get(cweId);
84
}
85 0 return null ;
@@ -170,6 +170,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html
index d45d913ae..3bfeda1ac 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cwe.CweHandler.html
@@ -123,6 +123,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html
index 54b786da2..95107d377 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html
@@ -89,7 +89,7 @@
36
- 37 66 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
+ 37 24 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
38
39
@@ -104,7 +104,7 @@
44
protected CharTermAttribute getTermAtt() {
- 45 91474 return termAtt;
+ 45 30745 return termAtt;
46
}
47
@@ -129,7 +129,7 @@
57
protected LinkedList<String> getTokens() {
- 58 91474 return tokens;
+ 58 30745 return tokens;
59
}
60
@@ -146,9 +146,9 @@
66
public AbstractTokenizingFilter(TokenStream stream) {
- 67 66 super (stream);
- 68 66 tokens = new LinkedList<String>();
- 69 66 }
+ 67 24 super (stream);
+ 68 24 tokens = new LinkedList<String>();
+ 69 24 }
70
71
@@ -163,20 +163,20 @@
76
protected boolean addTerm() {
- 77 91215 final boolean termAdded = tokens.size() > 0;
- 78 91215 if (termAdded) {
- 79 55932 final String term = tokens.pop();
- 80 55932 clearAttributes();
- 81 55932 termAtt.append(term);
+ 77 30677 final boolean termAdded = tokens.size() > 0;
+ 78 30677 if (termAdded) {
+ 79 18698 final String term = tokens.pop();
+ 80 18698 clearAttributes();
+ 81 18698 termAtt.append(term);
82
}
- 83 91215 return termAdded;
+ 83 30677 return termAdded;
84
}
85
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html
index 4f3899ccb..1fc258f7b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html
@@ -95,8 +95,8 @@
39
public AlphaNumericTokenizer(Version matchVersion, Reader in) {
- 40 51 super (matchVersion, in);
- 41 51 }
+ 40 19 super (matchVersion, in);
+ 41 19 }
42
43
@@ -135,13 +135,13 @@
@Override
61
protected boolean isTokenChar(int c) {
- 62 22278 return Character.isLetter(c) || Character.isDigit(c);
+ 62 7775 return Character.isLetter(c) || Character.isDigit(c);
63
}
64
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html
index 9058e658b..8a0a4b0c5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html
@@ -117,6 +117,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html
index d75ea0597..47eb48415 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html
@@ -115,9 +115,9 @@
49
- 50 57 public FieldAnalyzer(Version version) {
- 51 57 this .version = version;
- 52 57 }
+ 50 12 public FieldAnalyzer(Version version) {
+ 51 12 this .version = version;
+ 52 12 }
53
54
@@ -138,13 +138,13 @@
@Override
62
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
- 63 3 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
+ 63 1 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
64
- 65 3 TokenStream stream = source;
+ 65 1 TokenStream stream = source;
66
- 67 3 stream = new WordDelimiterFilter(stream,
+ 67 1 stream = new WordDelimiterFilter(stream,
68
WordDelimiterFilter.CATENATE_WORDS
69
@@ -161,17 +161,17 @@
| WordDelimiterFilter.STEM_ENGLISH_POSSESSIVE, null );
75
- 76 3 stream = new LowerCaseFilter(version, stream);
- 77 3 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
+ 76 1 stream = new LowerCaseFilter(version, stream);
+ 77 1 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
78
- 79 3 return new TokenStreamComponents(source, stream);
+ 79 1 return new TokenStreamComponents(source, stream);
80
}
81
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html
index 2e1ae1d79..c9ed2f340 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.LuceneUtils.html
@@ -111,15 +111,15 @@
final CharSequence text) {
48
- 49 2487 if (text == null || buf == null ) {
- 50 3 return ;
+ 49 869 if (text == null || buf == null ) {
+ 50 1 return ;
51
}
52
- 53 25440 for (int i = 0; i < text.length(); i++) {
- 54 22956 final char c = text.charAt(i);
- 55 22956 switch (c) {
+ 53 8869 for (int i = 0; i < text.length(); i++) {
+ 54 8001 final char c = text.charAt(i);
+ 55 8001 switch (c) {
56
case '+' :
57
@@ -156,17 +156,17 @@
case ':' :
73
case '\\' :
- 74 504 buf.append('\\' );
+ 74 176 buf.append('\\' );
75
default :
- 76 22956 buf.append(c);
+ 76 8001 buf.append(c);
77
break ;
78
}
79
}
- 80 2484 }
+ 80 868 }
81
82
@@ -187,27 +187,27 @@
public static String escapeLuceneQuery(final CharSequence text) {
90
- 91 2448 if (text == null ) {
- 92 3 return null ;
+ 91 856 if (text == null ) {
+ 92 1 return null ;
93
}
94
- 95 2445 int size = text.length();
- 96 2445 size = size >> 1;
- 97 2445 final StringBuilder buf = new StringBuilder(size);
+ 95 855 int size = text.length();
+ 96 855 size = size >> 1;
+ 97 855 final StringBuilder buf = new StringBuilder(size);
98
- 99 2445 appendEscapedLuceneQuery(buf, text);
+ 99 855 appendEscapedLuceneQuery(buf, text);
100
- 101 2445 return buf.toString();
+ 101 855 return buf.toString();
102
}
103
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html
index 688556bf4..01dc62a94 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer.html
@@ -121,9 +121,9 @@
52
- 53 60 public SearchFieldAnalyzer(Version version) {
- 54 60 this .version = version;
- 55 60 }
+ 53 20 public SearchFieldAnalyzer(Version version) {
+ 54 20 this .version = version;
+ 55 20 }
56
57
@@ -144,13 +144,13 @@
@Override
65
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
- 66 48 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
+ 66 18 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
67
- 68 48 TokenStream stream = source;
+ 68 18 TokenStream stream = source;
69
- 70 48 stream = new WordDelimiterFilter(stream,
+ 70 18 stream = new WordDelimiterFilter(stream,
71
WordDelimiterFilter.GENERATE_WORD_PARTS
72
@@ -165,14 +165,14 @@
| WordDelimiterFilter.STEM_ENGLISH_POSSESSIVE, null );
77
- 78 48 stream = new LowerCaseFilter(version, stream);
- 79 48 stream = new UrlTokenizingFilter(stream);
- 80 48 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
- 81 48 stream = concatenatingFilter;
- 82 48 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
+ 78 18 stream = new LowerCaseFilter(version, stream);
+ 79 18 stream = new UrlTokenizingFilter(stream);
+ 80 18 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
+ 81 18 stream = concatenatingFilter;
+ 82 18 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
83
- 84 48 return new TokenStreamComponents(source, stream);
+ 84 18 return new TokenStreamComponents(source, stream);
85
}
86
@@ -191,15 +191,15 @@
93
public void clear() {
- 94 228 if (concatenatingFilter != null ) {
- 95 228 concatenatingFilter.clear();
+ 94 2 if (concatenatingFilter != null ) {
+ 95 2 concatenatingFilter.clear();
96
}
- 97 228 }
+ 97 2 }
98
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html
index 6cb3eb3a1..c0bf0a7b5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer.html
@@ -159,6 +159,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html
index 76193fc47..f8461a672 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter.html
@@ -95,7 +95,7 @@
39
- 40 48 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
+ 40 18 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class );
41
42
@@ -126,9 +126,9 @@
55
public TokenPairConcatenatingFilter(TokenStream stream) {
- 56 48 super (stream);
- 57 48 words = new LinkedList<String>();
- 58 48 }
+ 56 18 super (stream);
+ 57 18 words = new LinkedList<String>();
+ 58 18 }
59
60
@@ -155,35 +155,35 @@
71
- 72 15744 while (input.incrementToken()) {
- 73 4470 final String word = new String(termAtt.buffer(), 0, termAtt.length());
- 74 4470 words.add(word);
- 75 4470 }
+ 72 5526 while (input.incrementToken()) {
+ 73 1550 final String word = new String(termAtt.buffer(), 0, termAtt.length());
+ 74 1550 words.add(word);
+ 75 1550 }
76
77
78
- 79 11274 if (previousWord != null && words.size() > 0) {
- 80 4236 final String word = words.getFirst();
- 81 4236 clearAttributes();
- 82 4236 termAtt.append(previousWord).append(word);
- 83 4236 previousWord = null ;
- 84 4236 return true ;
+ 79 3976 if (previousWord != null && words.size() > 0) {
+ 80 1530 final String word = words.getFirst();
+ 81 1530 clearAttributes();
+ 82 1530 termAtt.append(previousWord).append(word);
+ 83 1530 previousWord = null ;
+ 84 1530 return true ;
85
}
86
- 87 7038 if (words.size() > 0) {
- 88 4470 final String word = words.removeFirst();
- 89 4470 clearAttributes();
- 90 4470 termAtt.append(word);
- 91 4470 previousWord = word;
- 92 4470 return true ;
+ 87 2446 if (words.size() > 0) {
+ 88 1550 final String word = words.removeFirst();
+ 89 1550 clearAttributes();
+ 90 1550 termAtt.append(word);
+ 91 1550 previousWord = word;
+ 92 1550 return true ;
93
}
- 94 2568 return false ;
+ 94 896 return false ;
95
}
96
@@ -202,13 +202,13 @@
103
public void clear() {
- 104 228 previousWord = null ;
- 105 228 words.clear();
- 106 228 }
+ 104 2 previousWord = null ;
+ 105 2 words.clear();
+ 106 2 }
107
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html
index 35983c715..c92d8ed3a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter.html
@@ -109,8 +109,8 @@
46
public UrlTokenizingFilter(TokenStream stream) {
- 47 66 super (stream);
- 48 66 }
+ 47 24 super (stream);
+ 48 24 }
49
50
@@ -133,22 +133,22 @@
@Override
59
public boolean incrementToken() throws IOException {
- 60 91474 final LinkedList<String> tokens = getTokens();
- 61 91474 final CharTermAttribute termAtt = getTermAtt();
- 62 91474 if (tokens.size() == 0 && input.incrementToken()) {
- 63 55929 final String text = new String(termAtt.buffer(), 0, termAtt.length());
- 64 55929 if (UrlStringUtils.containsUrl(text)) {
- 65 6 final String[] parts = text.split("\\s" );
- 66 12 for (String part : parts) {
- 67 6 if (UrlStringUtils.isUrl(part)) {
+ 60 30745 final LinkedList<String> tokens = getTokens();
+ 61 30745 final CharTermAttribute termAtt = getTermAtt();
+ 62 30745 if (tokens.size() == 0 && input.incrementToken()) {
+ 63 18697 final String text = new String(termAtt.buffer(), 0, termAtt.length());
+ 64 18697 if (UrlStringUtils.containsUrl(text)) {
+ 65 2 final String[] parts = text.split("\\s" );
+ 66 4 for (String part : parts) {
+ 67 2 if (UrlStringUtils.isUrl(part)) {
68
try {
- 69 6 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
- 70 6 tokens.addAll(data);
+ 69 2 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
+ 70 2 tokens.addAll(data);
71 0 } catch (MalformedURLException ex) {
72 0 Logger.getLogger(UrlTokenizingFilter.class .getName()).log(Level.INFO, "error parsing " + part, ex);
73 0 tokens.add(part);
- 74 6 }
+ 74 2 }
75
} else {
76 0 tokens.add(part);
@@ -156,19 +156,19 @@
}
78
}
- 79 6 } else {
- 80 55923 tokens.add(text);
+ 79 2 } else {
+ 80 18695 tokens.add(text);
81
}
82
}
- 83 91215 return addTerm();
+ 83 30677 return addTerm();
84
}
85
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html
index d2a36cbc9..282c7bd5c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionAnalyzer.html
@@ -156,6 +156,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html
index 4a6596348..f2e6a4694 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter.html
@@ -197,6 +197,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html
index 558ca9e2e..9676555b3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CorruptDatabaseException.html
@@ -119,6 +119,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html
index 71b144a9e..8ab0f8695 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.CveDB.html
@@ -12,7 +12,7 @@
@@ -119,7 +119,7 @@
51
- 52 33 public class CveDB {
+ 52 14 public class CveDB {
53
54
@@ -137,7 +137,7 @@
60
61
- public static final String DB_SCHEMA_VERSION = "2.5" ;
+ public static final String DB_SCHEMA_VERSION = "2.6" ;
62
63
@@ -344,824 +344,802 @@
justification = "Yes, I know... Blank password." )
164
public void open() throws IOException, SQLException, DatabaseException, ClassNotFoundException {
- 165
-
- 166
-
- 167
-
- 168
-
- 169
-
- 170
-
- 171
-
- 172
-
- 173
-
+ 165 14 final String fileName = CveDB.getDataDirectory().getCanonicalPath();
+ 166 14 final File f = new File(fileName, "cve." + DB_SCHEMA_VERSION);
+ 167 14 final File check = new File(f.getAbsolutePath() + ".h2.db" );
+ 168 14 final boolean createTables = !check.exists();
+ 169 14 final String connStr = String.format("jdbc:h2:file:%s;AUTO_SERVER=TRUE" , f.getAbsolutePath());
+ 170 14 Class.forName("org.h2.Driver" );
+ 171 14 conn = DriverManager.getConnection(connStr, "sa" , "" );
+ 172 14 if (createTables) {
+ 173 0 createTables();
174
-
- 175 33 final String fileName = CveDB.getDataDirectory().getCanonicalPath();
- 176 33 final File f = new File(fileName, "cve." + DB_SCHEMA_VERSION);
- 177 33 final File check = new File(f.getAbsolutePath() + ".h2.db" );
- 178 33 final boolean createTables = !check.exists();
- 179 33 final String connStr = "jdbc:h2:file:" + f.getAbsolutePath();
- 180 33 Class.forName("org.h2.Driver" );
- 181 33 conn = DriverManager.getConnection(connStr, "sa" , "" );
- 182 33 if (createTables) {
- 183 0 createTables();
- 184
}
+ 175 14 }
+ 176
+
+ 177
+
+ 178
+
+ 179
+
+ 180
+
+ 181
+
+ 182
+ public void commit() throws SQLException {
+ 183 1 if (conn != null ) {
+ 184 1 conn.commit();
185
-
- 186 33 }
+ }
+ 186 1 }
187
188
189
-
+
190
191
-
+
192
193
- public void commit() throws SQLException {
- 194 3 if (conn != null ) {
- 195 3 conn.commit();
- 196
- }
- 197 3 }
+ @Override
+ 194
+ protected void finalize() throws Throwable {
+ 195 6 close();
+ 196 6 super .finalize();
+ 197 6 }
198
199
200
-
- 201
-
- 202
-
- 203
-
- 204
- @Override
- 205
- protected void finalize() throws Throwable {
- 206 15 close();
- 207 15 super .finalize();
- 208 15 }
- 209
-
- 210
-
- 211
- 212
+ 201
- 213
+ 202
- 214
+ 203
public void close() {
- 215 48 if (conn != null ) {
- 216
+ 204 20 if (conn != null ) {
+ 205
try {
- 217 33 conn.close();
- 218 0 } catch (SQLException ex) {
- 219 0 final String msg = "There was an error attempting to close the CveDB, see the log for more details." ;
- 220 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, msg, ex);
- 221 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
- 222 33 }
- 223 33 conn = null ;
- 224
+ 206 14 conn.close();
+ 207 0 } catch (SQLException ex) {
+ 208 0 final String msg = "There was an error attempting to close the CveDB, see the log for more details." ;
+ 209 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, msg, ex);
+ 210 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
+ 211 14 }
+ 212 14 conn = null ;
+ 213
}
- 225 48 }
- 226
+ 214 20 }
+ 215
- 227
+ 216
- 228
+ 217
- 229
+ 218
- 230
+ 219
- 231
+ 220
- 232
+ 221
- 233
+ 222
- 234
+ 223
- 235
+ 224
- 236
+ 225
- 237
+ 226
public Set<VulnerableSoftware> getCPEs(String vendor, String product) {
- 238 42 final Set<VulnerableSoftware> cpe = new HashSet<VulnerableSoftware>();
- 239 42 ResultSet rs = null ;
- 240 42 PreparedStatement ps = null ;
- 241
+ 227 28 final Set<VulnerableSoftware> cpe = new HashSet<VulnerableSoftware>();
+ 228 28 ResultSet rs = null ;
+ 229 28 PreparedStatement ps = null ;
+ 230
try {
- 242 42 ps = conn.prepareStatement(SELECT_CPE_ENTRIES);
- 243 42 ps.setString(1, vendor);
- 244 42 ps.setString(2, product);
- 245 42 rs = ps.executeQuery();
- 246
+ 231 28 ps = conn.prepareStatement(SELECT_CPE_ENTRIES);
+ 232 28 ps.setString(1, vendor);
+ 233 28 ps.setString(2, product);
+ 234 28 rs = ps.executeQuery();
+ 235
- 247 1088 while (rs.next()) {
- 248 1046 final VulnerableSoftware vs = new VulnerableSoftware();
- 249 1046 vs.setCpe(rs.getString(1));
- 250 1046 cpe.add(vs);
- 251 1046 }
- 252 0 } catch (SQLException ex) {
- 253 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
- 254
+ 236 1888 while (rs.next()) {
+ 237 1860 final VulnerableSoftware vs = new VulnerableSoftware();
+ 238 1860 vs.setCpe(rs.getString(1));
+ 239 1860 cpe.add(vs);
+ 240 1860 }
+ 241 0 } catch (SQLException ex) {
+ 242 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
+ 243
} finally {
- 255 42 closeResultSet(rs);
- 256 42 closeStatement(ps);
- 257 42 }
- 258 42 return cpe;
- 259
+ 244 28 closeResultSet(rs);
+ 245 28 closeStatement(ps);
+ 246 28 }
+ 247 28 return cpe;
+ 248
}
- 260
+ 249
- 261
+ 250
- 262
+ 251
- 263
+ 252
- 264
+ 253
- 265
+ 254
- 266
+ 255
- 267
+ 256
- 268
+ 257
public List<Vulnerability> getVulnerabilities(String cpeStr) throws DatabaseException {
- 269 3 ResultSet rs = null ;
- 270 3 final VulnerableSoftware cpe = new VulnerableSoftware();
- 271
+ 258 1 ResultSet rs = null ;
+ 259 1 final VulnerableSoftware cpe = new VulnerableSoftware();
+ 260
try {
- 272 3 cpe.parseName(cpeStr);
- 273 0 } catch (UnsupportedEncodingException ex) {
- 274 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
- 275 3 }
- 276 3 final DependencyVersion detectedVersion = parseDependencyVersion(cpe);
- 277 3 final List<Vulnerability> vulnerabilities = new ArrayList<Vulnerability>();
- 278
+ 261 1 cpe.parseName(cpeStr);
+ 262 0 } catch (UnsupportedEncodingException ex) {
+ 263 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
+ 264 1 }
+ 265 1 final DependencyVersion detectedVersion = parseDependencyVersion(cpe);
+ 266 1 final List<Vulnerability> vulnerabilities = new ArrayList<Vulnerability>();
+ 267
- 279
+ 268
PreparedStatement ps;
- 280 3 final HashSet<String> cveEntries = new HashSet<String>();
+ 269 1 final HashSet<String> cveEntries = new HashSet<String>();
+ 270
+ try {
+ 271 1 ps = conn.prepareStatement(SELECT_CVE_FROM_SOFTWARE);
+ 272 1 ps.setString(1, cpe.getVendor());
+ 273 1 ps.setString(2, cpe.getProduct());
+ 274 1 rs = ps.executeQuery();
+ 275 634 while (rs.next()) {
+ 276 633 final String cveId = rs.getString(1);
+ 277 633 final String cpeId = rs.getString(2);
+ 278 633 final String previous = rs.getString(3);
+ 279 633 if (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {
+ 280 18 cveEntries.add(cveId);
281
- try {
- 282 3 ps = conn.prepareStatement(SELECT_CVE_FROM_SOFTWARE);
- 283 3 ps.setString(1, cpe.getVendor());
- 284 3 ps.setString(2, cpe.getProduct());
- 285 3 rs = ps.executeQuery();
- 286 1901 while (rs.next()) {
- 287 1898 final String cveId = rs.getString(1);
- 288 1898 final String cpeId = rs.getString(2);
- 289 1898 final String previous = rs.getString(3);
- 290 1898 if (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {
- 291 54 cveEntries.add(cveId);
+ }
+ 282 633 }
+ 283 1 closeResultSet(rs);
+ 284 1 closeStatement(ps);
+ 285 1 for (String cve : cveEntries) {
+ 286 18 final Vulnerability v = getVulnerability(cve);
+ 287 18 vulnerabilities.add(v);
+ 288 18 }
+ 289
+
+ 290 0 } catch (SQLException ex) {
+ 291 0 throw new DatabaseException("Exception retrieving vulnerability for " + cpeStr, ex);
292
- }
- 293 1898 }
- 294 3 closeResultSet(rs);
- 295 3 closeStatement(ps);
- 296 3 for (String cve : cveEntries) {
- 297 54 final Vulnerability v = getVulnerability(cve);
- 298 54 vulnerabilities.add(v);
- 299 54 }
- 300
-
- 301 0 } catch (SQLException ex) {
- 302 0 throw new DatabaseException("Exception retrieving vulnerability for " + cpeStr, ex);
- 303
} finally {
- 304 3 closeResultSet(rs);
- 305 3 }
- 306 3 return vulnerabilities;
- 307
+ 293 1 closeResultSet(rs);
+ 294 1 }
+ 295 1 return vulnerabilities;
+ 296
}
- 308
+ 297
- 309
+ 298
- 310
+ 299
- 311
+ 300
- 312
+ 301
- 313
+ 302
- 314
+ 303
- 315
+ 304
- 316
+ 305
private Vulnerability getVulnerability(String cve) throws DatabaseException {
- 317 54 PreparedStatement psV = null ;
- 318 54 PreparedStatement psR = null ;
- 319 54 PreparedStatement psS = null ;
- 320 54 ResultSet rsV = null ;
- 321 54 ResultSet rsR = null ;
- 322 54 ResultSet rsS = null ;
- 323 54 Vulnerability vuln = null ;
- 324
+ 306 18 PreparedStatement psV = null ;
+ 307 18 PreparedStatement psR = null ;
+ 308 18 PreparedStatement psS = null ;
+ 309 18 ResultSet rsV = null ;
+ 310 18 ResultSet rsR = null ;
+ 311 18 ResultSet rsS = null ;
+ 312 18 Vulnerability vuln = null ;
+ 313
try {
- 325 54 psV = conn.prepareStatement(SELECT_VULNERABILITY);
- 326 54 psV.setString(1, cve);
- 327 54 rsV = psV.executeQuery();
- 328 54 if (rsV.next()) {
- 329 54 vuln = new Vulnerability();
- 330 54 vuln.setName(cve);
- 331 54 vuln.setDescription(rsV.getString(2));
- 332 54 String cwe = rsV.getString(3);
- 333 54 if (cwe != null ) {
- 334 51 final String name = CweDB.getCweName(cwe);
- 335 51 if (name != null ) {
- 336 48 cwe += " " + name;
+ 314 18 psV = conn.prepareStatement(SELECT_VULNERABILITY);
+ 315 18 psV.setString(1, cve);
+ 316 18 rsV = psV.executeQuery();
+ 317 18 if (rsV.next()) {
+ 318 18 vuln = new Vulnerability();
+ 319 18 vuln.setName(cve);
+ 320 18 vuln.setDescription(rsV.getString(2));
+ 321 18 String cwe = rsV.getString(3);
+ 322 18 if (cwe != null ) {
+ 323 17 final String name = CweDB.getCweName(cwe);
+ 324 17 if (name != null ) {
+ 325 16 cwe += " " + name;
+ 326
+ }
+ 327
+ }
+ 328 18 final int cveId = rsV.getInt(1);
+ 329 18 vuln.setCwe(cwe);
+ 330 18 vuln.setCvssScore(rsV.getFloat(4));
+ 331 18 vuln.setCvssAccessVector(rsV.getString(5));
+ 332 18 vuln.setCvssAccessComplexity(rsV.getString(6));
+ 333 18 vuln.setCvssAuthentication(rsV.getString(7));
+ 334 18 vuln.setCvssConfidentialityImpact(rsV.getString(8));
+ 335 18 vuln.setCvssIntegrityImpact(rsV.getString(9));
+ 336 18 vuln.setCvssAvailabilityImpact(rsV.getString(10));
337
- }
- 338
- }
- 339 54 final int cveId = rsV.getInt(1);
- 340 54 vuln.setCwe(cwe);
- 341 54 vuln.setCvssScore(rsV.getFloat(4));
- 342 54 vuln.setCvssAccessVector(rsV.getString(5));
- 343 54 vuln.setCvssAccessComplexity(rsV.getString(6));
- 344 54 vuln.setCvssAuthentication(rsV.getString(7));
- 345 54 vuln.setCvssConfidentialityImpact(rsV.getString(8));
- 346 54 vuln.setCvssIntegrityImpact(rsV.getString(9));
- 347 54 vuln.setCvssAvailabilityImpact(rsV.getString(10));
- 348
- 349 54 psR = conn.prepareStatement(SELECT_REFERENCE);
- 350 54 psR.setInt(1, cveId);
- 351 54 rsR = psR.executeQuery();
- 352 312 while (rsR.next()) {
- 353 258 vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));
- 354
+ 338 18 psR = conn.prepareStatement(SELECT_REFERENCE);
+ 339 18 psR.setInt(1, cveId);
+ 340 18 rsR = psR.executeQuery();
+ 341 104 while (rsR.next()) {
+ 342 86 vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));
+ 343
}
- 355 54 psS = conn.prepareStatement(SELECT_SOFTWARE);
- 356 54 psS.setInt(1, cveId);
- 357 54 rsS = psS.executeQuery();
- 358 1881 while (rsS.next()) {
- 359 1827 final String cpe = rsS.getString(1);
- 360 1827 final String prevVersion = rsS.getString(2);
- 361 1827 if (prevVersion == null ) {
- 362 1794 vuln.addVulnerableSoftware(cpe);
- 363
+ 344 18 psS = conn.prepareStatement(SELECT_SOFTWARE);
+ 345 18 psS.setInt(1, cveId);
+ 346 18 rsS = psS.executeQuery();
+ 347 627 while (rsS.next()) {
+ 348 609 final String cpe = rsS.getString(1);
+ 349 609 final String prevVersion = rsS.getString(2);
+ 350 609 if (prevVersion == null ) {
+ 351 598 vuln.addVulnerableSoftware(cpe);
+ 352
} else {
- 364 33 vuln.addVulnerableSoftware(cpe, prevVersion);
- 365
+ 353 11 vuln.addVulnerableSoftware(cpe, prevVersion);
+ 354
}
- 366 1827 }
- 367
+ 355 609 }
+ 356
}
- 368 0 } catch (SQLException ex) {
- 369 0 throw new DatabaseException("Error retrieving " + cve, ex);
- 370
+ 357 0 } catch (SQLException ex) {
+ 358 0 throw new DatabaseException("Error retrieving " + cve, ex);
+ 359
} finally {
- 371 54 closeResultSet(rsV);
- 372 54 closeResultSet(rsR);
- 373 54 closeResultSet(rsS);
- 374 54 closeStatement(psV);
- 375 54 closeStatement(psR);
- 376 54 closeStatement(psS);
- 377 54 }
- 378 54 return vuln;
- 379
+ 360 18 closeResultSet(rsV);
+ 361 18 closeResultSet(rsR);
+ 362 18 closeResultSet(rsS);
+ 363 18 closeStatement(psV);
+ 364 18 closeStatement(psR);
+ 365 18 closeStatement(psS);
+ 366 18 }
+ 367 18 return vuln;
+ 368
}
- 380
+ 369
- 381
+ 370
- 382
+ 371
- 383
+ 372
- 384
+ 373
- 385
+ 374
- 386
+ 375
- 387
+ 376
- 388
+ 377
public void updateVulnerability(Vulnerability vuln) throws DatabaseException {
- 389 0 PreparedStatement selectVulnerabilityId = null ;
- 390 0 PreparedStatement deleteReferences = null ;
- 391 0 PreparedStatement deleteSoftware = null ;
- 392 0 PreparedStatement updateVulnerability = null ;
- 393 0 PreparedStatement insertVulnerability = null ;
- 394 0 PreparedStatement insertReference = null ;
- 395 0 PreparedStatement selectCpeId = null ;
- 396 0 PreparedStatement insertCpe = null ;
- 397 0 PreparedStatement insertSoftware = null ;
- 398
+ 378 0 PreparedStatement selectVulnerabilityId = null ;
+ 379 0 PreparedStatement deleteReferences = null ;
+ 380 0 PreparedStatement deleteSoftware = null ;
+ 381 0 PreparedStatement updateVulnerability = null ;
+ 382 0 PreparedStatement insertVulnerability = null ;
+ 383 0 PreparedStatement insertReference = null ;
+ 384 0 PreparedStatement selectCpeId = null ;
+ 385 0 PreparedStatement insertCpe = null ;
+ 386 0 PreparedStatement insertSoftware = null ;
+ 387
- 399
+ 388
try {
- 400 0 selectVulnerabilityId = conn.prepareStatement(SELECT_VULNERABILITY_ID);
- 401 0 deleteReferences = conn.prepareStatement(DELETE_REFERENCE);
- 402 0 deleteSoftware = conn.prepareStatement(DELETE_SOFTWARE);
- 403 0 updateVulnerability = conn.prepareStatement(UPDATE_VULNERABILITY);
- 404 0 insertVulnerability = conn.prepareStatement(INSERT_VULNERABILITY, Statement.RETURN_GENERATED_KEYS);
- 405 0 insertReference = conn.prepareStatement(INSERT_REFERENCE);
- 406 0 selectCpeId = conn.prepareStatement(SELECT_CPE_ID);
- 407 0 insertCpe = conn.prepareStatement(INSERT_CPE, Statement.RETURN_GENERATED_KEYS);
- 408 0 insertSoftware = conn.prepareStatement(INSERT_SOFTWARE);
- 409 0 int vulnerabilityId = 0;
- 410 0 selectVulnerabilityId.setString(1, vuln.getName());
- 411 0 ResultSet rs = selectVulnerabilityId.executeQuery();
- 412 0 if (rs.next()) {
- 413 0 vulnerabilityId = rs.getInt(1);
- 414
+ 389 0 selectVulnerabilityId = conn.prepareStatement(SELECT_VULNERABILITY_ID);
+ 390 0 deleteReferences = conn.prepareStatement(DELETE_REFERENCE);
+ 391 0 deleteSoftware = conn.prepareStatement(DELETE_SOFTWARE);
+ 392 0 updateVulnerability = conn.prepareStatement(UPDATE_VULNERABILITY);
+ 393 0 insertVulnerability = conn.prepareStatement(INSERT_VULNERABILITY, Statement.RETURN_GENERATED_KEYS);
+ 394 0 insertReference = conn.prepareStatement(INSERT_REFERENCE);
+ 395 0 selectCpeId = conn.prepareStatement(SELECT_CPE_ID);
+ 396 0 insertCpe = conn.prepareStatement(INSERT_CPE, Statement.RETURN_GENERATED_KEYS);
+ 397 0 insertSoftware = conn.prepareStatement(INSERT_SOFTWARE);
+ 398 0 int vulnerabilityId = 0;
+ 399 0 selectVulnerabilityId.setString(1, vuln.getName());
+ 400 0 ResultSet rs = selectVulnerabilityId.executeQuery();
+ 401 0 if (rs.next()) {
+ 402 0 vulnerabilityId = rs.getInt(1);
+ 403
- 415 0 deleteReferences.setInt(1, vulnerabilityId);
- 416 0 deleteReferences.execute();
- 417 0 deleteSoftware.setInt(1, vulnerabilityId);
- 418 0 deleteSoftware.execute();
- 419
+ 404 0 deleteReferences.setInt(1, vulnerabilityId);
+ 405 0 deleteReferences.execute();
+ 406 0 deleteSoftware.setInt(1, vulnerabilityId);
+ 407 0 deleteSoftware.execute();
+ 408
}
- 420 0 closeResultSet(rs);
- 421 0 rs = null ;
- 422 0 if (vulnerabilityId != 0) {
- 423 0 updateVulnerability.setString(1, vuln.getDescription());
- 424 0 updateVulnerability.setString(2, vuln.getCwe());
- 425 0 updateVulnerability.setFloat(3, vuln.getCvssScore());
- 426 0 updateVulnerability.setString(4, vuln.getCvssAccessVector());
- 427 0 updateVulnerability.setString(5, vuln.getCvssAccessComplexity());
- 428 0 updateVulnerability.setString(6, vuln.getCvssAuthentication());
- 429 0 updateVulnerability.setString(7, vuln.getCvssConfidentialityImpact());
- 430 0 updateVulnerability.setString(8, vuln.getCvssIntegrityImpact());
- 431 0 updateVulnerability.setString(9, vuln.getCvssAvailabilityImpact());
- 432 0 updateVulnerability.setInt(10, vulnerabilityId);
- 433 0 updateVulnerability.executeUpdate();
- 434
+ 409 0 closeResultSet(rs);
+ 410 0 rs = null ;
+ 411 0 if (vulnerabilityId != 0) {
+ 412 0 updateVulnerability.setString(1, vuln.getDescription());
+ 413 0 updateVulnerability.setString(2, vuln.getCwe());
+ 414 0 updateVulnerability.setFloat(3, vuln.getCvssScore());
+ 415 0 updateVulnerability.setString(4, vuln.getCvssAccessVector());
+ 416 0 updateVulnerability.setString(5, vuln.getCvssAccessComplexity());
+ 417 0 updateVulnerability.setString(6, vuln.getCvssAuthentication());
+ 418 0 updateVulnerability.setString(7, vuln.getCvssConfidentialityImpact());
+ 419 0 updateVulnerability.setString(8, vuln.getCvssIntegrityImpact());
+ 420 0 updateVulnerability.setString(9, vuln.getCvssAvailabilityImpact());
+ 421 0 updateVulnerability.setInt(10, vulnerabilityId);
+ 422 0 updateVulnerability.executeUpdate();
+ 423
} else {
- 435 0 insertVulnerability.setString(1, vuln.getName());
- 436 0 insertVulnerability.setString(2, vuln.getDescription());
- 437 0 insertVulnerability.setString(3, vuln.getCwe());
- 438 0 insertVulnerability.setFloat(4, vuln.getCvssScore());
- 439 0 insertVulnerability.setString(5, vuln.getCvssAccessVector());
- 440 0 insertVulnerability.setString(6, vuln.getCvssAccessComplexity());
- 441 0 insertVulnerability.setString(7, vuln.getCvssAuthentication());
- 442 0 insertVulnerability.setString(8, vuln.getCvssConfidentialityImpact());
- 443 0 insertVulnerability.setString(9, vuln.getCvssIntegrityImpact());
- 444 0 insertVulnerability.setString(10, vuln.getCvssAvailabilityImpact());
- 445 0 insertVulnerability.execute();
+ 424 0 insertVulnerability.setString(1, vuln.getName());
+ 425 0 insertVulnerability.setString(2, vuln.getDescription());
+ 426 0 insertVulnerability.setString(3, vuln.getCwe());
+ 427 0 insertVulnerability.setFloat(4, vuln.getCvssScore());
+ 428 0 insertVulnerability.setString(5, vuln.getCvssAccessVector());
+ 429 0 insertVulnerability.setString(6, vuln.getCvssAccessComplexity());
+ 430 0 insertVulnerability.setString(7, vuln.getCvssAuthentication());
+ 431 0 insertVulnerability.setString(8, vuln.getCvssConfidentialityImpact());
+ 432 0 insertVulnerability.setString(9, vuln.getCvssIntegrityImpact());
+ 433 0 insertVulnerability.setString(10, vuln.getCvssAvailabilityImpact());
+ 434 0 insertVulnerability.execute();
+ 435
+ try {
+ 436 0 rs = insertVulnerability.getGeneratedKeys();
+ 437 0 rs.next();
+ 438 0 vulnerabilityId = rs.getInt(1);
+ 439 0 } catch (SQLException ex) {
+ 440 0 final String msg = String.format("Unable to retrieve id for new vulnerability for '%s'" , vuln.getName());
+ 441 0 throw new DatabaseException(msg, ex);
+ 442
+ } finally {
+ 443 0 closeResultSet(rs);
+ 444 0 rs = null ;
+ 445 0 }
446
- try {
- 447 0 rs = insertVulnerability.getGeneratedKeys();
- 448 0 rs.next();
- 449 0 vulnerabilityId = rs.getInt(1);
- 450 0 } catch (SQLException ex) {
- 451 0 final String msg = String.format("Unable to retrieve id for new vulnerability for '%s'" , vuln.getName());
- 452 0 throw new DatabaseException(msg, ex);
+ }
+ 447 0 insertReference.setInt(1, vulnerabilityId);
+ 448 0 for (Reference r : vuln.getReferences()) {
+ 449 0 insertReference.setString(2, r.getName());
+ 450 0 insertReference.setString(3, r.getUrl());
+ 451 0 insertReference.setString(4, r.getSource());
+ 452 0 insertReference.execute();
453
- } finally {
- 454 0 closeResultSet(rs);
- 455 0 rs = null ;
- 456 0 }
+ }
+ 454 0 for (VulnerableSoftware s : vuln.getVulnerableSoftware()) {
+ 455 0 int cpeProductId = 0;
+ 456 0 selectCpeId.setString(1, s.getName());
457
- }
- 458 0 insertReference.setInt(1, vulnerabilityId);
- 459 0 for (Reference r : vuln.getReferences()) {
- 460 0 insertReference.setString(2, r.getName());
- 461 0 insertReference.setString(3, r.getUrl());
- 462 0 insertReference.setString(4, r.getSource());
- 463 0 insertReference.execute();
- 464
- }
- 465 0 for (VulnerableSoftware s : vuln.getVulnerableSoftware()) {
- 466 0 int cpeProductId = 0;
- 467 0 selectCpeId.setString(1, s.getName());
- 468
try {
- 469 0 rs = selectCpeId.executeQuery();
- 470 0 if (rs.next()) {
- 471 0 cpeProductId = rs.getInt(1);
- 472
+ 458 0 rs = selectCpeId.executeQuery();
+ 459 0 if (rs.next()) {
+ 460 0 cpeProductId = rs.getInt(1);
+ 461
}
- 473 0 } catch (SQLException ex) {
- 474 0 throw new DatabaseException("Unable to get primary key for new cpe: " + s.getName(), ex);
- 475
+ 462 0 } catch (SQLException ex) {
+ 463 0 throw new DatabaseException("Unable to get primary key for new cpe: " + s.getName(), ex);
+ 464
} finally {
- 476 0 closeResultSet(rs);
- 477 0 rs = null ;
- 478 0 }
+ 465 0 closeResultSet(rs);
+ 466 0 rs = null ;
+ 467 0 }
+ 468
+
+ 469 0 if (cpeProductId == 0) {
+ 470 0 insertCpe.setString(1, s.getName());
+ 471 0 insertCpe.setString(2, s.getVendor());
+ 472 0 insertCpe.setString(3, s.getProduct());
+ 473 0 insertCpe.executeUpdate();
+ 474 0 cpeProductId = getGeneratedKey(insertCpe);
+ 475
+ }
+ 476 0 if (cpeProductId == 0) {
+ 477 0 throw new DatabaseException("Unable to retrieve cpeProductId - no data returned" );
+ 478
+ }
479
- 480 0 if (cpeProductId == 0) {
- 481 0 insertCpe.setString(1, s.getName());
- 482 0 insertCpe.setString(2, s.getVendor());
- 483 0 insertCpe.setString(3, s.getProduct());
- 484 0 insertCpe.executeUpdate();
- 485 0 cpeProductId = getGeneratedKey(insertCpe);
+ 480 0 insertSoftware.setInt(1, vulnerabilityId);
+ 481 0 insertSoftware.setInt(2, cpeProductId);
+ 482 0 if (s.getPreviousVersion() == null ) {
+ 483 0 insertSoftware.setNull(3, java.sql.Types.VARCHAR);
+ 484
+ } else {
+ 485 0 insertSoftware.setString(3, s.getPreviousVersion());
486
}
- 487 0 if (cpeProductId == 0) {
- 488 0 throw new DatabaseException("Unable to retrieve cpeProductId - no data returned" );
+ 487 0 insertSoftware.execute();
+ 488 0 }
489
- }
- 490
- 491 0 insertSoftware.setInt(1, vulnerabilityId);
- 492 0 insertSoftware.setInt(2, cpeProductId);
- 493 0 if (s.getPreviousVersion() == null ) {
- 494 0 insertSoftware.setNull(3, java.sql.Types.VARCHAR);
- 495
- } else {
- 496 0 insertSoftware.setString(3, s.getPreviousVersion());
- 497
- }
- 498 0 insertSoftware.execute();
- 499 0 }
- 500
-
- 501 0 } catch (SQLException ex) {
- 502 0 final String msg = String.format("Error updating '%s'" , vuln.getName());
- 503 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
- 504 0 throw new DatabaseException(msg, ex);
- 505
+ 490 0 } catch (SQLException ex) {
+ 491 0 final String msg = String.format("Error updating '%s'" , vuln.getName());
+ 492 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
+ 493 0 throw new DatabaseException(msg, ex);
+ 494
} finally {
- 506 0 closeStatement(selectVulnerabilityId);
- 507 0 closeStatement(deleteReferences);
- 508 0 closeStatement(deleteSoftware);
- 509 0 closeStatement(updateVulnerability);
- 510 0 closeStatement(insertVulnerability);
- 511 0 closeStatement(insertReference);
- 512 0 closeStatement(selectCpeId);
- 513 0 closeStatement(insertCpe);
- 514 0 closeStatement(insertSoftware);
- 515 0 }
- 516 0 }
- 517
+ 495 0 closeStatement(selectVulnerabilityId);
+ 496 0 closeStatement(deleteReferences);
+ 497 0 closeStatement(deleteSoftware);
+ 498 0 closeStatement(updateVulnerability);
+ 499 0 closeStatement(insertVulnerability);
+ 500 0 closeStatement(insertReference);
+ 501 0 closeStatement(selectCpeId);
+ 502 0 closeStatement(insertCpe);
+ 503 0 closeStatement(insertSoftware);
+ 504 0 }
+ 505 0 }
+ 506
- 518
+ 507
- 519
+ 508
- 520
+ 509
- 521
+ 510
- 522
+ 511
- 523
+ 512
- 524
+ 513
- 525
+ 514
public static File getDataDirectory() throws IOException {
- 526 33 final File path = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);
- 527 33 if (!path.exists()) {
- 528 0 if (!path.mkdirs()) {
- 529 0 throw new IOException("Unable to create NVD CVE Data directory" );
- 530
+ 515 16 final File path = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);
+ 516 16 if (!path.exists()) {
+ 517 2 if (!path.mkdirs()) {
+ 518 0 throw new IOException("Unable to create NVD CVE Data directory" );
+ 519
}
- 531
+ 520
}
- 532 33 return path;
- 533
+ 521 16 return path;
+ 522
}
- 534
+ 523
- 535
+ 524
- 536
+ 525
- 537
+ 526
- 538
+ 527
- 539
+ 528
- 540
+ 529
public void cleanupDatabase() {
- 541 0 PreparedStatement ps = null ;
+ 530 0 PreparedStatement ps = null ;
+ 531
+ try {
+ 532 0 ps = conn.prepareStatement(CLEANUP_ORPHANS);
+ 533 0 if (ps != null ) {
+ 534 0 ps.executeUpdate();
+ 535
+ }
+ 536 0 } catch (SQLException ex) {
+ 537 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
+ 538
+ } finally {
+ 539 0 closeStatement(ps);
+ 540 0 }
+ 541 0 }
542
- try {
- 543 0 ps = conn.prepareStatement(CLEANUP_ORPHANS);
- 544 0 if (ps != null ) {
- 545 0 ps.executeUpdate();
- 546
- }
- 547 0 } catch (SQLException ex) {
- 548 0 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
- 549
- } finally {
- 550 0 closeStatement(ps);
- 551 0 }
- 552 0 }
- 553
- 554
+ 543
- 555
+ 544
- 556
+ 545
- 557
+ 546
- 558
+ 547
- 559
+ 548
- 560
+ 549
protected void createTables() throws SQLException, DatabaseException {
- 561
+ 550
InputStream is;
- 562
+ 551
InputStreamReader reader;
- 563 0 BufferedReader in = null ;
- 564
+ 552 0 BufferedReader in = null ;
+ 553
try {
- 565 0 is = this .getClass().getClassLoader().getResourceAsStream(DB_STRUCTURE_RESOURCE);
- 566 0 reader = new InputStreamReader(is, "UTF-8" );
- 567 0 in = new BufferedReader(reader);
- 568 0 final StringBuilder sb = new StringBuilder(2110);
- 569
+ 554 0 is = this .getClass().getClassLoader().getResourceAsStream(DB_STRUCTURE_RESOURCE);
+ 555 0 reader = new InputStreamReader(is, "UTF-8" );
+ 556 0 in = new BufferedReader(reader);
+ 557 0 final StringBuilder sb = new StringBuilder(2110);
+ 558
String tmp;
- 570 0 while ((tmp = in.readLine()) != null ) {
- 571 0 sb.append(tmp);
- 572
+ 559 0 while ((tmp = in.readLine()) != null ) {
+ 560 0 sb.append(tmp);
+ 561
}
- 573 0 Statement statement = null ;
- 574
+ 562 0 Statement statement = null ;
+ 563
try {
- 575 0 statement = conn.createStatement();
- 576 0 statement.execute(sb.toString());
- 577
+ 564 0 statement = conn.createStatement();
+ 565 0 statement.execute(sb.toString());
+ 566
} finally {
- 578 0 closeStatement(statement);
- 579 0 }
- 580 0 } catch (IOException ex) {
- 581 0 throw new DatabaseException("Unable to create database schema" , ex);
- 582
+ 567 0 closeStatement(statement);
+ 568 0 }
+ 569 0 } catch (IOException ex) {
+ 570 0 throw new DatabaseException("Unable to create database schema" , ex);
+ 571
} finally {
- 583 0 if (in != null ) {
- 584
+ 572 0 if (in != null ) {
+ 573
try {
- 585 0 in.close();
- 586 0 } catch (IOException ex) {
- 587 0 Logger.getLogger(CveDB.class
- 588
+ 574 0 in.close();
+ 575 0 } catch (IOException ex) {
+ 576 0 Logger.getLogger(CveDB.class
+ 577
.getName()).log(Level.FINEST, null , ex);
- 589 0 }
- 590
+ 578 0 }
+ 579
}
- 591
+ 580
}
- 592 0 }
- 593
+ 581 0 }
+ 582
- 594
+ 583
- 595
+ 584
- 596
+ 585
- 597
+ 586
- 598
+ 587
- 599
+ 588
private void closeStatement(Statement statement) {
- 600 207 if (statement != null ) {
- 601
+ 589 83 if (statement != null ) {
+ 590
try {
- 602 207 statement.close();
- 603 0 } catch (SQLException ex) {
- 604 0 Logger.getLogger(CveDB.class
- 605
+ 591 83 statement.close();
+ 592 0 } catch (SQLException ex) {
+ 593 0 Logger.getLogger(CveDB.class
+ 594
.getName()).log(Level.FINEST, statement.toString(), ex);
- 606 207 }
- 607
+ 595 83 }
+ 596
}
- 608 207 }
- 609
+ 597 83 }
+ 598
- 610
+ 599
- 611
+ 600
- 612
+ 601
- 613
+ 602
- 614
+ 603
- 615
+ 604
- 616
+ 605
private void closeResultSet(ResultSet rs) {
- 617 210 if (rs != null ) {
- 618
+ 606 84 if (rs != null ) {
+ 607
try {
- 619 210 rs.close();
- 620 0 } catch (SQLException ex) {
- 621 0 Logger.getLogger(CveDB.class
- 622
+ 608 84 rs.close();
+ 609 0 } catch (SQLException ex) {
+ 610 0 Logger.getLogger(CveDB.class
+ 611
.getName()).log(Level.FINEST, rs.toString(), ex);
- 623 210 }
- 624
+ 612 84 }
+ 613
}
- 625 210 }
- 626
+ 614 84 }
+ 615
- 627
+ 616
- 628
+ 617
- 629
+ 618
- 630
+ 619
- 631
+ 620
- 632
+ 621
- 633
+ 622
- 634
+ 623
- 635
+ 624
private int getGeneratedKey(PreparedStatement statement) throws DatabaseException {
- 636 0 ResultSet rs = null ;
- 637 0 int id = 0;
- 638
+ 625 0 ResultSet rs = null ;
+ 626 0 int id = 0;
+ 627
try {
- 639 0 rs = statement.getGeneratedKeys();
- 640 0 rs.next();
- 641 0 id = rs.getInt(1);
- 642 0 } catch (SQLException ex) {
- 643 0 throw new DatabaseException("Unable to get primary key for inserted row" );
- 644
+ 628 0 rs = statement.getGeneratedKeys();
+ 629 0 rs.next();
+ 630 0 id = rs.getInt(1);
+ 631 0 } catch (SQLException ex) {
+ 632 0 throw new DatabaseException("Unable to get primary key for inserted row" );
+ 633
} finally {
- 645 0 closeResultSet(rs);
- 646 0 }
- 647 0 return id;
- 648
+ 634 0 closeResultSet(rs);
+ 635 0 }
+ 636 0 return id;
+ 637
}
- 649
+ 638
- 650
+ 639
- 651
+ 640
- 652
+ 641
- 653
+ 642
- 654
+ 643
- 655
+ 644
- 656
+ 645
- 657
+ 646
- 658
+ 647
- 659
+ 648
- 660
+ 649
- 661
+ 650
- 662
+ 651
- 663
+ 652
- 664
+ 653
- 665
+ 654
- 666
+ 655
private boolean isAffected(String vendor, String product, DependencyVersion identifiedVersion, String cpeId, String previous) {
- 667 1145 boolean affected = false ;
- 668 1145 final boolean isStruts = "apache" .equals(vendor) && "struts" .equals(product);
- 669 1145 final DependencyVersion v = parseDependencyVersion(cpeId);
- 670 1145 final boolean prevAffected = previous == null ? false : !previous.isEmpty();
- 671 1145 if (identifiedVersion == null || "-" .equals(identifiedVersion.toString())) {
- 672 0 if (v == null || "-" .equals(v.toString())) {
- 673 0 affected = true ;
- 674
+ 656 382 boolean affected = false ;
+ 657 382 final boolean isStruts = "apache" .equals(vendor) && "struts" .equals(product);
+ 658 382 final DependencyVersion v = parseDependencyVersion(cpeId);
+ 659 382 final boolean prevAffected = previous == null ? false : !previous.isEmpty();
+ 660 382 if (identifiedVersion == null || "-" .equals(identifiedVersion.toString())) {
+ 661 0 if (v == null || "-" .equals(v.toString())) {
+ 662 0 affected = true ;
+ 663
}
- 675 1145 } else if (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {
- 676 54 if (isStruts) {
- 677 54 if (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {
- 678 54 affected = true ;
- 679
+ 664 382 } else if (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {
+ 665 18 if (isStruts) {
+ 666 18 if (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {
+ 667 18 affected = true ;
+ 668
}
- 680
+ 669
} else {
- 681 0 affected = true ;
- 682
+ 670 0 affected = true ;
+ 671
}
- 683
+ 672
}
- 684
+ 673
- 685
+ 674
- 686
+ 675
- 687
+ 676
- 688 1145 return affected;
- 689
+ 677 382 return affected;
+ 678
}
- 690
+ 679
- 691
+ 680
- 692
+ 681
- 693
+ 682
- 694
+ 683
- 695
+ 684
- 696
+ 685
- 697
+ 686
- 698
+ 687
private DependencyVersion parseDependencyVersion(String cpeStr) {
- 699 1145 final VulnerableSoftware cpe = new VulnerableSoftware();
- 700
+ 688 382 final VulnerableSoftware cpe = new VulnerableSoftware();
+ 689
try {
- 701 1145 cpe.parseName(cpeStr);
- 702 0 } catch (UnsupportedEncodingException ex) {
- 703
+ 690 382 cpe.parseName(cpeStr);
+ 691 0 } catch (UnsupportedEncodingException ex) {
+ 692
- 704 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
- 705 1145 }
- 706 1145 return parseDependencyVersion(cpe);
- 707
+ 693 0 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
+ 694 382 }
+ 695 382 return parseDependencyVersion(cpe);
+ 696
}
- 708
+ 697
- 709
+ 698
- 710
+ 699
- 711
+ 700
- 712
+ 701
- 713
+ 702
- 714
+ 703
- 715
+ 704
- 716
+ 705
private DependencyVersion parseDependencyVersion(VulnerableSoftware cpe) {
- 717
+ 706
DependencyVersion cpeVersion;
- 718 1148 if (cpe.getVersion() != null && cpe.getVersion().length() > 0) {
- 719
+ 707 383 if (cpe.getVersion() != null && cpe.getVersion().length() > 0) {
+ 708
String versionText;
- 720 1146 if (cpe.getRevision() != null && cpe.getRevision().length() > 0) {
- 721 0 versionText = String.format("%s.%s" , cpe.getVersion(), cpe.getRevision());
- 722
+ 709 382 if (cpe.getRevision() != null && cpe.getRevision().length() > 0) {
+ 710 0 versionText = String.format("%s.%s" , cpe.getVersion(), cpe.getRevision());
+ 711
} else {
- 723 1146 versionText = cpe.getVersion();
- 724
+ 712 382 versionText = cpe.getVersion();
+ 713
}
- 725 1146 cpeVersion = DependencyVersionUtil.parseVersion(versionText);
- 726 1146 } else {
- 727 2 cpeVersion = new DependencyVersion("-" );
- 728
+ 714 382 cpeVersion = DependencyVersionUtil.parseVersion(versionText);
+ 715 382 } else {
+ 716 1 cpeVersion = new DependencyVersion("-" );
+ 717
}
- 729 1148 return cpeVersion;
- 730
+ 718 383 return cpeVersion;
+ 719
}
- 731
+ 720
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html
index eabf12d03..bd04ee9c1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.DatabaseException.html
@@ -117,6 +117,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.InvalidDataException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.InvalidDataException.html
new file mode 100644
index 000000000..c59337673
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.InvalidDataException.html
@@ -0,0 +1,124 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nvdcve.InvalidDataException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.nvdcve;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+ public class InvalidDataException extends Exception {
+ 28
+
+ 29
+
+ 30
+
+ 31
+
+ 32
+ private static final long serialVersionUID = 1L;
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+ public InvalidDataException(String msg) {
+ 40 0 super (msg);
+ 41 0 }
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+
+ 48
+
+ 49
+ public InvalidDataException(String msg, Exception ex) {
+ 50 0 super (msg, ex);
+ 51 0 }
+ 52
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.html
new file mode 100644
index 000000000..a2d0e6bcd
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler.html
@@ -0,0 +1,462 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.nvdcve;
+ 20
+
+ 21
+ import java.util.ArrayList;
+ 22
+ import java.util.HashMap;
+ 23
+ import java.util.List;
+ 24
+ import java.util.Map;
+ 25
+ import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+ 26
+ import org.xml.sax.Attributes;
+ 27
+ import org.xml.sax.SAXException;
+ 28
+ import org.xml.sax.SAXNotSupportedException;
+ 29
+ import org.xml.sax.helpers.DefaultHandler;
+ 30
+
+ 31
+
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40 1 public class NvdCve12Handler extends DefaultHandler {
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+ private static final String CURRENT_SCHEMA_VERSION = "1.2" ;
+ 46
+
+ 47
+
+ 48
+
+ 49
+ private String vulnerability;
+ 50
+
+ 51
+
+ 52
+
+ 53
+ private List<VulnerableSoftware> software;
+ 54
+
+ 55
+
+ 56
+
+ 57
+ private String vendor;
+ 58
+
+ 59
+
+ 60
+
+ 61
+ private String product;
+ 62
+
+ 63
+
+ 64
+
+ 65 1 private boolean skip = false ;
+ 66
+
+ 67
+
+ 68
+
+ 69 1 private boolean hasPreviousVersion = false ;
+ 70
+
+ 71
+
+ 72
+
+ 73 1 private final Element current = new Element();
+ 74
+
+ 75
+
+ 76
+
+ 77
+ private Map<String, List<VulnerableSoftware>> vulnerabilities;
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+ public Map<String, List<VulnerableSoftware>> getVulnerabilities() {
+ 85 1 return vulnerabilities;
+ 86
+ }
+ 87
+
+ 88
+ @Override
+ 89
+ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
+ 90 1222 current.setNode(qName);
+ 91 1222 if (current.isEntryNode()) {
+ 92 27 vendor = null ;
+ 93 27 product = null ;
+ 94 27 hasPreviousVersion = false ;
+ 95 27 final String reject = attributes.getValue("reject" );
+ 96 27 skip = "1" .equals(reject);
+ 97 27 if (!skip) {
+ 98 26 vulnerability = attributes.getValue("name" );
+ 99 26 software = new ArrayList<VulnerableSoftware>();
+ 100
+ } else {
+ 101 1 vulnerability = null ;
+ 102 1 software = null ;
+ 103
+ }
+ 104 27 } else if (!skip && current.isProdNode()) {
+ 105
+
+ 106 52 vendor = attributes.getValue("vendor" );
+ 107 52 product = attributes.getValue("name" );
+ 108 1143 } else if (!skip && current.isVersNode()) {
+ 109 761 final String prev = attributes.getValue("prev" );
+ 110 761 if (prev != null && "1" .equals(prev)) {
+ 111 1 hasPreviousVersion = true ;
+ 112 1 final String edition = attributes.getValue("edition" );
+ 113 1 final String num = attributes.getValue("num" );
+ 114
+
+ 115
+
+ 116
+
+ 117
+
+ 118 1 String cpe = "cpe:/a:" + vendor + ":" + product;
+ 119 1 if (num != null ) {
+ 120 1 cpe += ":" + num;
+ 121
+ }
+ 122 1 if (edition != null ) {
+ 123 0 cpe += ":" + edition;
+ 124
+ }
+ 125 1 final VulnerableSoftware vs = new VulnerableSoftware();
+ 126 1 vs.setCpe(cpe);
+ 127 1 vs.setPreviousVersion(prev);
+ 128 1 software.add(vs);
+ 129
+ }
+ 130 761 } else if (current.isNVDNode()) {
+ 131 1 final String nvdVer = attributes.getValue("nvd_xml_version" );
+ 132 1 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
+ 133 0 throw new SAXNotSupportedException("Schema version " + nvdVer + " is not supported" );
+ 134
+ }
+ 135 1 vulnerabilities = new HashMap<String, List<VulnerableSoftware>>();
+ 136
+ }
+ 137 1222 }
+ 138
+
+ 139
+ @Override
+ 140
+ public void endElement(String uri, String localName, String qName) throws SAXException {
+ 141 1222 current.setNode(qName);
+ 142 1222 if (current.isEntryNode()) {
+ 143 27 if (!skip && hasPreviousVersion) {
+ 144 1 vulnerabilities.put(vulnerability, software);
+ 145
+ }
+ 146 27 vulnerability = null ;
+ 147 27 software = null ;
+ 148
+ }
+ 149 1222 }
+ 150
+
+ 151
+
+ 152
+
+ 153
+
+ 154
+
+ 155
+
+ 156 1 protected static class Element {
+ 157
+
+ 158
+
+ 159
+
+ 160
+
+ 161
+ public static final String NVD = "nvd" ;
+ 162
+
+ 163
+
+ 164
+
+ 165
+ public static final String ENTRY = "entry" ;
+ 166
+
+ 167
+
+ 168
+
+ 169
+ public static final String VULN_SOFTWARE = "vuln_soft" ;
+ 170
+
+ 171
+
+ 172
+
+ 173
+ public static final String PROD = "prod" ;
+ 174
+
+ 175
+
+ 176
+
+ 177
+ public static final String VERS = "vers" ;
+ 178
+
+ 179
+
+ 180
+
+ 181
+ private String node;
+ 182
+
+ 183
+
+ 184
+
+ 185
+
+ 186
+
+ 187
+
+ 188
+ public String getNode() {
+ 189 0 return this .node;
+ 190
+ }
+ 191
+
+ 192
+
+ 193
+
+ 194
+
+ 195
+
+ 196
+
+ 197
+ public void setNode(String node) {
+ 198 2444 this .node = node;
+ 199 2444 }
+ 200
+
+ 201
+
+ 202
+
+ 203
+
+ 204
+
+ 205
+
+ 206
+ public boolean isNVDNode() {
+ 207 382 return NVD.equals(node);
+ 208
+ }
+ 209
+
+ 210
+
+ 211
+
+ 212
+
+ 213
+
+ 214
+
+ 215
+ public boolean isEntryNode() {
+ 216 2444 return ENTRY.equals(node);
+ 217
+ }
+ 218
+
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+
+ 224
+ public boolean isVulnSoftwareNode() {
+ 225 0 return VULN_SOFTWARE.equals(node);
+ 226
+ }
+ 227
+
+ 228
+
+ 229
+
+ 230
+
+ 231
+
+ 232
+
+ 233
+ public boolean isProdNode() {
+ 234 1192 return PROD.equals(node);
+ 235
+ }
+ 236
+
+ 237
+
+ 238
+
+ 239
+
+ 240
+
+ 241
+
+ 242
+ public boolean isVersNode() {
+ 243 1140 return VERS.equals(node);
+ 244
+ }
+ 245
+ }
+ 246
+
+ 247
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.html
new file mode 100644
index 000000000..1b690869c
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler.html
@@ -0,0 +1,905 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.nvdcve;
+ 20
+
+ 21
+ import java.io.IOException;
+ 22
+ import java.util.List;
+ 23
+ import java.util.Map;
+ 24
+ import java.util.logging.Level;
+ 25
+ import java.util.logging.Logger;
+ 26
+ import org.apache.lucene.index.CorruptIndexException;
+ 27
+ import org.owasp.dependencycheck.data.cpe.CpeIndexWriter;
+ 28
+ import org.owasp.dependencycheck.dependency.Reference;
+ 29
+ import org.owasp.dependencycheck.dependency.Vulnerability;
+ 30
+ import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+ 31
+ import org.xml.sax.Attributes;
+ 32
+ import org.xml.sax.SAXException;
+ 33
+ import org.xml.sax.SAXNotSupportedException;
+ 34
+ import org.xml.sax.helpers.DefaultHandler;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+
+ 41 1 public class NvdCve20Handler extends DefaultHandler {
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+ private static final String CURRENT_SCHEMA_VERSION = "2.0" ;
+ 47
+
+ 48
+
+ 49
+
+ 50 1 private final Element current = new Element();
+ 51
+
+ 52
+
+ 53
+
+ 54
+ private StringBuilder nodeText;
+ 55
+
+ 56
+
+ 57
+
+ 58
+ private Vulnerability vulnerability;
+ 59
+
+ 60
+
+ 61
+
+ 62
+ private Reference reference;
+ 63
+
+ 64
+
+ 65
+
+ 66 1 private boolean hasApplicationCpe = false ;
+ 67
+
+ 68
+
+ 69
+
+ 70
+ private int totalNumberOfEntries;
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+
+ 76
+
+ 77
+ public int getTotalNumberOfEntries() {
+ 78 0 return totalNumberOfEntries;
+ 79
+ }
+ 80
+
+ 81
+
+ 82
+
+ 83
+ private int totalNumberOfApplicationEntries;
+ 84
+
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+ public int getTotalNumberOfApplicationEntries() {
+ 91 0 return totalNumberOfApplicationEntries;
+ 92
+ }
+ 93
+
+ 94
+ @Override
+ 95
+ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
+ 96 2412 current.setNode(qName);
+ 97 2412 if (current.isEntryNode()) {
+ 98 27 hasApplicationCpe = false ;
+ 99 27 vulnerability = new Vulnerability();
+ 100 27 vulnerability.setName(attributes.getValue("id" ));
+ 101 2385 } else if (current.isVulnProductNode()) {
+ 102 727 nodeText = new StringBuilder(100);
+ 103 1658 } else if (current.isVulnReferencesNode()) {
+ 104 90 final String lang = attributes.getValue("xml:lang" );
+ 105 90 if ("en" .equals(lang)) {
+ 106 90 reference = new Reference();
+ 107
+ } else {
+ 108 0 reference = null ;
+ 109
+ }
+ 110 90 } else if (reference != null && current.isVulnReferenceNode()) {
+ 111 90 reference.setUrl(attributes.getValue("href" ));
+ 112 90 nodeText = new StringBuilder(130);
+ 113 1478 } else if (reference != null && current.isVulnSourceNode()) {
+ 114 90 nodeText = new StringBuilder(30);
+ 115 1388 } else if (current.isVulnSummaryNode()) {
+ 116 27 nodeText = new StringBuilder(500);
+ 117 1361 } else if (current.isNVDNode()) {
+ 118 1 final String nvdVer = attributes.getValue("nvd_xml_version" );
+ 119 1 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
+ 120 0 throw new SAXNotSupportedException("Schema version " + nvdVer + " is not supported" );
+ 121
+ }
+ 122 1 } else if (current.isVulnCWENode()) {
+ 123 19 vulnerability.setCwe(attributes.getValue("id" ));
+ 124 1341 } else if (current.isCVSSScoreNode()) {
+ 125 26 nodeText = new StringBuilder(5);
+ 126 1315 } else if (current.isCVSSAccessVectorNode()) {
+ 127 26 nodeText = new StringBuilder(20);
+ 128 1289 } else if (current.isCVSSAccessComplexityNode()) {
+ 129 26 nodeText = new StringBuilder(20);
+ 130 1263 } else if (current.isCVSSAuthenticationNode()) {
+ 131 26 nodeText = new StringBuilder(20);
+ 132 1237 } else if (current.isCVSSAvailabilityImpactNode()) {
+ 133 26 nodeText = new StringBuilder(20);
+ 134 1211 } else if (current.isCVSSConfidentialityImpactNode()) {
+ 135 26 nodeText = new StringBuilder(20);
+ 136 1185 } else if (current.isCVSSIntegrityImpactNode()) {
+ 137 26 nodeText = new StringBuilder(20);
+ 138
+ }
+ 139 2412 }
+ 140
+
+ 141
+ @Override
+ 142
+ public void characters(char [] ch, int start, int length) throws SAXException {
+ 143 3993 if (nodeText != null ) {
+ 144 1148 nodeText.append(ch, start, length);
+ 145
+ }
+ 146 3993 }
+ 147
+
+ 148
+ @Override
+ 149
+ public void endElement(String uri, String localName, String qName) throws SAXException {
+ 150 2412 current.setNode(qName);
+ 151 2412 if (current.isEntryNode()) {
+ 152 27 totalNumberOfEntries += 1;
+ 153 27 if (hasApplicationCpe) {
+ 154 18 totalNumberOfApplicationEntries += 1;
+ 155
+ try {
+ 156 18 saveEntry(vulnerability);
+ 157 0 } catch (DatabaseException ex) {
+ 158 0 throw new SAXException(ex);
+ 159 0 } catch (CorruptIndexException ex) {
+ 160 0 throw new SAXException(ex);
+ 161 0 } catch (IOException ex) {
+ 162 0 throw new SAXException(ex);
+ 163 18 }
+ 164
+ }
+ 165 27 vulnerability = null ;
+ 166 2385 } else if (current.isCVSSScoreNode()) {
+ 167
+ try {
+ 168 26 final float score = Float.parseFloat(nodeText.toString());
+ 169 26 vulnerability.setCvssScore(score);
+ 170 0 } catch (NumberFormatException ex) {
+ 171 0 Logger.getLogger(NvdCve20Handler.class .getName()).log(Level.SEVERE, "Error parsing CVSS Score." );
+ 172 0 Logger.getLogger(NvdCve20Handler.class .getName()).log(Level.FINE, null , ex);
+ 173 26 }
+ 174 26 nodeText = null ;
+ 175 2359 } else if (current.isCVSSAccessVectorNode()) {
+ 176 26 vulnerability.setCvssAccessVector(nodeText.toString());
+ 177 26 nodeText = null ;
+ 178 2333 } else if (current.isCVSSAccessComplexityNode()) {
+ 179 26 vulnerability.setCvssAccessComplexity(nodeText.toString());
+ 180 26 nodeText = null ;
+ 181 2307 } else if (current.isCVSSAuthenticationNode()) {
+ 182 26 vulnerability.setCvssAuthentication(nodeText.toString());
+ 183 26 nodeText = null ;
+ 184 2281 } else if (current.isCVSSAvailabilityImpactNode()) {
+ 185 26 vulnerability.setCvssAvailabilityImpact(nodeText.toString());
+ 186 26 nodeText = null ;
+ 187 2255 } else if (current.isCVSSConfidentialityImpactNode()) {
+ 188 26 vulnerability.setCvssConfidentialityImpact(nodeText.toString());
+ 189 26 nodeText = null ;
+ 190 2229 } else if (current.isCVSSIntegrityImpactNode()) {
+ 191 26 vulnerability.setCvssIntegrityImpact(nodeText.toString());
+ 192 26 nodeText = null ;
+ 193 2203 } else if (current.isVulnProductNode()) {
+ 194 727 final String cpe = nodeText.toString();
+ 195 727 if (cpe.startsWith("cpe:/a:" )) {
+ 196 614 hasApplicationCpe = true ;
+ 197 614 vulnerability.addVulnerableSoftware(cpe);
+ 198
+ }
+ 199 727 nodeText = null ;
+ 200 727 } else if (reference != null && current.isVulnReferencesNode()) {
+ 201 90 vulnerability.addReference(reference);
+ 202 90 reference = null ;
+ 203 1386 } else if (reference != null && current.isVulnReferenceNode()) {
+ 204 90 reference.setName(nodeText.toString());
+ 205 90 nodeText = null ;
+ 206 1296 } else if (reference != null && current.isVulnSourceNode()) {
+ 207 90 reference.setSource(nodeText.toString());
+ 208 90 nodeText = null ;
+ 209 1206 } else if (current.isVulnSummaryNode()) {
+ 210 27 vulnerability.setDescription(nodeText.toString());
+ 211 27 nodeText = null ;
+ 212
+ }
+ 213 2412 }
+ 214
+
+ 215
+
+ 216
+
+ 217
+ private CveDB cveDB;
+ 218
+
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+
+ 224
+ public void setCveDB(CveDB db) {
+ 225 0 cveDB = db;
+ 226 0 }
+ 227
+
+ 228
+
+ 229
+
+ 230
+
+ 231
+ private Map<String, List<VulnerableSoftware>> prevVersionVulnMap;
+ 232
+
+ 233
+
+ 234
+
+ 235
+
+ 236
+
+ 237
+
+ 238
+
+ 239
+ public void setPrevVersionVulnMap(Map<String, List<VulnerableSoftware>> map) {
+ 240 0 prevVersionVulnMap = map;
+ 241 0 }
+ 242
+
+ 243
+
+ 244
+
+ 245
+
+ 246
+
+ 247
+
+ 248
+
+ 249
+
+ 250
+
+ 251
+
+ 252
+
+ 253
+
+ 254
+ public void saveEntry(Vulnerability vuln) throws DatabaseException, CorruptIndexException, IOException {
+ 255 18 if (cveDB == null ) {
+ 256 18 return ;
+ 257
+ }
+ 258 0 final String cveName = vuln.getName();
+ 259 0 if (prevVersionVulnMap.containsKey(cveName)) {
+ 260 0 final List<VulnerableSoftware> vulnSoftware = prevVersionVulnMap.get(cveName);
+ 261 0 for (VulnerableSoftware vs : vulnSoftware) {
+ 262 0 vuln.updateVulnerableSoftware(vs);
+ 263
+ }
+ 264
+ }
+ 265 0 for (VulnerableSoftware vs : vuln.getVulnerableSoftware()) {
+ 266 0 if (cpeIndex != null ) {
+ 267 0 cpeIndex.saveEntry(vs);
+ 268
+ }
+ 269
+ }
+ 270 0 cveDB.updateVulnerability(vuln);
+ 271 0 }
+ 272
+
+ 273
+
+ 274
+
+ 275
+ private CpeIndexWriter cpeIndex;
+ 276
+
+ 277
+
+ 278
+
+ 279
+
+ 280
+
+ 281
+
+ 282
+ public void setCpeIndex(CpeIndexWriter index) {
+ 283 0 cpeIndex = index;
+ 284 0 }
+ 285
+
+ 286
+
+ 287
+
+ 288
+
+ 289
+
+ 290
+
+ 291 1 protected static class Element {
+ 292
+
+ 293
+
+ 294
+
+ 295
+
+ 296
+ public static final String NVD = "nvd" ;
+ 297
+
+ 298
+
+ 299
+
+ 300
+ public static final String ENTRY = "entry" ;
+ 301
+
+ 302
+
+ 303
+
+ 304
+ public static final String VULN_PRODUCT = "vuln:product" ;
+ 305
+
+ 306
+
+ 307
+
+ 308
+ public static final String VULN_REFERENCES = "vuln:references" ;
+ 309
+
+ 310
+
+ 311
+
+ 312
+ public static final String VULN_SOURCE = "vuln:source" ;
+ 313
+
+ 314
+
+ 315
+
+ 316
+ public static final String VULN_REFERENCE = "vuln:reference" ;
+ 317
+
+ 318
+
+ 319
+
+ 320
+ public static final String VULN_SUMMARY = "vuln:summary" ;
+ 321
+
+ 322
+
+ 323
+
+ 324
+ public static final String VULN_CWE = "vuln:cwe" ;
+ 325
+
+ 326
+
+ 327
+
+ 328
+ public static final String CVSS_SCORE = "cvss:score" ;
+ 329
+
+ 330
+
+ 331
+
+ 332
+ public static final String CVSS_ACCESS_VECTOR = "cvss:access-vector" ;
+ 333
+
+ 334
+
+ 335
+
+ 336
+ public static final String CVSS_ACCESS_COMPLEXITY = "cvss:access-complexity" ;
+ 337
+
+ 338
+
+ 339
+
+ 340
+ public static final String CVSS_AUTHENTICATION = "cvss:authentication" ;
+ 341
+
+ 342
+
+ 343
+
+ 344
+ public static final String CVSS_CONFIDENTIALITY_IMPACT = "cvss:confidentiality-impact" ;
+ 345
+
+ 346
+
+ 347
+
+ 348
+ public static final String CVSS_INTEGRITY_IMPACT = "cvss:integrity-impact" ;
+ 349
+
+ 350
+
+ 351
+
+ 352
+ public static final String CVSS_AVAILABILITY_IMPACT = "cvss:availability-impact" ;
+ 353
+
+ 354
+
+ 355
+
+ 356
+ private String node;
+ 357
+
+ 358
+
+ 359
+
+ 360
+
+ 361
+
+ 362
+
+ 363
+ public String getNode() {
+ 364 0 return this .node;
+ 365
+ }
+ 366
+
+ 367
+
+ 368
+
+ 369
+
+ 370
+
+ 371
+
+ 372
+ public void setNode(String node) {
+ 373 4824 this .node = node;
+ 374 4824 }
+ 375
+
+ 376
+
+ 377
+
+ 378
+
+ 379
+
+ 380
+
+ 381
+ public boolean isNVDNode() {
+ 382 1361 return NVD.equals(node);
+ 383
+ }
+ 384
+
+ 385
+
+ 386
+
+ 387
+
+ 388
+
+ 389
+
+ 390
+ public boolean isEntryNode() {
+ 391 4824 return ENTRY.equals(node);
+ 392
+ }
+ 393
+
+ 394
+
+ 395
+
+ 396
+
+ 397
+
+ 398
+
+ 399
+ public boolean isVulnProductNode() {
+ 400 4588 return VULN_PRODUCT.equals(node);
+ 401
+ }
+ 402
+
+ 403
+
+ 404
+
+ 405
+
+ 406
+
+ 407
+
+ 408
+ public boolean isVulnReferencesNode() {
+ 409 1928 return VULN_REFERENCES.equals(node);
+ 410
+ }
+ 411
+
+ 412
+
+ 413
+
+ 414
+
+ 415
+
+ 416
+
+ 417
+ public boolean isVulnReferenceNode() {
+ 418 360 return VULN_REFERENCE.equals(node);
+ 419
+ }
+ 420
+
+ 421
+
+ 422
+
+ 423
+
+ 424
+
+ 425
+
+ 426
+ public boolean isVulnSourceNode() {
+ 427 180 return VULN_SOURCE.equals(node);
+ 428
+ }
+ 429
+
+ 430
+
+ 431
+
+ 432
+
+ 433
+
+ 434
+
+ 435
+ public boolean isVulnSummaryNode() {
+ 436 2594 return VULN_SUMMARY.equals(node);
+ 437
+ }
+ 438
+
+ 439
+
+ 440
+
+ 441
+
+ 442
+
+ 443
+
+ 444
+ public boolean isVulnCWENode() {
+ 445 1360 return VULN_CWE.equals(node);
+ 446
+ }
+ 447
+
+ 448
+
+ 449
+
+ 450
+
+ 451
+
+ 452
+
+ 453
+ public boolean isCVSSScoreNode() {
+ 454 3726 return CVSS_SCORE.equals(node);
+ 455
+ }
+ 456
+
+ 457
+
+ 458
+
+ 459
+
+ 460
+
+ 461
+
+ 462
+ public boolean isCVSSAccessVectorNode() {
+ 463 3674 return CVSS_ACCESS_VECTOR.equals(node);
+ 464
+ }
+ 465
+
+ 466
+
+ 467
+
+ 468
+
+ 469
+
+ 470
+
+ 471
+ public boolean isCVSSAccessComplexityNode() {
+ 472 3622 return CVSS_ACCESS_COMPLEXITY.equals(node);
+ 473
+ }
+ 474
+
+ 475
+
+ 476
+
+ 477
+
+ 478
+
+ 479
+
+ 480
+ public boolean isCVSSAuthenticationNode() {
+ 481 3570 return CVSS_AUTHENTICATION.equals(node);
+ 482
+ }
+ 483
+
+ 484
+
+ 485
+
+ 486
+
+ 487
+
+ 488
+
+ 489
+ public boolean isCVSSConfidentialityImpactNode() {
+ 490 3466 return CVSS_CONFIDENTIALITY_IMPACT.equals(node);
+ 491
+ }
+ 492
+
+ 493
+
+ 494
+
+ 495
+
+ 496
+
+ 497
+
+ 498
+ public boolean isCVSSIntegrityImpactNode() {
+ 499 3414 return CVSS_INTEGRITY_IMPACT.equals(node);
+ 500
+ }
+ 501
+
+ 502
+
+ 503
+
+ 504
+
+ 505
+
+ 506
+
+ 507
+ public boolean isCVSSAvailabilityImpactNode() {
+ 508 3518 return CVSS_AVAILABILITY_IMPACT.equals(node);
+ 509
+ }
+ 510
+ }
+ 511
+
+ 512
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.DataStoreMetaInfo.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.DataStoreMetaInfo.html
new file mode 100644
index 000000000..77fd62641
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.DataStoreMetaInfo.html
@@ -0,0 +1,433 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.update.DataStoreMetaInfo
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.update;
+ 20
+
+ 21
+ import java.io.File;
+ 22
+ import java.io.FileInputStream;
+ 23
+ import java.io.FileNotFoundException;
+ 24
+ import java.io.FileOutputStream;
+ 25
+ import java.io.IOException;
+ 26
+ import java.io.InputStream;
+ 27
+ import java.io.OutputStream;
+ 28
+ import java.io.OutputStreamWriter;
+ 29
+ import java.util.Properties;
+ 30
+ import java.util.logging.Level;
+ 31
+ import java.util.logging.Logger;
+ 32
+ import org.owasp.dependencycheck.data.UpdateException;
+ 33
+ import org.owasp.dependencycheck.data.nvdcve.CveDB;
+ 34
+ import org.owasp.dependencycheck.utils.Settings;
+ 35
+
+ 36
+
+ 37
+
+ 38
+
+ 39
+
+ 40
+ public class DataStoreMetaInfo {
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+ public static final String BATCH = "batch" ;
+ 46
+
+ 47
+
+ 48
+
+ 49
+
+ 50
+ public static final String MODIFIED = "modified" ;
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+ private static final String UPDATE_PROPERTIES_FILE = "data.properties" ;
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+ public static final String LAST_UPDATED = "lastupdated.modified" ;
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+ public static final String LAST_UPDATED_BASE = "lastupdated." ;
+ 67
+
+ 68
+
+ 69
+
+ 70 2 private Properties properties = new Properties();
+ 71
+
+ 72
+
+ 73
+
+ 74
+
+ 75
+ private boolean batchUpdateMode;
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ protected boolean isBatchUpdateMode() {
+ 83 8 return batchUpdateMode;
+ 84
+ }
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+
+ 91
+ protected void setBatchUpdateMode(boolean batchUpdateMode) {
+ 92 0 this .batchUpdateMode = batchUpdateMode;
+ 93 0 }
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98 2 public DataStoreMetaInfo() {
+ 99 2 batchUpdateMode = !Settings.getString(Settings.KEYS.BATCH_UPDATE_URL, "" ).isEmpty();
+ 100 2 loadProperties();
+ 101 2 }
+ 102
+
+ 103
+
+ 104
+
+ 105
+
+ 106
+ private void loadProperties() {
+ 107 2 final File file = getPropertiesFile();
+ 108 2 if (file.exists()) {
+ 109 0 InputStream is = null ;
+ 110
+ try {
+ 111 0 is = new FileInputStream(file);
+ 112 0 } catch (FileNotFoundException ignore) {
+ 113
+
+ 114 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ignore);
+ 115 0 }
+ 116
+ try {
+ 117 0 properties.load(is);
+ 118 0 } catch (IOException ex) {
+ 119 0 final String msg = String.format("Unable to load properties file '%s'" , file.getPath());
+ 120 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.WARNING, msg);
+ 121 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+ 122
+ } finally {
+ 123 0 if (is != null ) {
+ 124
+ try {
+ 125 0 is.close();
+ 126 0 } catch (IOException ex) {
+ 127 0 final String msg = String.format("Unable to close properties file '%s'" , file.getPath());
+ 128 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.WARNING, msg);
+ 129 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+ 130 0 }
+ 131
+ }
+ 132
+ }
+ 133
+ }
+ 134 2 }
+ 135
+
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+
+ 141
+ public boolean isEmpty() {
+ 142 2 return properties.isEmpty();
+ 143
+ }
+ 144
+
+ 145
+
+ 146
+
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+
+ 152
+ public void save(NvdCveInfo updatedValue) throws UpdateException {
+ 153 1 if (updatedValue == null ) {
+ 154 0 return ;
+ 155
+ }
+ 156 1 final File cveProp = getPropertiesFile();
+ 157 1 final Properties prop = new Properties();
+ 158 1 if (cveProp.exists()) {
+ 159 1 FileInputStream in = null ;
+ 160
+ try {
+ 161 1 in = new FileInputStream(cveProp);
+ 162 1 prop.load(in);
+ 163 0 } catch (Exception ignoreMe) {
+ 164 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ignoreMe);
+ 165
+ } finally {
+ 166 1 if (in != null ) {
+ 167
+ try {
+ 168 1 in.close();
+ 169 0 } catch (Exception ignoreMeToo) {
+ 170 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ignoreMeToo);
+ 171 1 }
+ 172
+ }
+ 173
+ }
+ 174
+ }
+ 175 1 prop.put("version" , CveDB.DB_SCHEMA_VERSION);
+ 176 1 prop.put(LAST_UPDATED_BASE + updatedValue.getId(), String.valueOf(updatedValue.getTimestamp()));
+ 177
+
+ 178 1 OutputStream os = null ;
+ 179 1 OutputStreamWriter out = null ;
+ 180
+ try {
+ 181 1 os = new FileOutputStream(cveProp);
+ 182 1 out = new OutputStreamWriter(os, "UTF-8" );
+ 183 1 prop.store(out, "Meta data about data and data sources used by dependency-check" );
+ 184 0 } catch (FileNotFoundException ex) {
+ 185 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+ 186 0 throw new UpdateException("Unable to find last updated properties file." , ex);
+ 187 0 } catch (IOException ex) {
+ 188 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+ 189 0 throw new UpdateException("Unable to update last updated properties file." , ex);
+ 190
+ } finally {
+ 191 1 if (out != null ) {
+ 192
+ try {
+ 193 1 out.close();
+ 194 0 } catch (IOException ex) {
+ 195 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ex);
+ 196 1 }
+ 197
+ }
+ 198 1 if (os != null ) {
+ 199
+ try {
+ 200 1 os.close();
+ 201 0 } catch (IOException ex) {
+ 202 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ex);
+ 203 1 }
+ 204
+ }
+ 205
+ }
+ 206 1 }
+ 207
+
+ 208
+
+ 209
+
+ 210
+
+ 211
+
+ 212
+
+ 213
+
+ 214
+
+ 215
+ public String getProperty(String key) {
+ 216 0 return properties.getProperty(key);
+ 217
+ }
+ 218
+
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+
+ 224
+
+ 225
+
+ 226
+
+ 227
+ public String getProperty(String key, String defaultValue) {
+ 228 0 return properties.getProperty(key, defaultValue);
+ 229
+ }
+ 230
+
+ 231
+
+ 232
+
+ 233
+
+ 234
+
+ 235
+
+ 236
+ public static File getPropertiesFile() {
+ 237 7 final File dataDirectory = Settings.getFile(Settings.KEYS.DATA_DIRECTORY);
+ 238 7 final File file = new File(dataDirectory, UPDATE_PROPERTIES_FILE);
+ 239 7 return file;
+ 240
+ }
+ 241
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.DatabaseUpdater.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.DatabaseUpdater.html
new file mode 100644
index 000000000..42345562e
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.DatabaseUpdater.html
@@ -0,0 +1,901 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.update.DatabaseUpdater
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.update;
+ 20
+
+ 21
+ import org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler;
+ 22
+ import org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler;
+ 23
+ import org.owasp.dependencycheck.data.nvdcve.InvalidDataException;
+ 24
+ import java.io.File;
+ 25
+ import java.io.FileNotFoundException;
+ 26
+ import java.io.IOException;
+ 27
+ import javax.xml.parsers.ParserConfigurationException;
+ 28
+ import org.xml.sax.SAXException;
+ 29
+ import org.owasp.dependencycheck.data.CachedWebDataSource;
+ 30
+ import java.net.MalformedURLException;
+ 31
+ import java.net.URISyntaxException;
+ 32
+ import java.net.URL;
+ 33
+ import java.sql.SQLException;
+ 34
+ import java.util.Calendar;
+ 35
+ import java.util.Date;
+ 36
+ import java.util.List;
+ 37
+ import java.util.Map;
+ 38
+ import java.util.TreeMap;
+ 39
+ import java.util.logging.Level;
+ 40
+ import java.util.logging.Logger;
+ 41
+ import javax.xml.parsers.SAXParser;
+ 42
+ import javax.xml.parsers.SAXParserFactory;
+ 43
+ import org.owasp.dependencycheck.data.UpdateException;
+ 44
+ import org.owasp.dependencycheck.data.cpe.CpeIndexWriter;
+ 45
+ import org.owasp.dependencycheck.data.nvdcve.CveDB;
+ 46
+ import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+ 47
+ import org.owasp.dependencycheck.utils.DownloadFailedException;
+ 48
+ import org.owasp.dependencycheck.utils.Downloader;
+ 49
+ import org.owasp.dependencycheck.utils.FileUtils;
+ 50
+ import org.owasp.dependencycheck.utils.Settings;
+ 51
+ import org.owasp.dependencycheck.data.nvdcve.DatabaseException;
+ 52
+ import org.owasp.dependencycheck.utils.InvalidSettingException;
+ 53
+ import static org.owasp.dependencycheck.data.update.DataStoreMetaInfo.BATCH;
+ 54
+ import static org.owasp.dependencycheck.data.update.DataStoreMetaInfo.MODIFIED;
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+
+ 61 2 public class DatabaseUpdater implements CachedWebDataSource {
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66 2 private DataStoreMetaInfo properties = null ;
+ 67
+
+ 68
+
+ 69
+
+ 70 2 private CveDB cveDB = null ;
+ 71
+
+ 72
+
+ 73
+
+ 74 2 private CpeIndexWriter cpeIndex = null ;
+ 75
+
+ 76
+
+ 77
+
+ 78
+ private boolean doBatchUpdate;
+ 79
+
+ 80
+
+ 81
+
+ 82
+
+ 83
+
+ 84
+
+ 85
+ protected boolean isDoBatchUpdate() {
+ 86 2 return doBatchUpdate;
+ 87
+ }
+ 88
+
+ 89
+
+ 90
+
+ 91
+
+ 92
+
+ 93
+
+ 94
+ protected void setDoBatchUpdate(boolean doBatchUpdate) {
+ 95 2 this .doBatchUpdate = doBatchUpdate;
+ 96 2 }
+ 97
+
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+
+ 104
+
+ 105
+ @Override
+ 106
+ public void update() throws UpdateException {
+ 107 2 doBatchUpdate = false ;
+ 108 2 properties = new DataStoreMetaInfo();
+ 109
+ try {
+ 110 2 final Map<String, NvdCveInfo> update = updateNeeded();
+ 111 2 int maxUpdates = 0;
+ 112 2 for (NvdCveInfo cve : update.values()) {
+ 113 2 if (cve.getNeedsUpdate()) {
+ 114 0 maxUpdates += 1;
+ 115
+ }
+ 116
+ }
+ 117 2 if (maxUpdates > 3 && !properties.isBatchUpdateMode()) {
+ 118 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+ 119
+ "NVD CVE requires several updates; this could take a couple of minutes." );
+ 120
+ }
+ 121 2 if (maxUpdates > 0 && !isDoBatchUpdate()) {
+ 122 0 openDataStores();
+ 123
+ }
+ 124
+
+ 125 2 if (properties.isBatchUpdateMode() && isDoBatchUpdate()) {
+ 126
+ try {
+ 127 2 performBatchUpdate();
+ 128 2 openDataStores();
+ 129 0 } catch (IOException ex) {
+ 130 0 throw new UpdateException("Unable to perform batch update" , ex);
+ 131 2 }
+ 132
+ }
+ 133
+
+ 134 2 int count = 0;
+ 135 2 for (NvdCveInfo cve : update.values()) {
+ 136 2 if (cve.getNeedsUpdate()) {
+ 137 0 count += 1;
+ 138 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+ 139
+ "Updating NVD CVE ({0} of {1})" , new Object[]{count, maxUpdates});
+ 140 0 URL url = new URL(cve.getUrl());
+ 141 0 File outputPath = null ;
+ 142 0 File outputPath12 = null ;
+ 143
+ try {
+ 144 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+ 145
+ "Downloading {0}" , cve.getUrl());
+ 146 0 outputPath = File.createTempFile("cve" + cve.getId() + "_" , ".xml" );
+ 147 0 Downloader.fetchFile(url, outputPath);
+ 148
+
+ 149 0 url = new URL(cve.getOldSchemaVersionUrl());
+ 150 0 outputPath12 = File.createTempFile("cve_1_2_" + cve.getId() + "_" , ".xml" );
+ 151 0 Downloader.fetchFile(url, outputPath12);
+ 152
+
+ 153 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+ 154
+ "Processing {0}" , cve.getUrl());
+ 155
+
+ 156 0 importXML(outputPath, outputPath12);
+ 157
+
+ 158 0 cveDB.commit();
+ 159 0 cpeIndex.commit();
+ 160
+
+ 161 0 properties.save(cve);
+ 162
+
+ 163 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+ 164
+ "Completed update {0} of {1}" , new Object[]{count, maxUpdates});
+ 165 0 } catch (FileNotFoundException ex) {
+ 166 0 throw new UpdateException(ex);
+ 167 0 } catch (ParserConfigurationException ex) {
+ 168 0 throw new UpdateException(ex);
+ 169 0 } catch (SAXException ex) {
+ 170 0 throw new UpdateException(ex);
+ 171 0 } catch (IOException ex) {
+ 172 0 throw new UpdateException(ex);
+ 173 0 } catch (SQLException ex) {
+ 174 0 throw new UpdateException(ex);
+ 175 0 } catch (DatabaseException ex) {
+ 176 0 throw new UpdateException(ex);
+ 177 0 } catch (ClassNotFoundException ex) {
+ 178 0 throw new UpdateException(ex);
+ 179
+ } finally {
+ 180 0 boolean deleted = false ;
+ 181
+ try {
+ 182 0 if (outputPath != null && outputPath.exists()) {
+ 183 0 deleted = outputPath.delete();
+ 184
+ }
+ 185
+ } finally {
+ 186 0 if (outputPath != null && (outputPath.exists() || !deleted)) {
+ 187 0 outputPath.deleteOnExit();
+ 188
+ }
+ 189
+ }
+ 190
+ try {
+ 191 0 deleted = false ;
+ 192 0 if (outputPath12 != null && outputPath12.exists()) {
+ 193 0 deleted = outputPath12.delete();
+ 194
+ }
+ 195
+ } finally {
+ 196 0 if (outputPath12 != null && (outputPath12.exists() || !deleted)) {
+ 197 0 outputPath12.deleteOnExit();
+ 198
+ }
+ 199
+ }
+ 200 0 }
+ 201 2 }
+ 202
+ }
+ 203 2 if (maxUpdates >= 1) {
+ 204 0 properties.save(update.get(MODIFIED));
+ 205 0 cveDB.cleanupDatabase();
+ 206
+ }
+ 207 2 if (update.get(BATCH) != null ) {
+ 208 1 properties.save(update.get(BATCH));
+ 209
+ }
+ 210 0 } catch (MalformedURLException ex) {
+ 211 0 throw new UpdateException(ex);
+ 212 0 } catch (DownloadFailedException ex) {
+ 213 0 throw new UpdateException(ex);
+ 214
+ } finally {
+ 215 2 closeDataStores();
+ 216 2 }
+ 217 2 }
+ 218
+
+ 219
+
+ 220
+
+ 221
+
+ 222
+
+ 223
+
+ 224
+
+ 225
+
+ 226
+
+ 227
+
+ 228
+
+ 229
+
+ 230
+
+ 231
+
+ 232
+
+ 233
+ private void importXML(File file, File oldVersion)
+ 234
+ throws ParserConfigurationException, SAXException, IOException, SQLException, DatabaseException, ClassNotFoundException {
+ 235
+
+ 236 0 final SAXParserFactory factory = SAXParserFactory.newInstance();
+ 237 0 final SAXParser saxParser = factory.newSAXParser();
+ 238
+
+ 239 0 final NvdCve12Handler cve12Handler = new NvdCve12Handler();
+ 240 0 saxParser.parse(oldVersion, cve12Handler);
+ 241 0 final Map<String, List<VulnerableSoftware>> prevVersionVulnMap = cve12Handler.getVulnerabilities();
+ 242
+
+ 243 0 final NvdCve20Handler cve20Handler = new NvdCve20Handler();
+ 244 0 cve20Handler.setCveDB(cveDB);
+ 245 0 cve20Handler.setPrevVersionVulnMap(prevVersionVulnMap);
+ 246 0 cve20Handler.setCpeIndex(cpeIndex);
+ 247 0 saxParser.parse(file, cve20Handler);
+ 248 0 }
+ 249
+
+ 250
+
+ 251
+
+ 252
+
+ 253
+
+ 254
+
+ 255
+ protected void deleteExistingData() throws IOException {
+ 256 4 File data = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);
+ 257 4 if (data.exists()) {
+ 258 2 FileUtils.delete(data);
+ 259
+ }
+ 260 4 data = Settings.getFile(Settings.KEYS.CPE_DATA_DIRECTORY);
+ 261 4 if (data.exists()) {
+ 262 2 FileUtils.delete(data);
+ 263
+ }
+ 264 4 data = DataStoreMetaInfo.getPropertiesFile();
+ 265 4 if (data.exists()) {
+ 266 2 FileUtils.delete(data);
+ 267
+ }
+ 268 4 }
+ 269
+
+ 270
+
+ 271
+
+ 272
+
+ 273
+
+ 274
+
+ 275
+
+ 276
+ private void performBatchUpdate() throws UpdateException {
+ 277 2 if (properties.isBatchUpdateMode() && doBatchUpdate) {
+ 278 2 final String batchSrc = Settings.getString(Settings.KEYS.BATCH_UPDATE_URL);
+ 279 2 File tmp = null ;
+ 280
+ try {
+ 281 2 deleteExistingData();
+ 282 2 final File dataDirectory = CveDB.getDataDirectory().getParentFile();
+ 283 2 final URL batchUrl = new URL(batchSrc);
+ 284 2 if ("file" .equals(batchUrl.getProtocol())) {
+ 285
+ try {
+ 286 2 tmp = new File(batchUrl.toURI());
+ 287 0 } catch (URISyntaxException ex) {
+ 288 0 final String msg = String.format("Invalid batch update URI: %s" , batchSrc);
+ 289 0 throw new UpdateException(msg, ex);
+ 290 2 }
+ 291 0 } else if ("http" .equals(batchUrl.getProtocol())
+ 292
+ || "https" .equals(batchUrl.getProtocol())) {
+ 293 0 tmp = File.createTempFile("batch_" , ".zip" );
+ 294 0 Downloader.fetchFile(batchUrl, tmp);
+ 295
+ }
+ 296
+
+ 297 2 FileUtils.extractFiles(tmp, dataDirectory);
+ 298
+
+ 299 0 } catch (IOException ex) {
+ 300 0 final String msg = String.format("IO Exception Occured performing batch update using: %s" , batchSrc);
+ 301 0 throw new UpdateException(msg, ex);
+ 302
+ } finally {
+ 303 2 if (tmp != null && !tmp.delete()) {
+ 304 0 tmp.deleteOnExit();
+ 305
+ }
+ 306
+ }
+ 307
+ }
+ 308 2 }
+ 309
+
+ 310
+
+ 311
+
+ 312
+
+ 313
+ private void closeDataStores() {
+ 314 2 if (cveDB != null ) {
+ 315
+ try {
+ 316 2 cveDB.close();
+ 317 0 } catch (Exception ignore) {
+ 318 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINEST, "Error closing the cveDB" , ignore);
+ 319 2 }
+ 320
+ }
+ 321 2 if (cpeIndex != null ) {
+ 322
+ try {
+ 323 2 cpeIndex.close();
+ 324 0 } catch (Exception ignore) {
+ 325 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINEST, "Error closing the cpeIndex" , ignore);
+ 326 2 }
+ 327
+ }
+ 328 2 }
+ 329
+
+ 330
+
+ 331
+
+ 332
+
+ 333
+
+ 334
+
+ 335
+ private void openDataStores() throws UpdateException {
+ 336
+
+ 337
+ try {
+ 338 2 cveDB = new CveDB();
+ 339 2 cveDB.open();
+ 340 2 cpeIndex = new CpeIndexWriter();
+ 341 2 cpeIndex.open();
+ 342 0 } catch (IOException ex) {
+ 343 0 closeDataStores();
+ 344 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "IO Error opening databases" , ex);
+ 345 0 throw new UpdateException("Error updating the CPE/CVE data, please see the log file for more details." );
+ 346 0 } catch (SQLException ex) {
+ 347 0 closeDataStores();
+ 348 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "SQL Exception opening databases" , ex);
+ 349 0 throw new UpdateException("Error updating the CPE/CVE data, please see the log file for more details." );
+ 350 0 } catch (DatabaseException ex) {
+ 351 0 closeDataStores();
+ 352 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "Database Exception opening databases" , ex);
+ 353 0 throw new UpdateException("Error updating the CPE/CVE data, please see the log file for more details." );
+ 354 0 } catch (ClassNotFoundException ex) {
+ 355 0 closeDataStores();
+ 356 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "Class not found exception opening databases" , ex);
+ 357 0 throw new UpdateException("Error updating the CPE/CVE data, please see the log file for more details." );
+ 358 2 }
+ 359 2 }
+ 360
+
+ 361
+
+ 362
+
+ 363
+
+ 364
+
+ 365
+
+ 366
+
+ 367
+
+ 368
+
+ 369
+
+ 370
+
+ 371
+
+ 372
+
+ 373
+
+ 374
+
+ 375
+ private Map<String, NvdCveInfo> updateNeeded() throws MalformedURLException, DownloadFailedException, UpdateException {
+ 376
+
+ 377
+ Map<String, NvdCveInfo> currentlyPublished;
+ 378
+ try {
+ 379 2 currentlyPublished = retrieveCurrentTimestampsFromWeb();
+ 380 0 } catch (InvalidDataException ex) {
+ 381 0 final String msg = "Unable to retrieve valid timestamp from nvd cve downloads page" ;
+ 382 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, msg, ex);
+ 383 0 throw new DownloadFailedException(msg, ex);
+ 384 0 } catch (InvalidSettingException ex) {
+ 385 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, "Invalid setting found when retrieving timestamps" , ex);
+ 386 0 throw new DownloadFailedException("Invalid settings" , ex);
+ 387 2 }
+ 388
+
+ 389 2 if (currentlyPublished == null ) {
+ 390 0 throw new DownloadFailedException("Unable to retrieve the timestamps of the currently published NVD CVE data" );
+ 391
+ }
+ 392
+
+ 393
+
+ 394
+
+ 395
+
+ 396
+
+ 397
+
+ 398
+
+ 399
+
+ 400
+
+ 401
+
+ 402
+
+ 403
+
+ 404
+
+ 405
+
+ 406
+
+ 407
+
+ 408
+
+ 409
+
+ 410 2 if (!properties.isEmpty()) {
+ 411
+ try {
+ 412 0 boolean deleteAndRecreate = false ;
+ 413
+ float version;
+ 414
+
+ 415 0 if (properties.getProperty("version" ) == null ) {
+ 416 0 deleteAndRecreate = true ;
+ 417
+ } else {
+ 418
+ try {
+ 419 0 version = Float.parseFloat(properties.getProperty("version" ));
+ 420 0 final float currentVersion = Float.parseFloat(CveDB.DB_SCHEMA_VERSION);
+ 421 0 if (currentVersion > version) {
+ 422 0 deleteAndRecreate = true ;
+ 423
+ }
+ 424 0 } catch (NumberFormatException ex) {
+ 425 0 deleteAndRecreate = true ;
+ 426 0 }
+ 427
+ }
+ 428
+
+ 429 0 final NvdCveInfo batchInfo = currentlyPublished.get(BATCH);
+ 430 0 if (properties.isBatchUpdateMode() && batchInfo != null ) {
+ 431 0 final long lastUpdated = Long.parseLong(properties.getProperty(DataStoreMetaInfo.BATCH, "0" ));
+ 432 0 if (lastUpdated != batchInfo.getTimestamp()) {
+ 433 0 deleteAndRecreate = true ;
+ 434
+ }
+ 435
+ }
+ 436
+
+ 437 0 if (deleteAndRecreate) {
+ 438 0 setDoBatchUpdate(properties.isBatchUpdateMode());
+ 439
+ try {
+ 440 0 deleteExistingData();
+ 441 0 } catch (IOException ex) {
+ 442 0 final String msg = "Unable to delete existing data" ;
+ 443 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.WARNING, msg);
+ 444 0 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, null , ex);
+ 445 0 }
+ 446 0 return currentlyPublished;
+ 447
+ }
+ 448
+
+ 449 0 final long lastUpdated = Long.parseLong(properties.getProperty(DataStoreMetaInfo.LAST_UPDATED, "0" ));
+ 450 0 final Date now = new Date();
+ 451 0 final int days = Settings.getInt(Settings.KEYS.CVE_MODIFIED_VALID_FOR_DAYS, 7);
+ 452 0 final int start = Settings.getInt(Settings.KEYS.CVE_START_YEAR, 2002);
+ 453 0 final int end = Calendar.getInstance().get(Calendar.YEAR);
+ 454 0 if (lastUpdated == currentlyPublished.get(MODIFIED).getTimestamp()) {
+ 455 0 currentlyPublished.clear();
+ 456 0 setDoBatchUpdate(properties.isBatchUpdateMode());
+ 457 0 } else if (withinRange(lastUpdated, now.getTime(), days)) {
+ 458 0 currentlyPublished.get(MODIFIED).setNeedsUpdate(true );
+ 459 0 if (properties.isBatchUpdateMode()) {
+ 460 0 setDoBatchUpdate(false );
+ 461
+ } else {
+ 462 0 for (int i = start; i <= end; i++) {
+ 463 0 currentlyPublished.get(String.valueOf(i)).setNeedsUpdate(false );
+ 464
+ }
+ 465
+ }
+ 466 0 } else if (properties.isBatchUpdateMode()) {
+ 467 0 currentlyPublished.get(MODIFIED).setNeedsUpdate(true );
+ 468 0 setDoBatchUpdate(true );
+ 469
+ } else {
+ 470 0 currentlyPublished.get(MODIFIED).setNeedsUpdate(false );
+ 471 0 for (int i = start; i <= end; i++) {
+ 472 0 final NvdCveInfo cve = currentlyPublished.get(String.valueOf(i));
+ 473 0 long currentTimestamp = 0;
+ 474
+ try {
+ 475 0 currentTimestamp = Long.parseLong(properties.getProperty(DataStoreMetaInfo.LAST_UPDATED_BASE + String.valueOf(i), "0" ));
+ 476 0 } catch (NumberFormatException ex) {
+ 477 0 final String msg = String.format("Error parsing '%s' '%s' from nvdcve.lastupdated" ,
+ 478
+ DataStoreMetaInfo.LAST_UPDATED_BASE, String.valueOf(i));
+ 479 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, msg, ex);
+ 480 0 }
+ 481 0 if (currentTimestamp == cve.getTimestamp()) {
+ 482 0 cve.setNeedsUpdate(false );
+ 483
+ }
+ 484
+ }
+ 485
+ }
+ 486 0 } catch (NumberFormatException ex) {
+ 487 0 final String msg = "An invalid schema version or timestamp exists in the data.properties file." ;
+ 488 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.WARNING, msg);
+ 489 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+ 490 0 setDoBatchUpdate(properties.isBatchUpdateMode());
+ 491 0 }
+ 492
+ } else {
+ 493 2 setDoBatchUpdate(properties.isBatchUpdateMode());
+ 494
+ }
+ 495 2 return currentlyPublished;
+ 496
+ }
+ 497
+
+ 498
+
+ 499
+
+ 500
+
+ 501
+
+ 502
+
+ 503
+
+ 504
+
+ 505
+
+ 506
+
+ 507
+
+ 508
+
+ 509
+ private boolean withinRange(long date, long compareTo, int range) {
+ 510 0 final double differenceInDays = (compareTo - date) / 1000.0 / 60.0 / 60.0 / 24.0;
+ 511 0 return differenceInDays < range;
+ 512
+ }
+ 513
+
+ 514
+
+ 515
+
+ 516
+
+ 517
+
+ 518
+
+ 519
+
+ 520
+
+ 521
+
+ 522
+
+ 523
+
+ 524
+
+ 525
+
+ 526
+ private Map<String, NvdCveInfo> retrieveCurrentTimestampsFromWeb()
+ 527
+ throws MalformedURLException, DownloadFailedException, InvalidDataException, InvalidSettingException {
+ 528
+
+ 529 2 final Map<String, NvdCveInfo> map = new TreeMap<String, NvdCveInfo>();
+ 530 2 String retrieveUrl = Settings.getString(Settings.KEYS.CVE_MODIFIED_20_URL);
+ 531 2 if (retrieveUrl == null && properties.isBatchUpdateMode()) {
+ 532 1 final NvdCveInfo item = new NvdCveInfo();
+ 533 1 retrieveUrl = Settings.getString(Settings.KEYS.BATCH_UPDATE_URL);
+ 534 1 if (retrieveUrl == null ) {
+ 535 0 final String msg = "Invalid configuration - neither the modified or batch update URLs are specified in the configuration." ;
+ 536 0 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.SEVERE, msg);
+ 537 0 throw new InvalidSettingException(msg);
+ 538
+ }
+ 539 1 item.setTimestamp(Downloader.getLastModified(new URL(retrieveUrl)));
+ 540 1 item.setId(BATCH);
+ 541 1 item.setNeedsUpdate(false );
+ 542 1 map.put(BATCH, item);
+ 543 1 } else {
+ 544 1 NvdCveInfo item = new NvdCveInfo();
+ 545 1 item.setNeedsUpdate(false );
+ 546 1 item.setId(MODIFIED);
+ 547 1 item.setUrl(retrieveUrl);
+ 548 1 item.setOldSchemaVersionUrl(Settings.getString(Settings.KEYS.CVE_MODIFIED_12_URL));
+ 549
+
+ 550 1 item.setTimestamp(Downloader.getLastModified(new URL(retrieveUrl)));
+ 551 1 map.put(MODIFIED, item);
+ 552
+
+ 553
+
+ 554 1 if (!properties.isBatchUpdateMode()) {
+ 555 0 final int start = Settings.getInt(Settings.KEYS.CVE_START_YEAR);
+ 556 0 final int end = Calendar.getInstance().get(Calendar.YEAR);
+ 557 0 final String baseUrl20 = Settings.getString(Settings.KEYS.CVE_SCHEMA_2_0);
+ 558 0 final String baseUrl12 = Settings.getString(Settings.KEYS.CVE_SCHEMA_1_2);
+ 559 0 for (int i = start; i <= end; i++) {
+ 560 0 retrieveUrl = String.format(baseUrl20, i);
+ 561 0 item = new NvdCveInfo();
+ 562 0 item.setId(Integer.toString(i));
+ 563 0 item.setUrl(retrieveUrl);
+ 564 0 item.setOldSchemaVersionUrl(String.format(baseUrl12, i));
+ 565 0 item.setTimestamp(Downloader.getLastModified(new URL(retrieveUrl)));
+ 566 0 map.put(item.getId(), item);
+ 567
+ }
+ 568
+ }
+ 569
+ }
+ 570 2 return map;
+ 571
+ }
+ 572
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveInfo.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveInfo.html
new file mode 100644
index 000000000..bef1067ca
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.update.NvdCveInfo.html
@@ -0,0 +1,283 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.data.update.NvdCveInfo
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.data.update;
+ 20
+
+ 21
+
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26 2 public class NvdCveInfo {
+ 27
+
+ 28
+
+ 29
+
+ 30
+
+ 31
+ private String id;
+ 32
+
+ 33
+
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+ public String getId() {
+ 39 1 return id;
+ 40
+ }
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ public void setId(String id) {
+ 48 2 this .id = id;
+ 49 2 }
+ 50
+
+ 51
+
+ 52
+
+ 53
+ private String url;
+ 54
+
+ 55
+
+ 56
+
+ 57
+
+ 58
+
+ 59
+
+ 60
+ public String getUrl() {
+ 61 0 return url;
+ 62
+ }
+ 63
+
+ 64
+
+ 65
+
+ 66
+
+ 67
+
+ 68
+
+ 69
+ public void setUrl(String url) {
+ 70 1 this .url = url;
+ 71 1 }
+ 72
+
+ 73
+
+ 74
+
+ 75
+ private String oldSchemaVersionUrl;
+ 76
+
+ 77
+
+ 78
+
+ 79
+
+ 80
+
+ 81
+
+ 82
+ public String getOldSchemaVersionUrl() {
+ 83 0 return oldSchemaVersionUrl;
+ 84
+ }
+ 85
+
+ 86
+
+ 87
+
+ 88
+
+ 89
+
+ 90
+
+ 91
+ public void setOldSchemaVersionUrl(String oldSchemaVersionUrl) {
+ 92 1 this .oldSchemaVersionUrl = oldSchemaVersionUrl;
+ 93 1 }
+ 94
+
+ 95
+
+ 96
+
+ 97
+ private long timestamp;
+ 98
+
+ 99
+
+ 100
+
+ 101
+
+ 102
+
+ 103
+
+ 104
+ public long getTimestamp() {
+ 105 1 return timestamp;
+ 106
+ }
+ 107
+
+ 108
+
+ 109
+
+ 110
+
+ 111
+
+ 112
+
+ 113
+ public void setTimestamp(long timestamp) {
+ 114 2 this .timestamp = timestamp;
+ 115 2 }
+ 116
+
+ 117
+
+ 118
+
+ 119 2 private boolean needsUpdate = true ;
+ 120
+
+ 121
+
+ 122
+
+ 123
+
+ 124
+
+ 125
+
+ 126
+ public boolean getNeedsUpdate() {
+ 127 4 return needsUpdate;
+ 128
+ }
+ 129
+
+ 130
+
+ 131
+
+ 132
+
+ 133
+
+ 134
+
+ 135
+ public void setNeedsUpdate(boolean needsUpdate) {
+ 136 2 this .needsUpdate = needsUpdate;
+ 137 2 }
+ 138
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
index 5df566a89..d5328e036 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Dependency.html
@@ -99,7 +99,7 @@
41
- 42 174 public class Dependency implements Comparable<Dependency> {
+ 42 8 public class Dependency implements Comparable<Dependency> {
43
44
@@ -190,13 +190,13 @@
87
- 88 282 public Dependency() {
- 89 282 vendorEvidence = new EvidenceCollection();
- 90 282 productEvidence = new EvidenceCollection();
- 91 282 versionEvidence = new EvidenceCollection();
- 92 282 identifiers = new TreeSet<Identifier>();
- 93 282 vulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
- 94 282 }
+ 88 42 public Dependency() {
+ 89 42 vendorEvidence = new EvidenceCollection();
+ 90 42 productEvidence = new EvidenceCollection();
+ 91 42 versionEvidence = new EvidenceCollection();
+ 92 42 identifiers = new TreeSet<Identifier>();
+ 93 42 vulnerabilities = new TreeSet<Vulnerability>(new VulnerabilityComparator());
+ 94 42 }
95
96
@@ -211,13 +211,13 @@
101
public Dependency(File file) {
- 102 228 this ();
- 103 228 this .actualFilePath = file.getPath();
- 104 228 this .filePath = this .actualFilePath;
- 105 228 this .fileName = file.getName();
- 106 228 this .fileExtension = FileUtils.getFileExtension(fileName);
- 107 228 determineHashes(file);
- 108 228 }
+ 102 24 this ();
+ 103 24 this .actualFilePath = file.getPath();
+ 104 24 this .filePath = this .actualFilePath;
+ 105 24 this .fileName = file.getName();
+ 106 24 this .fileExtension = FileUtils.getFileExtension(fileName);
+ 107 24 determineHashes(file);
+ 108 24 }
109
110
@@ -232,7 +232,7 @@
115
public String getFileName() {
- 116 792 return this .fileName;
+ 116 63 return this .fileName;
117
}
118
@@ -249,8 +249,8 @@
124
public void setFileName(String fileName) {
- 125 183 this .fileName = fileName;
- 126 183 }
+ 125 7 this .fileName = fileName;
+ 126 7 }
127
128
@@ -265,8 +265,8 @@
133
public void setActualFilePath(String actualFilePath) {
- 134 6 this .actualFilePath = actualFilePath;
- 135 6 }
+ 134 2 this .actualFilePath = actualFilePath;
+ 135 2 }
136
137
@@ -281,7 +281,7 @@
142
public String getActualFilePath() {
- 143 294 return this .actualFilePath;
+ 143 49 return this .actualFilePath;
144
}
145
@@ -298,8 +298,8 @@
151
public void setFilePath(String filePath) {
- 152 183 this .filePath = filePath;
- 153 183 }
+ 152 7 this .filePath = filePath;
+ 153 7 }
154
155
@@ -318,7 +318,7 @@
162
public String getFilePath() {
- 163 183 return this .filePath;
+ 163 7 return this .filePath;
164
}
165
@@ -335,8 +335,8 @@
171
public void setFileExtension(String fileExtension) {
- 172 6 this .fileExtension = fileExtension;
- 173 6 }
+ 172 2 this .fileExtension = fileExtension;
+ 173 2 }
174
175
@@ -351,7 +351,7 @@
180
public String getFileExtension() {
- 181 183 return this .fileExtension;
+ 181 7 return this .fileExtension;
182
}
183
@@ -368,7 +368,7 @@
189
public String getMd5sum() {
- 190 6 return this .md5sum;
+ 190 2 return this .md5sum;
191
}
192
@@ -385,8 +385,8 @@
198
public void setMd5sum(String md5sum) {
- 199 231 this .md5sum = md5sum;
- 200 231 }
+ 199 25 this .md5sum = md5sum;
+ 200 25 }
201
202
@@ -401,7 +401,7 @@
207
public String getSha1sum() {
- 208 6 return this .sha1sum;
+ 208 2 return this .sha1sum;
209
}
210
@@ -418,8 +418,8 @@
216
public void setSha1sum(String sha1sum) {
- 217 231 this .sha1sum = sha1sum;
- 218 231 }
+ 217 25 this .sha1sum = sha1sum;
+ 218 25 }
219
220
@@ -434,7 +434,7 @@
225
public Set<Identifier> getIdentifiers() {
- 226 99 return this .identifiers;
+ 226 41 return this .identifiers;
227
}
228
@@ -451,8 +451,8 @@
234
public void setIdentifiers(Set<Identifier> identifiers) {
- 235 3 this .identifiers = identifiers;
- 236 3 }
+ 235 1 this .identifiers = identifiers;
+ 236 1 }
237
238
@@ -473,9 +473,9 @@
246
public void addIdentifier(String type, String value, String url) {
- 247 3 final Identifier i = new Identifier(type, value, url);
- 248 3 this .identifiers.add(i);
- 249 3 }
+ 247 1 final Identifier i = new Identifier(type, value, url);
+ 248 1 this .identifiers.add(i);
+ 249 1 }
250
251
@@ -492,8 +492,8 @@
257
public void addIdentifier(Identifier identifier) {
- 258 48 this .identifiers.add(identifier);
- 259 48 }
+ 258 32 this .identifiers.add(identifier);
+ 259 32 }
260
261
@@ -508,7 +508,7 @@
266
public EvidenceCollection getEvidence() {
- 267 3 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
+ 267 1 return EvidenceCollection.merge(this .productEvidence, this .vendorEvidence, this .versionEvidence);
268
}
269
@@ -525,7 +525,7 @@
275
public EvidenceCollection getEvidenceUsed() {
- 276 3 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
+ 276 1 return EvidenceCollection.mergeUsed(this .productEvidence, this .vendorEvidence, this .versionEvidence);
277
}
278
@@ -542,7 +542,7 @@
284
public EvidenceCollection getVendorEvidence() {
- 285 648 return this .vendorEvidence;
+ 285 255 return this .vendorEvidence;
286
}
287
@@ -559,7 +559,7 @@
293
public EvidenceCollection getProductEvidence() {
- 294 1050 return this .productEvidence;
+ 294 613 return this .productEvidence;
295
}
296
@@ -576,7 +576,7 @@
302
public EvidenceCollection getVersionEvidence() {
- 303 252 return this .versionEvidence;
+ 303 143 return this .versionEvidence;
304
}
305
@@ -585,7 +585,7 @@
307
- 308 282 private List<Exception> analysisExceptions = new ArrayList<Exception>();
+ 308 42 private List<Exception> analysisExceptions = new ArrayList<Exception>();
309
310
@@ -657,7 +657,7 @@
346
public String getDescription() {
- 347 21 return description;
+ 347 8 return description;
348
}
349
@@ -674,8 +674,8 @@
355
public void setDescription(String description) {
- 356 39 this .description = description;
- 357 39 }
+ 356 15 this .description = description;
+ 357 15 }
358
359
@@ -698,7 +698,7 @@
368
public String getLicense() {
- 369 9 return license;
+ 369 4 return license;
370
}
371
@@ -715,8 +715,8 @@
377
public void setLicense(String license) {
- 378 12 this .license = license;
- 379 12 }
+ 378 5 this .license = license;
+ 379 5 }
380
381
@@ -772,12 +772,12 @@
408
private void determineHashes(File file) {
- 409 228 String md5 = null ;
- 410 228 String sha1 = null ;
+ 409 24 String md5 = null ;
+ 410 24 String sha1 = null ;
411
try {
- 412 228 md5 = Checksum.getMD5Checksum(file);
- 413 228 sha1 = Checksum.getSHA1Checksum(file);
+ 412 24 md5 = Checksum.getMD5Checksum(file);
+ 413 24 sha1 = Checksum.getSHA1Checksum(file);
414 0 } catch (IOException ex) {
415 0 final String msg = String.format("Unable to read '%s' to determine hashes." , file.getName());
416 0 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
@@ -786,10 +786,10 @@
419 0 final String msg = "Unable to use MD5 of SHA1 checksums." ;
420 0 Logger.getLogger(Dependency.class .getName()).log(Level.WARNING, msg);
421 0 Logger.getLogger(Dependency.class .getName()).log(Level.FINE, null , ex);
- 422 228 }
- 423 228 this .setMd5sum(md5);
- 424 228 this .setSha1sum(sha1);
- 425 228 }
+ 422 24 }
+ 423 24 this .setMd5sum(md5);
+ 424 24 this .setSha1sum(sha1);
+ 425 24 }
426
427
@@ -812,7 +812,7 @@
437
- 438 282 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
+ 438 42 private Set<Dependency> relatedDependencies = new TreeSet<Dependency>();
439
440
@@ -880,7 +880,7 @@
474
public int compareTo(Dependency o) {
- 475 174 return this .getFileName().compareToIgnoreCase(o.getFileName());
+ 475 8 return this .getFileName().compareToIgnoreCase(o.getFileName());
476
}
477
@@ -993,23 +993,23 @@
@Override
549
public int hashCode() {
- 550 177 int hash = 3;
- 551 177 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
- 552 177 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
- 553 177 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
- 554 177 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
- 555 177 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
- 556 177 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
- 557 177 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
- 558 177 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
- 559 177 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
- 560 177 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
- 561 177 hash = 47 * hash + (this .analysisExceptions != null ? this .analysisExceptions.hashCode() : 0);
- 562 177 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
- 563 177 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
- 564 177 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
- 565 177 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
- 566 177 return hash;
+ 550 5 int hash = 3;
+ 551 5 hash = 47 * hash + (this .actualFilePath != null ? this .actualFilePath.hashCode() : 0);
+ 552 5 hash = 47 * hash + (this .filePath != null ? this .filePath.hashCode() : 0);
+ 553 5 hash = 47 * hash + (this .fileName != null ? this .fileName.hashCode() : 0);
+ 554 5 hash = 47 * hash + (this .fileExtension != null ? this .fileExtension.hashCode() : 0);
+ 555 5 hash = 47 * hash + (this .md5sum != null ? this .md5sum.hashCode() : 0);
+ 556 5 hash = 47 * hash + (this .sha1sum != null ? this .sha1sum.hashCode() : 0);
+ 557 5 hash = 47 * hash + (this .identifiers != null ? this .identifiers.hashCode() : 0);
+ 558 5 hash = 47 * hash + (this .vendorEvidence != null ? this .vendorEvidence.hashCode() : 0);
+ 559 5 hash = 47 * hash + (this .productEvidence != null ? this .productEvidence.hashCode() : 0);
+ 560 5 hash = 47 * hash + (this .versionEvidence != null ? this .versionEvidence.hashCode() : 0);
+ 561 5 hash = 47 * hash + (this .analysisExceptions != null ? this .analysisExceptions.hashCode() : 0);
+ 562 5 hash = 47 * hash + (this .description != null ? this .description.hashCode() : 0);
+ 563 5 hash = 47 * hash + (this .license != null ? this .license.hashCode() : 0);
+ 564 5 hash = 47 * hash + (this .vulnerabilities != null ? this .vulnerabilities.hashCode() : 0);
+ 565 5 hash = 47 * hash + (this .relatedDependencies != null ? this .relatedDependencies.hashCode() : 0);
+ 566 5 return hash;
567
}
568
@@ -1037,6 +1037,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html
index 0b8333f1a..b8ae8a1f1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Evidence.html
@@ -68,7 +68,7 @@
25
- 26 229218 public class Evidence implements Comparable<Evidence> {
+ 26 98438 public class Evidence implements Comparable<Evidence> {
27
28
@@ -77,7 +77,7 @@
30
- 31 54 public enum Confidence {
+ 31 32 public enum Confidence {
32
33
@@ -86,28 +86,28 @@
35
- 36 3 HIGHEST,
+ 36 1 HIGHEST,
37
38
39
- 40 3 HIGH,
+ 40 1 HIGH,
41
42
43
- 44 3 MEDIUM,
+ 44 1 MEDIUM,
45
46
47
- 48 3 LOW
+ 48 1 LOW
49
}
50
@@ -138,12 +138,12 @@
64
- 65 110049 public Evidence(String source, String name, String value, Confidence confidence) {
- 66 110049 this .source = source;
- 67 110049 this .name = name;
- 68 110049 this .value = value;
- 69 110049 this .confidence = confidence;
- 70 110049 }
+ 65 57383 public Evidence(String source, String name, String value, Confidence confidence) {
+ 66 57383 this .source = source;
+ 67 57383 this .name = name;
+ 68 57383 this .value = value;
+ 69 57383 this .confidence = confidence;
+ 70 57383 }
71
72
@@ -166,7 +166,7 @@
81
public String getName() {
- 82 39 return name;
+ 82 13 return name;
83
}
84
@@ -207,7 +207,7 @@
103
public String getSource() {
- 104 6 return source;
+ 104 2 return source;
105
}
106
@@ -248,8 +248,8 @@
125
public String getValue() {
- 126 4911 used = true ;
- 127 4911 return value;
+ 126 4448 used = true ;
+ 127 4448 return value;
128
}
129
@@ -272,8 +272,8 @@
138
public String getValue(Boolean setUsed) {
- 139 288 used = used || setUsed;
- 140 288 return value;
+ 139 116 used = used || setUsed;
+ 140 116 return value;
141
}
142
@@ -314,7 +314,7 @@
161
public boolean isUsed() {
- 162 6099 return used;
+ 162 6217 return used;
163
}
164
@@ -355,7 +355,7 @@
183
public Confidence getConfidence() {
- 184 4083 return confidence;
+ 184 1664 return confidence;
185
}
186
@@ -471,11 +471,11 @@
249
public int compareTo(Evidence o) {
- 250 229218 if (source.equals(o.source)) {
- 251 183828 if (name.equals(o.name)) {
- 252 183309 if (value.equals(o.value)) {
- 253 109236 if (confidence.equals(o.confidence)) {
- 254 109236 return 0;
+ 250 98438 if (source.equals(o.source)) {
+ 251 81974 if (name.equals(o.name)) {
+ 252 81778 if (value.equals(o.value)) {
+ 253 57082 if (confidence.equals(o.confidence)) {
+ 254 57082 return 0;
255
} else {
256 0 return confidence.compareTo(o.confidence);
@@ -483,17 +483,17 @@
}
258
} else {
- 259 74073 return value.compareToIgnoreCase(o.value);
+ 259 24696 return value.compareToIgnoreCase(o.value);
260
}
261
} else {
- 262 519 return name.compareToIgnoreCase(o.name);
+ 262 196 return name.compareToIgnoreCase(o.name);
263
}
264
} else {
- 265 45390 return source.compareToIgnoreCase(o.source);
+ 265 16464 return source.compareToIgnoreCase(o.source);
266
}
267
@@ -502,6 +502,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
index 282529a2c..b2568e383 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.EvidenceCollection.html
@@ -112,10 +112,10 @@
45
- 46 651 private static final Filter<Evidence> HIGHEST_CONFIDENCE = new Filter<Evidence>() {
+ 46 279 private static final Filter<Evidence> HIGHEST_CONFIDENCE = new Filter<Evidence>() {
47
public boolean passes(Evidence evidence) {
- 48 648 return evidence.getConfidence() == Evidence.Confidence.HIGHEST;
+ 48 278 return evidence.getConfidence() == Evidence.Confidence.HIGHEST;
49
}
50
@@ -128,10 +128,10 @@
54
- 55 642 private static final Filter<Evidence> HIGH_CONFIDENCE = new Filter<Evidence>() {
+ 55 276 private static final Filter<Evidence> HIGH_CONFIDENCE = new Filter<Evidence>() {
56
public boolean passes(Evidence evidence) {
- 57 639 return evidence.getConfidence() == Evidence.Confidence.HIGH;
+ 57 275 return evidence.getConfidence() == Evidence.Confidence.HIGH;
58
}
59
@@ -144,10 +144,10 @@
63
- 64 3 private static final Filter<Evidence> MEDIUM_CONFIDENCE = new Filter<Evidence>() {
+ 64 1 private static final Filter<Evidence> MEDIUM_CONFIDENCE = new Filter<Evidence>() {
65
public boolean passes(Evidence evidence) {
- 66 627 return evidence.getConfidence() == Evidence.Confidence.MEDIUM;
+ 66 271 return evidence.getConfidence() == Evidence.Confidence.MEDIUM;
67
}
68
@@ -158,10 +158,10 @@
71
- 72 3 private static final Filter<Evidence> LOW_CONFIDENCE = new Filter<Evidence>() {
+ 72 1 private static final Filter<Evidence> LOW_CONFIDENCE = new Filter<Evidence>() {
73
public boolean passes(Evidence evidence) {
- 74 1170 return evidence.getConfidence() == Evidence.Confidence.LOW;
+ 74 472 return evidence.getConfidence() == Evidence.Confidence.LOW;
75
}
76
@@ -174,10 +174,10 @@
80
- 81 3 private static final Filter<Evidence> EVIDENCE_USED = new Filter<Evidence>() {
+ 81 1 private static final Filter<Evidence> EVIDENCE_USED = new Filter<Evidence>() {
82
public boolean passes(Evidence evidence) {
- 83 6093 return evidence.isUsed();
+ 83 6215 return evidence.isUsed();
84
}
85
@@ -200,15 +200,15 @@
94
public final Iterable<Evidence> iterator(Evidence.Confidence confidence) {
- 95 423 if (confidence == Evidence.Confidence.HIGHEST) {
- 96 93 return EvidenceCollection.HIGHEST_CONFIDENCE.filter(this .list);
- 97 330 } else if (confidence == Evidence.Confidence.HIGH) {
- 98 93 return EvidenceCollection.HIGH_CONFIDENCE.filter(this .list);
- 99 237 } else if (confidence == Evidence.Confidence.MEDIUM) {
- 100 90 return EvidenceCollection.MEDIUM_CONFIDENCE.filter(this .list);
+ 95 207 if (confidence == Evidence.Confidence.HIGHEST) {
+ 96 47 return EvidenceCollection.HIGHEST_CONFIDENCE.filter(this .list);
+ 97 160 } else if (confidence == Evidence.Confidence.HIGH) {
+ 98 47 return EvidenceCollection.HIGH_CONFIDENCE.filter(this .list);
+ 99 113 } else if (confidence == Evidence.Confidence.MEDIUM) {
+ 100 46 return EvidenceCollection.MEDIUM_CONFIDENCE.filter(this .list);
101
} else {
- 102 147 return EvidenceCollection.LOW_CONFIDENCE.filter(this .list);
+ 102 67 return EvidenceCollection.LOW_CONFIDENCE.filter(this .list);
103
}
104
@@ -237,10 +237,10 @@
116
- 117 852 public EvidenceCollection() {
- 118 852 list = new TreeSet<Evidence>();
- 119 852 weightedStrings = new HashSet<String>();
- 120 852 }
+ 117 128 public EvidenceCollection() {
+ 118 128 list = new TreeSet<Evidence>();
+ 119 128 weightedStrings = new HashSet<String>();
+ 120 128 }
121
122
@@ -255,8 +255,8 @@
127
public void addEvidence(Evidence e) {
- 128 110007 list.add(e);
- 129 110007 }
+ 128 57366 list.add(e);
+ 129 57366 }
130
131
@@ -279,9 +279,9 @@
140
public void addEvidence(String source, String name, String value, Evidence.Confidence confidence) {
- 141 109998 final Evidence e = new Evidence(source, name, value, confidence);
- 142 109998 addEvidence(e);
- 143 109998 }
+ 141 57363 final Evidence e = new Evidence(source, name, value, confidence);
+ 142 57363 addEvidence(e);
+ 143 57363 }
144
145
@@ -316,8 +316,8 @@
160
public void addWeighting(String str) {
- 161 114 weightedStrings.add(str);
- 162 114 }
+ 161 41 weightedStrings.add(str);
+ 162 41 }
163
164
@@ -334,7 +334,7 @@
170
public Set<String> getWeighting() {
- 171 219 return weightedStrings;
+ 171 81 return weightedStrings;
172
}
173
@@ -351,7 +351,7 @@
179
public Set<Evidence> getEvidence() {
- 180 30 return list;
+ 180 12 return list;
181
}
182
@@ -432,7 +432,7 @@
227
public Iterator<Evidence> iterator() {
- 228 873 return list.iterator();
+ 228 758 return list.iterator();
229
}
230
@@ -451,23 +451,23 @@
237
public boolean containsUsedString(String text) {
- 238 849 if (text == null ) {
+ 238 749 if (text == null ) {
239 0 return false ;
240
}
- 241 849 final String textToTest = text.toLowerCase();
+ 241 749 final String textToTest = text.toLowerCase();
242
- 243 849 for (Evidence e : EvidenceCollection.EVIDENCE_USED.filter(this )) {
+ 243 749 for (Evidence e : EvidenceCollection.EVIDENCE_USED.filter(this )) {
244
- 245 4068 final String value = urlCorrection(e.getValue().toLowerCase()).replaceAll("[\\s_-]" , "" );
- 246 4068 if (value.contains(textToTest)) {
- 247 384 return true ;
+ 245 4102 final String value = urlCorrection(e.getValue().toLowerCase()).replaceAll("[\\s_-]" , "" );
+ 246 4102 if (value.contains(textToTest)) {
+ 247 269 return true ;
248
}
- 249 3684 }
- 250 465 return false ;
+ 249 3833 }
+ 250 480 return false ;
251
}
252
@@ -522,14 +522,14 @@
281
public boolean contains(Evidence.Confidence confidence) {
- 282 216 for (Evidence e : list) {
- 283 993 if (e.getConfidence().equals(confidence)) {
- 284 210 return true ;
+ 282 80 for (Evidence e : list) {
+ 283 366 if (e.getConfidence().equals(confidence)) {
+ 284 78 return true ;
285
}
286
}
- 287 6 return false ;
+ 287 2 return false ;
288
}
289
@@ -550,18 +550,18 @@
297
public static EvidenceCollection mergeUsed(EvidenceCollection... ec) {
- 298 3 final EvidenceCollection ret = new EvidenceCollection();
- 299 12 for (EvidenceCollection col : ec) {
- 300 9 for (Evidence e : col.list) {
- 301 6 if (e.isUsed()) {
- 302 3 ret.addEvidence(e);
+ 298 1 final EvidenceCollection ret = new EvidenceCollection();
+ 299 4 for (EvidenceCollection col : ec) {
+ 300 3 for (Evidence e : col.list) {
+ 301 2 if (e.isUsed()) {
+ 302 1 ret.addEvidence(e);
303
}
304
}
305
}
- 306 3 return ret;
+ 306 1 return ret;
307
}
308
@@ -580,13 +580,13 @@
315
public static EvidenceCollection merge(EvidenceCollection... ec) {
- 316 3 final EvidenceCollection ret = new EvidenceCollection();
- 317 12 for (EvidenceCollection col : ec) {
- 318 9 ret.list.addAll(col.list);
- 319 9 ret.weightedStrings.addAll(col.weightedStrings);
+ 316 1 final EvidenceCollection ret = new EvidenceCollection();
+ 317 4 for (EvidenceCollection col : ec) {
+ 318 3 ret.list.addAll(col.list);
+ 319 3 ret.weightedStrings.addAll(col.weightedStrings);
320
}
- 321 3 return ret;
+ 321 1 return ret;
322
}
323
@@ -605,12 +605,12 @@
@Override
330
public String toString() {
- 331 9 final StringBuilder sb = new StringBuilder();
- 332 9 for (Evidence e : this .list) {
- 333 33 sb.append(e.getValue()).append(' ' );
+ 331 3 final StringBuilder sb = new StringBuilder();
+ 332 3 for (Evidence e : this .list) {
+ 333 11 sb.append(e.getValue()).append(' ' );
334
}
- 335 9 return sb.toString();
+ 335 3 return sb.toString();
336
}
337
@@ -627,7 +627,7 @@
343
public int size() {
- 344 270 return list.size();
+ 344 100 return list.size();
345
}
346
@@ -666,22 +666,22 @@
363
private String urlCorrection(String value) {
- 364 4068 if (value == null || !UrlStringUtils.containsUrl(value)) {
- 365 4020 return value;
+ 364 4102 if (value == null || !UrlStringUtils.containsUrl(value)) {
+ 365 4027 return value;
366
}
- 367 48 final StringBuilder sb = new StringBuilder(value.length());
- 368 48 final String[] parts = value.split("\\s" );
- 369 96 for (String part : parts) {
- 370 48 if (UrlStringUtils.isUrl(part)) {
+ 367 75 final StringBuilder sb = new StringBuilder(value.length());
+ 368 75 final String[] parts = value.split("\\s" );
+ 369 150 for (String part : parts) {
+ 370 75 if (UrlStringUtils.isUrl(part)) {
371
try {
- 372 48 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
- 373 48 sb.append(' ' ).append(StringUtils.join(data, ' ' ));
+ 372 75 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
+ 373 75 sb.append(' ' ).append(StringUtils.join(data, ' ' ));
374 0 } catch (MalformedURLException ex) {
375 0 Logger.getLogger(EvidenceCollection.class .getName()).log(Level.INFO, "error parsing " + part, ex);
376 0 sb.append(' ' ).append(part);
- 377 48 }
+ 377 75 }
378
} else {
379 0 sb.append(' ' ).append(part);
@@ -689,13 +689,13 @@
}
381
}
- 382 48 return sb.toString().trim();
+ 382 75 return sb.toString().trim();
383
}
384
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html
index a15d6a1f7..7b359423b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Identifier.html
@@ -65,7 +65,7 @@
24
- 25 54 public class Identifier implements Comparable<Identifier> {
+ 25 51 public class Identifier implements Comparable<Identifier> {
26
27
@@ -82,11 +82,11 @@
33
- 34 144 public Identifier(String type, String value, String url) {
- 35 144 this .type = type;
- 36 144 this .value = value;
- 37 144 this .url = url;
- 38 144 }
+ 34 110 public Identifier(String type, String value, String url) {
+ 35 110 this .type = type;
+ 36 110 this .value = value;
+ 37 110 this .url = url;
+ 38 110 }
39
40
@@ -132,7 +132,7 @@
62
public String getValue() {
- 63 126 return value;
+ 63 103 return value;
64
}
65
@@ -214,7 +214,7 @@
106
public String getType() {
- 107 27 return type;
+ 107 26 return type;
108
}
109
@@ -349,17 +349,17 @@
184
public int compareTo(Identifier o) {
- 185 87 if (o == null ) {
+ 185 90 if (o == null ) {
186 0 return -1;
187
}
- 188 87 return this .value.compareTo(o.value);
+ 188 90 return this .value.compareTo(o.value);
189
}
190
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html
index ef4ea1c8b..9cca1059a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Reference.html
@@ -73,7 +73,7 @@
28
- 29 1383 public class Reference implements Serializable, Comparable<Reference> {
+ 29 461 public class Reference implements Serializable, Comparable<Reference> {
30
31
@@ -123,8 +123,8 @@
54
public void setName(String name) {
- 55 528 this .name = name;
- 56 528 }
+ 55 176 this .name = name;
+ 56 176 }
57
58
@@ -164,8 +164,8 @@
76
public void setUrl(String url) {
- 77 528 this .url = url;
- 78 528 }
+ 77 176 this .url = url;
+ 78 176 }
79
80
@@ -205,8 +205,8 @@
98
public void setSource(String source) {
- 99 528 this .source = source;
- 100 528 }
+ 99 176 this .source = source;
+ 100 176 }
101
102
@@ -266,8 +266,8 @@
138
public int compareTo(Reference o) {
- 139 855 if (source.equals(o.source)) {
- 140 135 if (name.equals(o.name)) {
+ 139 285 if (source.equals(o.source)) {
+ 140 45 if (name.equals(o.name)) {
141 0 if (url.equals(o.url)) {
142 0 return 0;
143
@@ -277,12 +277,12 @@
}
146
} else {
- 147 135 return name.compareTo(o.name);
+ 147 45 return name.compareTo(o.name);
148
}
149
} else {
- 150 720 return source.compareTo(o.source);
+ 150 240 return source.compareTo(o.source);
151
}
152
@@ -291,6 +291,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html
index a989db10c..68d0e0792 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.Vulnerability.html
@@ -77,7 +77,7 @@
30
- 31 135 public class Vulnerability implements Serializable, Comparable<Vulnerability> {
+ 31 45 public class Vulnerability implements Serializable, Comparable<Vulnerability> {
32
33
@@ -127,8 +127,8 @@
56
public void setName(String name) {
- 57 135 this .name = name;
- 58 135 }
+ 57 45 this .name = name;
+ 58 45 }
59
60
@@ -168,15 +168,15 @@
78
public void setDescription(String description) {
- 79 135 this .description = description;
- 80 135 }
+ 79 45 this .description = description;
+ 80 45 }
81
82
83
- 84 135 private SortedSet<Reference> references = new TreeSet<Reference>();
+ 84 45 private SortedSet<Reference> references = new TreeSet<Reference>();
85
86
@@ -224,8 +224,8 @@
109
public void addReference(Reference ref) {
- 110 270 this .references.add(ref);
- 111 270 }
+ 110 90 this .references.add(ref);
+ 111 90 }
112
113
@@ -244,19 +244,19 @@
120
public void addReference(String referenceSource, String referenceName, String referenceUrl) {
- 121 258 final Reference ref = new Reference();
- 122 258 ref.setSource(referenceSource);
- 123 258 ref.setName(referenceName);
- 124 258 ref.setUrl(referenceUrl);
- 125 258 this .references.add(ref);
- 126 258 }
+ 121 86 final Reference ref = new Reference();
+ 122 86 ref.setSource(referenceSource);
+ 123 86 ref.setName(referenceName);
+ 124 86 ref.setUrl(referenceUrl);
+ 125 86 this .references.add(ref);
+ 126 86 }
127
128
129
- 130 135 private SortedSet<VulnerableSoftware> vulnerableSoftware = new TreeSet<VulnerableSoftware>();
+ 130 45 private SortedSet<VulnerableSoftware> vulnerableSoftware = new TreeSet<VulnerableSoftware>();
131
132
@@ -306,7 +306,7 @@
156
public boolean addVulnerableSoftware(String cpe) {
- 157 3636 return addVulnerableSoftware(cpe, null );
+ 157 1212 return addVulnerableSoftware(cpe, null );
158
}
159
@@ -329,13 +329,13 @@
168
public boolean addVulnerableSoftware(String cpe, String previousVersion) {
- 169 3669 final VulnerableSoftware vs = new VulnerableSoftware();
- 170 3669 vs.setCpe(cpe);
- 171 3669 if (previousVersion != null ) {
- 172 33 vs.setPreviousVersion(previousVersion);
+ 169 1223 final VulnerableSoftware vs = new VulnerableSoftware();
+ 170 1223 vs.setCpe(cpe);
+ 171 1223 if (previousVersion != null ) {
+ 172 11 vs.setPreviousVersion(previousVersion);
173
}
- 174 3669 return updateVulnerableSoftware(vs);
+ 174 1223 return updateVulnerableSoftware(vs);
175
}
176
@@ -354,11 +354,11 @@
183
public boolean updateVulnerableSoftware(VulnerableSoftware vulnSoftware) {
- 184 3669 if (vulnerableSoftware.contains(vulnSoftware)) {
+ 184 1223 if (vulnerableSoftware.contains(vulnSoftware)) {
185 0 vulnerableSoftware.remove(vulnSoftware);
186
}
- 187 3669 return vulnerableSoftware.add(vulnSoftware);
+ 187 1223 return vulnerableSoftware.add(vulnSoftware);
188
}
189
@@ -400,8 +400,8 @@
208
public void setCwe(String cwe) {
- 209 111 this .cwe = cwe;
- 210 111 }
+ 209 37 this .cwe = cwe;
+ 210 37 }
211
212
@@ -441,8 +441,8 @@
230
public void setCvssScore(float cvssScore) {
- 231 132 this .cvssScore = cvssScore;
- 232 132 }
+ 231 44 this .cvssScore = cvssScore;
+ 232 44 }
233
234
@@ -482,8 +482,8 @@
252
public void setCvssAccessVector(String cvssAccessVector) {
- 253 132 this .cvssAccessVector = cvssAccessVector;
- 254 132 }
+ 253 44 this .cvssAccessVector = cvssAccessVector;
+ 254 44 }
255
256
@@ -523,8 +523,8 @@
274
public void setCvssAccessComplexity(String cvssAccessComplexity) {
- 275 132 this .cvssAccessComplexity = cvssAccessComplexity;
- 276 132 }
+ 275 44 this .cvssAccessComplexity = cvssAccessComplexity;
+ 276 44 }
277
278
@@ -564,8 +564,8 @@
296
public void setCvssAuthentication(String cvssAuthentication) {
- 297 132 this .cvssAuthentication = cvssAuthentication;
- 298 132 }
+ 297 44 this .cvssAuthentication = cvssAuthentication;
+ 298 44 }
299
300
@@ -605,8 +605,8 @@
318
public void setCvssConfidentialityImpact(String cvssConfidentialityImpact) {
- 319 132 this .cvssConfidentialityImpact = cvssConfidentialityImpact;
- 320 132 }
+ 319 44 this .cvssConfidentialityImpact = cvssConfidentialityImpact;
+ 320 44 }
321
322
@@ -646,8 +646,8 @@
340
public void setCvssIntegrityImpact(String cvssIntegrityImpact) {
- 341 132 this .cvssIntegrityImpact = cvssIntegrityImpact;
- 342 132 }
+ 341 44 this .cvssIntegrityImpact = cvssIntegrityImpact;
+ 342 44 }
343
344
@@ -687,8 +687,8 @@
362
public void setCvssAvailabilityImpact(String cvssAvailabilityImpact) {
- 363 132 this .cvssAvailabilityImpact = cvssAvailabilityImpact;
- 364 132 }
+ 363 44 this .cvssAvailabilityImpact = cvssAvailabilityImpact;
+ 364 44 }
365
366
@@ -747,6 +747,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html
index a6e922d38..94d32dd83 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerabilityComparator.html
@@ -73,7 +73,7 @@
28
- 29 282 public class VulnerabilityComparator implements Comparator<Vulnerability>, Serializable {
+ 29 42 public class VulnerabilityComparator implements Comparator<Vulnerability>, Serializable {
30
31
@@ -109,6 +109,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
index 400649ee6..52c0f4921 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.dependency.VulnerableSoftware.html
@@ -83,7 +83,7 @@
33
- 34 48142 public class VulnerableSoftware extends IndexEntry implements Serializable, Comparable<VulnerableSoftware> {
+ 34 17568 public class VulnerableSoftware extends IndexEntry implements Serializable, Comparable<VulnerableSoftware> {
35
36
@@ -110,14 +110,14 @@
public void setCpe(String cpe) {
47
try {
- 48 4733 parseName(cpe);
+ 48 3089 parseName(cpe);
49 0 } catch (UnsupportedEncodingException ex) {
50 0 final String msg = String.format("Character encoding is unsupported for CPE '%s'." , cpe);
51 0 Logger.getLogger(VulnerableSoftware.class .getName()).log(Level.WARNING, msg);
52 0 Logger.getLogger(VulnerableSoftware.class .getName()).log(Level.FINE, null , ex);
53 0 setName(cpe);
- 54 4733 }
- 55 4733 }
+ 54 3089 }
+ 55 3089 }
56
57
@@ -148,18 +148,18 @@
@Override
70
public void parseName(String cpeName) throws UnsupportedEncodingException {
- 71 5890 this .name = cpeName;
- 72 5890 if (cpeName != null && cpeName.length() > 7) {
- 73 5890 final String[] data = cpeName.substring(7).split(":" );
- 74 5890 if (data.length >= 1) {
- 75 5890 this .setVendor(URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" ));
- 76 5890 if (data.length >= 2) {
- 77 5890 this .setProduct(URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" ));
- 78 5890 if (data.length >= 3) {
- 79 5874 version = URLDecoder.decode(data[2].replace("+" , "%2B" ), "UTF-8" );
- 80 5874 if (data.length >= 4) {
- 81 159 revision = URLDecoder.decode(data[3].replace("+" , "%2B" ), "UTF-8" );
- 82 159 if (data.length >= 5) {
+ 71 3484 this .name = cpeName;
+ 72 3484 if (cpeName != null && cpeName.length() > 7) {
+ 73 3484 final String[] data = cpeName.substring(7).split(":" );
+ 74 3484 if (data.length >= 1) {
+ 75 3484 this .setVendor(URLDecoder.decode(data[0].replace("+" , "%2B" ), "UTF-8" ));
+ 76 3484 if (data.length >= 2) {
+ 77 3484 this .setProduct(URLDecoder.decode(data[1].replace("+" , "%2B" ), "UTF-8" ));
+ 78 3484 if (data.length >= 3) {
+ 79 3476 version = URLDecoder.decode(data[2].replace("+" , "%2B" ), "UTF-8" );
+ 80 3476 if (data.length >= 4) {
+ 81 667 revision = URLDecoder.decode(data[3].replace("+" , "%2B" ), "UTF-8" );
+ 82 667 if (data.length >= 5) {
83 0 edition = URLDecoder.decode(data[4].replace("+" , "%2B" ), "UTF-8" );
84
}
@@ -173,7 +173,7 @@
}
89
}
- 90 5890 }
+ 90 3484 }
91
92
@@ -230,8 +230,8 @@
119
public void setPreviousVersion(String previousVersion) {
- 120 36 this .previousVersion = previousVersion;
- 121 36 }
+ 120 12 this .previousVersion = previousVersion;
+ 121 12 }
122
123
@@ -252,17 +252,17 @@
@Override
131
public boolean equals(Object obj) {
- 132 3 if (obj == null ) {
+ 132 1 if (obj == null ) {
133 0 return false ;
134
}
- 135 3 if (getClass() != obj.getClass()) {
+ 135 1 if (getClass() != obj.getClass()) {
136 0 return false ;
137
}
- 138 3 final VulnerableSoftware other = (VulnerableSoftware) obj;
- 139 3 if ((this .getName() == null ) ? (other.getName() != null ) : !this .getName().equals(other.getName())) {
- 140 3 return false ;
+ 138 1 final VulnerableSoftware other = (VulnerableSoftware) obj;
+ 139 1 if ((this .getName() == null ) ? (other.getName() != null ) : !this .getName().equals(other.getName())) {
+ 140 1 return false ;
141
}
142 0 return true ;
@@ -284,9 +284,9 @@
@Override
151
public int hashCode() {
- 152 1049 int hash = 7;
- 153 1049 hash = 83 * hash + (this .getName() != null ? this .getName().hashCode() : 0);
- 154 1049 return hash;
+ 152 1861 int hash = 7;
+ 153 1861 hash = 83 * hash + (this .getName() != null ? this .getName().hashCode() : 0);
+ 154 1861 return hash;
155
}
156
@@ -328,43 +328,43 @@
@Override
175
public int compareTo(VulnerableSoftware vs) {
- 176 42255 int result = 0;
- 177 42255 final String[] left = this .getName().split(":" );
- 178 42255 final String[] right = vs.getName().split(":" );
- 179 42255 final int max = (left.length <= right.length) ? left.length : right.length;
- 180 42255 if (max > 0) {
- 181 253284 for (int i = 0; result == 0 && i < max; i++) {
- 182 211029 final String[] subLeft = left[i].split("\\." );
- 183 211029 final String[] subRight = right[i].split("\\." );
- 184 211029 final int subMax = (subLeft.length <= subRight.length) ? subLeft.length : subRight.length;
- 185 211029 if (subMax > 0) {
- 186 486039 for (int x = 0; result == 0 && x < subMax; x++) {
- 187 275010 if (isPositiveInteger(subLeft[x]) && isPositiveInteger(subRight[x])) {
- 188 104238 final int iLeft = Integer.parseInt(subLeft[x]);
- 189 104238 final int iRight = Integer.parseInt(subRight[x]);
- 190 104238 if (iLeft != iRight) {
- 191 39402 if (iLeft > iRight) {
- 192 29022 result = 2;
+ 176 14085 int result = 0;
+ 177 14085 final String[] left = this .getName().split(":" );
+ 178 14085 final String[] right = vs.getName().split(":" );
+ 179 14085 final int max = (left.length <= right.length) ? left.length : right.length;
+ 180 14085 if (max > 0) {
+ 181 84428 for (int i = 0; result == 0 && i < max; i++) {
+ 182 70343 final String[] subLeft = left[i].split("\\." );
+ 183 70343 final String[] subRight = right[i].split("\\." );
+ 184 70343 final int subMax = (subLeft.length <= subRight.length) ? subLeft.length : subRight.length;
+ 185 70343 if (subMax > 0) {
+ 186 162013 for (int x = 0; result == 0 && x < subMax; x++) {
+ 187 91670 if (isPositiveInteger(subLeft[x]) && isPositiveInteger(subRight[x])) {
+ 188 34746 final int iLeft = Integer.parseInt(subLeft[x]);
+ 189 34746 final int iRight = Integer.parseInt(subRight[x]);
+ 190 34746 if (iLeft != iRight) {
+ 191 13134 if (iLeft > iRight) {
+ 192 9674 result = 2;
193
} else {
- 194 10380 result = -2;
+ 194 3460 result = -2;
195
}
196
}
- 197 104238 } else {
- 198 170772 result = subLeft[x].compareToIgnoreCase(subRight[x]);
+ 197 34746 } else {
+ 198 56924 result = subLeft[x].compareToIgnoreCase(subRight[x]);
199
}
200
}
- 201 211029 if (result == 0) {
- 202 169617 if (subLeft.length > subRight.length) {
- 203 750 result = 2;
+ 201 70343 if (result == 0) {
+ 202 56539 if (subLeft.length > subRight.length) {
+ 203 250 result = 2;
204
}
- 205 169617 if (subRight.length > subLeft.length) {
- 206 21 result = -2;
+ 205 56539 if (subRight.length > subLeft.length) {
+ 206 7 result = -2;
207
}
208
@@ -376,13 +376,13 @@
}
212
}
- 213 42255 if (result == 0) {
- 214 72 if (left.length > right.length) {
- 215 42 result = 2;
+ 213 14085 if (result == 0) {
+ 214 24 if (left.length > right.length) {
+ 215 14 result = 2;
216
}
- 217 72 if (right.length > left.length) {
- 218 30 result = -2;
+ 217 24 if (right.length > left.length) {
+ 218 10 result = -2;
219
}
220
@@ -392,7 +392,7 @@
222 0 result = this .getName().compareToIgnoreCase(vs.getName());
223
}
- 224 42255 return result;
+ 224 14085 return result;
225
}
226
@@ -411,19 +411,19 @@
233
private static boolean isPositiveInteger(final String str) {
- 234 379464 if (str == null || str.isEmpty()) {
- 235 36 return false ;
+ 234 126488 if (str == null || str.isEmpty()) {
+ 235 12 return false ;
236
}
- 237 618510 for (int i = 0; i < str.length(); i++) {
- 238 409818 final char c = str.charAt(i);
- 239 409818 if (c < '0' || c > '9' ) {
- 240 170736 return false ;
+ 237 206170 for (int i = 0; i < str.length(); i++) {
+ 238 136606 final char c = str.charAt(i);
+ 239 136606 if (c < '0' || c > '9' ) {
+ 240 56912 return false ;
241
}
242
}
- 243 208692 return true ;
+ 243 69564 return true ;
244
}
245
@@ -448,7 +448,7 @@
255
public String getName() {
- 256 86791 return name;
+ 256 32049 return name;
257
}
258
@@ -489,7 +489,7 @@
277
public String getVersion() {
- 278 6197 return version;
+ 278 5363 return version;
279
}
280
@@ -530,7 +530,7 @@
299
public String getRevision() {
- 300 4893 return revision;
+ 300 7436 return revision;
301
}
302
@@ -594,6 +594,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html
index c7df04729..551f18f6f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter.html
@@ -79,7 +79,7 @@
31
- 32 12 public class MavenNamespaceFilter extends XMLFilterImpl {
+ 32 5 public class MavenNamespaceFilter extends XMLFilterImpl {
33
34
@@ -96,7 +96,7 @@
40
- 41 12 private boolean namespaceAdded = false ;
+ 41 5 private boolean namespaceAdded = false ;
42
43
@@ -113,9 +113,9 @@
@Override
49
public void startDocument() throws SAXException {
- 50 12 super .startDocument();
- 51 12 startPrefixMapping("" , NAMESPACE);
- 52 12 }
+ 50 5 super .startDocument();
+ 51 5 startPrefixMapping("" , NAMESPACE);
+ 52 5 }
53
54
@@ -140,8 +140,8 @@
@Override
64
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
- 65 3210 super .startElement(NAMESPACE, localName, qName, atts);
- 66 3210 }
+ 65 1234 super .startElement(NAMESPACE, localName, qName, atts);
+ 66 1234 }
67
68
@@ -166,8 +166,8 @@
public void endElement(String uri, String localName, String qName)
78
throws SAXException {
- 79 3210 super .endElement(NAMESPACE, localName, qName);
- 80 3210 }
+ 79 1234 super .endElement(NAMESPACE, localName, qName);
+ 80 1234 }
81
82
@@ -188,16 +188,16 @@
@Override
90
public void startPrefixMapping(String prefix, String url) throws SAXException {
- 91 12 if (!this .namespaceAdded) {
- 92 12 namespaceAdded = true ;
- 93 12 super .startPrefixMapping("" , NAMESPACE);
+ 91 5 if (!this .namespaceAdded) {
+ 92 5 namespaceAdded = true ;
+ 93 5 super .startPrefixMapping("" , NAMESPACE);
94
}
- 95 12 }
+ 95 5 }
96
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html
index 18104dae6..7fa5f8ce6 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Activation.html
@@ -117,7 +117,7 @@
})
50
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 51 6 public class Activation {
+ 51 2 public class Activation {
52
53
@@ -393,6 +393,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html
index 26abf8531..6a676cc3e 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationFile.html
@@ -226,6 +226,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html
index 80974eec1..2202292e8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationOS.html
@@ -334,6 +334,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html
index 6f9db225e..a3a3f591b 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ActivationProperty.html
@@ -111,7 +111,7 @@
})
47
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 48 6 public class ActivationProperty {
+ 48 2 public class ActivationProperty {
49
50
@@ -226,6 +226,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html
index 7f8dd2f72..2a9fbdf5c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Build.html
@@ -236,7 +236,7 @@
})
107
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 108 12 public class Build {
+ 108 5 public class Build {
109
110
@@ -1153,7 +1153,7 @@
})
589
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 590 3 public static class Filters {
+ 590 1 public static class Filters {
591
592
@@ -1273,7 +1273,7 @@
})
651
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 652 12 public static class Plugins {
+ 652 5 public static class Plugins {
653
654
@@ -1393,7 +1393,7 @@
})
713
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 714 6 public static class Resources {
+ 714 2 public static class Resources {
715
716
@@ -1503,7 +1503,7 @@
770
- 771 12 @XmlAccessorType(XmlAccessType.FIELD)
+ 771 5 @XmlAccessorType(XmlAccessType.FIELD)
772
@XmlType(name = "" , propOrder = {
773
@@ -1512,7 +1512,7 @@
})
775
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 776 3 public static class TestResources {
+ 776 1 public static class TestResources {
777
778
@@ -1586,6 +1586,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html
index a6e2e10f9..a7ca415ab 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.BuildBase.html
@@ -203,7 +203,7 @@
})
91
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 92 9 public class BuildBase {
+ 92 6 public class BuildBase {
93
94
@@ -802,7 +802,7 @@
})
405
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 406 9 public static class Plugins {
+ 406 6 public static class Plugins {
407
408
@@ -1032,7 +1032,7 @@
524
- 525 9 @XmlAccessorType(XmlAccessType.FIELD)
+ 525 6 @XmlAccessorType(XmlAccessType.FIELD)
526
@XmlType(name = "" , propOrder = {
527
@@ -1115,6 +1115,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html
index 9595d4083..22a35f1f5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.CiManagement.html
@@ -417,6 +417,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html
index ff6b32397..e94d3ad9d 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Contributor.html
@@ -173,7 +173,7 @@
})
77
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 78 3 public class Contributor {
+ 78 1 public class Contributor {
79
80
@@ -764,7 +764,7 @@
387
- 388 3 @XmlAccessorType(XmlAccessType.FIELD)
+ 388 1 @XmlAccessorType(XmlAccessType.FIELD)
389
@XmlType(name = "" , propOrder = {
390
@@ -847,6 +847,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html
index e142481df..b5a56914e 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Dependency.html
@@ -144,7 +144,7 @@
})
63
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 64 192 public class Dependency {
+ 64 66 public class Dependency {
65
66
@@ -670,7 +670,7 @@
340
- 341 192 @XmlAccessorType(XmlAccessType.FIELD)
+ 341 66 @XmlAccessorType(XmlAccessType.FIELD)
342
@XmlType(name = "" , propOrder = {
343
@@ -679,7 +679,7 @@
})
345
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 346 9 public static class Exclusions {
+ 346 3 public static class Exclusions {
347
348
@@ -753,6 +753,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html
index b6aa75623..3254974be 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DependencyManagement.html
@@ -311,6 +311,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html
index ec5040157..714d09341 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DeploymentRepository.html
@@ -115,7 +115,7 @@
})
49
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 50 6 public class DeploymentRepository {
+ 50 2 public class DeploymentRepository {
51
52
@@ -393,6 +393,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html
index 3058fada2..829a93ceb 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Developer.html
@@ -171,7 +171,7 @@
})
76
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 77 42 public class Developer {
+ 77 14 public class Developer {
78
79
@@ -815,7 +815,7 @@
414
- 415 42 @XmlAccessorType(XmlAccessType.FIELD)
+ 415 14 @XmlAccessorType(XmlAccessType.FIELD)
416
@XmlType(name = "" , propOrder = {
417
@@ -898,6 +898,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html
index 81cd458d0..17b8e73c5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.DistributionManagement.html
@@ -119,7 +119,7 @@
})
51
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 52 9 public class DistributionManagement {
+ 52 3 public class DistributionManagement {
53
54
@@ -446,6 +446,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html
index eb068cd06..8053b41be 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Exclusion.html
@@ -103,7 +103,7 @@
})
43
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 44 12 public class Exclusion {
+ 44 4 public class Exclusion {
45
46
@@ -218,6 +218,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html
index 26c1a39cf..6518899f2 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Extension.html
@@ -273,6 +273,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html
index e78835fd3..67c3ecbd1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.IssueManagement.html
@@ -107,7 +107,7 @@
})
45
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 46 6 public class IssueManagement {
+ 46 2 public class IssueManagement {
47
48
@@ -222,6 +222,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html
index d3512da64..c25c44663 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.License.html
@@ -115,7 +115,7 @@
})
49
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 50 3 public class License {
+ 50 1 public class License {
51
52
@@ -156,7 +156,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
70
public String getName() {
- 71 6 return name;
+ 71 2 return name;
72
}
73
@@ -205,7 +205,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
96
public String getUrl() {
- 97 6 return url;
+ 97 2 return url;
98
}
99
@@ -336,6 +336,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html
index c53b2e970..812b9075a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.MailingList.html
@@ -588,6 +588,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html
index 845508d78..6190768a8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Model.html
@@ -406,7 +406,7 @@
})
189
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 190 12 public class Model {
+ 190 5 public class Model {
191
192
@@ -651,7 +651,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
315
public String getGroupId() {
- 316 12 return groupId;
+ 316 5 return groupId;
317
}
318
@@ -700,7 +700,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
341
public String getArtifactId() {
- 342 12 return artifactId;
+ 342 5 return artifactId;
343
}
344
@@ -798,7 +798,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
393
public String getName() {
- 394 12 return name;
+ 394 5 return name;
395
}
396
@@ -847,7 +847,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
419
public String getVersion() {
- 420 12 return version;
+ 420 5 return version;
421
}
422
@@ -896,7 +896,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
445
public String getDescription() {
- 446 18 return description;
+ 446 7 return description;
447
}
448
@@ -1337,7 +1337,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
679
public Model.Licenses getLicenses() {
- 680 15 return licenses;
+ 680 6 return licenses;
681
}
682
@@ -1435,7 +1435,7 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
731
public Organization getOrganization() {
- 732 12 return organization;
+ 732 5 return organization;
733
}
734
@@ -2053,7 +2053,7 @@
})
1058
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1059 3 public static class Contributors {
+ 1059 1 public static class Contributors {
1060
1061
@@ -2173,7 +2173,7 @@
})
1120
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1121 12 public static class Dependencies {
+ 1121 5 public static class Dependencies {
1122
1123
@@ -2293,7 +2293,7 @@
})
1182
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1183 3 public static class Developers {
+ 1183 1 public static class Developers {
1184
1185
@@ -2413,7 +2413,7 @@
})
1244
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1245 3 public static class Licenses {
+ 1245 1 public static class Licenses {
1246
1247
@@ -2470,11 +2470,11 @@
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
1273
public List<License> getLicense() {
- 1274 3 if (license == null ) {
+ 1274 1 if (license == null ) {
1275 0 license = new ArrayList<License>();
1276
}
- 1277 3 return this .license;
+ 1277 1 return this .license;
1278
}
1279
@@ -2773,7 +2773,7 @@
})
1430
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1431 3 public static class PluginRepositories {
+ 1431 1 public static class PluginRepositories {
1432
1433
@@ -2893,7 +2893,7 @@
})
1492
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1493 12 public static class Profiles {
+ 1493 5 public static class Profiles {
1494
1495
@@ -3013,7 +3013,7 @@
})
1554
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1555 6 public static class Properties {
+ 1555 3 public static class Properties {
1556
1557
@@ -3247,7 +3247,7 @@
1675
- 1676 12 @XmlAccessorType(XmlAccessType.FIELD)
+ 1676 5 @XmlAccessorType(XmlAccessType.FIELD)
1677
@XmlType(name = "" , propOrder = {
1678
@@ -3256,7 +3256,7 @@
})
1680
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 1681 3 public static class Repositories {
+ 1681 1 public static class Repositories {
1682
1683
@@ -3330,6 +3330,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html
index 3909b1cd6..a5419cd02 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Notifier.html
@@ -659,6 +659,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html
index 55fe5e958..b26268df0 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory.html
@@ -1394,6 +1394,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html
index 26ebf09fe..79e0af7cf 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Organization.html
@@ -218,6 +218,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html
index ea37ffef6..ac41b4a22 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Parent.html
@@ -109,7 +109,7 @@
})
46
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 47 12 public class Parent {
+ 47 5 public class Parent {
48
49
@@ -332,6 +332,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html
index c53bd2e89..aaebd09f9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Plugin.html
@@ -211,7 +211,7 @@
})
95
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 96 60 public class Plugin {
+ 96 31 public class Plugin {
97
98
@@ -747,7 +747,7 @@
})
377
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 378 36 public static class Configuration {
+ 378 19 public static class Configuration {
379
380
@@ -989,7 +989,7 @@
})
502
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 503 48 public static class Executions {
+ 503 21 public static class Executions {
504
505
@@ -1099,7 +1099,7 @@
559
- 560 60 @XmlAccessorType(XmlAccessType.FIELD)
+ 560 31 @XmlAccessorType(XmlAccessType.FIELD)
561
@XmlType(name = "" , propOrder = {
562
@@ -1184,6 +1184,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html
index dff982c7c..519375db6 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.html
@@ -161,7 +161,7 @@
})
71
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 72 54 public class PluginExecution {
+ 72 23 public class PluginExecution {
73
74
@@ -483,7 +483,7 @@
})
240
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 241 24 public static class Configuration {
+ 241 10 public static class Configuration {
242
243
@@ -595,7 +595,7 @@
298
- 299 54 @XmlAccessorType(XmlAccessType.FIELD)
+ 299 23 @XmlAccessorType(XmlAccessType.FIELD)
300
@XmlType(name = "" , propOrder = {
301
@@ -604,7 +604,7 @@
})
303
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 304 54 public static class Goals {
+ 304 23 public static class Goals {
305
306
@@ -678,6 +678,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html
index b1a1d8b64..6f743bd83 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.html
@@ -311,6 +311,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html
index 6ae909334..d99df9f0e 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites.html
@@ -167,6 +167,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html
index d72dad564..d5b27756a 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Profile.html
@@ -261,7 +261,7 @@
})
119
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 120 18 public class Profile {
+ 120 9 public class Profile {
121
122
@@ -952,7 +952,7 @@
})
483
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 484 6 public static class Dependencies {
+ 484 2 public static class Dependencies {
485
486
@@ -1546,7 +1546,7 @@
790
- 791 18 @XmlAccessorType(XmlAccessType.FIELD)
+ 791 9 @XmlAccessorType(XmlAccessType.FIELD)
792
@XmlType(name = "" , propOrder = {
793
@@ -1629,6 +1629,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html
index 4a9fc8b54..108d7b2f6 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Relocation.html
@@ -330,6 +330,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html
index c4e69b5e1..7f9df4bdc 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.html
@@ -163,7 +163,7 @@
})
72
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 73 36 public class ReportPlugin {
+ 73 12 public class ReportPlugin {
74
75
@@ -538,7 +538,7 @@
})
269
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 270 30 public static class Configuration {
+ 270 10 public static class Configuration {
271
272
@@ -650,7 +650,7 @@
327
- 328 36 @XmlAccessorType(XmlAccessType.FIELD)
+ 328 12 @XmlAccessorType(XmlAccessType.FIELD)
329
@XmlType(name = "" , propOrder = {
330
@@ -659,7 +659,7 @@
})
332
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 333 9 public static class ReportSets {
+ 333 3 public static class ReportSets {
334
335
@@ -733,6 +733,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html
index c9655dd5e..773b566c2 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.html
@@ -159,7 +159,7 @@
})
70
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 71 9 public class ReportSet {
+ 71 3 public class ReportSet {
72
73
@@ -540,7 +540,7 @@
269
- 270 9 @XmlAccessorType(XmlAccessType.FIELD)
+ 270 3 @XmlAccessorType(XmlAccessType.FIELD)
271
@XmlType(name = "" , propOrder = {
272
@@ -549,7 +549,7 @@
})
274
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 275 9 public static class Reports {
+ 275 3 public static class Reports {
276
277
@@ -623,6 +623,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html
index b721bc80d..2af1d8ab0 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Reporting.html
@@ -132,7 +132,7 @@
})
57
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 58 12 public class Reporting {
+ 58 4 public class Reporting {
59
60
@@ -338,7 +338,7 @@
165
- 166 12 @XmlAccessorType(XmlAccessType.FIELD)
+ 166 4 @XmlAccessorType(XmlAccessType.FIELD)
167
@XmlType(name = "" , propOrder = {
168
@@ -347,7 +347,7 @@
})
170
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 171 12 public static class Plugins {
+ 171 4 public static class Plugins {
172
173
@@ -421,6 +421,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html
index 71f5d4fe9..1e939a5ae 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Repository.html
@@ -117,7 +117,7 @@
})
50
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 51 9 public class Repository {
+ 51 3 public class Repository {
52
53
@@ -446,6 +446,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html
index d76eb18cd..cf2b26cea 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy.html
@@ -107,7 +107,7 @@
})
45
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 46 18 public class RepositoryPolicy {
+ 46 6 public class RepositoryPolicy {
47
48
@@ -277,6 +277,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html
index 600959b77..38b83f7ae 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Resource.html
@@ -163,7 +163,7 @@
})
72
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 73 18 public class Resource {
+ 73 6 public class Resource {
74
75
@@ -595,7 +595,7 @@
298
- 299 18 @XmlAccessorType(XmlAccessType.FIELD)
+ 299 6 @XmlAccessorType(XmlAccessType.FIELD)
300
@XmlType(name = "" , propOrder = {
301
@@ -604,7 +604,7 @@
})
303
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 304 6 public static class Includes {
+ 304 2 public static class Includes {
305
306
@@ -678,6 +678,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html
index 9d42b18a6..4b600e40f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Scm.html
@@ -109,7 +109,7 @@
})
46
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 47 12 public class Scm {
+ 47 4 public class Scm {
48
49
@@ -332,6 +332,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html
index 02a6fb44b..501dda993 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.Site.html
@@ -109,7 +109,7 @@
})
46
@Generated(value = "com.sun.tools.internal.xjc.Driver" , date = "2012-11-09T12:33:57-05:00" , comments = "JAXB RI vJAXB 2.1.10 in JDK 6" )
- 47 9 public class Site {
+ 47 3 public class Site {
48
49
@@ -277,6 +277,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html
index 520de4bcd..623ba08cf 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.jaxb.pom.generated.package-info.html
@@ -37,6 +37,6 @@
package org.owasp.dependencycheck.jaxb.pom.generated;
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
index 343ce9b95..3c0235130 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.ReportGenerator.html
@@ -437,6 +437,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
index 9b851c2ea..4b7bac202 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.reporting.VelocityLoggerRedirect.html
@@ -221,6 +221,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
index 1a29bd15f..f4540f753 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Checksum.html
@@ -88,36 +88,36 @@
36
public static byte [] getChecksum(String algorithm, File file) throws NoSuchAlgorithmException, IOException {
- 37 471 InputStream fis = null ;
- 38 471 byte [] buffer = new byte [1024];
- 39 471 MessageDigest complete = MessageDigest.getInstance(algorithm);
+ 37 53 InputStream fis = null ;
+ 38 53 byte [] buffer = new byte [1024];
+ 39 53 MessageDigest complete = MessageDigest.getInstance(algorithm);
40
int numRead;
41
try {
- 42 468 fis = new FileInputStream(file);
+ 42 52 fis = new FileInputStream(file);
43
do {
- 44 896628 numRead = fis.read(buffer);
- 45 896628 if (numRead > 0) {
- 46 896163 complete.update(buffer, 0, numRead);
+ 44 26914 numRead = fis.read(buffer);
+ 45 26914 if (numRead > 0) {
+ 46 26863 complete.update(buffer, 0, numRead);
47
}
- 48 896628 } while (numRead != -1);
+ 48 26914 } while (numRead != -1);
49
} finally {
- 50 468 if (fis != null ) {
+ 50 52 if (fis != null ) {
51
try {
- 52 465 fis.close();
+ 52 51 fis.close();
53 0 } catch (IOException ex) {
54 0 Logger.getLogger(Checksum.class .getName()).log(Level.FINEST, "Error closing file '" + file.getName() + "'." , ex);
- 55 468 }
+ 55 52 }
56
}
57
}
- 58 465 return complete.digest();
+ 58 51 return complete.digest();
59
}
60
@@ -140,8 +140,8 @@
69
public static String getMD5Checksum(File file) throws IOException, NoSuchAlgorithmException {
- 70 231 byte [] b = getChecksum("MD5" , file);
- 71 231 return getHex(b);
+ 70 25 byte [] b = getChecksum("MD5" , file);
+ 71 25 return getHex(b);
72
}
73
@@ -164,8 +164,8 @@
82
public static String getSHA1Checksum(File file) throws IOException, NoSuchAlgorithmException {
- 83 231 byte [] b = getChecksum("SHA1" , file);
- 84 231 return getHex(b);
+ 83 25 byte [] b = getChecksum("SHA1" , file);
+ 84 25 return getHex(b);
85
}
86
@@ -192,22 +192,22 @@
97
public static String getHex(byte [] raw) {
- 98 465 if (raw == null ) {
+ 98 51 if (raw == null ) {
99 0 return null ;
100
}
- 101 465 final StringBuilder hex = new StringBuilder(2 * raw.length);
- 102 8832 for (final byte b : raw) {
- 103 8367 hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
+ 101 51 final StringBuilder hex = new StringBuilder(2 * raw.length);
+ 102 968 for (final byte b : raw) {
+ 103 917 hex.append(HEXES.charAt((b & 0xF0) >> 4)).append(HEXES.charAt((b & 0x0F)));
104
}
- 105 465 return hex.toString();
+ 105 51 return hex.toString();
106
}
107
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html
index abefff363..5afb215ef 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersion.html
@@ -12,7 +12,7 @@
@@ -97,7 +97,7 @@
40
- 41 39 public class DependencyVersion implements Iterable, Comparable<DependencyVersion> {
+ 41 13 public class DependencyVersion implements Iterable, Comparable<DependencyVersion> {
42
43
@@ -106,8 +106,8 @@
45
- 46 6 public DependencyVersion() {
- 47 6 }
+ 46 2 public DependencyVersion() {
+ 47 2 }
48
49
@@ -126,9 +126,9 @@
56
- 57 4199 public DependencyVersion(String version) {
- 58 4199 parseVersion(version);
- 59 4199 }
+ 57 4748 public DependencyVersion(String version) {
+ 58 4748 parseVersion(version);
+ 59 4748 }
60
61
@@ -147,21 +147,21 @@
68
public final void parseVersion(String version) {
- 69 4205 versionParts = new ArrayList<String>();
- 70 4205 if (version != null ) {
- 71 4205 final Pattern rx = Pattern.compile("(\\d+|[a-z]+\\d+|(release|beta|alpha)$)" );
- 72 4205 final Matcher matcher = rx.matcher(version.toLowerCase());
- 73 17264 while (matcher.find()) {
- 74 13059 versionParts.add(matcher.group());
+ 69 4750 versionParts = new ArrayList<String>();
+ 70 4750 if (version != null ) {
+ 71 4750 final Pattern rx = Pattern.compile("(\\d+|[a-z]+\\d+|(release|beta|alpha)$)" );
+ 72 4750 final Matcher matcher = rx.matcher(version.toLowerCase());
+ 73 19747 while (matcher.find()) {
+ 74 14997 versionParts.add(matcher.group());
75
}
- 76 4205 if (versionParts.isEmpty()) {
- 77 47 versionParts.add(version);
+ 76 4750 if (versionParts.isEmpty()) {
+ 77 30 versionParts.add(version);
78
}
79
}
- 80 4205 }
+ 80 4750 }
81
82
@@ -184,7 +184,7 @@
91
public List<String> getVersionParts() {
- 92 5664 return versionParts;
+ 92 8414 return versionParts;
93
}
94
@@ -201,8 +201,8 @@
100
public void setVersionParts(List<String> versionParts) {
- 101 3 this .versionParts = versionParts;
- 102 3 }
+ 101 1 this .versionParts = versionParts;
+ 102 1 }
103
104
@@ -217,7 +217,7 @@
109
public Iterator iterator() {
- 110 3 return versionParts.iterator();
+ 110 1 return versionParts.iterator();
111
}
112
@@ -236,7 +236,7 @@
@Override
119
public String toString() {
- 120 1244 return StringUtils.join(versionParts.toArray(), "." );
+ 120 430 return StringUtils.join(versionParts.toArray(), "." );
121
}
122
@@ -257,33 +257,33 @@
@Override
130
public boolean equals(Object obj) {
- 131 3911 if (obj == null ) {
+ 131 4595 if (obj == null ) {
132 0 return false ;
133
}
- 134 3911 if (getClass() != obj.getClass()) {
+ 134 4595 if (getClass() != obj.getClass()) {
135 0 return false ;
136
}
- 137 3911 final DependencyVersion other = (DependencyVersion) obj;
- 138 3911 final int max = (this .versionParts.size() < other.versionParts.size())
+ 137 4595 final DependencyVersion other = (DependencyVersion) obj;
+ 138 4595 final int max = (this .versionParts.size() < other.versionParts.size())
139
? this .versionParts.size() : other.versionParts.size();
140
- 141 7904 for (int i = 0; i < max; i++) {
- 142 7517 final String thisPart = this .versionParts.get(i);
- 143 7517 final String otherPart = other.versionParts.get(i);
- 144 7517 if (!thisPart.equals(otherPart)) {
- 145 3524 return false ;
+ 141 7572 for (int i = 0; i < max; i++) {
+ 142 7227 final String thisPart = this .versionParts.get(i);
+ 143 7227 final String otherPart = other.versionParts.get(i);
+ 144 7227 if (!thisPart.equals(otherPart)) {
+ 145 4250 return false ;
146
}
147
}
- 148 387 if (this .versionParts.size() > max) {
- 149 42 for (int i = max; i < this .versionParts.size(); i++) {
- 150 42 if (!"0" .equals(this .versionParts.get(i))) {
- 151 42 return false ;
+ 148 345 if (this .versionParts.size() > max) {
+ 149 21 for (int i = max; i < this .versionParts.size(); i++) {
+ 150 21 if (!"0" .equals(this .versionParts.get(i))) {
+ 151 21 return false ;
152
}
153
@@ -292,10 +292,10 @@
}
155
- 156 345 if (other.versionParts.size() > max) {
- 157 201 for (int i = max; i < other.versionParts.size(); i++) {
- 158 201 if (!"0" .equals(other.versionParts.get(i))) {
- 159 201 return false ;
+ 156 324 if (other.versionParts.size() > max) {
+ 157 258 for (int i = max; i < other.versionParts.size(); i++) {
+ 158 250 if (!"0" .equals(other.versionParts.get(i))) {
+ 159 234 return false ;
160
}
161
@@ -314,7 +314,7 @@
168
- 169 144 return true ;
+ 169 90 return true ;
170
}
171
@@ -333,9 +333,9 @@
@Override
178
public int hashCode() {
- 179 3 int hash = 5;
- 180 3 hash = 71 * hash + (this .versionParts != null ? this .versionParts.hashCode() : 0);
- 181 3 return hash;
+ 179 1 int hash = 5;
+ 180 1 hash = 71 * hash + (this .versionParts != null ? this .versionParts.hashCode() : 0);
+ 181 1 return hash;
182
}
183
@@ -358,35 +358,35 @@
192
public boolean matchesAtLeastThreeLevels(DependencyVersion version) {
- 193 2472 if (version == null ) {
+ 193 3971 if (version == null ) {
194 0 return false ;
195
}
196
- 197 2472 boolean ret = true ;
- 198 2472 int max = (this .versionParts.size() < version.versionParts.size())
+ 197 3971 boolean ret = true ;
+ 198 3971 int max = (this .versionParts.size() < version.versionParts.size())
199
? this .versionParts.size() : version.versionParts.size();
200
- 201 2472 if (max > 3) {
- 202 6 max = 3;
+ 201 3971 if (max > 3) {
+ 202 2 max = 3;
203
}
204
- 205 4779 for (int i = 0; i < max; i++) {
- 206 4578 if (this .versionParts.get(i) == null || !this .versionParts.get(i).equals(version.versionParts.get(i))) {
- 207 2271 ret = false ;
- 208 2271 break ;
+ 205 6258 for (int i = 0; i < max; i++) {
+ 206 6024 if (this .versionParts.get(i) == null || !this .versionParts.get(i).equals(version.versionParts.get(i))) {
+ 207 3737 ret = false ;
+ 208 3737 break ;
209
}
210
}
211
- 212 2472 return ret;
+ 212 3971 return ret;
213
}
214
@@ -395,50 +395,50 @@
@Override
216
public int compareTo(DependencyVersion version) {
- 217 66 if (version == null ) {
+ 217 22 if (version == null ) {
218 0 return 1;
219
}
- 220 66 final List<String> left = this .getVersionParts();
- 221 66 final List<String> right = version.getVersionParts();
- 222 66 final int max = left.size() < right.size() ? left.size() : right.size();
+ 220 22 final List<String> left = this .getVersionParts();
+ 221 22 final List<String> right = version.getVersionParts();
+ 222 22 final int max = left.size() < right.size() ? left.size() : right.size();
223
- 224 138 for (int i = 0; i < max; i++) {
- 225 117 final String lStr = left.get(i);
- 226 117 final String rStr = right.get(i);
- 227 117 if (lStr.equals(rStr)) {
- 228 72 continue ;
+ 224 46 for (int i = 0; i < max; i++) {
+ 225 39 final String lStr = left.get(i);
+ 226 39 final String rStr = right.get(i);
+ 227 39 if (lStr.equals(rStr)) {
+ 228 24 continue ;
229
}
230
try {
- 231 45 final int l = Integer.parseInt(lStr);
- 232 42 final int r = Integer.parseInt(rStr);
- 233 27 if (l < r) {
- 234 9 return -1;
- 235 18 } else if (l > r) {
- 236 18 return 1;
+ 231 15 final int l = Integer.parseInt(lStr);
+ 232 14 final int r = Integer.parseInt(rStr);
+ 233 9 if (l < r) {
+ 234 3 return -1;
+ 235 6 } else if (l > r) {
+ 236 6 return 1;
237
}
- 238 18 } catch (NumberFormatException ex) {
- 239 18 final int comp = left.get(i).compareTo(right.get(i));
- 240 18 if (comp < 0) {
+ 238 6 } catch (NumberFormatException ex) {
+ 239 6 final int comp = left.get(i).compareTo(right.get(i));
+ 240 6 if (comp < 0) {
241 0 return -1;
- 242 18 } else if (comp > 0) {
- 243 18 return 1;
+ 242 6 } else if (comp > 0) {
+ 243 6 return 1;
244
}
245 0 }
246
}
- 247 21 if (left.size() < right.size()) {
- 248 9 return -1;
- 249 12 } else if (left.size() > right.size()) {
- 250 9 return 1;
+ 247 7 if (left.size() < right.size()) {
+ 248 3 return -1;
+ 249 4 } else if (left.size() > right.size()) {
+ 250 3 return 1;
251
} else {
- 252 3 return 0;
+ 252 1 return 0;
253
}
254
@@ -447,6 +447,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html
index d34b5d88e..06cfa9259 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DependencyVersionUtil.html
@@ -87,7 +87,7 @@
35
- 36 3 private static final Pattern RX_VERSION = Pattern.compile("\\d+(\\.\\d{1,6})+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
+ 36 1 private static final Pattern RX_VERSION = Pattern.compile("\\d+(\\.\\d{1,6})+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
37
38
@@ -98,7 +98,7 @@
41
- 42 3 private static final Pattern RX_SINGLE_VERSION = Pattern.compile("\\d+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
+ 42 1 private static final Pattern RX_SINGLE_VERSION = Pattern.compile("\\d+(\\.?([_-](release|beta|alpha)|[a-zA-Z_-]{1,3}\\d{1,8}))?" );
43
44
@@ -133,56 +133,56 @@
60
public static DependencyVersion parseVersion(String text) {
- 61 4104 if (text == null ) {
- 62 18 return null ;
+ 61 4708 if (text == null ) {
+ 62 12 return null ;
63
}
64
- 65 4086 if ("-" .equals(text)) {
- 66 3 final DependencyVersion dv = new DependencyVersion();
- 67 3 final ArrayList<String> list = new ArrayList<String>();
- 68 3 list.add(text);
- 69 3 dv.setVersionParts(list);
- 70 3 return dv;
+ 65 4696 if ("-" .equals(text)) {
+ 66 1 final DependencyVersion dv = new DependencyVersion();
+ 67 1 final ArrayList<String> list = new ArrayList<String>();
+ 68 1 list.add(text);
+ 69 1 dv.setVersionParts(list);
+ 70 1 return dv;
71
}
- 72 4083 String version = null ;
- 73 4083 Matcher matcher = RX_VERSION.matcher(text);
- 74 4083 if (matcher.find()) {
- 75 4020 version = matcher.group();
+ 72 4695 String version = null ;
+ 73 4695 Matcher matcher = RX_VERSION.matcher(text);
+ 74 4695 if (matcher.find()) {
+ 75 4674 version = matcher.group();
76
}
77
- 78 4083 if (matcher.find()) {
- 79 6 return null ;
+ 78 4695 if (matcher.find()) {
+ 79 2 return null ;
80
}
- 81 4077 if (version == null ) {
- 82 63 matcher = RX_SINGLE_VERSION.matcher(text);
- 83 63 if (matcher.find()) {
- 84 54 version = matcher.group();
+ 81 4693 if (version == null ) {
+ 82 21 matcher = RX_SINGLE_VERSION.matcher(text);
+ 83 21 if (matcher.find()) {
+ 84 18 version = matcher.group();
85
} else {
- 86 9 return null ;
+ 86 3 return null ;
87
}
88
- 89 54 if (matcher.find()) {
- 90 3 return null ;
+ 89 18 if (matcher.find()) {
+ 90 1 return null ;
91
}
92
}
- 93 4065 return new DependencyVersion(version);
+ 93 4689 return new DependencyVersion(version);
94
}
95
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
index 7a344cdad..6b88dfaa7 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.DownloadFailedException.html
@@ -149,6 +149,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html
index 1379aca9a..9835fc60c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Downloader.html
@@ -12,7 +12,7 @@
@@ -76,331 +76,284 @@
29
import java.net.SocketAddress;
30
- import java.net.URL;
+ import java.net.URISyntaxException;
31
- import java.util.logging.Level;
+ import java.net.URL;
32
- import java.util.logging.Logger;
+ import java.util.logging.Level;
33
- import java.util.zip.GZIPInputStream;
+ import java.util.logging.Logger;
34
- import java.util.zip.InflaterInputStream;
+ import java.util.zip.GZIPInputStream;
35
-
+ import java.util.zip.InflaterInputStream;
36
-
+
37
-
+
38
-
+
39
-
+
40
-
+
41
- public final class Downloader {
+
42
-
+ public final class Downloader {
43
-
+
44
-
+
45
+
+ 46
- 46 0 private Downloader() {
- 47 0 }
- 48
-
+ 47 0 private Downloader() {
+ 48 0 }
49
-
- 50
-
- 51
-
- 52
-
- 53
-
- 54
-
- 55
-
- 56
-
- 57
- public static void fetchFile(URL url, String outputPath) throws DownloadFailedException {
- 58 0 fetchFile(url, outputPath, false );
- 59 0 }
- 60
- 61
+ 50
- 62
+ 51
- 63
+ 52
- 64
+ 53
- 65
+ 54
- 66
-
- 67
-
- 68
+ 55
- 69
+ 56
- 70
+ 57
- 71
- public static void fetchFile(URL url, String outputPath, boolean unzip) throws DownloadFailedException {
- 72 0 final File f = new File(outputPath);
- 73 0 fetchFile(url, f, unzip);
- 74 0 }
+ 58
+ public static void fetchFile(URL url, File outputPath) throws DownloadFailedException {
+ 59 0 HttpURLConnection conn = null ;
+ 60
+ try {
+ 61 0 conn = Downloader.getConnection(url);
+ 62 0 conn.setRequestProperty("Accept-Encoding" , "gzip, deflate" );
+ 63 0 conn.connect();
+ 64 0 } catch (IOException ex) {
+ 65
+ try {
+ 66 0 if (conn != null ) {
+ 67 0 conn.disconnect();
+ 68
+ }
+ 69
+ } finally {
+ 70 0 conn = null ;
+ 71 0 }
+ 72 0 throw new DownloadFailedException("Error downloading file." , ex);
+ 73 0 }
+ 74 0 final String encoding = conn.getContentEncoding();
75
- 76
-
- 77
-
+ 76 0 BufferedOutputStream writer = null ;
+ 77 0 InputStream reader = null ;
78
-
- 79
-
- 80
-
- 81
-
- 82
-
+ try {
+ 79 0 if (encoding != null && "gzip" .equalsIgnoreCase(encoding)) {
+ 80 0 reader = new GZIPInputStream(conn.getInputStream());
+ 81 0 } else if (encoding != null && "deflate" .equalsIgnoreCase(encoding)) {
+ 82 0 reader = new InflaterInputStream(conn.getInputStream());
83
-
- 84
- public static void fetchFile(URL url, File outputPath) throws DownloadFailedException {
- 85 0 fetchFile(url, outputPath, false );
- 86 0 }
- 87
-
- 88
-
- 89
-
- 90
-
- 91
-
- 92
-
- 93
-
- 94
-
- 95
-
- 96
-
- 97
-
- 98
- public static void fetchFile(URL url, File outputPath, boolean unzip) throws DownloadFailedException {
- 99 0 HttpURLConnection conn = null ;
- 100
- try {
- 101 0 conn = Downloader.getConnection(url);
- 102 0 conn.setRequestProperty("Accept-Encoding" , "gzip, deflate" );
- 103 0 conn.connect();
- 104 0 } catch (IOException ex) {
- 105
- try {
- 106 0 if (conn != null ) {
- 107 0 conn.disconnect();
- 108
- }
- 109
- } finally {
- 110 0 conn = null ;
- 111 0 }
- 112 0 throw new DownloadFailedException("Error downloading file." , ex);
- 113 0 }
- 114 0 final String encoding = conn.getContentEncoding();
- 115
-
- 116 0 BufferedOutputStream writer = null ;
- 117 0 InputStream reader = null ;
- 118
- try {
- 119 0 if (unzip || (encoding != null && "gzip" .equalsIgnoreCase(encoding))) {
- 120 0 reader = new GZIPInputStream(conn.getInputStream());
- 121 0 } else if (encoding != null && "deflate" .equalsIgnoreCase(encoding)) {
- 122 0 reader = new InflaterInputStream(conn.getInputStream());
- 123
} else {
- 124 0 reader = conn.getInputStream();
- 125
+ 84 0 reader = conn.getInputStream();
+ 85
}
- 126
+ 86
- 127 0 writer = new BufferedOutputStream(new FileOutputStream(outputPath));
- 128 0 final byte [] buffer = new byte [4096];
- 129
+ 87 0 writer = new BufferedOutputStream(new FileOutputStream(outputPath));
+ 88 0 final byte [] buffer = new byte [4096];
+ 89
int bytesRead;
- 130 0 while ((bytesRead = reader.read(buffer)) > 0) {
- 131 0 writer.write(buffer, 0, bytesRead);
- 132
+ 90 0 while ((bytesRead = reader.read(buffer)) > 0) {
+ 91 0 writer.write(buffer, 0, bytesRead);
+ 92
}
- 133 0 } catch (Exception ex) {
- 134 0 throw new DownloadFailedException("Error saving downloaded file." , ex);
- 135
+ 93 0 } catch (Exception ex) {
+ 94 0 throw new DownloadFailedException("Error saving downloaded file." , ex);
+ 95
} finally {
- 136 0 if (writer != null ) {
- 137
+ 96 0 if (writer != null ) {
+ 97
try {
- 138 0 writer.close();
- 139 0 writer = null ;
- 140 0 } catch (Exception ex) {
- 141 0 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
- 142
+ 98 0 writer.close();
+ 99 0 } catch (Exception ex) {
+ 100 0 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
+ 101
"Error closing the writer in Downloader." , ex);
- 143 0 }
- 144
+ 102 0 }
+ 103
}
- 145 0 if (reader != null ) {
- 146
+ 104 0 if (reader != null ) {
+ 105
try {
- 147 0 reader.close();
- 148 0 reader = null ;
- 149 0 } catch (Exception ex) {
- 150
-
- 151 0 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
- 152
+ 106 0 reader.close();
+ 107 0 } catch (Exception ex) {
+ 108 0 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
+ 109
"Error closing the reader in Downloader." , ex);
- 153 0 }
- 154
+ 110 0 }
+ 111
}
- 155
+ 112
try {
- 156 0 conn.disconnect();
- 157
+ 113 0 conn.disconnect();
+ 114
} finally {
- 158 0 conn = null ;
- 159 0 }
- 160 0 }
- 161 0 }
- 162
+ 115 0 conn = null ;
+ 116 0 }
+ 117 0 }
+ 118 0 }
+ 119
- 163
+ 120
- 164
+ 121
- 165
-
- 166
+ 122
+
+ 123
+
+ 124
- 167
+ 125
- 168
+ 126
- 169
+ 127
- 170
+ 128
- 171
+ 129
- 172
+ 130
public static long getLastModified(URL url) throws DownloadFailedException {
- 173 0 HttpURLConnection conn = null ;
- 174 0 long timestamp = 0;
- 175
- try {
- 176 0 conn = Downloader.getConnection(url);
- 177 0 conn.setRequestMethod("HEAD" );
- 178 0 conn.connect();
- 179 0 timestamp = conn.getLastModified();
- 180 0 } catch (Exception ex) {
- 181 0 throw new DownloadFailedException("Error making HTTP HEAD request." , ex);
- 182
- } finally {
- 183 0 if (conn != null ) {
- 184
- try {
- 185 0 conn.disconnect();
- 186
- } finally {
- 187 0 conn = null ;
- 188 0 }
- 189
+ 131 3 long timestamp = 0;
+ 132
+
+ 133 3 if ("file" .equalsIgnoreCase(url.getProtocol())) {
+ 134
+ File lastModifiedFile;
+ 135
+ try {
+ 136
+
+ 137
+
+ 138
+
+ 139
+
+ 140
+
+ 141
+
+ 142
+
+ 143
+
+ 144 3 lastModifiedFile = new File(url.toURI());
+ 145
+
+ 146 0 } catch (URISyntaxException ex) {
+ 147 0 final String msg = String.format("Unable to locate '%s'; is the cve.url-2.0.modified property set correctly?" , url.toString());
+ 148 0 throw new DownloadFailedException(msg);
+ 149 3 }
+ 150 3 timestamp = lastModifiedFile.lastModified();
+ 151 3 } else {
+ 152 0 HttpURLConnection conn = null ;
+ 153
+ try {
+ 154 0 conn = Downloader.getConnection(url);
+ 155 0 conn.setRequestMethod("HEAD" );
+ 156 0 conn.connect();
+ 157 0 timestamp = conn.getLastModified();
+ 158 0 } catch (Exception ex) {
+ 159 0 throw new DownloadFailedException("Error making HTTP HEAD request." , ex);
+ 160
+ } finally {
+ 161 0 if (conn != null ) {
+ 162
+ try {
+ 163 0 conn.disconnect();
+ 164
+ } finally {
+ 165 0 conn = null ;
+ 166 0 }
+ 167
+ }
+ 168
}
- 190
+ 169
}
- 191 0 return timestamp;
- 192
+ 170 3 return timestamp;
+ 171
}
- 193
+ 172
- 194
+ 173
- 195
+ 174
- 196
+ 175
- 197
+ 176
- 198
+ 177
- 199
+ 178
- 200
+ 179
- 201
+ 180
- 202
+ 181
- 203
+ 182
private static HttpURLConnection getConnection(URL url) throws DownloadFailedException {
- 204 0 HttpURLConnection conn = null ;
- 205 0 Proxy proxy = null ;
- 206 0 final String proxyUrl = Settings.getString(Settings.KEYS.PROXY_URL);
- 207
+ 183 0 HttpURLConnection conn = null ;
+ 184 0 Proxy proxy = null ;
+ 185 0 final String proxyUrl = Settings.getString(Settings.KEYS.PROXY_URL);
+ 186
try {
- 208 0 if (proxyUrl != null ) {
- 209 0 final int proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
- 210 0 final SocketAddress addr = new InetSocketAddress(proxyUrl, proxyPort);
- 211 0 proxy = new Proxy(Proxy.Type.HTTP, addr);
- 212 0 conn = (HttpURLConnection) url.openConnection(proxy);
- 213 0 } else {
- 214 0 conn = (HttpURLConnection) url.openConnection();
- 215
+ 187 0 if (proxyUrl != null ) {
+ 188 0 final int proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
+ 189 0 final SocketAddress addr = new InetSocketAddress(proxyUrl, proxyPort);
+ 190 0 proxy = new Proxy(Proxy.Type.HTTP, addr);
+ 191 0 conn = (HttpURLConnection) url.openConnection(proxy);
+ 192 0 } else {
+ 193 0 conn = (HttpURLConnection) url.openConnection();
+ 194
}
- 216
-
- 217
-
- 218 0 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
- 219 0 conn.setConnectTimeout(timeout);
- 220
-
- 221 0 } catch (IOException ex) {
- 222 0 if (conn != null ) {
- 223
+ 195 0 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
+ 196 0 conn.setConnectTimeout(timeout);
+ 197 0 } catch (IOException ex) {
+ 198 0 if (conn != null ) {
+ 199
try {
- 224 0 conn.disconnect();
- 225
+ 200 0 conn.disconnect();
+ 201
} finally {
- 226 0 conn = null ;
- 227 0 }
- 228
+ 202 0 conn = null ;
+ 203 0 }
+ 204
}
- 229 0 throw new DownloadFailedException("Error getting connection." , ex);
- 230 0 }
- 231 0 return conn;
- 232
+ 205 0 throw new DownloadFailedException("Error getting connection." , ex);
+ 206 0 }
+ 207 0 return conn;
+ 208
}
- 233
+ 209
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html
new file mode 100644
index 000000000..57767a294
--- /dev/null
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.ExtractionException.html
@@ -0,0 +1,154 @@
+
+
+
+
+Coverage Report
+
+
+
+
+Coverage Report - org.owasp.dependencycheck.utils.ExtractionException
+
+
+
+
+ 1
+
+ 2
+
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 8
+
+ 9
+
+ 10
+
+ 11
+
+ 12
+
+ 13
+
+ 14
+
+ 15
+
+ 16
+
+ 17
+
+ 18
+
+ 19
+ package org.owasp.dependencycheck.utils;
+ 20
+
+ 21
+ import java.io.IOException;
+ 22
+
+ 23
+
+ 24
+
+ 25
+
+ 26
+
+ 27
+
+ 28
+ public class ExtractionException extends IOException {
+ 29
+
+ 30
+
+ 31
+
+ 32
+
+ 33
+ private static final long serialVersionUID = 1L;
+ 34
+
+ 35
+
+ 36
+
+ 37
+
+ 38
+ public ExtractionException() {
+ 39 0 super ();
+ 40 0 }
+ 41
+
+ 42
+
+ 43
+
+ 44
+
+ 45
+
+ 46
+
+ 47
+ public ExtractionException(String msg) {
+ 48 0 super (msg);
+ 49 0 }
+ 50
+
+ 51
+
+ 52
+
+ 53
+
+ 54
+
+ 55
+
+ 56
+ public ExtractionException(Throwable ex) {
+ 57 0 super (ex);
+ 58 0 }
+ 59
+
+ 60
+
+ 61
+
+ 62
+
+ 63
+
+ 64
+
+ 65
+
+ 66
+ public ExtractionException(String msg, Throwable ex) {
+ 67 0 super (msg, ex);
+ 68 0 }
+ 69
+ }
+
+
+
+
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
index a0a175c66..f10c7f892 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.FileUtils.html
@@ -12,7 +12,7 @@
@@ -58,179 +58,394 @@
20
21
- import java.io.File;
+ import java.io.BufferedInputStream;
22
- import java.io.FileNotFoundException;
+ import java.io.BufferedOutputStream;
23
- import java.io.IOException;
+ import java.io.File;
24
- import java.io.UnsupportedEncodingException;
+ import java.io.FileInputStream;
25
- import java.net.URLDecoder;
+ import java.io.FileNotFoundException;
26
-
+ import java.io.FileOutputStream;
27
-
+ import java.io.IOException;
28
-
+ import java.io.UnsupportedEncodingException;
29
-
+ import java.net.URLDecoder;
30
-
+ import java.util.logging.Level;
31
-
+ import java.util.logging.Logger;
32
- public final class FileUtils {
+ import java.util.zip.ZipEntry;
33
-
+ import java.util.zip.ZipInputStream;
34
-
+ import org.owasp.dependencycheck.Engine;
35
-
- 36
-
- 37 0 private FileUtils() {
- 38 0 }
- 39
+ 36
+
+ 37
+
+ 38
+
+ 39
+
40
-
+
41
-
+ public final class FileUtils {
42
-
+
43
-
+
44
-
+
45
46
- public static String getFileExtension(String fileName) {
- 47 18102 String ret = null ;
- 48 18102 final int pos = fileName.lastIndexOf("." );
- 49 18102 if (pos >= 0) {
- 50 17871 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
- 51
- }
- 52 18102 return ret;
+ private static final int BUFFER_SIZE = 4096;
+ 47
+
+ 48
+
+ 49
+
+ 50
+
+ 51 0 private FileUtils() {
+ 52 0 }
53
- }
+
54
-
+
55
-
+
56
-
+
57
-
+
58
-
+
59
-
+
60
-
- 61
-
- 62
- public static void delete(File file) throws IOException {
- 63 3 if (file.isDirectory()) {
- 64 0 for (File c : file.listFiles()) {
- 65 0 delete(c);
- 66
- }
+ public static String getFileExtension(String fileName) {
+ 61 199 String ret = null ;
+ 62 199 final int pos = fileName.lastIndexOf("." );
+ 63 199 if (pos >= 0) {
+ 64 189 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
+ 65
+ }
+ 66 199 return ret;
67
- }
- 68 3 if (!file.delete()) {
- 69 0 throw new FileNotFoundException("Failed to delete file: " + file);
+ }
+ 68
+
+ 69
+
70
- }
- 71 3 }
+
+ 71
+
72
-
+
73
-
+
74
-
+
75
-
+
76
-
- 77
-
- 78
-
- 79
-
+ public static void delete(File file) throws IOException {
+ 77 35 if (file.isDirectory()) {
+ 78 32 for (File c : file.listFiles()) {
+ 79 28 delete(c);
80
-
+ }
81
-
- 82
-
- 83
-
- 84
-
- 85
-
- 86
-
- 87
-
- 88
- @java.lang.Deprecated
- 89
- public static File getDataDirectory(String configuredFilePath, Class clazz) throws IOException {
- 90 0 final File file = new File(configuredFilePath);
- 91 0 if (file.isDirectory() && file.canWrite()) {
- 92 0 return new File(file.getCanonicalPath());
- 93
- } else {
- 94 0 final File exePath = getPathToJar(clazz);
- 95 0 return new File(exePath, configuredFilePath);
- 96
}
- 97
- }
- 98
+ 82 35 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
+ 83
+
+ 84 0 throw new FileNotFoundException("Failed to delete file: " + file);
+ 85
+ } else {
+ 86 35 file.deleteOnExit();
+ 87
+ }
+ 88 35 }
+ 89
- 99
+ 90
- 100
-
- 101
-
- 102
-
- 103
-
- 104
+ 91
+
+ 92
+
+ 93
- 105
-
- 106
-
- 107
-
- 108
-
- 109
+ 94
+
+ 95
+
+ 96
+
+ 97
+
+ 98
+
+ 99
+ 100
+ public static void delete(File file, boolean deleteOnExit) throws IOException {
+ 101 0 if (file.isDirectory()) {
+ 102 0 for (File c : file.listFiles()) {
+ 103 0 delete(c);
+ 104
+ }
+ 105
+ }
+ 106 0 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
+ 107
+
+ 108 0 if (deleteOnExit) {
+ 109 0 file.deleteOnExit();
110
- @java.lang.Deprecated
- 111
- public static File getPathToJar(Class clazz) throws UnsupportedEncodingException {
- 112 0 final String filePath = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
- 113 0 final String decodedPath = URLDecoder.decode(filePath, "UTF-8" );
- 114 0 final File jarPath = new File(decodedPath);
- 115 0 return jarPath.getParentFile();
+ } else {
+ 111 0 throw new FileNotFoundException("Failed to delete file: " + file);
+ 112
+ }
+ 113
+ }
+ 114 0 }
+ 115
+
116
- }
+
117
+
+ 118
+
+ 119
+
+ 120
+
+ 121
+
+ 122
+
+ 123
+
+ 124
+
+ 125
+
+ 126
+
+ 127
+
+ 128
+
+ 129
+
+ 130
+
+ 131
+ @java.lang.Deprecated
+ 132
+ public static File getDataDirectory(String configuredFilePath, Class clazz) throws IOException {
+ 133 0 final File file = new File(configuredFilePath);
+ 134 0 if (file.isDirectory() && file.canWrite()) {
+ 135 0 return new File(file.getCanonicalPath());
+ 136
+ } else {
+ 137 0 final File exePath = getPathToJar(clazz);
+ 138 0 return new File(exePath, configuredFilePath);
+ 139
+ }
+ 140
+ }
+ 141
+
+ 142
+
+ 143
+
+ 144
+
+ 145
+
+ 146
+
+ 147
+
+ 148
+
+ 149
+
+ 150
+
+ 151
+
+ 152
+
+ 153
+ @java.lang.Deprecated
+ 154
+ public static File getPathToJar(Class clazz) throws UnsupportedEncodingException {
+ 155 0 final String filePath = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
+ 156 0 final String decodedPath = URLDecoder.decode(filePath, "UTF-8" );
+ 157 0 final File jarPath = new File(decodedPath);
+ 158 0 return jarPath.getParentFile();
+ 159
+ }
+ 160
+
+ 161
+
+ 162
+
+ 163
+
+ 164
+
+ 165
+
+ 166
+
+ 167
+
+ 168
+
+ 169
+ public static void extractFiles(File archive, File extractTo) throws ExtractionException {
+ 170 2 extractFiles(archive, extractTo, null );
+ 171 2 }
+ 172
+
+ 173
+
+ 174
+
+ 175
+
+ 176
+
+ 177
+
+ 178
+
+ 179
+
+ 180
+
+ 181
+
+ 182
+
+ 183
+
+ 184
+
+ 185
+ public static void extractFiles(File archive, File extractTo, Engine engine) throws ExtractionException {
+ 186 2 if (archive == null || extractTo == null ) {
+ 187 0 return ;
+ 188
+ }
+ 189
+
+ 190 2 FileInputStream fis = null ;
+ 191 2 ZipInputStream zis = null ;
+ 192
+
+ 193
+ try {
+ 194 2 fis = new FileInputStream(archive);
+ 195 0 } catch (FileNotFoundException ex) {
+ 196 0 Logger.getLogger(FileUtils.class .getName()).log(Level.INFO, null , ex);
+ 197 0 throw new ExtractionException("Archive file was not found." , ex);
+ 198 2 }
+ 199 2 zis = new ZipInputStream(new BufferedInputStream(fis));
+ 200
+ ZipEntry entry;
+ 201
+ try {
+ 202 36 while ((entry = zis.getNextEntry()) != null ) {
+ 203 34 if (entry.isDirectory()) {
+ 204 4 final File d = new File(extractTo, entry.getName());
+ 205 4 if (!d.exists() && !d.mkdirs()) {
+ 206 0 final String msg = String.format("Unable to create '%s'." , d.getAbsolutePath());
+ 207 0 throw new ExtractionException(msg);
+ 208
+ }
+ 209 4 } else {
+ 210 30 final File file = new File(extractTo, entry.getName());
+ 211 30 final String ext = getFileExtension(file.getName());
+ 212 30 if (engine == null || engine.supportsExtension(ext)) {
+ 213 30 BufferedOutputStream bos = null ;
+ 214
+ FileOutputStream fos;
+ 215
+ try {
+ 216 30 fos = new FileOutputStream(file);
+ 217 30 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
+ 218
+ int count;
+ 219 30 final byte data[] = new byte [BUFFER_SIZE];
+ 220 191432 while ((count = zis.read(data, 0, BUFFER_SIZE)) != -1) {
+ 221 191402 bos.write(data, 0, count);
+ 222
+ }
+ 223 30 bos.flush();
+ 224 0 } catch (FileNotFoundException ex) {
+ 225 0 Logger.getLogger(FileUtils.class .getName()).log(Level.FINE, null , ex);
+ 226 0 final String msg = String.format("Unable to find file '%s'." , file.getName());
+ 227 0 throw new ExtractionException(msg, ex);
+ 228 0 } catch (IOException ex) {
+ 229 0 Logger.getLogger(FileUtils.class .getName()).log(Level.FINE, null , ex);
+ 230 0 final String msg = String.format("IO Exception while parsing file '%s'." , file.getName());
+ 231 0 throw new ExtractionException(msg, ex);
+ 232
+ } finally {
+ 233 30 if (bos != null ) {
+ 234
+ try {
+ 235 30 bos.close();
+ 236 0 } catch (IOException ex) {
+ 237 0 Logger.getLogger(FileUtils.class .getName()).log(Level.FINEST, null , ex);
+ 238 30 }
+ 239
+ }
+ 240
+ }
+ 241
+ }
+ 242 30 }
+ 243
+ }
+ 244 0 } catch (IOException ex) {
+ 245 0 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+ 246 0 Logger.getLogger(FileUtils.class .getName()).log(Level.FINE, msg, ex);
+ 247 0 throw new ExtractionException(msg, ex);
+ 248
+ } finally {
+ 249 0 try {
+ 250 2 zis.close();
+ 251 0 } catch (IOException ex) {
+ 252 0 Logger.getLogger(FileUtils.class .getName()).log(Level.FINEST, null , ex);
+ 253 2 }
+ 254 0 }
+ 255 2 }
+ 256
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
index 32aab8cc9..f632201ef 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Filter.html
@@ -47,7 +47,7 @@
14
- 15 18 public abstract class Filter<T> {
+ 15 6 public abstract class Filter<T> {
16
17
@@ -56,19 +56,19 @@
19
public Iterator<T> filter(Iterator<T> iterator) {
- 20 1275 return new FilterIterator(iterator);
+ 20 957 return new FilterIterator(iterator);
21
}
22
23
public Iterable<T> filter(final Iterable<T> iterable) {
- 24 1275 return new Iterable<T>() {
+ 24 957 return new Iterable<T>() {
25
26
public Iterator<T> iterator() {
- 27 1275 return filter(iterable.iterator());
+ 27 957 return filter(iterable.iterator());
28
}
29
@@ -77,7 +77,7 @@
}
31
- 32 18 private class FilterIterator implements Iterator<T> {
+ 32 6 private class FilterIterator implements Iterator<T> {
33
34
@@ -86,28 +86,28 @@
private T next;
36
- 37 1275 private FilterIterator(Iterator<T> iterator) {
- 38 1275 this .iterator = iterator;
- 39 1275 toNext();
- 40 1275 }
+ 37 957 private FilterIterator(Iterator<T> iterator) {
+ 38 957 this .iterator = iterator;
+ 39 957 toNext();
+ 40 957 }
41
42
public boolean hasNext() {
- 43 5766 return next != null ;
+ 43 5124 return next != null ;
44
}
45
46
public T next() {
- 47 4875 if (next == null ) {
+ 47 4436 if (next == null ) {
48 0 throw new NoSuchElementException();
49
}
- 50 4875 T returnValue = next;
- 51 4875 toNext();
- 52 4875 return returnValue;
+ 50 4436 T returnValue = next;
+ 51 4436 toNext();
+ 52 4436 return returnValue;
53
}
54
@@ -121,22 +121,22 @@
59
private void toNext() {
- 60 6150 next = null ;
- 61 10092 while (iterator.hasNext()) {
- 62 9186 T item = iterator.next();
- 63 9186 if (item != null && passes(item)) {
- 64 5244 next = item;
- 65 5244 break ;
+ 60 5393 next = null ;
+ 61 8216 while (iterator.hasNext()) {
+ 62 7514 T item = iterator.next();
+ 63 7514 if (item != null && passes(item)) {
+ 64 4691 next = item;
+ 65 4691 break ;
66
}
- 67 3942 }
- 68 6150 }
+ 67 2823 }
+ 68 5393 }
69
}
70
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
index e992dbbe9..70cbb7428 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.InvalidSettingException.html
@@ -149,6 +149,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
index 5394d4fa1..0b788ea06 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.NonClosingStream.html
@@ -93,8 +93,8 @@
38
public NonClosingStream(InputStream in) {
- 39 12 super (in);
- 40 12 }
+ 39 5 super (in);
+ 40 5 }
41
42
@@ -109,11 +109,11 @@
public void close() {
47
- 48 12 }
+ 48 5 }
49
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html
index bf1593cdf..2329c3f49 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.Settings.html
@@ -12,8 +12,8 @@
@@ -157,621 +157,623 @@
70
71
-
+
72
-
+
73
74
- public static final String CPE_DATA_DIRECTORY = "data.cpe" ;
+ public static final String BATCH_UPDATE_URL = "batch.update.url" ;
75
76
-
+
77
78
79
- public static final String CVE_DATA_DIRECTORY = "data.cve" ;
+ public static final String CPE_DATA_DIRECTORY = "data.cpe" ;
80
81
-
+
82
-
+
83
- public static final String CPE_URL = "cpe.url" ;
+
84
-
+ public static final String CVE_DATA_DIRECTORY = "data.cve" ;
85
-
+
86
-
- 87
- public static final String CPE_META_URL = "cpe.meta.url" ;
- 88
-
- 89
- 90
+ 87
- 91
+ 88
- 92
+ 89
public static final String CVE_META_URL = "cve.url.meta" ;
- 93
+ 90
- 94
+ 91
- 95
+ 92
- 96
+ 93
- 97
+ 94
public static final String CVE_MODIFIED_20_URL = "cve.url-2.0.modified" ;
- 98
+ 95
- 99
+ 96
- 100
+ 97
- 101
+ 98
- 102
+ 99
public static final String CVE_MODIFIED_12_URL = "cve.url-1.2.modified" ;
- 103
+ 100
- 104
+ 101
- 105
+ 102
- 106
+ 103
- 107
+ 104
public static final String CVE_MODIFIED_VALID_FOR_DAYS = "cve.url.modified.validfordays" ;
- 108
+ 105
- 109
+ 106
- 110
+ 107
- 111
+ 108
- 112
+ 109
- 113
+ 110
public static final String CVE_START_YEAR = "cve.startyear" ;
- 114
+ 111
- 115
+ 112
- 116
+ 113
- 117
+ 114
public static final String CVE_SCHEMA_1_2 = "cve.url-1.2.base" ;
- 118
+ 115
- 119
+ 116
- 120
+ 117
- 121
+ 118
public static final String CVE_SCHEMA_2_0 = "cve.url-2.0.base" ;
- 122
+ 119
- 123
+ 120
- 124
+ 121
- 125
+ 122
public static final String PROXY_URL = "proxy.url" ;
- 126
+ 123
- 127
+ 124
- 128
+ 125
- 129
+ 126
- 130
+ 127
public static final String PROXY_PORT = "proxy.port" ;
- 131
+ 128
- 132
+ 129
- 133
+ 130
- 134
+ 131
public static final String CONNECTION_TIMEOUT = "connection.timeout" ;
- 135
+ 132
- 136
+ 133
- 137
+ 134
- 138
+ 135
public static final String TEMP_DIRECTORY = "temp.directory" ;
- 139
+ 136
}
- 140
+ 137
- 141
+ 138
- 142
+ 139
- 143
+ 140
private static final String PROPERTIES_FILE = "dependencycheck.properties" ;
- 144
+ 141
- 145
+ 142
+ 143
+
+ 144 1 private static final Settings INSTANCE = new Settings();
+ 145
+
146
-
- 147 3 private static final Settings INSTANCE = new Settings();
- 148
-
- 149
+ 147
+
+ 148 1 private Properties props = null ;
+ 149
+
150
-
- 151 3 private Properties props = null ;
- 152
-
- 153
- 154
+ 151
- 155
+ 152
- 156
+ 153
- 157 3 private Settings() {
- 158 3 InputStream in = null ;
- 159 3 props = new Properties();
- 160
+ 154 1 private Settings() {
+ 155 1 InputStream in = null ;
+ 156 1 props = new Properties();
+ 157
try {
- 161 3 in = this .getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
- 162 3 props.load(in);
- 163 0 } catch (IOException ex) {
- 164 0 Logger.getLogger(Settings.class .getName()).log(Level.SEVERE, "Unable to load default settings." );
- 165 0 Logger.getLogger(Settings.class .getName()).log(Level.FINE, null , ex);
- 166
+ 158 1 in = this .getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
+ 159 1 props.load(in);
+ 160 0 } catch (IOException ex) {
+ 161 0 Logger.getLogger(Settings.class .getName()).log(Level.SEVERE, "Unable to load default settings." );
+ 162 0 Logger.getLogger(Settings.class .getName()).log(Level.FINE, null , ex);
+ 163
} finally {
- 167 3 if (in != null ) {
- 168
+ 164 1 if (in != null ) {
+ 165
try {
- 169 3 in.close();
- 170 0 } catch (IOException ex) {
- 171 0 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
- 172 3 }
- 173
+ 166 1 in.close();
+ 167 0 } catch (IOException ex) {
+ 168 0 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
+ 169 1 }
+ 170
}
+ 171
+ }
+ 172 1 }
+ 173
+
174
- }
- 175 3 }
+
+ 175
+
176
-
+
177
-
+
178
-
+
179
-
+
180
-
- 181
-
- 182
-
- 183
public static void setString(String key, String value) {
- 184 12 INSTANCE.props.setProperty(key, value);
- 185 12 }
- 186
+ 181 14 INSTANCE.props.setProperty(key, value);
+ 182 14 }
+ 183
- 187
+ 184
- 188
+ 185
- 189
+ 186
- 190
+ 187
- 191
+ 188
- 192
+ 189
- 193
+ 190
public static void setBoolean(String key, boolean value) {
- 194 3 if (value) {
- 195 0 INSTANCE.props.setProperty(key, Boolean.TRUE.toString());
- 196
+ 191 2 if (value) {
+ 192 0 INSTANCE.props.setProperty(key, Boolean.TRUE.toString());
+ 193
} else {
- 197 3 INSTANCE.props.setProperty(key, Boolean.FALSE.toString());
- 198
+ 194 2 INSTANCE.props.setProperty(key, Boolean.FALSE.toString());
+ 195
}
- 199 3 }
+ 196 2 }
+ 197
+
+ 198
+
+ 199
+
200
-
+
201
-
+
202
-
+
203
-
+
204
-
- 205
-
- 206
-
- 207
- 208
+ 205
- 209
+ 206
+ 207
+
+ 208
+
+ 209
+
210
-
- 211
-
- 212
-
- 213
public static void mergeProperties(String filePath) throws FileNotFoundException, IOException {
- 214 3 final FileInputStream fis = new FileInputStream(filePath);
- 215 3 mergeProperties(fis);
- 216 3 }
- 217
+ 211 1 final FileInputStream fis = new FileInputStream(filePath);
+ 212 1 mergeProperties(fis);
+ 213 1 }
+ 214
- 218
+ 215
- 219
+ 216
- 220
+ 217
- 221
+ 218
- 222
+ 219
- 223
+ 220
- 224
+ 221
- 225
+ 222
- 226
+ 223
- 227
+ 224
- 228
+ 225
public static void mergeProperties(InputStream stream) throws IOException {
- 229 3 INSTANCE.props.load(stream);
- 230 3 }
- 231
+ 226 1 INSTANCE.props.load(stream);
+ 227 1 }
+ 228
- 232
+ 229
- 233
+ 230
- 234
+ 231
- 235
+ 232
- 236
+ 233
+ 234
+
+ 235
+
+ 236
+
237
238
239
-
- 240
-
- 241
-
- 242
- public static File getFile(String key, String defaultValue) {
- 243 3 final String baseDir = getString(Settings.KEYS.DATA_DIRECTORY);
- 244 3 final String str = getString(key, defaultValue);
- 245 3 if (baseDir != null ) {
- 246 3 return new File(baseDir, str);
- 247
- }
- 248 0 return new File(str);
- 249
- }
- 250
-
- 251
-
- 252
-
- 253
-
- 254
-
- 255
-
- 256
-
- 257
-
- 258
-
- 259
-
- 260
-
- 261
- 262
-
- 263
+ 240
- 264
- public static File getFile(String key) throws IOException {
- 265 66 final String file = getString(key);
- 266 66 final String baseDir = getString(Settings.KEYS.DATA_DIRECTORY);
- 267 66 if (baseDir != null ) {
- 268 66 if (baseDir.startsWith("[JAR]/" )) {
- 269 0 final File jarPath = getJarPath();
- 270 0 final File newBase = new File(jarPath.getCanonicalPath(), baseDir.substring(6));
- 271 0 return new File(newBase, file);
- 272
+ 241
+ public static File getFile(String key) {
+ 242 53 final String file = getString(key);
+ 243 53 final String baseDir = getString(Settings.KEYS.DATA_DIRECTORY);
+ 244 53 if (baseDir != null ) {
+ 245 53 if (baseDir.startsWith("[JAR]/" )) {
+ 246 0 final File jarPath = getJarPath();
+ 247 0 final File newBase = new File(jarPath, baseDir.substring(6));
+ 248 0 if (Settings.KEYS.DATA_DIRECTORY.equals(key)) {
+ 249 0 return newBase;
+ 250
+ }
+ 251 0 return new File(newBase, file);
+ 252
}
- 273 66 return new File(baseDir, file);
- 274
+ 253 53 if (Settings.KEYS.DATA_DIRECTORY.equals(key)) {
+ 254 16 return new File(baseDir);
+ 255
+ }
+ 256 37 return new File(baseDir, file);
+ 257
}
- 275 0 return new File(file);
- 276
+ 258 0 return new File(file);
+ 259
}
- 277
+ 260
- 278
+ 261
- 279
+ 262
- 280
+ 263
- 281
+ 264
- 282
+ 265
- 283
+ 266
- 284
+ 267
private static File getJarPath() {
- 285 0 final String jarPath = Settings.class .getProtectionDomain().getCodeSource().getLocation().getPath();
- 286 0 String decodedPath = "." ;
- 287
+ 268 0 final String jarPath = Settings.class .getProtectionDomain().getCodeSource().getLocation().getPath();
+ 269 0 String decodedPath = "." ;
+ 270
try {
- 288 0 decodedPath = URLDecoder.decode(jarPath, "UTF-8" );
- 289 0 } catch (UnsupportedEncodingException ex) {
- 290 0 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
- 291 0 }
- 292
+ 271 0 decodedPath = URLDecoder.decode(jarPath, "UTF-8" );
+ 272 0 } catch (UnsupportedEncodingException ex) {
+ 273 0 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
+ 274 0 }
+ 275
- 293 0 final File path = new File(decodedPath);
- 294 0 if (path.getName().toLowerCase().endsWith(".jar" )) {
- 295 0 return path.getParentFile();
- 296
+ 276 0 final File path = new File(decodedPath);
+ 277 0 if (path.getName().toLowerCase().endsWith(".jar" )) {
+ 278 0 return path.getParentFile();
+ 279
} else {
- 297 0 return new File("." );
- 298
+ 280 0 return new File("." );
+ 281
}
- 299
+ 282
}
- 300
+ 283
- 301
+ 284
- 302
+ 285
- 303
+ 286
- 304
+ 287
- 305
+ 288
- 306
+ 289
- 307
+ 290
- 308
+ 291
- 309
+ 292
- 310
+ 293
- 311
+ 294
public static String getString(String key, String defaultValue) {
- 312 12 final String str = System.getProperty(key, INSTANCE.props.getProperty(key, defaultValue));
- 313 12 return str;
- 314
+ 295 9 final String str = System.getProperty(key, INSTANCE.props.getProperty(key, defaultValue));
+ 296 9 return str;
+ 297
}
- 315
+ 298
- 316
+ 299
- 317
+ 300
+
+ 301
+
+ 302
+
+ 303
+
+ 304
+ public static File getTempDirectory() {
+ 305 5 return new File(Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" )));
+ 306
+ }
+ 307
+
+ 308
+
+ 309
- 318
+ 310
- 319
+ 311
- 320
+ 312
- 321
+ 313
- 322
+ 314
- 323
+ 315
- 324
+ 316
- 325
+ 317
public static String getString(String key) {
- 326 246 return System.getProperty(key, INSTANCE.props.getProperty(key));
+ 318 129 return System.getProperty(key, INSTANCE.props.getProperty(key));
+ 319
+ }
+ 320
+
+ 321
+
+ 322
+
+ 323
+
+ 324
+
+ 325
+
+ 326
+
327
- }
- 328
-
- 329
-
+ public static void removeProperty(String key) {
+ 328 4 INSTANCE.props.remove(key);
+ 329 4 }
330
-
+
331
-
+
332
-
- 333
-
- 334
-
- 335
-
- 336
-
- 337
-
- 338
-
- 339
-
- 340
- public static int getInt(String key) throws InvalidSettingException {
- 341
- int value;
- 342
- try {
- 343 3 value = Integer.parseInt(Settings.getString(key));
- 344 0 } catch (NumberFormatException ex) {
- 345 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
- 346 3 }
- 347 3 return value;
- 348
- }
- 349
-
- 350
-
- 351
- 352
+ 333
- 353
+ 334
- 354
+ 335
- 355
+ 336
- 356
+ 337
- 357
-
- 358
-
- 359
-
- 360
+ 338
+
+ 339
+
+ 340
+
+ 341
- 361
- public static int getInt(String key, int defaultValue) {
- 362
+ 342
+ public static int getInt(String key) throws InvalidSettingException {
+ 343
int value;
- 363
+ 344
try {
- 364 3 value = Integer.parseInt(Settings.getString(key));
- 365 3 } catch (NumberFormatException ex) {
- 366 3 final String msg = String.format("Could not convert property '%s' to an int." , key);
- 367 3 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, msg, ex);
- 368 3 value = defaultValue;
- 369 0 }
- 370 3 return value;
- 371
+ 345 1 value = Integer.parseInt(Settings.getString(key));
+ 346 0 } catch (NumberFormatException ex) {
+ 347 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
+ 348 1 }
+ 349 1 return value;
+ 350
}
- 372
+ 351
- 373
+ 352
- 374
-
- 375
+ 353
+
+ 354
- 376
+ 355
- 377
+ 356
- 378
+ 357
- 379
+ 358
- 380
-
- 381
-
- 382
-
- 383
+ 359
+
+ 360
+
+ 361
+
+ 362
- 384
- public static long getLong(String key) throws InvalidSettingException {
- 385
- long value;
- 386
+ 363
+ public static int getInt(String key, int defaultValue) {
+ 364
+ int value;
+ 365
try {
- 387 3 value = Long.parseLong(Settings.getString(key));
- 388 0 } catch (NumberFormatException ex) {
- 389 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
- 390 3 }
- 391 3 return value;
- 392
+ 366 1 value = Integer.parseInt(Settings.getString(key));
+ 367 1 } catch (NumberFormatException ex) {
+ 368 1 final String msg = String.format("Could not convert property '%s' to an int." , key);
+ 369 1 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, msg, ex);
+ 370 1 value = defaultValue;
+ 371 0 }
+ 372 1 return value;
+ 373
}
- 393
+ 374
- 394
+ 375
- 395
-
- 396
-
- 397
-
- 398
-
- 399
-
- 400
+ 376
+
+ 377
+
+ 378
+
+ 379
+
+ 380
- 401
+ 381
- 402
+ 382
- 403
+ 383
- 404
+ 384
- 405
+ 385
- 406
- public static boolean getBoolean(String key) throws InvalidSettingException {
- 407
- boolean value;
- 408
+ 386
+ public static long getLong(String key) throws InvalidSettingException {
+ 387
+ long value;
+ 388
try {
- 409 6 value = Boolean.parseBoolean(Settings.getString(key));
- 410 0 } catch (NumberFormatException ex) {
- 411 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
- 412 6 }
- 413 6 return value;
- 414
+ 389 1 value = Long.parseLong(Settings.getString(key));
+ 390 0 } catch (NumberFormatException ex) {
+ 391 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
+ 392 1 }
+ 393 1 return value;
+ 394
}
- 415
+ 395
+
+ 396
+
+ 397
+
+ 398
+
+ 399
+
+ 400
+
+ 401
+
+ 402
+
+ 403
+
+ 404
+
+ 405
+
+ 406
+
+ 407
+
+ 408
+ public static boolean getBoolean(String key) throws InvalidSettingException {
+ 409
+ boolean value;
+ 410
+ try {
+ 411 3 value = Boolean.parseBoolean(Settings.getString(key));
+ 412 0 } catch (NumberFormatException ex) {
+ 413 0 throw new InvalidSettingException("Could not convert property '" + key + "' to an int." , ex);
+ 414 3 }
+ 415 3 return value;
+ 416
+ }
+ 417
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
index c325148dd..862c4cd9e 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.utils.UrlStringUtils.html
@@ -12,7 +12,7 @@
@@ -64,147 +64,160 @@
23
import java.util.ArrayList;
24
- import java.util.List;
+ import java.util.Arrays;
25
- import java.util.regex.Pattern;
+ import java.util.HashSet;
26
-
+ import java.util.List;
27
-
+ import java.util.regex.Pattern;
28
-
+
29
-
+
30
-
+
31
- public final class UrlStringUtils {
+
32
-
+
33
-
+ public final class UrlStringUtils {
34
-
+
35
-
- 36 0 private UrlStringUtils() {
- 37 0 }
- 38
- 39
-
+ 36
+
+ 37
+
+ 38 0 private UrlStringUtils() {
+ 39 0 }
40
-
- 41 3 private static final Pattern CONTAINS_URL_TEST = Pattern.compile("^.*(ht|f)tps?://.*$" , Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
+
+ 41
+
42
-
- 43
-
+
+ 43 1 private static final Pattern CONTAINS_URL_TEST = Pattern.compile("^.*(ht|f)tps?://.*$" , Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
44
-
- 45 3 private static final Pattern IS_URL_TEST = Pattern.compile("^(ht|f)tps?://.*" , Pattern.CASE_INSENSITIVE);
+
+ 45
+
46
-
- 47
-
+
+ 47 1 private static final Pattern IS_URL_TEST = Pattern.compile("^(ht|f)tps?://.*" , Pattern.CASE_INSENSITIVE);
48
-
+
49
-
+
50
-
+
51
-
+
52
-
+
53
-
+
54
- public static boolean containsUrl(String text) {
- 55 59997 return CONTAINS_URL_TEST.matcher(text).matches();
+
+ 55
+
56
- }
- 57
-
+ public static boolean containsUrl(String text) {
+ 57 22799 return CONTAINS_URL_TEST.matcher(text).matches();
58
-
- 59
-
- 60
-
- 61
-
- 62
-
- 63
-
- 64
- public static boolean isUrl(String text) {
- 65 54 return IS_URL_TEST.matcher(text).matches();
- 66
}
- 67
+ 59
- 68
+ 60
- 69
-
- 70
-
- 71
-
- 72
-
- 73
-
- 74
-
- 75
+ 61
+
+ 62
- 76
-
- 77
-
- 78
-
- 79
+ 63
+
+ 64
+
+ 65
+ 66
+ public static boolean isUrl(String text) {
+ 67 77 return IS_URL_TEST.matcher(text).matches();
+ 68
+ }
+ 69
+
+ 70
+
+ 71
+
+ 72
+
+ 73 1 private static final HashSet<String> IGNORE_LIST = new HashSet<String>(Arrays.asList("www" , "com" , "org" , "gov" , "info" , "name" , "net" , "pro" , "tel" , "mobi" , "xxx" ));
+ 74
+
+ 75
+
+ 76
+
+ 77
+
+ 78
+
+ 79
+
80
- public static List<String> extractImportantUrlData(String text) throws MalformedURLException {
- 81 54 final ArrayList<String> importantParts = new ArrayList<String>();
- 82 54 final URL url = new URL(text);
- 83 54 final String[] domain = url.getHost().split("\\." );
+
+ 81
+
+ 82
+
+ 83
+
84
+
+ 85
+
+ 86
+
+ 87
+ public static List<String> extractImportantUrlData(String text) throws MalformedURLException {
+ 88 77 final ArrayList<String> importantParts = new ArrayList<String>();
+ 89 77 final URL url = new URL(text);
+ 90 77 final String[] domain = url.getHost().split("\\." );
+ 91
- 85 159 for (int i = 0; i < domain.length - 1; i++) {
- 86 105 final String sub = domain[i];
- 87 105 if (!"www" .equalsIgnoreCase(sub)) {
- 88 96 importantParts.add(sub);
- 89
- }
- 90
- }
- 91 54 final String document = url.getPath();
- 92 54 final String[] pathParts = document.split("[\\//]" );
- 93 54 for (int i = 0; i < pathParts.length - 2; i++) {
- 94 0 if (!pathParts[i].isEmpty()) {
- 95 0 importantParts.add(pathParts[i]);
+ 92 230 for (int i = 0; i < domain.length - 1; i++) {
+ 93 153 final String sub = domain[i];
+ 94 153 if (!IGNORE_LIST.contains(sub.toLowerCase())) {
+ 95 125 importantParts.add(sub);
96
}
97
}
- 98 54 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
- 99 45 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
- 100 45 importantParts.add(fileNameNoExt);
- 101
- }
- 102 54 return importantParts;
+ 98 77 final String document = url.getPath();
+ 99 77 final String[] pathParts = document.split("[\\//]" );
+ 100 77 for (int i = 0; i < pathParts.length - 2; i++) {
+ 101 0 if (!pathParts[i].isEmpty()) {
+ 102 0 importantParts.add(pathParts[i]);
103
- }
+ }
104
+ }
+ 105 77 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
+ 106 47 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
+ 107 47 importantParts.add(fileNameNoExt);
+ 108
+ }
+ 109 77 return importantParts;
+ 110
+ }
+ 111
}
-
+
diff --git a/dependency-check-core/cpd.html b/dependency-check-core/cpd.html
index b88e46fe7..c8a15b356 100644
--- a/dependency-check-core/cpd.html
+++ b/dependency-check-core/cpd.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - CPD Results
@@ -54,7 +54,7 @@
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Note: failures are anticipated and checked for with assertions while errors are unanticipated.
FileUtilsTest
diff --git a/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html
index 6eec5ab98..1a6c9e6cf 100644
--- a/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html
+++ b/dependency-check-core/xref-test/org/owasp/dependencycheck/utils/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.utils
@@ -54,6 +54,11 @@
DownloaderIntegrationTest
+
+
+
+ DownloaderTest
+
diff --git a/dependency-check-core/xref-test/overview-frame.html b/dependency-check-core/xref-test/overview-frame.html
index 6f9da3bc8..524563319 100644
--- a/dependency-check-core/xref-test/overview-frame.html
+++ b/dependency-check-core/xref-test/overview-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference
+ Dependency-Check Core 1.0.2 Reference
@@ -20,6 +20,9 @@
org.owasp.dependencycheck.analyzer
+
+
+ org.owasp.dependencycheck.concurrency
org.owasp.dependencycheck.data.cpe
@@ -34,7 +37,7 @@
org.owasp.dependencycheck.data.nvdcve
- org.owasp.dependencycheck.data.nvdcve.xml
+ org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref-test/overview-summary.html b/dependency-check-core/xref-test/overview-summary.html
index 3c80091d7..bc1d5da67 100644
--- a/dependency-check-core/xref-test/overview-summary.html
+++ b/dependency-check-core/xref-test/overview-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference
+ Dependency-Check Core 1.0.2 Reference
@@ -24,7 +24,7 @@
- dependency-check-core 1.0.1 Reference
+ Dependency-Check Core 1.0.2 Reference
@@ -42,6 +42,11 @@
org.owasp.dependencycheck.analyzer
+
+
+
+ org.owasp.dependencycheck.concurrency
+
@@ -65,7 +70,7 @@
- org.owasp.dependencycheck.data.nvdcve.xml
+ org.owasp.dependencycheck.data.update
diff --git a/dependency-check-core/xref/allclasses-frame.html b/dependency-check-core/xref/allclasses-frame.html
index b9b73a107..f5df7e850 100644
--- a/dependency-check-core/xref/allclasses-frame.html
+++ b/dependency-check-core/xref/allclasses-frame.html
@@ -13,9 +13,6 @@
AbstractAnalyzer
-
-
- AbstractIndex
AbstractTokenizingFilter
@@ -49,6 +46,9 @@
ArchiveAnalyzer
+
+
+ BaseIndex
Build
@@ -57,7 +57,7 @@
BuildBase
- CPEAnalyzer
+ CPEAnalyzer
CachedWebDataSource
@@ -85,6 +85,12 @@
CorruptDatabaseException
+
+
+ CpeIndexReader
+
+
+ CpeIndexWriter
CveDB
@@ -94,12 +100,15 @@
CweHandler
+
+
+ DataStoreMetaInfo
DatabaseException
- DatabaseUpdater
+ DatabaseUpdater
Dependencies
@@ -130,6 +139,12 @@
Developers
+
+
+ DirectoryLockException
+
+
+ DirectorySpinLock
DistributionManagement
@@ -141,7 +156,7 @@
Downloader
- Element
+ Element
Engine
@@ -169,6 +184,9 @@
Extensions
+
+
+ ExtractionException
FalsePositiveAnalyzer
@@ -207,22 +225,22 @@
Identifier
- IdentifierConfidence
+ IdentifierConfidence
- IdentifierMatch
+ IdentifierMatch
Includes
-
-
- Index
IndexEntry
- InvalidDataException
+ InvalidDataException
+
+
+ InvalidDirectoryException
InvalidSettingException
@@ -273,16 +291,16 @@
Notifiers
- NvdCve12Handler
+ NvdCve12Handler
- NvdCve20Handler
+ NvdCve20Handler
- NvdCveAnalyzer
+ NvdCveAnalyzer
- NvdCveUrl
+ NvdCveInfo
ObjectFactory
diff --git a/dependency-check-core/xref/index.html b/dependency-check-core/xref/index.html
index e08a3b6b6..e259d86e9 100644
--- a/dependency-check-core/xref/index.html
+++ b/dependency-check-core/xref/index.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference
+ Dependency-Check Core 1.0.2 Reference
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
index 5f9d7c85a..45d4e6f6a 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
@@ -42,280 +42,293 @@
32 import java.util.Set;
33 import java.util.logging.Level;
34 import java.util.logging.Logger;
-35 import java.util.zip.ZipEntry;
-36 import java.util.zip.ZipInputStream;
-37 import org.h2.store.fs.FileUtils;
-38 import org.owasp.dependencycheck.Engine;
-39 import org.owasp.dependencycheck.dependency.Dependency;
-40 import org.owasp.dependencycheck.utils.Settings;
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58 public class ArchiveAnalyzer extends AbstractAnalyzer implements Analyzer {
-59
-60
-61
-62
-63 private static final int BUFFER_SIZE = 4096;
-64
-65
-66
-67
-68 private static int dirCount = 0;
-69
-70
-71
-72 private File tempFileLocation = null ;
-73
-74
-75
-76
-77 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
-78
-79
-80
-81 private int scanDepth = 0;
-82
-83
-84
-85
-86 private static final String ANALYZER_NAME = "Archive Analyzer" ;
-87
-88
-89
-90 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
-91
-92
-93
-94 private static final Set<String> EXTENSIONS = newHashSet("zip" , "ear" , "war" );
-95
-96
-97
-98
-99
-100
-101 public Set<String> getSupportedExtensions() {
-102 return EXTENSIONS;
-103 }
-104
-105
-106
-107
-108
-109
-110 public String getName() {
-111 return ANALYZER_NAME;
-112 }
-113
-114
-115
-116
-117
-118
-119
-120
-121 public boolean supportsExtension(String extension) {
-122 return EXTENSIONS.contains(extension);
-123 }
-124
-125
-126
-127
-128
-129
-130 public AnalysisPhase getAnalysisPhase() {
-131 return ANALYSIS_PHASE;
-132 }
-133
-134
-135
-136
-137
-138
-139
-140
-141 @Override
-142 public void initialize() throws Exception {
-143 final String tmpDir = Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" ));
-144 final File baseDir = new File(tmpDir);
-145 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
-146 if (!tempFileLocation.delete()) {
-147 throw new AnalysisException ("Unable to delete temporary file '" + tempFileLocation.getAbsolutePath() + "'." );
-148 }
-149 if (!tempFileLocation.mkdirs()) {
-150 throw new AnalysisException ("Unable to create directory '" + tempFileLocation.getAbsolutePath() + "'." );
-151 }
-152 }
-153
-154
-155
-156
-157
-158
-159
-160 @Override
-161 public void close() throws Exception {
-162 if (tempFileLocation != null && tempFileLocation.exists()) {
-163 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
-164 }
-165 }
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176 @Override
-177 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
-178 final File f = new File(dependency.getActualFilePath());
-179 final File tmpDir = getNextTempDirectory();
-180 extractFiles(f, tmpDir, engine);
-181
-182
-183 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
-184 engine.scan(tmpDir);
-185 final List<Dependency> newDependencies = engine.getDependencies();
-186 if (dependencies.size() != newDependencies.size()) {
-187
-188 final Set<Dependency> dependencySet = new HashSet<Dependency>();
-189 dependencySet.addAll(newDependencies);
-190 dependencySet.removeAll(dependencies);
-191
-192 for (Dependency d : dependencySet) {
-193
-194 final String displayPath = String.format("%s%s" ,
-195 dependency.getFilePath(),
-196 d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
-197 final String displayName = String.format("%s%s%s" ,
-198 dependency.getFileName(),
-199 File.separator,
-200 d.getFileName());
-201 d.setFilePath(displayPath);
-202 d.setFileName(displayName);
-203
-204
-205
-206
-207 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
-208 scanDepth += 1;
-209 analyze(d, engine);
-210 scanDepth -= 1;
-211 }
-212 }
-213 }
-214 Collections.sort(engine.getDependencies());
-215 }
-216
-217
-218
-219
-220
-221
-222
-223 private File getNextTempDirectory() throws AnalysisException {
-224 dirCount += 1;
-225 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
-226 if (!directory.mkdirs()) {
-227 throw new AnalysisException ("Unable to create temp directory '" + directory.getAbsolutePath() + "'." );
-228 }
-229 return directory;
-230 }
-231
-232
-233
-234
-235
-236
-237
-238
-239
-240 private void extractFiles(File archive, File extractTo, Engine engine) throws AnalysisException {
-241 if (archive == null || extractTo == null ) {
-242 return ;
-243 }
-244
-245 FileInputStream fis = null ;
-246 ZipInputStream zis = null ;
-247
-248 try {
-249 fis = new FileInputStream(archive);
-250 } catch (FileNotFoundException ex) {
-251 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
-252 throw new AnalysisException ("Archive file was not found." , ex);
-253 }
-254 zis = new ZipInputStream(new BufferedInputStream(fis));
-255 ZipEntry entry;
-256 try {
-257 while ((entry = zis.getNextEntry()) != null ) {
-258 if (entry.isDirectory()) {
-259 final File d = new File(extractTo, entry.getName());
-260 if (!d.mkdirs()) {
-261 throw new AnalysisException ("Unable to create '" + d.getAbsolutePath() + "'." );
-262 }
-263 } else {
-264 final File file = new File(extractTo, entry.getName());
-265 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
-266 if (engine.supportsExtension(ext)) {
-267 BufferedOutputStream bos = null ;
-268 FileOutputStream fos;
-269 try {
-270 fos = new FileOutputStream(file);
-271 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
-272 int count;
-273 final byte data[] = new byte[BUFFER_SIZE];
-274 while ((count = zis.read(data, 0, BUFFER_SIZE)) != -1) {
-275 bos.write(data, 0, count);
-276 }
-277 bos.flush();
-278 } catch (FileNotFoundException ex) {
-279 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
-280 throw new AnalysisException ("Unable to find file '" + file.getName() + "'." , ex);
-281 } catch (IOException ex) {
-282 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
-283 throw new AnalysisException ("IO Exception while parsing file '" + file.getName() + "'." , ex);
-284 } finally {
-285 if (bos != null ) {
-286 try {
-287 bos.close();
-288 } catch (IOException ex) {
-289 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
-290 }
-291 }
-292 }
-293 }
-294 }
-295 }
-296 } catch (IOException ex) {
-297 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
-298 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, msg, ex);
-299 throw new AnalysisException (msg, ex);
-300 } finally {
-301 try {
-302 zis.close();
-303 } catch (IOException ex) {
-304 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
-305 }
-306 }
-307 }
-308 }
+35
+36
+37
+38 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
+39 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
+40 import org.h2.store.fs.FileUtils;
+41 import org.owasp.dependencycheck.Engine;
+42 import org.owasp.dependencycheck.dependency.Dependency;
+43 import org.owasp.dependencycheck.utils.Settings;
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61 public class ArchiveAnalyzer extends AbstractAnalyzer implements Analyzer {
+62
+63
+64
+65
+66 private static final int BUFFER_SIZE = 4096;
+67
+68
+69
+70
+71 private static int dirCount = 0;
+72
+73
+74
+75 private File tempFileLocation = null ;
+76
+77
+78
+79
+80 private static final int MAX_SCAN_DEPTH = Settings.getInt("archive.scan.depth" , 3);
+81
+82
+83
+84 private int scanDepth = 0;
+85
+86
+87
+88
+89 private static final String ANALYZER_NAME = "Archive Analyzer" ;
+90
+91
+92
+93 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INITIAL;
+94
+95
+96
+97 private static final Set<String> EXTENSIONS = newHashSet("zip" , "ear" , "war" );
+98
+99
+100
+101
+102
+103
+104 public Set<String> getSupportedExtensions() {
+105 return EXTENSIONS;
+106 }
+107
+108
+109
+110
+111
+112
+113 public String getName() {
+114 return ANALYZER_NAME;
+115 }
+116
+117
+118
+119
+120
+121
+122
+123
+124 public boolean supportsExtension(String extension) {
+125 return EXTENSIONS.contains(extension);
+126 }
+127
+128
+129
+130
+131
+132
+133 public AnalysisPhase getAnalysisPhase() {
+134 return ANALYSIS_PHASE;
+135 }
+136
+137
+138
+139
+140
+141
+142
+143
+144 @Override
+145 public void initialize() throws Exception {
+146 final File baseDir = Settings.getTempDirectory();
+147 if (!baseDir.exists()) {
+148 baseDir.mkdirs();
+149 }
+150 tempFileLocation = File.createTempFile("check" , "tmp" , baseDir);
+151 if (!tempFileLocation.delete()) {
+152 throw new AnalysisException ("Unable to delete temporary file '" + tempFileLocation.getAbsolutePath() + "'." );
+153 }
+154 if (!tempFileLocation.mkdirs()) {
+155 throw new AnalysisException ("Unable to create directory '" + tempFileLocation.getAbsolutePath() + "'." );
+156 }
+157 }
+158
+159
+160
+161
+162
+163
+164
+165 @Override
+166 public void close() throws Exception {
+167 if (tempFileLocation != null && tempFileLocation.exists()) {
+168 FileUtils.deleteRecursive(tempFileLocation.getAbsolutePath(), true );
+169 }
+170 }
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181 @Override
+182 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+183 final File f = new File(dependency.getActualFilePath());
+184 final File tmpDir = getNextTempDirectory();
+185 extractFiles(f, tmpDir, engine);
+186
+187
+188 final List<Dependency> dependencies = new ArrayList<Dependency>(engine.getDependencies());
+189 engine.scan(tmpDir);
+190 final List<Dependency> newDependencies = engine.getDependencies();
+191 if (dependencies.size() != newDependencies.size()) {
+192
+193 final Set<Dependency> dependencySet = new HashSet<Dependency>();
+194 dependencySet.addAll(newDependencies);
+195 dependencySet.removeAll(dependencies);
+196
+197 for (Dependency d : dependencySet) {
+198
+199 final String displayPath = String.format("%s%s" ,
+200 dependency.getFilePath(),
+201 d.getActualFilePath().substring(tmpDir.getAbsolutePath().length()));
+202 final String displayName = String.format("%s%s%s" ,
+203 dependency.getFileName(),
+204 File.separator,
+205 d.getFileName());
+206 d.setFilePath(displayPath);
+207 d.setFileName(displayName);
+208
+209
+210
+211
+212 if (this .supportsExtension(d.getFileExtension()) && scanDepth < MAX_SCAN_DEPTH) {
+213 scanDepth += 1;
+214 analyze(d, engine);
+215 scanDepth -= 1;
+216 }
+217 }
+218 }
+219 Collections.sort(engine.getDependencies());
+220 }
+221
+222
+223
+224
+225
+226
+227
+228 private File getNextTempDirectory() throws AnalysisException {
+229 dirCount += 1;
+230 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
+231 if (!directory.mkdirs()) {
+232 throw new AnalysisException ("Unable to create temp directory '" + directory.getAbsolutePath() + "'." );
+233 }
+234 return directory;
+235 }
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245 private void extractFiles(File archive, File extractTo, Engine engine) throws AnalysisException {
+246 if (archive == null || extractTo == null ) {
+247 return ;
+248 }
+249
+250 FileInputStream fis = null ;
+251
+252 ZipArchiveInputStream zis = null ;
+253
+254 try {
+255 fis = new FileInputStream(archive);
+256 } catch (FileNotFoundException ex) {
+257 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.INFO, null , ex);
+258 throw new AnalysisException ("Archive file was not found." , ex);
+259 }
+260 zis = new ZipArchiveInputStream(new BufferedInputStream(fis));
+261 ZipArchiveEntry entry;
+262
+263 try {
+264 while ((entry = zis.getNextZipEntry()) != null ) {
+265 if (entry.isDirectory()) {
+266 final File d = new File(extractTo, entry.getName());
+267 if (!d.mkdirs()) {
+268 throw new AnalysisException ("Unable to create '" + d.getAbsolutePath() + "'." );
+269 }
+270 } else {
+271 final File file = new File(extractTo, entry.getName());
+272 final String ext = org.owasp.dependencycheck.utils.FileUtils.getFileExtension(file.getName());
+273 if (engine.supportsExtension(ext)) {
+274 BufferedOutputStream bos = null ;
+275 FileOutputStream fos;
+276 try {
+277 fos = new FileOutputStream(file);
+278 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
+279 int count;
+280 final byte data[] = new byte[BUFFER_SIZE];
+281 while ((count = zis.read(data, 0, BUFFER_SIZE)) != -1) {
+282 bos.write(data, 0, count);
+283 }
+284 bos.flush();
+285 } catch (FileNotFoundException ex) {
+286 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+287 throw new AnalysisException ("Unable to find file '" + file.getName() + "'." , ex);
+288 } catch (IOException ex) {
+289 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+290 throw new AnalysisException ("IO Exception while parsing file '" + file.getName() + "'." , ex);
+291 } finally {
+292 if (bos != null ) {
+293 try {
+294 bos.close();
+295 } catch (IOException ex) {
+296 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+297 }
+298 }
+299 }
+300 }
+301 }
+302 }
+303 } catch (IOException ex) {
+304 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+305 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+306 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINE, null , ex);
+307 throw new AnalysisException (msg, ex);
+308 } catch (Throwable ex) {
+309 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+310 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, msg);
+311 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.WARNING, null , ex);
+312 throw new AnalysisException (msg, ex);
+313 } finally {
+314 try {
+315 zis.close();
+316 } catch (IOException ex) {
+317 Logger.getLogger(ArchiveAnalyzer.class .getName()).log(Level.FINEST, null , ex);
+318 }
+319 }
+320 }
+321 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/CPEAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/CPEAnalyzer.html
new file mode 100644
index 000000000..b40bbdf07
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/CPEAnalyzer.html
@@ -0,0 +1,814 @@
+
+
+
+
+CPEAnalyzer xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.analyzer;
+20
+21 import java.io.IOException;
+22 import java.io.UnsupportedEncodingException;
+23 import java.net.URLEncoder;
+24 import java.sql.SQLException;
+25 import java.util.ArrayList;
+26 import java.util.Collections;
+27 import java.util.List;
+28 import java.util.Set;
+29 import java.util.StringTokenizer;
+30 import java.util.logging.Level;
+31 import java.util.logging.Logger;
+32 import org.apache.lucene.document.Document;
+33 import org.apache.lucene.index.CorruptIndexException;
+34 import org.apache.lucene.queryparser.classic.ParseException;
+35 import org.apache.lucene.search.ScoreDoc;
+36 import org.apache.lucene.search.TopDocs;
+37 import org.owasp.dependencycheck.Engine;
+38 import org.owasp.dependencycheck.data.lucene.LuceneUtils;
+39 import org.owasp.dependencycheck.dependency.Dependency;
+40 import org.owasp.dependencycheck.dependency.Evidence;
+41 import org.owasp.dependencycheck.dependency.Evidence.Confidence;
+42 import org.owasp.dependencycheck.dependency.EvidenceCollection;
+43 import org.owasp.dependencycheck.data.cpe.CpeIndexReader;
+44 import org.owasp.dependencycheck.data.cpe.Fields;
+45 import org.owasp.dependencycheck.data.cpe.IndexEntry;
+46 import org.owasp.dependencycheck.data.nvdcve.CveDB;
+47 import org.owasp.dependencycheck.data.nvdcve.DatabaseException;
+48 import org.owasp.dependencycheck.dependency.Identifier;
+49 import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+50 import org.owasp.dependencycheck.utils.DependencyVersion;
+51 import org.owasp.dependencycheck.utils.DependencyVersionUtil;
+52
+53
+54
+55
+56
+57
+58
+59
+60 public class CPEAnalyzer implements Analyzer {
+61
+62
+63
+64
+65 static final int MAX_QUERY_RESULTS = 25;
+66
+67
+68
+69 static final String WEIGHTING_BOOST = "^5" ;
+70
+71
+72
+73
+74 static final String CLEANSE_CHARACTER_RX = "[^A-Za-z0-9 ._-]" ;
+75
+76
+77
+78
+79 static final String CLEANSE_NONALPHA_RX = "[^A-Za-z]*" ;
+80
+81
+82
+83
+84 static final int STRING_BUILDER_BUFFER = 20;
+85
+86
+87
+88 private CpeIndexReader cpe;
+89
+90
+91
+92 private CveDB cve;
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102 public void open() throws IOException, DatabaseException {
+103 cpe = new CpeIndexReader ();
+104 cpe.open();
+105 cve = new CveDB ();
+106 try {
+107 cve.open();
+108 } catch (SQLException ex) {
+109 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, null , ex);
+110 throw new DatabaseException ("Unable to open the cve db" , ex);
+111 } catch (ClassNotFoundException ex) {
+112 Logger.getLogger(CPEAnalyzer.class .getName()).log(Level.FINE, null , ex);
+113 throw new DatabaseException ("Unable to open the cve db" , ex);
+114 }
+115 }
+116
+117
+118
+119
+120 @Override
+121 public void close() {
+122 if (cpe != null ) {
+123 cpe.close();
+124 }
+125 if (cve != null ) {
+126 cve.close();
+127 }
+128 }
+129
+130
+131
+132
+133
+134
+135 public boolean isOpen() {
+136 return (cpe != null ) && cpe.isOpen();
+137 }
+138
+139
+140
+141
+142
+143
+144 @Override
+145 protected void finalize() throws Throwable {
+146 super .finalize();
+147 if (isOpen()) {
+148 close();
+149 }
+150 }
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162 protected void determineCPE(Dependency dependency) throws CorruptIndexException, IOException, ParseException {
+163 Confidence vendorConf = Confidence.HIGHEST;
+164 Confidence productConf = Confidence.HIGHEST;
+165
+166 String vendors = addEvidenceWithoutDuplicateTerms("" , dependency.getVendorEvidence(), vendorConf);
+167 String products = addEvidenceWithoutDuplicateTerms("" , dependency.getProductEvidence(), productConf);
+168
+169 int ctr = 0;
+170 do {
+171 if (!vendors.isEmpty() && !products.isEmpty()) {
+172 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
+173 dependency.getVendorEvidence().getWeighting());
+174
+175 for (IndexEntry e : entries) {
+176 if (verifyEntry(e, dependency)) {
+177 final String vendor = e.getVendor();
+178 final String product = e.getProduct();
+179 determineIdentifiers(dependency, vendor, product);
+180 }
+181 }
+182 }
+183 vendorConf = reduceConfidence(vendorConf);
+184 if (dependency.getVendorEvidence().contains(vendorConf)) {
+185 vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), vendorConf);
+186 }
+187 productConf = reduceConfidence(productConf);
+188 if (dependency.getProductEvidence().contains(productConf)) {
+189 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), productConf);
+190 }
+191 } while ((++ctr) < 4);
+192 }
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205 private String addEvidenceWithoutDuplicateTerms(final String text, final EvidenceCollection ec, Confidence confidenceFilter) {
+206 final String txt = (text == null ) ? "" : text;
+207 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
+208 sb.append(' ').append(txt).append(' ');
+209 for (Evidence e : ec.iterator(confidenceFilter)) {
+210 String value = e.getValue();
+211
+212
+213
+214 if (value.startsWith("http://" )) {
+215 value = value.substring(7).replaceAll("\\." , " " );
+216 }
+217 if (value.startsWith("https://" )) {
+218 value = value.substring(8).replaceAll("\\." , " " );
+219 }
+220 if (sb.indexOf(" " + value + " " ) < 0) {
+221 sb.append(value).append(' ');
+222 }
+223 }
+224 return sb.toString().trim();
+225 }
+226
+227
+228
+229
+230
+231
+232
+233
+234 private Confidence reduceConfidence(final Confidence c) {
+235 if (c == Confidence.HIGHEST) {
+236 return Confidence.HIGH;
+237 } else if (c == Confidence.HIGH) {
+238 return Confidence.MEDIUM;
+239 } else {
+240 return Confidence.LOW;
+241 }
+242 }
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262 protected List<IndexEntry> searchCPE(String vendor, String product,
+263 Set<String> vendorWeightings, Set<String> productWeightings)
+264 throws CorruptIndexException, IOException, ParseException {
+265 final ArrayList<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
+266
+267 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
+268 if (searchString == null ) {
+269 return ret;
+270 }
+271
+272 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
+273 for (ScoreDoc d : docs.scoreDocs) {
+274 if (d.score >= 0.08) {
+275 final Document doc = cpe.getDocument(d.doc);
+276 final IndexEntry entry = new IndexEntry ();
+277 entry.setVendor(doc.get(Fields.VENDOR));
+278 entry.setProduct(doc.get(Fields.PRODUCT));
+279
+280
+281
+282
+283
+284
+285
+286 entry.setSearchScore(d.score);
+287 if (!ret.contains(entry)) {
+288 ret.add(entry);
+289 }
+290 }
+291 }
+292 return ret;
+293 }
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311 protected String buildSearch(String vendor, String product,
+312 Set<String> vendorWeighting, Set<String> productWeightings) {
+313 final String v = vendor;
+314 final String p = product;
+315 final StringBuilder sb = new StringBuilder(v.length() + p.length()
+316 + Fields.PRODUCT.length() + Fields.VENDOR.length() + STRING_BUILDER_BUFFER);
+317
+318 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
+319 return null ;
+320 }
+321 sb.append(" AND " );
+322 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
+323 return null ;
+324 }
+325 return sb.toString();
+326 }
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342 private boolean appendWeightedSearch(StringBuilder sb, String field, String searchText, Set<String> weightedText) {
+343 sb.append(" " ).append(field).append(":( " );
+344
+345 final String cleanText = cleanseText(searchText);
+346
+347 if ("" .equals(cleanText)) {
+348 return false;
+349 }
+350
+351 if (weightedText == null || weightedText.isEmpty()) {
+352 LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);
+353 } else {
+354 final StringTokenizer tokens = new StringTokenizer(cleanText);
+355 while (tokens.hasMoreElements()) {
+356 final String word = tokens.nextToken();
+357 String temp = null ;
+358 for (String weighted : weightedText) {
+359 final String weightedStr = cleanseText(weighted);
+360 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
+361 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
+362 if (!word.equalsIgnoreCase(weightedStr)) {
+363 temp += " " + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;
+364 }
+365 }
+366 }
+367 if (temp == null ) {
+368 temp = LuceneUtils.escapeLuceneQuery(word);
+369 }
+370 sb.append(" " ).append(temp);
+371 }
+372 }
+373 sb.append(" ) " );
+374 return true ;
+375 }
+376
+377
+378
+379
+380
+381
+382
+383
+384 private String cleanseText(String text) {
+385 return text.replaceAll(CLEANSE_CHARACTER_RX, " " );
+386 }
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396 private boolean equalsIgnoreCaseAndNonAlpha(String l, String r) {
+397 if (l == null || r == null ) {
+398 return false;
+399 }
+400
+401 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "" );
+402 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "" );
+403 return left.equalsIgnoreCase(right);
+404 }
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415 private boolean verifyEntry(final IndexEntry entry, final Dependency dependency) {
+416 boolean isValid = false;
+417
+418 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
+419 && collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {
+420
+421 isValid = true ;
+422 }
+423 return isValid;
+424 }
+425
+426
+427
+428
+429
+430
+431
+432
+433 private boolean collectionContainsString(EvidenceCollection ec, String text) {
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447 final String[] words = text.split("[\\s_-]" );
+448 final List<String> list = new ArrayList<String>();
+449 String tempWord = null ;
+450 for (String word : words) {
+451
+452
+453 if (tempWord != null ) {
+454 list.add(tempWord + word);
+455 tempWord = null ;
+456 } else if (word.length() <= 2) {
+457 tempWord = word;
+458 } else {
+459 list.add(word);
+460 }
+461 }
+462 if (tempWord != null && !list.isEmpty()) {
+463 String tmp = list.get(list.size() - 1) + tempWord;
+464 list.add(tmp);
+465 }
+466 boolean contains = true ;
+467 for (String word : list) {
+468 contains &= ec.containsUsedString(word);
+469 }
+470 return contains;
+471 }
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482 @Override
+483 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+484 try {
+485 determineCPE(dependency);
+486 } catch (CorruptIndexException ex) {
+487 throw new AnalysisException ("CPE Index is corrupt." , ex);
+488 } catch (IOException ex) {
+489 throw new AnalysisException ("Failure opening the CPE Index." , ex);
+490 } catch (ParseException ex) {
+491 throw new AnalysisException ("Unable to parse the generated Lucene query for this dependency." , ex);
+492 }
+493 }
+494
+495
+496
+497
+498
+499
+500 @Override
+501 public Set<String> getSupportedExtensions() {
+502 return null ;
+503 }
+504
+505
+506
+507
+508
+509
+510 @Override
+511 public String getName() {
+512 return "CPE Analyzer" ;
+513 }
+514
+515
+516
+517
+518
+519
+520
+521 @Override
+522 public boolean supportsExtension(String extension) {
+523 return true ;
+524 }
+525
+526
+527
+528
+529
+530
+531 @Override
+532 public AnalysisPhase getAnalysisPhase() {
+533 return AnalysisPhase.IDENTIFIER_ANALYSIS;
+534 }
+535
+536
+537
+538
+539
+540
+541 @Override
+542 public void initialize() throws Exception {
+543 this .open();
+544 }
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558 private void determineIdentifiers(Dependency dependency, String vendor, String product) throws UnsupportedEncodingException {
+559 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
+560 DependencyVersion bestGuess = new DependencyVersion ("-" );
+561 Confidence bestGuessConf = null ;
+562 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
+563 for (Confidence conf : Confidence.values()) {
+564 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
+565 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
+566 if (evVer == null ) {
+567 continue ;
+568 }
+569 for (VulnerableSoftware vs : cpes) {
+570 DependencyVersion dbVer;
+571 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
+572 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
+573 } else {
+574 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
+575 }
+576 if (dbVer == null
+577 || evVer.equals(dbVer)) {
+578 final String url = String.format("http://web.nvd.nist.gov/view/vuln/search?cpe=%s" , URLEncoder.encode(vs.getName(), "UTF-8" ));
+579 final IdentifierMatch match = new IdentifierMatch ("cpe" , vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
+580 collected.add(match);
+581 } else {
+582
+583 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
+584 && evVer.matchesAtLeastThreeLevels(dbVer)) {
+585 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+586 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
+587 bestGuess = dbVer;
+588 bestGuessConf = conf;
+589 }
+590 }
+591 }
+592 }
+593 }
+594 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+595 if (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {
+596 bestGuess = evVer;
+597 bestGuessConf = conf;
+598 }
+599 }
+600 }
+601 }
+602 final String cpeName = String.format("cpe:/a:%s:%s:%s" , vendor, product, bestGuess.toString());
+603 final String url = null ;
+604 if (bestGuessConf == null ) {
+605 bestGuessConf = Confidence.LOW;
+606 }
+607 final IdentifierMatch match = new IdentifierMatch ("cpe" , cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
+608 collected.add(match);
+609
+610 Collections.sort(collected);
+611 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
+612 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
+613 for (IdentifierMatch m : collected) {
+614 if (bestIdentifierQuality.equals(m.getConfidence())
+615 && bestEvidenceQuality.equals(m.getEvidenceConfidence())) {
+616 dependency.addIdentifier(m.getIdentifier());
+617 }
+618 }
+619 }
+620
+621
+622
+623
+624 private enum IdentifierConfidence {
+625
+626
+627
+628
+629 EXACT_MATCH,
+630
+631
+632
+633 BEST_GUESS
+634 }
+635
+636
+637
+638
+639
+640 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653 IdentifierMatch (String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
+654 this .identifier = new Identifier (type, value, url);
+655 this .confidence = identifierConfidence;
+656 this .evidenceConfidence = evidenceConfidence;
+657 }
+658
+659
+660
+661
+662 private Confidence evidenceConfidence;
+663
+664
+665
+666
+667
+668
+669 public Confidence getEvidenceConfidence() {
+670 return evidenceConfidence;
+671 }
+672
+673
+674
+675
+676
+677
+678 public void setEvidenceConfidence(Confidence evidenceConfidence) {
+679 this .evidenceConfidence = evidenceConfidence;
+680 }
+681
+682
+683
+684 private IdentifierConfidence confidence;
+685
+686
+687
+688
+689
+690
+691 public IdentifierConfidence getConfidence() {
+692 return confidence;
+693 }
+694
+695
+696
+697
+698
+699
+700 public void setConfidence(IdentifierConfidence confidence) {
+701 this .confidence = confidence;
+702 }
+703
+704
+705
+706 private Identifier identifier;
+707
+708
+709
+710
+711
+712
+713 public Identifier getIdentifier() {
+714 return identifier;
+715 }
+716
+717
+718
+719
+720
+721
+722 public void setIdentifier(Identifier identifier) {
+723 this .identifier = identifier;
+724 }
+725
+726
+727
+728
+729
+730
+731
+732
+733 @Override
+734 public String toString() {
+735 return "IdentifierMatch{" + "evidenceConfidence=" + evidenceConfidence
+736 + ", confidence=" + confidence + ", identifier=" + identifier + '}';
+737 }
+738
+739
+740
+741
+742
+743
+744 @Override
+745 public int hashCode() {
+746 int hash = 5;
+747 hash = 97 * hash + (this .evidenceConfidence != null ? this .evidenceConfidence.hashCode() : 0);
+748 hash = 97 * hash + (this .confidence != null ? this .confidence.hashCode() : 0);
+749 hash = 97 * hash + (this .identifier != null ? this .identifier.hashCode() : 0);
+750 return hash;
+751 }
+752
+753
+754
+755
+756
+757
+758
+759 @Override
+760 public boolean equals(Object obj) {
+761 if (obj == null ) {
+762 return false;
+763 }
+764 if (getClass() != obj.getClass()) {
+765 return false;
+766 }
+767 final IdentifierMatch other = (IdentifierMatch) obj;
+768 if (this .evidenceConfidence != other.evidenceConfidence) {
+769 return false;
+770 }
+771 if (this .confidence != other.confidence) {
+772 return false;
+773 }
+774 if (this .identifier != other.identifier && (this .identifier == null || !this .identifier.equals(other.identifier))) {
+775 return false;
+776 }
+777 return true ;
+778 }
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788 @Override
+789 public int compareTo(IdentifierMatch o) {
+790 int conf = this .confidence.compareTo(o.confidence);
+791 if (conf == 0) {
+792 conf = this .evidenceConfidence.compareTo(o.evidenceConfidence);
+793 if (conf == 0) {
+794 conf = identifier.compareTo(o.identifier);
+795 }
+796 }
+797 return conf;
+798 }
+799 }
+800 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JarAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JarAnalyzer.html
index 3eb0a91ff..e7e1cc188 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JarAnalyzer.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/JarAnalyzer.html
@@ -169,7 +169,7 @@
159
160
161
-162 private static final Set<String> EXTENSIONS = newHashSet("jar" );
+162 private static final Set<String> EXTENSIONS = newHashSet("jar" , "war" );
163
164
165
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.html
new file mode 100644
index 000000000..bac9006b6
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.html
@@ -0,0 +1,236 @@
+
+
+
+
+NvdCveAnalyzer xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.analyzer;
+20
+21 import java.io.IOException;
+22 import java.sql.SQLException;
+23 import java.util.List;
+24 import java.util.Set;
+25 import org.owasp.dependencycheck.Engine;
+26 import org.owasp.dependencycheck.dependency.Dependency;
+27 import org.owasp.dependencycheck.dependency.Vulnerability;
+28 import org.owasp.dependencycheck.dependency.Identifier;
+29 import org.owasp.dependencycheck.data.nvdcve.CveDB;
+30 import org.owasp.dependencycheck.data.nvdcve.DatabaseException;
+31
+32
+33
+34
+35
+36
+37
+38
+39 public class NvdCveAnalyzer implements Analyzer {
+40
+41
+42
+43
+44 static final int MAX_QUERY_RESULTS = 100;
+45
+46
+47
+48 private CveDB cveDB;
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59 public void open() throws SQLException, IOException, DatabaseException, ClassNotFoundException {
+60 cveDB = new CveDB ();
+61 cveDB.open();
+62 }
+63
+64
+65
+66
+67 public void close() {
+68 cveDB.close();
+69 cveDB = null ;
+70 }
+71
+72
+73
+74
+75
+76
+77 public boolean isOpen() {
+78 return (cveDB != null );
+79 }
+80
+81
+82
+83
+84
+85
+86 @Override
+87 protected void finalize() throws Throwable {
+88 super .finalize();
+89 if (isOpen()) {
+90 close();
+91 }
+92 }
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103 public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+104 for (Identifier id : dependency.getIdentifiers()) {
+105 if ("cpe" .equals(id.getType())) {
+106 try {
+107 final String value = id.getValue();
+108 final List<Vulnerability> vulns = cveDB.getVulnerabilities(value);
+109 dependency.getVulnerabilities().addAll(vulns);
+110
+111
+112
+113
+114
+115
+116
+117 } catch (DatabaseException ex) {
+118 throw new AnalysisException (ex);
+119 }
+120 }
+121 }
+122 }
+123
+124
+125
+126
+127
+128
+129 public Set<String> getSupportedExtensions() {
+130 return null ;
+131 }
+132
+133
+134
+135
+136
+137
+138 public String getName() {
+139 return "NVD CVE Analyzer" ;
+140 }
+141
+142
+143
+144
+145
+146
+147
+148 public boolean supportsExtension(String extension) {
+149 return true ;
+150 }
+151
+152
+153
+154
+155
+156
+157 public AnalysisPhase getAnalysisPhase() {
+158 return AnalysisPhase.FINDING_ANALYSIS;
+159 }
+160
+161
+162
+163
+164
+165
+166 public void initialize() throws Exception {
+167 this .open();
+168 }
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html
index ab40df35f..4a323dc5e 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.analyzer
@@ -32,6 +32,9 @@
ArchiveAnalyzer
+
+
+ CPEAnalyzer
ClassNameInformation
@@ -47,12 +50,21 @@
HintAnalyzer
+
+
+ IdentifierConfidence
+
+
+ IdentifierMatch
JarAnalyzer
JavaScriptAnalyzer
+
+
+ NvdCveAnalyzer
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html
index 57aaf8405..c80f82d87 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/analyzer/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.analyzer
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.analyzer
@@ -64,6 +64,11 @@
ArchiveAnalyzer
+
+
+
+ CPEAnalyzer
+
@@ -89,6 +94,16 @@
HintAnalyzer
+
+
+
+ IdentifierConfidence
+
+
+
+
+ IdentifierMatch
+
@@ -99,6 +114,11 @@
JavaScriptAnalyzer
+
+
+
+ NvdCveAnalyzer
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/DirectoryLockException.html b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/DirectoryLockException.html
new file mode 100644
index 000000000..d9a20b0e9
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/DirectoryLockException.html
@@ -0,0 +1,81 @@
+
+
+
+
+DirectoryLockException xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.concurrency;
+20
+21
+22
+23
+24
+25
+26 public class DirectoryLockException extends Exception {
+27
+28
+29
+30
+31 private static final long serialVersionUID = 1L;
+32
+33
+34
+35
+36 public DirectoryLockException () {
+37 super ();
+38 }
+39
+40
+41
+42
+43
+44
+45 public DirectoryLockException (String msg) {
+46 super (msg);
+47 }
+48
+49
+50
+51
+52
+53
+54 public DirectoryLockException (Throwable ex) {
+55 super (ex);
+56 }
+57
+58
+59
+60
+61
+62
+63
+64 public DirectoryLockException (String msg, Throwable ex) {
+65 super (msg, ex);
+66 }
+67 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/DirectorySpinLock.html b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/DirectorySpinLock.html
new file mode 100644
index 000000000..8dfddb5b3
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/DirectorySpinLock.html
@@ -0,0 +1,281 @@
+
+
+
+
+DirectorySpinLock xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.concurrency;
+20
+21 import java.io.Closeable;
+22 import java.io.File;
+23 import java.io.FileNotFoundException;
+24 import java.io.IOException;
+25 import java.io.RandomAccessFile;
+26 import java.nio.channels.AsynchronousCloseException;
+27 import java.nio.channels.ClosedChannelException;
+28 import java.nio.channels.FileChannel;
+29 import java.nio.channels.FileLock;
+30 import java.nio.channels.FileLockInterruptionException;
+31 import java.nio.channels.NonWritableChannelException;
+32 import java.nio.channels.OverlappingFileLockException;
+33 import java.util.logging.Level;
+34 import java.util.logging.Logger;
+35
+36
+37
+38
+39
+40
+41
+42
+43 public class DirectorySpinLock implements Closeable
+44
+45
+46
+47
+48 public static final String LOCK_NAME = "data.lock" ;
+49
+50
+51
+52 public static final int MAX_SPIN = 100;
+53
+54
+55
+56 private FileChannel channel = null ;
+57
+58
+59
+60 private File lockFile = null ;
+61
+62
+63
+64 private FileLock lock = null ;
+65
+66
+67
+68
+69 private long maxWait = MAX_SPIN;
+70
+71
+72
+73
+74
+75
+76
+77 public long getMaxWait() {
+78 return maxWait / 2;
+79 }
+80
+81
+82
+83
+84
+85
+86
+87 public void setMaxWait(long maxWait) {
+88 this .maxWait = maxWait * 2;
+89 }
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100 public DirectorySpinLock (File directory) throws InvalidDirectoryException, DirectoryLockException {
+101 checkDirectory(directory);
+102 lockFile = new File(directory, LOCK_NAME);
+103 RandomAccessFile file = null ;
+104 try {
+105 file = new RandomAccessFile(lockFile, "rw" );
+106 } catch (FileNotFoundException ex) {
+107 throw new DirectoryLockException ("Lock file not found" , ex);
+108 }
+109 channel = file.getChannel();
+110 }
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120 public void obtainSharedLock() throws DirectoryLockException {
+121 obtainLock(true );
+122 }
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132 public void obtainExclusiveLock() throws DirectoryLockException {
+133 obtainLock(false);
+134 }
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147 protected void obtainLock(boolean shared, long maxWait) throws DirectoryLockException {
+148 setMaxWait(maxWait);
+149 obtainLock(shared);
+150 }
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161 protected void obtainLock(boolean shared) throws DirectoryLockException {
+162 if (lock != null ) {
+163 release();
+164 }
+165 if (channel == null ) {
+166 throw new DirectoryLockException ("Unable to create lock, no file channel exists" );
+167 }
+168 int count = 0;
+169 Exception lastException = null ;
+170 while (lock == null && count++ < maxWait) {
+171 try {
+172 lock = channel.lock(0, Long.MAX_VALUE, shared);
+173 } catch (AsynchronousCloseException ex) {
+174 lastException = ex;
+175 } catch (ClosedChannelException ex) {
+176 lastException = ex;
+177 } catch (FileLockInterruptionException ex) {
+178 lastException = ex;
+179 } catch (OverlappingFileLockException ex) {
+180 lastException = ex;
+181 } catch (NonWritableChannelException ex) {
+182 lastException = ex;
+183 } catch (IOException ex) {
+184 lastException = ex;
+185 }
+186 try {
+187 Thread.sleep(500);
+188 } catch (InterruptedException ex) {
+189 Thread.currentThread().interrupt();
+190 }
+191 }
+192 if (lock == null ) {
+193 if (lastException == null ) {
+194 throw new DirectoryLockException ("Unable to obtain lock" );
+195 } else {
+196 throw new DirectoryLockException ("Unable to obtain lock" , lastException);
+197 }
+198 }
+199 }
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209 private void checkDirectory(File directory) throws InvalidDirectoryException {
+210 if (directory == null ) {
+211 throw new InvalidDirectoryException ("Unable to obtain lock on a null File" );
+212 }
+213 if (!directory.isDirectory()) {
+214 final String msg = String.format("File, '%s', does not exist or is not a directory" , directory.getAbsolutePath());
+215 throw new InvalidDirectoryException (msg);
+216 }
+217 }
+218
+219
+220
+221
+222
+223
+224 @Override
+225 public void close() throws IOException {
+226 release();
+227
+228
+229
+230
+231
+232
+233
+234
+235 if (channel != null ) {
+236 try {
+237 channel.close();
+238 } catch (IOException ex) {
+239 Logger.getLogger(DirectorySpinLock.class .getName()).log(Level.FINEST, "Unable to close the channel for the file lock" , ex);
+240 }
+241 }
+242 if (lockFile != null ) {
+243 if (lockFile.exists()) {
+244
+245
+246
+247 lockFile.delete();
+248 }
+249 }
+250 }
+251
+252
+253
+254
+255
+256 public void release() {
+257 if (lock != null ) {
+258 try {
+259 lock.release();
+260 } catch (ClosedChannelException ex) {
+261 Logger.getLogger(DirectorySpinLock.class .getName()).log(Level.FINEST, "Uable to release file lock" , ex);
+262 } catch (IOException ex) {
+263 Logger.getLogger(DirectorySpinLock.class .getName()).log(Level.FINEST, "Unable to release file lock due to IO Exception" , ex);
+264 }
+265 }
+266 }
+267 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/InvalidDirectoryException.html b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/InvalidDirectoryException.html
new file mode 100644
index 000000000..3a9c3f076
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/InvalidDirectoryException.html
@@ -0,0 +1,81 @@
+
+
+
+
+InvalidDirectoryException xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.concurrency;
+20
+21
+22
+23
+24
+25
+26 public class InvalidDirectoryException extends Exception {
+27
+28
+29
+30
+31 private static final long serialVersionUID = 1L;
+32
+33
+34
+35
+36 public InvalidDirectoryException () {
+37 super ();
+38 }
+39
+40
+41
+42
+43
+44
+45 public InvalidDirectoryException (String msg) {
+46 super (msg);
+47 }
+48
+49
+50
+51
+52
+53
+54 public InvalidDirectoryException (Throwable ex) {
+55 super (ex);
+56 }
+57
+58
+59
+60
+61
+62
+63
+64 public InvalidDirectoryException (String msg, Throwable ex) {
+65 super (msg, ex);
+66 }
+67 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/package-frame.html
new file mode 100644
index 000000000..93dcce729
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/package-frame.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.concurrency
+
+
+
+
+
+
+ Classes
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/package-summary.html
new file mode 100644
index 000000000..87866e4cb
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/concurrency/package-summary.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.concurrency
+
+
+
+
+
+
+ Package org.owasp.dependencycheck.concurrency
+
+
+
+
+
+
+ Copyright © 2012-2013 OWASP. All Rights Reserved.
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/BaseIndex.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/BaseIndex.html
new file mode 100644
index 000000000..efe15660c
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/BaseIndex.html
@@ -0,0 +1,131 @@
+
+
+
+
+BaseIndex xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.cpe;
+20
+21 import java.io.File;
+22 import java.io.IOException;
+23 import java.util.logging.Level;
+24 import java.util.logging.Logger;
+25 import org.apache.lucene.store.Directory;
+26 import org.apache.lucene.store.FSDirectory;
+27 import org.owasp.dependencycheck.utils.Settings;
+28
+29
+30
+31
+32
+33
+34 public abstract class BaseIndex {
+35
+36
+37
+38
+39 private Directory directory;
+40
+41
+42
+43 private boolean indexOpen = false;
+44
+45
+46
+47
+48
+49
+50 public Directory getDirectory() {
+51 return directory;
+52 }
+53
+54
+55
+56
+57
+58
+59 public void open() throws IOException {
+60 directory = this .openDirectory();
+61 indexOpen = true ;
+62 }
+63
+64
+65
+66
+67 public void close() {
+68 try {
+69 directory.close();
+70 } catch (IOException ex) {
+71 final String msg = "Unable to update database due to an IO error." ;
+72 Logger.getLogger(BaseIndex.class .getName()).log(Level.SEVERE, msg);
+73 Logger.getLogger(BaseIndex.class .getName()).log(Level.FINE, null , ex);
+74 } finally {
+75 directory = null ;
+76 }
+77 indexOpen = false;
+78
+79 }
+80
+81
+82
+83
+84
+85
+86 public boolean isOpen() {
+87 return indexOpen;
+88 }
+89
+90
+91
+92
+93
+94
+95
+96 protected Directory openDirectory() throws IOException {
+97 final File path = getDataDirectory();
+98 return FSDirectory.open(path);
+99 }
+100
+101
+102
+103
+104
+105
+106
+107
+108 public static File getDataDirectory() throws IOException {
+109 final File path = Settings.getFile(Settings.KEYS.CPE_DATA_DIRECTORY);
+110 if (!path.exists()) {
+111 if (!path.mkdirs()) {
+112 throw new IOException("Unable to create CPE Data directory" );
+113 }
+114 }
+115 return path;
+116 }
+117 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/CpeIndexReader.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/CpeIndexReader.html
new file mode 100644
index 000000000..71578c265
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/CpeIndexReader.html
@@ -0,0 +1,193 @@
+
+
+
+
+CpeIndexReader xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.cpe;
+20
+21 import java.io.IOException;
+22 import java.util.HashMap;
+23 import java.util.Map;
+24 import java.util.logging.Level;
+25 import java.util.logging.Logger;
+26 import org.apache.lucene.analysis.Analyzer;
+27 import org.apache.lucene.analysis.core.KeywordAnalyzer;
+28 import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
+29 import org.apache.lucene.document.Document;
+30 import org.apache.lucene.index.CorruptIndexException;
+31 import org.apache.lucene.index.DirectoryReader;
+32 import org.apache.lucene.index.IndexReader;
+33 import org.apache.lucene.queryparser.classic.ParseException;
+34 import org.apache.lucene.queryparser.classic.QueryParser;
+35 import org.apache.lucene.search.IndexSearcher;
+36 import org.apache.lucene.search.Query;
+37 import org.apache.lucene.search.TopDocs;
+38 import org.apache.lucene.util.Version;
+39 import org.owasp.dependencycheck.data.lucene.FieldAnalyzer;
+40 import org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer;
+41
+42
+43
+44
+45
+46 public class CpeIndexReader extends BaseIndex {
+47
+48
+49
+50
+51 private IndexReader indexReader;
+52
+53
+54
+55 private IndexSearcher indexSearcher;
+56
+57
+58
+59 private Analyzer searchingAnalyzer;
+60
+61
+62
+63 private QueryParser queryParser;
+64
+65
+66
+67 private SearchFieldAnalyzer productSearchFieldAnalyzer;
+68
+69
+70
+71 private SearchFieldAnalyzer vendorSearchFieldAnalyzer;
+72
+73
+74
+75
+76
+77
+78 @Override
+79 public void open() throws IOException {
+80
+81 super .open();
+82 indexReader = DirectoryReader.open(getDirectory());
+83 indexSearcher = new IndexSearcher(indexReader);
+84 searchingAnalyzer = createSearchingAnalyzer();
+85 queryParser = new QueryParser(Version.LUCENE_43, Fields.DOCUMENT_KEY, searchingAnalyzer);
+86 }
+87
+88
+89
+90
+91 @Override
+92 public void close() {
+93
+94 if (searchingAnalyzer != null ) {
+95 searchingAnalyzer.close();
+96 searchingAnalyzer = null ;
+97 }
+98 if (indexReader != null ) {
+99 try {
+100 indexReader.close();
+101 } catch (IOException ex) {
+102 Logger.getLogger(CpeIndexReader.class .getName()).log(Level.FINEST, null , ex);
+103 }
+104 indexReader = null ;
+105 }
+106 queryParser = null ;
+107 indexSearcher = null ;
+108 super .close();
+109 }
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121 public TopDocs search(String searchString, int maxQueryResults) throws ParseException, IOException {
+122 final Query query = queryParser.parse(searchString);
+123 return indexSearcher.search(query, maxQueryResults);
+124 }
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135 public TopDocs search(Query query, int maxQueryResults) throws CorruptIndexException, IOException {
+136 resetSearchingAnalyzer();
+137 return indexSearcher.search(query, maxQueryResults);
+138 }
+139
+140
+141
+142
+143
+144
+145
+146
+147 public Document getDocument(int documentId) throws IOException {
+148 return indexSearcher.doc(documentId);
+149 }
+150
+151
+152
+153
+154
+155
+156 @SuppressWarnings("unchecked" )
+157 private Analyzer createSearchingAnalyzer() {
+158 final Map fieldAnalyzers = new HashMap();
+159 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+160 productSearchFieldAnalyzer = new SearchFieldAnalyzer (Version.LUCENE_43);
+161 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer (Version.LUCENE_43);
+162 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
+163 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
+164
+165 return new PerFieldAnalyzerWrapper(new FieldAnalyzer (Version.LUCENE_43), fieldAnalyzers);
+166 }
+167
+168
+169
+170
+171 private void resetSearchingAnalyzer() {
+172 if (productSearchFieldAnalyzer != null ) {
+173 productSearchFieldAnalyzer.clear();
+174 }
+175 if (vendorSearchFieldAnalyzer != null ) {
+176 vendorSearchFieldAnalyzer.clear();
+177 }
+178 }
+179 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/CpeIndexWriter.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/CpeIndexWriter.html
new file mode 100644
index 000000000..1094cb6e1
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/CpeIndexWriter.html
@@ -0,0 +1,163 @@
+
+
+
+
+CpeIndexWriter xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.cpe;
+20
+21 import java.io.IOException;
+22 import java.util.HashMap;
+23 import java.util.Map;
+24 import java.util.logging.Level;
+25 import java.util.logging.Logger;
+26 import org.apache.lucene.analysis.Analyzer;
+27 import org.apache.lucene.analysis.core.KeywordAnalyzer;
+28 import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper;
+29 import org.apache.lucene.document.Document;
+30 import org.apache.lucene.document.Field;
+31 import org.apache.lucene.document.StringField;
+32 import org.apache.lucene.document.TextField;
+33 import org.apache.lucene.index.CorruptIndexException;
+34 import org.apache.lucene.index.IndexWriter;
+35 import org.apache.lucene.index.IndexWriterConfig;
+36 import org.apache.lucene.index.Term;
+37 import org.apache.lucene.util.Version;
+38 import org.owasp.dependencycheck.data.lucene.FieldAnalyzer;
+39
+40
+41
+42
+43
+44 public class CpeIndexWriter extends BaseIndex {
+45
+46
+47
+48
+49 private IndexWriter indexWriter;
+50
+51
+52
+53 private Analyzer indexingAnalyzer;
+54
+55
+56
+57
+58
+59
+60 @Override
+61 public void open() throws IOException {
+62
+63 super .open();
+64 indexingAnalyzer = createIndexingAnalyzer();
+65 final IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_43, indexingAnalyzer);
+66 indexWriter = new IndexWriter(getDirectory(), conf);
+67 }
+68
+69
+70
+71
+72 @Override
+73 public void close() {
+74
+75 if (indexWriter != null ) {
+76 commit();
+77 try {
+78 indexWriter.close(true );
+79 } catch (CorruptIndexException ex) {
+80 final String msg = "Unable to update database, there is a corrupt index." ;
+81 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+82 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+83 } catch (IOException ex) {
+84 final String msg = "Unable to update database due to an IO error." ;
+85 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+86 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+87 } finally {
+88 indexWriter = null ;
+89 }
+90 }
+91 if (indexingAnalyzer != null ) {
+92 indexingAnalyzer.close();
+93 indexingAnalyzer = null ;
+94 }
+95 super .close();
+96 }
+97
+98
+99
+100
+101 public void commit() {
+102 if (indexWriter != null ) {
+103 try {
+104 indexWriter.forceMerge(1);
+105 indexWriter.commit();
+106 } catch (CorruptIndexException ex) {
+107 final String msg = "Unable to update database, there is a corrupt index." ;
+108 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+109 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+110 } catch (IOException ex) {
+111 final String msg = "Unable to update database due to an IO error." ;
+112 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.SEVERE, msg);
+113 Logger.getLogger(CpeIndexWriter.class .getName()).log(Level.FINE, null , ex);
+114 }
+115 }
+116 }
+117
+118
+119
+120
+121
+122
+123 @SuppressWarnings("unchecked" )
+124 private Analyzer createIndexingAnalyzer() {
+125 final Map fieldAnalyzers = new HashMap();
+126 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+127 return new PerFieldAnalyzerWrapper(new FieldAnalyzer (Version.LUCENE_43), fieldAnalyzers);
+128 }
+129
+130
+131
+132
+133
+134
+135
+136
+137 public void saveEntry(IndexEntry entry) throws CorruptIndexException, IOException {
+138 final Document doc = new Document();
+139 final Field documentKey = new StringField(Fields.DOCUMENT_KEY, entry.getDocumentId(), Field.Store.NO);
+140 final Field vendor = new TextField(Fields.VENDOR, entry.getVendor(), Field.Store.YES);
+141 final Field product = new TextField(Fields.PRODUCT, entry.getProduct(), Field.Store.YES);
+142 doc.add(documentKey);
+143 doc.add(vendor);
+144 doc.add(product);
+145
+146 final Term term = new Term(Fields.DOCUMENT_KEY, entry.getDocumentId());
+147 indexWriter.updateDocument(term, doc);
+148 }
+149 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html
index 4c3731d06..e85b08c99 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.cpe
@@ -16,19 +16,16 @@
- CPEAnalyzer
+ BaseIndex
+
+
+ CpeIndexReader
+
+
+ CpeIndexWriter
Fields
-
-
- IdentifierConfidence
-
-
- IdentifierMatch
-
-
- Index
IndexEntry
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html
index 7f07b545b..17387aca4 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cpe/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.cpe
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.cpe
@@ -37,28 +37,23 @@
- CPEAnalyzer
+ BaseIndex
+
+
+
+
+ CpeIndexReader
+
+
+
+
+ CpeIndexWriter
Fields
-
-
-
- IdentifierConfidence
-
-
-
-
- IdentifierMatch
-
-
-
-
- Index
-
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html
index 45e1206ef..950eed475 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.cwe
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html
index fa1121244..edfa50523 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/cwe/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.cwe
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.cwe
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html
index b5917b4fc..c3147358c 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.lucene
@@ -16,9 +16,6 @@
- AbstractIndex
-
-
AbstractTokenizingFilter
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html
index 99073fc7b..c14275e1f 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/lucene/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.lucene
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.lucene
@@ -36,11 +36,6 @@
-
- AbstractIndex
-
-
-
AbstractTokenizingFilter
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/CveDB.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/CveDB.html
index 42907442d..b118bd1fc 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/CveDB.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/CveDB.html
@@ -68,7 +68,7 @@
58
59
60
-61 public static final String DB_SCHEMA_VERSION = "2.5" ;
+61 public static final String DB_SCHEMA_VERSION = "2.6" ;
62
63
64
@@ -172,573 +172,562 @@
162 value = "DMI_EMPTY_DB_PASSWORD" ,
163 justification = "Yes, I know... Blank password." )
164 public void open() throws IOException, SQLException, DatabaseException, ClassNotFoundException {
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175 final String fileName = CveDB.getDataDirectory().getCanonicalPath();
-176 final File f = new File(fileName, "cve." + DB_SCHEMA_VERSION);
-177 final File check = new File(f.getAbsolutePath() + ".h2.db" );
-178 final boolean createTables = !check.exists();
-179 final String connStr = "jdbc:h2:file:" + f.getAbsolutePath();
-180 Class.forName("org.h2.Driver" );
-181 conn = DriverManager.getConnection(connStr, "sa" , "" );
-182 if (createTables) {
-183 createTables();
-184 }
-185
+165 final String fileName = CveDB.getDataDirectory().getCanonicalPath();
+166 final File f = new File(fileName, "cve." + DB_SCHEMA_VERSION);
+167 final File check = new File(f.getAbsolutePath() + ".h2.db" );
+168 final boolean createTables = !check.exists();
+169 final String connStr = String.format("jdbc:h2:file:%s;AUTO_SERVER=TRUE" , f.getAbsolutePath());
+170 Class.forName("org.h2.Driver" );
+171 conn = DriverManager.getConnection(connStr, "sa" , "" );
+172 if (createTables) {
+173 createTables();
+174 }
+175 }
+176
+177
+178
+179
+180
+181
+182 public void commit() throws SQLException {
+183 if (conn != null ) {
+184 conn.commit();
+185 }
186 }
187
188
-189
+189
190
-191
+191
192
-193 public void commit() throws SQLException {
-194 if (conn != null ) {
-195 conn.commit();
-196 }
+193 @Override
+194 protected void finalize() throws Throwable {
+195 close();
+196 super .finalize();
197 }
198
199
-200
-201
-202
-203
-204 @Override
-205 protected void finalize() throws Throwable {
-206 close();
-207 super .finalize();
-208 }
-209
-210
-211
-212
-213
-214 public void close() {
-215 if (conn != null ) {
-216 try {
-217 conn.close();
-218 } catch (SQLException ex) {
-219 final String msg = "There was an error attempting to close the CveDB, see the log for more details." ;
-220 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, msg, ex);
-221 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
-222 }
-223 conn = null ;
-224 }
-225 }
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237 public Set<VulnerableSoftware> getCPEs(String vendor, String product) {
-238 final Set<VulnerableSoftware> cpe = new HashSet<VulnerableSoftware>();
-239 ResultSet rs = null ;
-240 PreparedStatement ps = null ;
-241 try {
-242 ps = conn.prepareStatement(SELECT_CPE_ENTRIES);
-243 ps.setString(1, vendor);
-244 ps.setString(2, product);
-245 rs = ps.executeQuery();
-246
-247 while (rs.next()) {
-248 final VulnerableSoftware vs = new VulnerableSoftware ();
-249 vs.setCpe(rs.getString(1));
-250 cpe.add(vs);
-251 }
-252 } catch (SQLException ex) {
-253 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
-254 } finally {
-255 closeResultSet(rs);
-256 closeStatement(ps);
-257 }
-258 return cpe;
-259 }
-260
-261
-262
-263
-264
-265
-266
-267
-268 public List<Vulnerability> getVulnerabilities(String cpeStr) throws DatabaseException {
-269 ResultSet rs = null ;
-270 final VulnerableSoftware cpe = new VulnerableSoftware ();
-271 try {
-272 cpe.parseName(cpeStr);
-273 } catch (UnsupportedEncodingException ex) {
-274 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
-275 }
-276 final DependencyVersion detectedVersion = parseDependencyVersion(cpe);
-277 final List<Vulnerability> vulnerabilities = new ArrayList<Vulnerability>();
-278
-279 PreparedStatement ps;
-280 final HashSet<String> cveEntries = new HashSet<String>();
-281 try {
-282 ps = conn.prepareStatement(SELECT_CVE_FROM_SOFTWARE);
-283 ps.setString(1, cpe.getVendor());
-284 ps.setString(2, cpe.getProduct());
-285 rs = ps.executeQuery();
-286 while (rs.next()) {
-287 final String cveId = rs.getString(1);
-288 final String cpeId = rs.getString(2);
-289 final String previous = rs.getString(3);
-290 if (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {
-291 cveEntries.add(cveId);
-292 }
-293 }
-294 closeResultSet(rs);
-295 closeStatement(ps);
-296 for (String cve : cveEntries) {
-297 final Vulnerability v = getVulnerability(cve);
-298 vulnerabilities.add(v);
-299 }
-300
-301 } catch (SQLException ex) {
-302 throw new DatabaseException ("Exception retrieving vulnerability for " + cpeStr, ex);
-303 } finally {
-304 closeResultSet(rs);
-305 }
-306 return vulnerabilities;
-307 }
-308
-309
-310
-311
-312
-313
-314
-315
-316 private Vulnerability getVulnerability(String cve) throws DatabaseException {
-317 PreparedStatement psV = null ;
-318 PreparedStatement psR = null ;
-319 PreparedStatement psS = null ;
-320 ResultSet rsV = null ;
-321 ResultSet rsR = null ;
-322 ResultSet rsS = null ;
-323 Vulnerability vuln = null ;
-324 try {
-325 psV = conn.prepareStatement(SELECT_VULNERABILITY);
-326 psV.setString(1, cve);
-327 rsV = psV.executeQuery();
-328 if (rsV.next()) {
-329 vuln = new Vulnerability ();
-330 vuln.setName(cve);
-331 vuln.setDescription(rsV.getString(2));
-332 String cwe = rsV.getString(3);
-333 if (cwe != null ) {
-334 final String name = CweDB.getCweName(cwe);
-335 if (name != null ) {
-336 cwe += " " + name;
-337 }
-338 }
-339 final int cveId = rsV.getInt(1);
-340 vuln.setCwe(cwe);
-341 vuln.setCvssScore(rsV.getFloat(4));
-342 vuln.setCvssAccessVector(rsV.getString(5));
-343 vuln.setCvssAccessComplexity(rsV.getString(6));
-344 vuln.setCvssAuthentication(rsV.getString(7));
-345 vuln.setCvssConfidentialityImpact(rsV.getString(8));
-346 vuln.setCvssIntegrityImpact(rsV.getString(9));
-347 vuln.setCvssAvailabilityImpact(rsV.getString(10));
-348
-349 psR = conn.prepareStatement(SELECT_REFERENCE);
-350 psR.setInt(1, cveId);
-351 rsR = psR.executeQuery();
-352 while (rsR.next()) {
-353 vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));
-354 }
-355 psS = conn.prepareStatement(SELECT_SOFTWARE);
-356 psS.setInt(1, cveId);
-357 rsS = psS.executeQuery();
-358 while (rsS.next()) {
-359 final String cpe = rsS.getString(1);
-360 final String prevVersion = rsS.getString(2);
-361 if (prevVersion == null ) {
-362 vuln.addVulnerableSoftware(cpe);
-363 } else {
-364 vuln.addVulnerableSoftware(cpe, prevVersion);
-365 }
-366 }
-367 }
-368 } catch (SQLException ex) {
-369 throw new DatabaseException ("Error retrieving " + cve, ex);
-370 } finally {
-371 closeResultSet(rsV);
-372 closeResultSet(rsR);
-373 closeResultSet(rsS);
-374 closeStatement(psV);
-375 closeStatement(psR);
-376 closeStatement(psS);
-377 }
-378 return vuln;
-379 }
-380
-381
-382
-383
-384
-385
-386
-387
-388 public void updateVulnerability(Vulnerability vuln) throws DatabaseException {
-389 PreparedStatement selectVulnerabilityId = null ;
-390 PreparedStatement deleteReferences = null ;
-391 PreparedStatement deleteSoftware = null ;
-392 PreparedStatement updateVulnerability = null ;
-393 PreparedStatement insertVulnerability = null ;
-394 PreparedStatement insertReference = null ;
-395 PreparedStatement selectCpeId = null ;
-396 PreparedStatement insertCpe = null ;
-397 PreparedStatement insertSoftware = null ;
-398
-399 try {
-400 selectVulnerabilityId = conn.prepareStatement(SELECT_VULNERABILITY_ID);
-401 deleteReferences = conn.prepareStatement(DELETE_REFERENCE);
-402 deleteSoftware = conn.prepareStatement(DELETE_SOFTWARE);
-403 updateVulnerability = conn.prepareStatement(UPDATE_VULNERABILITY);
-404 insertVulnerability = conn.prepareStatement(INSERT_VULNERABILITY, Statement.RETURN_GENERATED_KEYS);
-405 insertReference = conn.prepareStatement(INSERT_REFERENCE);
-406 selectCpeId = conn.prepareStatement(SELECT_CPE_ID);
-407 insertCpe = conn.prepareStatement(INSERT_CPE, Statement.RETURN_GENERATED_KEYS);
-408 insertSoftware = conn.prepareStatement(INSERT_SOFTWARE);
-409 int vulnerabilityId = 0;
-410 selectVulnerabilityId.setString(1, vuln.getName());
-411 ResultSet rs = selectVulnerabilityId.executeQuery();
-412 if (rs.next()) {
-413 vulnerabilityId = rs.getInt(1);
-414
-415 deleteReferences.setInt(1, vulnerabilityId);
-416 deleteReferences.execute();
-417 deleteSoftware.setInt(1, vulnerabilityId);
-418 deleteSoftware.execute();
-419 }
-420 closeResultSet(rs);
-421 rs = null ;
-422 if (vulnerabilityId != 0) {
-423 updateVulnerability.setString(1, vuln.getDescription());
-424 updateVulnerability.setString(2, vuln.getCwe());
-425 updateVulnerability.setFloat(3, vuln.getCvssScore());
-426 updateVulnerability.setString(4, vuln.getCvssAccessVector());
-427 updateVulnerability.setString(5, vuln.getCvssAccessComplexity());
-428 updateVulnerability.setString(6, vuln.getCvssAuthentication());
-429 updateVulnerability.setString(7, vuln.getCvssConfidentialityImpact());
-430 updateVulnerability.setString(8, vuln.getCvssIntegrityImpact());
-431 updateVulnerability.setString(9, vuln.getCvssAvailabilityImpact());
-432 updateVulnerability.setInt(10, vulnerabilityId);
-433 updateVulnerability.executeUpdate();
-434 } else {
-435 insertVulnerability.setString(1, vuln.getName());
-436 insertVulnerability.setString(2, vuln.getDescription());
-437 insertVulnerability.setString(3, vuln.getCwe());
-438 insertVulnerability.setFloat(4, vuln.getCvssScore());
-439 insertVulnerability.setString(5, vuln.getCvssAccessVector());
-440 insertVulnerability.setString(6, vuln.getCvssAccessComplexity());
-441 insertVulnerability.setString(7, vuln.getCvssAuthentication());
-442 insertVulnerability.setString(8, vuln.getCvssConfidentialityImpact());
-443 insertVulnerability.setString(9, vuln.getCvssIntegrityImpact());
-444 insertVulnerability.setString(10, vuln.getCvssAvailabilityImpact());
-445 insertVulnerability.execute();
-446 try {
-447 rs = insertVulnerability.getGeneratedKeys();
-448 rs.next();
-449 vulnerabilityId = rs.getInt(1);
-450 } catch (SQLException ex) {
-451 final String msg = String.format("Unable to retrieve id for new vulnerability for '%s'" , vuln.getName());
-452 throw new DatabaseException (msg, ex);
-453 } finally {
-454 closeResultSet(rs);
-455 rs = null ;
-456 }
-457 }
-458 insertReference.setInt(1, vulnerabilityId);
-459 for (Reference r : vuln.getReferences()) {
-460 insertReference.setString(2, r.getName());
-461 insertReference.setString(3, r.getUrl());
-462 insertReference.setString(4, r.getSource());
-463 insertReference.execute();
-464 }
-465 for (VulnerableSoftware s : vuln.getVulnerableSoftware()) {
-466 int cpeProductId = 0;
-467 selectCpeId.setString(1, s.getName());
-468 try {
-469 rs = selectCpeId.executeQuery();
-470 if (rs.next()) {
-471 cpeProductId = rs.getInt(1);
-472 }
-473 } catch (SQLException ex) {
-474 throw new DatabaseException ("Unable to get primary key for new cpe: " + s.getName(), ex);
-475 } finally {
-476 closeResultSet(rs);
-477 rs = null ;
+200
+201
+202
+203 public void close() {
+204 if (conn != null ) {
+205 try {
+206 conn.close();
+207 } catch (SQLException ex) {
+208 final String msg = "There was an error attempting to close the CveDB, see the log for more details." ;
+209 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, msg, ex);
+210 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
+211 }
+212 conn = null ;
+213 }
+214 }
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226 public Set<VulnerableSoftware> getCPEs(String vendor, String product) {
+227 final Set<VulnerableSoftware> cpe = new HashSet<VulnerableSoftware>();
+228 ResultSet rs = null ;
+229 PreparedStatement ps = null ;
+230 try {
+231 ps = conn.prepareStatement(SELECT_CPE_ENTRIES);
+232 ps.setString(1, vendor);
+233 ps.setString(2, product);
+234 rs = ps.executeQuery();
+235
+236 while (rs.next()) {
+237 final VulnerableSoftware vs = new VulnerableSoftware ();
+238 vs.setCpe(rs.getString(1));
+239 cpe.add(vs);
+240 }
+241 } catch (SQLException ex) {
+242 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
+243 } finally {
+244 closeResultSet(rs);
+245 closeStatement(ps);
+246 }
+247 return cpe;
+248 }
+249
+250
+251
+252
+253
+254
+255
+256
+257 public List<Vulnerability> getVulnerabilities(String cpeStr) throws DatabaseException {
+258 ResultSet rs = null ;
+259 final VulnerableSoftware cpe = new VulnerableSoftware ();
+260 try {
+261 cpe.parseName(cpeStr);
+262 } catch (UnsupportedEncodingException ex) {
+263 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
+264 }
+265 final DependencyVersion detectedVersion = parseDependencyVersion(cpe);
+266 final List<Vulnerability> vulnerabilities = new ArrayList<Vulnerability>();
+267
+268 PreparedStatement ps;
+269 final HashSet<String> cveEntries = new HashSet<String>();
+270 try {
+271 ps = conn.prepareStatement(SELECT_CVE_FROM_SOFTWARE);
+272 ps.setString(1, cpe.getVendor());
+273 ps.setString(2, cpe.getProduct());
+274 rs = ps.executeQuery();
+275 while (rs.next()) {
+276 final String cveId = rs.getString(1);
+277 final String cpeId = rs.getString(2);
+278 final String previous = rs.getString(3);
+279 if (!cveEntries.contains(cveId) && isAffected(cpe.getVendor(), cpe.getProduct(), detectedVersion, cpeId, previous)) {
+280 cveEntries.add(cveId);
+281 }
+282 }
+283 closeResultSet(rs);
+284 closeStatement(ps);
+285 for (String cve : cveEntries) {
+286 final Vulnerability v = getVulnerability(cve);
+287 vulnerabilities.add(v);
+288 }
+289
+290 } catch (SQLException ex) {
+291 throw new DatabaseException ("Exception retrieving vulnerability for " + cpeStr, ex);
+292 } finally {
+293 closeResultSet(rs);
+294 }
+295 return vulnerabilities;
+296 }
+297
+298
+299
+300
+301
+302
+303
+304
+305 private Vulnerability getVulnerability(String cve) throws DatabaseException {
+306 PreparedStatement psV = null ;
+307 PreparedStatement psR = null ;
+308 PreparedStatement psS = null ;
+309 ResultSet rsV = null ;
+310 ResultSet rsR = null ;
+311 ResultSet rsS = null ;
+312 Vulnerability vuln = null ;
+313 try {
+314 psV = conn.prepareStatement(SELECT_VULNERABILITY);
+315 psV.setString(1, cve);
+316 rsV = psV.executeQuery();
+317 if (rsV.next()) {
+318 vuln = new Vulnerability ();
+319 vuln.setName(cve);
+320 vuln.setDescription(rsV.getString(2));
+321 String cwe = rsV.getString(3);
+322 if (cwe != null ) {
+323 final String name = CweDB.getCweName(cwe);
+324 if (name != null ) {
+325 cwe += " " + name;
+326 }
+327 }
+328 final int cveId = rsV.getInt(1);
+329 vuln.setCwe(cwe);
+330 vuln.setCvssScore(rsV.getFloat(4));
+331 vuln.setCvssAccessVector(rsV.getString(5));
+332 vuln.setCvssAccessComplexity(rsV.getString(6));
+333 vuln.setCvssAuthentication(rsV.getString(7));
+334 vuln.setCvssConfidentialityImpact(rsV.getString(8));
+335 vuln.setCvssIntegrityImpact(rsV.getString(9));
+336 vuln.setCvssAvailabilityImpact(rsV.getString(10));
+337
+338 psR = conn.prepareStatement(SELECT_REFERENCE);
+339 psR.setInt(1, cveId);
+340 rsR = psR.executeQuery();
+341 while (rsR.next()) {
+342 vuln.addReference(rsR.getString(1), rsR.getString(2), rsR.getString(3));
+343 }
+344 psS = conn.prepareStatement(SELECT_SOFTWARE);
+345 psS.setInt(1, cveId);
+346 rsS = psS.executeQuery();
+347 while (rsS.next()) {
+348 final String cpe = rsS.getString(1);
+349 final String prevVersion = rsS.getString(2);
+350 if (prevVersion == null ) {
+351 vuln.addVulnerableSoftware(cpe);
+352 } else {
+353 vuln.addVulnerableSoftware(cpe, prevVersion);
+354 }
+355 }
+356 }
+357 } catch (SQLException ex) {
+358 throw new DatabaseException ("Error retrieving " + cve, ex);
+359 } finally {
+360 closeResultSet(rsV);
+361 closeResultSet(rsR);
+362 closeResultSet(rsS);
+363 closeStatement(psV);
+364 closeStatement(psR);
+365 closeStatement(psS);
+366 }
+367 return vuln;
+368 }
+369
+370
+371
+372
+373
+374
+375
+376
+377 public void updateVulnerability(Vulnerability vuln) throws DatabaseException {
+378 PreparedStatement selectVulnerabilityId = null ;
+379 PreparedStatement deleteReferences = null ;
+380 PreparedStatement deleteSoftware = null ;
+381 PreparedStatement updateVulnerability = null ;
+382 PreparedStatement insertVulnerability = null ;
+383 PreparedStatement insertReference = null ;
+384 PreparedStatement selectCpeId = null ;
+385 PreparedStatement insertCpe = null ;
+386 PreparedStatement insertSoftware = null ;
+387
+388 try {
+389 selectVulnerabilityId = conn.prepareStatement(SELECT_VULNERABILITY_ID);
+390 deleteReferences = conn.prepareStatement(DELETE_REFERENCE);
+391 deleteSoftware = conn.prepareStatement(DELETE_SOFTWARE);
+392 updateVulnerability = conn.prepareStatement(UPDATE_VULNERABILITY);
+393 insertVulnerability = conn.prepareStatement(INSERT_VULNERABILITY, Statement.RETURN_GENERATED_KEYS);
+394 insertReference = conn.prepareStatement(INSERT_REFERENCE);
+395 selectCpeId = conn.prepareStatement(SELECT_CPE_ID);
+396 insertCpe = conn.prepareStatement(INSERT_CPE, Statement.RETURN_GENERATED_KEYS);
+397 insertSoftware = conn.prepareStatement(INSERT_SOFTWARE);
+398 int vulnerabilityId = 0;
+399 selectVulnerabilityId.setString(1, vuln.getName());
+400 ResultSet rs = selectVulnerabilityId.executeQuery();
+401 if (rs.next()) {
+402 vulnerabilityId = rs.getInt(1);
+403
+404 deleteReferences.setInt(1, vulnerabilityId);
+405 deleteReferences.execute();
+406 deleteSoftware.setInt(1, vulnerabilityId);
+407 deleteSoftware.execute();
+408 }
+409 closeResultSet(rs);
+410 rs = null ;
+411 if (vulnerabilityId != 0) {
+412 updateVulnerability.setString(1, vuln.getDescription());
+413 updateVulnerability.setString(2, vuln.getCwe());
+414 updateVulnerability.setFloat(3, vuln.getCvssScore());
+415 updateVulnerability.setString(4, vuln.getCvssAccessVector());
+416 updateVulnerability.setString(5, vuln.getCvssAccessComplexity());
+417 updateVulnerability.setString(6, vuln.getCvssAuthentication());
+418 updateVulnerability.setString(7, vuln.getCvssConfidentialityImpact());
+419 updateVulnerability.setString(8, vuln.getCvssIntegrityImpact());
+420 updateVulnerability.setString(9, vuln.getCvssAvailabilityImpact());
+421 updateVulnerability.setInt(10, vulnerabilityId);
+422 updateVulnerability.executeUpdate();
+423 } else {
+424 insertVulnerability.setString(1, vuln.getName());
+425 insertVulnerability.setString(2, vuln.getDescription());
+426 insertVulnerability.setString(3, vuln.getCwe());
+427 insertVulnerability.setFloat(4, vuln.getCvssScore());
+428 insertVulnerability.setString(5, vuln.getCvssAccessVector());
+429 insertVulnerability.setString(6, vuln.getCvssAccessComplexity());
+430 insertVulnerability.setString(7, vuln.getCvssAuthentication());
+431 insertVulnerability.setString(8, vuln.getCvssConfidentialityImpact());
+432 insertVulnerability.setString(9, vuln.getCvssIntegrityImpact());
+433 insertVulnerability.setString(10, vuln.getCvssAvailabilityImpact());
+434 insertVulnerability.execute();
+435 try {
+436 rs = insertVulnerability.getGeneratedKeys();
+437 rs.next();
+438 vulnerabilityId = rs.getInt(1);
+439 } catch (SQLException ex) {
+440 final String msg = String.format("Unable to retrieve id for new vulnerability for '%s'" , vuln.getName());
+441 throw new DatabaseException (msg, ex);
+442 } finally {
+443 closeResultSet(rs);
+444 rs = null ;
+445 }
+446 }
+447 insertReference.setInt(1, vulnerabilityId);
+448 for (Reference r : vuln.getReferences()) {
+449 insertReference.setString(2, r.getName());
+450 insertReference.setString(3, r.getUrl());
+451 insertReference.setString(4, r.getSource());
+452 insertReference.execute();
+453 }
+454 for (VulnerableSoftware s : vuln.getVulnerableSoftware()) {
+455 int cpeProductId = 0;
+456 selectCpeId.setString(1, s.getName());
+457 try {
+458 rs = selectCpeId.executeQuery();
+459 if (rs.next()) {
+460 cpeProductId = rs.getInt(1);
+461 }
+462 } catch (SQLException ex) {
+463 throw new DatabaseException ("Unable to get primary key for new cpe: " + s.getName(), ex);
+464 } finally {
+465 closeResultSet(rs);
+466 rs = null ;
+467 }
+468
+469 if (cpeProductId == 0) {
+470 insertCpe.setString(1, s.getName());
+471 insertCpe.setString(2, s.getVendor());
+472 insertCpe.setString(3, s.getProduct());
+473 insertCpe.executeUpdate();
+474 cpeProductId = getGeneratedKey(insertCpe);
+475 }
+476 if (cpeProductId == 0) {
+477 throw new DatabaseException ("Unable to retrieve cpeProductId - no data returned" );
478 }
479
-480 if (cpeProductId == 0) {
-481 insertCpe.setString(1, s.getName());
-482 insertCpe.setString(2, s.getVendor());
-483 insertCpe.setString(3, s.getProduct());
-484 insertCpe.executeUpdate();
-485 cpeProductId = getGeneratedKey(insertCpe);
+480 insertSoftware.setInt(1, vulnerabilityId);
+481 insertSoftware.setInt(2, cpeProductId);
+482 if (s.getPreviousVersion() == null ) {
+483 insertSoftware.setNull(3, java.sql.Types.VARCHAR);
+484 } else {
+485 insertSoftware.setString(3, s.getPreviousVersion());
486 }
-487 if (cpeProductId == 0) {
-488 throw new DatabaseException ("Unable to retrieve cpeProductId - no data returned" );
-489 }
-490
-491 insertSoftware.setInt(1, vulnerabilityId);
-492 insertSoftware.setInt(2, cpeProductId);
-493 if (s.getPreviousVersion() == null ) {
-494 insertSoftware.setNull(3, java.sql.Types.VARCHAR);
-495 } else {
-496 insertSoftware.setString(3, s.getPreviousVersion());
-497 }
-498 insertSoftware.execute();
-499 }
-500
-501 } catch (SQLException ex) {
-502 final String msg = String.format("Error updating '%s'" , vuln.getName());
-503 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
-504 throw new DatabaseException (msg, ex);
-505 } finally {
-506 closeStatement(selectVulnerabilityId);
-507 closeStatement(deleteReferences);
-508 closeStatement(deleteSoftware);
-509 closeStatement(updateVulnerability);
-510 closeStatement(insertVulnerability);
-511 closeStatement(insertReference);
-512 closeStatement(selectCpeId);
-513 closeStatement(insertCpe);
-514 closeStatement(insertSoftware);
-515 }
-516 }
-517
-518
-519
-520
-521
-522
-523
-524
-525 public static File getDataDirectory() throws IOException {
-526 final File path = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);
-527 if (!path.exists()) {
-528 if (!path.mkdirs()) {
-529 throw new IOException("Unable to create NVD CVE Data directory" );
-530 }
-531 }
-532 return path;
-533 }
-534
-535
-536
-537
-538
-539
-540 public void cleanupDatabase() {
-541 PreparedStatement ps = null ;
-542 try {
-543 ps = conn.prepareStatement(CLEANUP_ORPHANS);
-544 if (ps != null ) {
-545 ps.executeUpdate();
-546 }
-547 } catch (SQLException ex) {
-548 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
-549 } finally {
-550 closeStatement(ps);
-551 }
-552 }
-553
-554
-555
-556
-557
-558
-559
-560 protected void createTables() throws SQLException, DatabaseException {
-561 InputStream is;
-562 InputStreamReader reader;
-563 BufferedReader in = null ;
-564 try {
-565 is = this .getClass().getClassLoader().getResourceAsStream(DB_STRUCTURE_RESOURCE);
-566 reader = new InputStreamReader(is, "UTF-8" );
-567 in = new BufferedReader(reader);
-568 final StringBuilder sb = new StringBuilder(2110);
-569 String tmp;
-570 while ((tmp = in.readLine()) != null ) {
-571 sb.append(tmp);
-572 }
-573 Statement statement = null ;
-574 try {
-575 statement = conn.createStatement();
-576 statement.execute(sb.toString());
-577 } finally {
-578 closeStatement(statement);
+487 insertSoftware.execute();
+488 }
+489
+490 } catch (SQLException ex) {
+491 final String msg = String.format("Error updating '%s'" , vuln.getName());
+492 Logger.getLogger(CveDB.class .getName()).log(Level.FINE, null , ex);
+493 throw new DatabaseException (msg, ex);
+494 } finally {
+495 closeStatement(selectVulnerabilityId);
+496 closeStatement(deleteReferences);
+497 closeStatement(deleteSoftware);
+498 closeStatement(updateVulnerability);
+499 closeStatement(insertVulnerability);
+500 closeStatement(insertReference);
+501 closeStatement(selectCpeId);
+502 closeStatement(insertCpe);
+503 closeStatement(insertSoftware);
+504 }
+505 }
+506
+507
+508
+509
+510
+511
+512
+513
+514 public static File getDataDirectory() throws IOException {
+515 final File path = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);
+516 if (!path.exists()) {
+517 if (!path.mkdirs()) {
+518 throw new IOException("Unable to create NVD CVE Data directory" );
+519 }
+520 }
+521 return path;
+522 }
+523
+524
+525
+526
+527
+528
+529 public void cleanupDatabase() {
+530 PreparedStatement ps = null ;
+531 try {
+532 ps = conn.prepareStatement(CLEANUP_ORPHANS);
+533 if (ps != null ) {
+534 ps.executeUpdate();
+535 }
+536 } catch (SQLException ex) {
+537 Logger.getLogger(CveDB.class .getName()).log(Level.SEVERE, null , ex);
+538 } finally {
+539 closeStatement(ps);
+540 }
+541 }
+542
+543
+544
+545
+546
+547
+548
+549 protected void createTables() throws SQLException, DatabaseException {
+550 InputStream is;
+551 InputStreamReader reader;
+552 BufferedReader in = null ;
+553 try {
+554 is = this .getClass().getClassLoader().getResourceAsStream(DB_STRUCTURE_RESOURCE);
+555 reader = new InputStreamReader(is, "UTF-8" );
+556 in = new BufferedReader(reader);
+557 final StringBuilder sb = new StringBuilder(2110);
+558 String tmp;
+559 while ((tmp = in.readLine()) != null ) {
+560 sb.append(tmp);
+561 }
+562 Statement statement = null ;
+563 try {
+564 statement = conn.createStatement();
+565 statement.execute(sb.toString());
+566 } finally {
+567 closeStatement(statement);
+568 }
+569 } catch (IOException ex) {
+570 throw new DatabaseException ("Unable to create database schema" , ex);
+571 } finally {
+572 if (in != null ) {
+573 try {
+574 in.close();
+575 } catch (IOException ex) {
+576 Logger.getLogger(CveDB.class
+577 .getName()).log(Level.FINEST, null , ex);
+578 }
579 }
-580 } catch (IOException ex) {
-581 throw new DatabaseException ("Unable to create database schema" , ex);
-582 } finally {
-583 if (in != null ) {
-584 try {
-585 in.close();
-586 } catch (IOException ex) {
-587 Logger.getLogger(CveDB.class
-588 .getName()).log(Level.FINEST, null , ex);
-589 }
-590 }
-591 }
-592 }
-593
-594
-595
-596
-597
-598
-599 private void closeStatement(Statement statement) {
-600 if (statement != null ) {
-601 try {
-602 statement.close();
-603 } catch (SQLException ex) {
-604 Logger.getLogger(CveDB.class
-605 .getName()).log(Level.FINEST, statement.toString(), ex);
-606 }
-607 }
-608 }
-609
-610
-611
-612
-613
-614
-615
-616 private void closeResultSet(ResultSet rs) {
-617 if (rs != null ) {
-618 try {
-619 rs.close();
-620 } catch (SQLException ex) {
-621 Logger.getLogger(CveDB.class
-622 .getName()).log(Level.FINEST, rs.toString(), ex);
-623 }
-624 }
-625 }
-626
-627
-628
-629
-630
-631
-632
-633
-634
-635 private int getGeneratedKey(PreparedStatement statement) throws DatabaseException {
-636 ResultSet rs = null ;
-637 int id = 0;
-638 try {
-639 rs = statement.getGeneratedKeys();
-640 rs.next();
-641 id = rs.getInt(1);
-642 } catch (SQLException ex) {
-643 throw new DatabaseException ("Unable to get primary key for inserted row" );
-644 } finally {
-645 closeResultSet(rs);
-646 }
-647 return id;
-648 }
-649
-650
-651
-652
-653
-654
-655
-656
-657
-658
-659
-660
-661
-662
-663
-664
-665
-666 private boolean isAffected(String vendor, String product, DependencyVersion identifiedVersion, String cpeId, String previous) {
-667 boolean affected = false;
-668 final boolean isStruts = "apache" .equals(vendor) && "struts" .equals(product);
-669 final DependencyVersion v = parseDependencyVersion(cpeId);
-670 final boolean prevAffected = previous == null ? false : !previous.isEmpty();
-671 if (identifiedVersion == null || "-" .equals(identifiedVersion.toString())) {
-672 if (v == null || "-" .equals(v.toString())) {
-673 affected = true ;
-674 }
-675 } else if (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {
-676 if (isStruts) {
-677 if (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {
-678 affected = true ;
-679 }
-680 } else {
-681 affected = true ;
-682 }
-683 }
-684
-685
-686
-687
-688 return affected;
-689 }
-690
-691
-692
-693
-694
-695
-696
-697
-698 private DependencyVersion parseDependencyVersion(String cpeStr) {
-699 final VulnerableSoftware cpe = new VulnerableSoftware ();
-700 try {
-701 cpe.parseName(cpeStr);
-702 } catch (UnsupportedEncodingException ex) {
-703
-704 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
-705 }
-706 return parseDependencyVersion(cpe);
-707 }
-708
-709
-710
-711
-712
-713
-714
-715
-716 private DependencyVersion parseDependencyVersion(VulnerableSoftware cpe) {
-717 DependencyVersion cpeVersion;
-718 if (cpe.getVersion() != null && cpe.getVersion().length() > 0) {
-719 String versionText;
-720 if (cpe.getRevision() != null && cpe.getRevision().length() > 0) {
-721 versionText = String.format("%s.%s" , cpe.getVersion(), cpe.getRevision());
-722 } else {
-723 versionText = cpe.getVersion();
-724 }
-725 cpeVersion = DependencyVersionUtil.parseVersion(versionText);
-726 } else {
-727 cpeVersion = new DependencyVersion ("-" );
-728 }
-729 return cpeVersion;
-730 }
-731 }
+580 }
+581 }
+582
+583
+584
+585
+586
+587
+588 private void closeStatement(Statement statement) {
+589 if (statement != null ) {
+590 try {
+591 statement.close();
+592 } catch (SQLException ex) {
+593 Logger.getLogger(CveDB.class
+594 .getName()).log(Level.FINEST, statement.toString(), ex);
+595 }
+596 }
+597 }
+598
+599
+600
+601
+602
+603
+604
+605 private void closeResultSet(ResultSet rs) {
+606 if (rs != null ) {
+607 try {
+608 rs.close();
+609 } catch (SQLException ex) {
+610 Logger.getLogger(CveDB.class
+611 .getName()).log(Level.FINEST, rs.toString(), ex);
+612 }
+613 }
+614 }
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624 private int getGeneratedKey(PreparedStatement statement) throws DatabaseException {
+625 ResultSet rs = null ;
+626 int id = 0;
+627 try {
+628 rs = statement.getGeneratedKeys();
+629 rs.next();
+630 id = rs.getInt(1);
+631 } catch (SQLException ex) {
+632 throw new DatabaseException ("Unable to get primary key for inserted row" );
+633 } finally {
+634 closeResultSet(rs);
+635 }
+636 return id;
+637 }
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655 private boolean isAffected(String vendor, String product, DependencyVersion identifiedVersion, String cpeId, String previous) {
+656 boolean affected = false;
+657 final boolean isStruts = "apache" .equals(vendor) && "struts" .equals(product);
+658 final DependencyVersion v = parseDependencyVersion(cpeId);
+659 final boolean prevAffected = previous == null ? false : !previous.isEmpty();
+660 if (identifiedVersion == null || "-" .equals(identifiedVersion.toString())) {
+661 if (v == null || "-" .equals(v.toString())) {
+662 affected = true ;
+663 }
+664 } else if (identifiedVersion.equals(v) || (prevAffected && identifiedVersion.compareTo(v) < 0)) {
+665 if (isStruts) {
+666 if (identifiedVersion.getVersionParts().get(0).equals(v.getVersionParts().get(0))) {
+667 affected = true ;
+668 }
+669 } else {
+670 affected = true ;
+671 }
+672 }
+673
+674
+675
+676
+677 return affected;
+678 }
+679
+680
+681
+682
+683
+684
+685
+686
+687 private DependencyVersion parseDependencyVersion(String cpeStr) {
+688 final VulnerableSoftware cpe = new VulnerableSoftware ();
+689 try {
+690 cpe.parseName(cpeStr);
+691 } catch (UnsupportedEncodingException ex) {
+692
+693 Logger.getLogger(CveDB.class .getName()).log(Level.FINEST, null , ex);
+694 }
+695 return parseDependencyVersion(cpe);
+696 }
+697
+698
+699
+700
+701
+702
+703
+704
+705 private DependencyVersion parseDependencyVersion(VulnerableSoftware cpe) {
+706 DependencyVersion cpeVersion;
+707 if (cpe.getVersion() != null && cpe.getVersion().length() > 0) {
+708 String versionText;
+709 if (cpe.getRevision() != null && cpe.getRevision().length() > 0) {
+710 versionText = String.format("%s.%s" , cpe.getVersion(), cpe.getRevision());
+711 } else {
+712 versionText = cpe.getVersion();
+713 }
+714 cpeVersion = DependencyVersionUtil.parseVersion(versionText);
+715 } else {
+716 cpeVersion = new DependencyVersion ("-" );
+717 }
+718 return cpeVersion;
+719 }
+720 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/InvalidDataException.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/InvalidDataException.html
new file mode 100644
index 000000000..7e2944d0f
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/InvalidDataException.html
@@ -0,0 +1,66 @@
+
+
+
+
+InvalidDataException xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.nvdcve;
+20
+21
+22
+23
+24
+25
+26
+27 public class InvalidDataException extends Exception {
+28
+29
+30
+31
+32 private static final long serialVersionUID = 1L;
+33
+34
+35
+36
+37
+38
+39 public InvalidDataException (String msg) {
+40 super (msg);
+41 }
+42
+43
+44
+45
+46
+47
+48
+49 public InvalidDataException (String msg, Exception ex) {
+50 super (msg, ex);
+51 }
+52 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.html
new file mode 100644
index 000000000..abac7b725
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/NvdCve12Handler.html
@@ -0,0 +1,261 @@
+
+
+
+
+NvdCve12Handler xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.nvdcve;
+20
+21 import java.util.ArrayList;
+22 import java.util.HashMap;
+23 import java.util.List;
+24 import java.util.Map;
+25 import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+26 import org.xml.sax.Attributes;
+27 import org.xml.sax.SAXException;
+28 import org.xml.sax.SAXNotSupportedException;
+29 import org.xml.sax.helpers.DefaultHandler;
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40 public class NvdCve12Handler extends DefaultHandler {
+41
+42
+43
+44
+45 private static final String CURRENT_SCHEMA_VERSION = "1.2" ;
+46
+47
+48
+49 private String vulnerability;
+50
+51
+52
+53 private List<VulnerableSoftware> software;
+54
+55
+56
+57 private String vendor;
+58
+59
+60
+61 private String product;
+62
+63
+64
+65 private boolean skip = false;
+66
+67
+68
+69 private boolean hasPreviousVersion = false;
+70
+71
+72
+73 private final Element current = new Element ();
+74
+75
+76
+77 private Map<String, List<VulnerableSoftware>> vulnerabilities;
+78
+79
+80
+81
+82
+83
+84 public Map<String, List<VulnerableSoftware>> getVulnerabilities() {
+85 return vulnerabilities;
+86 }
+87
+88 @Override
+89 public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
+90 current.setNode(qName);
+91 if (current.isEntryNode()) {
+92 vendor = null ;
+93 product = null ;
+94 hasPreviousVersion = false;
+95 final String reject = attributes.getValue("reject" );
+96 skip = "1" .equals(reject);
+97 if (!skip) {
+98 vulnerability = attributes.getValue("name" );
+99 software = new ArrayList<VulnerableSoftware>();
+100 } else {
+101 vulnerability = null ;
+102 software = null ;
+103 }
+104 } else if (!skip && current.isProdNode()) {
+105
+106 vendor = attributes.getValue("vendor" );
+107 product = attributes.getValue("name" );
+108 } else if (!skip && current.isVersNode()) {
+109 final String prev = attributes.getValue("prev" );
+110 if (prev != null && "1" .equals(prev)) {
+111 hasPreviousVersion = true ;
+112 final String edition = attributes.getValue("edition" );
+113 final String num = attributes.getValue("num" );
+114
+115
+116
+117
+118 String cpe = "cpe:/a:" + vendor + ":" + product;
+119 if (num != null ) {
+120 cpe += ":" + num;
+121 }
+122 if (edition != null ) {
+123 cpe += ":" + edition;
+124 }
+125 final VulnerableSoftware vs = new VulnerableSoftware ();
+126 vs.setCpe(cpe);
+127 vs.setPreviousVersion(prev);
+128 software.add(vs);
+129 }
+130 } else if (current.isNVDNode()) {
+131 final String nvdVer = attributes.getValue("nvd_xml_version" );
+132 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
+133 throw new SAXNotSupportedException("Schema version " + nvdVer + " is not supported" );
+134 }
+135 vulnerabilities = new HashMap<String, List<VulnerableSoftware>>();
+136 }
+137 }
+138
+139 @Override
+140 public void endElement(String uri, String localName, String qName) throws SAXException {
+141 current.setNode(qName);
+142 if (current.isEntryNode()) {
+143 if (!skip && hasPreviousVersion) {
+144 vulnerabilities.put(vulnerability, software);
+145 }
+146 vulnerability = null ;
+147 software = null ;
+148 }
+149 }
+150
+151
+152
+153
+154
+155
+156 protected static class Element {
+157
+158
+159
+160
+161 public static final String NVD = "nvd" ;
+162
+163
+164
+165 public static final String ENTRY = "entry" ;
+166
+167
+168
+169 public static final String VULN_SOFTWARE = "vuln_soft" ;
+170
+171
+172
+173 public static final String PROD = "prod" ;
+174
+175
+176
+177 public static final String VERS = "vers" ;
+178
+179
+180
+181 private String node;
+182
+183
+184
+185
+186
+187
+188 public String getNode() {
+189 return this .node;
+190 }
+191
+192
+193
+194
+195
+196
+197 public void setNode(String node) {
+198 this .node = node;
+199 }
+200
+201
+202
+203
+204
+205
+206 public boolean isNVDNode() {
+207 return NVD.equals(node);
+208 }
+209
+210
+211
+212
+213
+214
+215 public boolean isEntryNode() {
+216 return ENTRY.equals(node);
+217 }
+218
+219
+220
+221
+222
+223
+224 public boolean isVulnSoftwareNode() {
+225 return VULN_SOFTWARE.equals(node);
+226 }
+227
+228
+229
+230
+231
+232
+233 public boolean isProdNode() {
+234 return PROD.equals(node);
+235 }
+236
+237
+238
+239
+240
+241
+242 public boolean isVersNode() {
+243 return VERS.equals(node);
+244 }
+245 }
+246
+247 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.html
new file mode 100644
index 000000000..482a72d80
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/NvdCve20Handler.html
@@ -0,0 +1,526 @@
+
+
+
+
+NvdCve20Handler xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.nvdcve;
+20
+21 import java.io.IOException;
+22 import java.util.List;
+23 import java.util.Map;
+24 import java.util.logging.Level;
+25 import java.util.logging.Logger;
+26 import org.apache.lucene.index.CorruptIndexException;
+27 import org.owasp.dependencycheck.data.cpe.CpeIndexWriter;
+28 import org.owasp.dependencycheck.dependency.Reference;
+29 import org.owasp.dependencycheck.dependency.Vulnerability;
+30 import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+31 import org.xml.sax.Attributes;
+32 import org.xml.sax.SAXException;
+33 import org.xml.sax.SAXNotSupportedException;
+34 import org.xml.sax.helpers.DefaultHandler;
+35
+36
+37
+38
+39
+40
+41 public class NvdCve20Handler extends DefaultHandler {
+42
+43
+44
+45
+46 private static final String CURRENT_SCHEMA_VERSION = "2.0" ;
+47
+48
+49
+50 private final Element current = new Element ();
+51
+52
+53
+54 private StringBuilder nodeText;
+55
+56
+57
+58 private Vulnerability vulnerability;
+59
+60
+61
+62 private Reference reference;
+63
+64
+65
+66 private boolean hasApplicationCpe = false;
+67
+68
+69
+70 private int totalNumberOfEntries;
+71
+72
+73
+74
+75
+76
+77 public int getTotalNumberOfEntries() {
+78 return totalNumberOfEntries;
+79 }
+80
+81
+82
+83 private int totalNumberOfApplicationEntries;
+84
+85
+86
+87
+88
+89
+90 public int getTotalNumberOfApplicationEntries() {
+91 return totalNumberOfApplicationEntries;
+92 }
+93
+94 @Override
+95 public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
+96 current.setNode(qName);
+97 if (current.isEntryNode()) {
+98 hasApplicationCpe = false;
+99 vulnerability = new Vulnerability ();
+100 vulnerability.setName(attributes.getValue("id" ));
+101 } else if (current.isVulnProductNode()) {
+102 nodeText = new StringBuilder(100);
+103 } else if (current.isVulnReferencesNode()) {
+104 final String lang = attributes.getValue("xml:lang" );
+105 if ("en" .equals(lang)) {
+106 reference = new Reference ();
+107 } else {
+108 reference = null ;
+109 }
+110 } else if (reference != null && current.isVulnReferenceNode()) {
+111 reference.setUrl(attributes.getValue("href" ));
+112 nodeText = new StringBuilder(130);
+113 } else if (reference != null && current.isVulnSourceNode()) {
+114 nodeText = new StringBuilder(30);
+115 } else if (current.isVulnSummaryNode()) {
+116 nodeText = new StringBuilder(500);
+117 } else if (current.isNVDNode()) {
+118 final String nvdVer = attributes.getValue("nvd_xml_version" );
+119 if (!CURRENT_SCHEMA_VERSION.equals(nvdVer)) {
+120 throw new SAXNotSupportedException("Schema version " + nvdVer + " is not supported" );
+121 }
+122 } else if (current.isVulnCWENode()) {
+123 vulnerability.setCwe(attributes.getValue("id" ));
+124 } else if (current.isCVSSScoreNode()) {
+125 nodeText = new StringBuilder(5);
+126 } else if (current.isCVSSAccessVectorNode()) {
+127 nodeText = new StringBuilder(20);
+128 } else if (current.isCVSSAccessComplexityNode()) {
+129 nodeText = new StringBuilder(20);
+130 } else if (current.isCVSSAuthenticationNode()) {
+131 nodeText = new StringBuilder(20);
+132 } else if (current.isCVSSAvailabilityImpactNode()) {
+133 nodeText = new StringBuilder(20);
+134 } else if (current.isCVSSConfidentialityImpactNode()) {
+135 nodeText = new StringBuilder(20);
+136 } else if (current.isCVSSIntegrityImpactNode()) {
+137 nodeText = new StringBuilder(20);
+138 }
+139 }
+140
+141 @Override
+142 public void characters(char [] ch, int start, int length) throws SAXException {
+143 if (nodeText != null ) {
+144 nodeText.append(ch, start, length);
+145 }
+146 }
+147
+148 @Override
+149 public void endElement(String uri, String localName, String qName) throws SAXException {
+150 current.setNode(qName);
+151 if (current.isEntryNode()) {
+152 totalNumberOfEntries += 1;
+153 if (hasApplicationCpe) {
+154 totalNumberOfApplicationEntries += 1;
+155 try {
+156 saveEntry(vulnerability);
+157 } catch (DatabaseException ex) {
+158 throw new SAXException(ex);
+159 } catch (CorruptIndexException ex) {
+160 throw new SAXException(ex);
+161 } catch (IOException ex) {
+162 throw new SAXException(ex);
+163 }
+164 }
+165 vulnerability = null ;
+166 } else if (current.isCVSSScoreNode()) {
+167 try {
+168 final float score = Float.parseFloat(nodeText.toString());
+169 vulnerability.setCvssScore(score);
+170 } catch (NumberFormatException ex) {
+171 Logger.getLogger(NvdCve20Handler.class .getName()).log(Level.SEVERE, "Error parsing CVSS Score." );
+172 Logger.getLogger(NvdCve20Handler.class .getName()).log(Level.FINE, null , ex);
+173 }
+174 nodeText = null ;
+175 } else if (current.isCVSSAccessVectorNode()) {
+176 vulnerability.setCvssAccessVector(nodeText.toString());
+177 nodeText = null ;
+178 } else if (current.isCVSSAccessComplexityNode()) {
+179 vulnerability.setCvssAccessComplexity(nodeText.toString());
+180 nodeText = null ;
+181 } else if (current.isCVSSAuthenticationNode()) {
+182 vulnerability.setCvssAuthentication(nodeText.toString());
+183 nodeText = null ;
+184 } else if (current.isCVSSAvailabilityImpactNode()) {
+185 vulnerability.setCvssAvailabilityImpact(nodeText.toString());
+186 nodeText = null ;
+187 } else if (current.isCVSSConfidentialityImpactNode()) {
+188 vulnerability.setCvssConfidentialityImpact(nodeText.toString());
+189 nodeText = null ;
+190 } else if (current.isCVSSIntegrityImpactNode()) {
+191 vulnerability.setCvssIntegrityImpact(nodeText.toString());
+192 nodeText = null ;
+193 } else if (current.isVulnProductNode()) {
+194 final String cpe = nodeText.toString();
+195 if (cpe.startsWith("cpe:/a:" )) {
+196 hasApplicationCpe = true ;
+197 vulnerability.addVulnerableSoftware(cpe);
+198 }
+199 nodeText = null ;
+200 } else if (reference != null && current.isVulnReferencesNode()) {
+201 vulnerability.addReference(reference);
+202 reference = null ;
+203 } else if (reference != null && current.isVulnReferenceNode()) {
+204 reference.setName(nodeText.toString());
+205 nodeText = null ;
+206 } else if (reference != null && current.isVulnSourceNode()) {
+207 reference.setSource(nodeText.toString());
+208 nodeText = null ;
+209 } else if (current.isVulnSummaryNode()) {
+210 vulnerability.setDescription(nodeText.toString());
+211 nodeText = null ;
+212 }
+213 }
+214
+215
+216
+217 private CveDB cveDB;
+218
+219
+220
+221
+222
+223
+224 public void setCveDB(CveDB db) {
+225 cveDB = db;
+226 }
+227
+228
+229
+230
+231 private Map<String, List<VulnerableSoftware>> prevVersionVulnMap;
+232
+233
+234
+235
+236
+237
+238
+239 public void setPrevVersionVulnMap(Map<String, List<VulnerableSoftware>> map) {
+240 prevVersionVulnMap = map;
+241 }
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254 public void saveEntry(Vulnerability vuln) throws DatabaseException, CorruptIndexException, IOException {
+255 if (cveDB == null ) {
+256 return ;
+257 }
+258 final String cveName = vuln.getName();
+259 if (prevVersionVulnMap.containsKey(cveName)) {
+260 final List<VulnerableSoftware> vulnSoftware = prevVersionVulnMap.get(cveName);
+261 for (VulnerableSoftware vs : vulnSoftware) {
+262 vuln.updateVulnerableSoftware(vs);
+263 }
+264 }
+265 for (VulnerableSoftware vs : vuln.getVulnerableSoftware()) {
+266 if (cpeIndex != null ) {
+267 cpeIndex.saveEntry(vs);
+268 }
+269 }
+270 cveDB.updateVulnerability(vuln);
+271 }
+272
+273
+274
+275 private CpeIndexWriter cpeIndex;
+276
+277
+278
+279
+280
+281
+282 public void setCpeIndex(CpeIndexWriter index) {
+283 cpeIndex = index;
+284 }
+285
+286
+287
+288
+289
+290
+291 protected static class Element {
+292
+293
+294
+295
+296 public static final String NVD = "nvd" ;
+297
+298
+299
+300 public static final String ENTRY = "entry" ;
+301
+302
+303
+304 public static final String VULN_PRODUCT = "vuln:product" ;
+305
+306
+307
+308 public static final String VULN_REFERENCES = "vuln:references" ;
+309
+310
+311
+312 public static final String VULN_SOURCE = "vuln:source" ;
+313
+314
+315
+316 public static final String VULN_REFERENCE = "vuln:reference" ;
+317
+318
+319
+320 public static final String VULN_SUMMARY = "vuln:summary" ;
+321
+322
+323
+324 public static final String VULN_CWE = "vuln:cwe" ;
+325
+326
+327
+328 public static final String CVSS_SCORE = "cvss:score" ;
+329
+330
+331
+332 public static final String CVSS_ACCESS_VECTOR = "cvss:access-vector" ;
+333
+334
+335
+336 public static final String CVSS_ACCESS_COMPLEXITY = "cvss:access-complexity" ;
+337
+338
+339
+340 public static final String CVSS_AUTHENTICATION = "cvss:authentication" ;
+341
+342
+343
+344 public static final String CVSS_CONFIDENTIALITY_IMPACT = "cvss:confidentiality-impact" ;
+345
+346
+347
+348 public static final String CVSS_INTEGRITY_IMPACT = "cvss:integrity-impact" ;
+349
+350
+351
+352 public static final String CVSS_AVAILABILITY_IMPACT = "cvss:availability-impact" ;
+353
+354
+355
+356 private String node;
+357
+358
+359
+360
+361
+362
+363 public String getNode() {
+364 return this .node;
+365 }
+366
+367
+368
+369
+370
+371
+372 public void setNode(String node) {
+373 this .node = node;
+374 }
+375
+376
+377
+378
+379
+380
+381 public boolean isNVDNode() {
+382 return NVD.equals(node);
+383 }
+384
+385
+386
+387
+388
+389
+390 public boolean isEntryNode() {
+391 return ENTRY.equals(node);
+392 }
+393
+394
+395
+396
+397
+398
+399 public boolean isVulnProductNode() {
+400 return VULN_PRODUCT.equals(node);
+401 }
+402
+403
+404
+405
+406
+407
+408 public boolean isVulnReferencesNode() {
+409 return VULN_REFERENCES.equals(node);
+410 }
+411
+412
+413
+414
+415
+416
+417 public boolean isVulnReferenceNode() {
+418 return VULN_REFERENCE.equals(node);
+419 }
+420
+421
+422
+423
+424
+425
+426 public boolean isVulnSourceNode() {
+427 return VULN_SOURCE.equals(node);
+428 }
+429
+430
+431
+432
+433
+434
+435 public boolean isVulnSummaryNode() {
+436 return VULN_SUMMARY.equals(node);
+437 }
+438
+439
+440
+441
+442
+443
+444 public boolean isVulnCWENode() {
+445 return VULN_CWE.equals(node);
+446 }
+447
+448
+449
+450
+451
+452
+453 public boolean isCVSSScoreNode() {
+454 return CVSS_SCORE.equals(node);
+455 }
+456
+457
+458
+459
+460
+461
+462 public boolean isCVSSAccessVectorNode() {
+463 return CVSS_ACCESS_VECTOR.equals(node);
+464 }
+465
+466
+467
+468
+469
+470
+471 public boolean isCVSSAccessComplexityNode() {
+472 return CVSS_ACCESS_COMPLEXITY.equals(node);
+473 }
+474
+475
+476
+477
+478
+479
+480 public boolean isCVSSAuthenticationNode() {
+481 return CVSS_AUTHENTICATION.equals(node);
+482 }
+483
+484
+485
+486
+487
+488
+489 public boolean isCVSSConfidentialityImpactNode() {
+490 return CVSS_CONFIDENTIALITY_IMPACT.equals(node);
+491 }
+492
+493
+494
+495
+496
+497
+498 public boolean isCVSSIntegrityImpactNode() {
+499 return CVSS_INTEGRITY_IMPACT.equals(node);
+500 }
+501
+502
+503
+504
+505
+506
+507 public boolean isCVSSAvailabilityImpactNode() {
+508 return CVSS_AVAILABILITY_IMPACT.equals(node);
+509 }
+510 }
+511
+512 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html
index 616f69cb4..0ab94da72 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.nvdcve
@@ -25,7 +25,16 @@
DatabaseException
- NvdCveAnalyzer
+ Element
+
+
+ InvalidDataException
+
+
+ NvdCve12Handler
+
+
+ NvdCve20Handler
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html
index 1fc52f37b..4cb56b61d 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/nvdcve/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data.nvdcve
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.nvdcve
@@ -52,7 +52,22 @@
- NvdCveAnalyzer
+ Element
+
+
+
+
+ InvalidDataException
+
+
+
+
+ NvdCve12Handler
+
+
+
+
+ NvdCve20Handler
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/package-frame.html
index 66a5a3ccb..a7744064a 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/package-summary.html
index d9eaf1f23..1180f1d50 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/data/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.data
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/DataStoreMetaInfo.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/DataStoreMetaInfo.html
new file mode 100644
index 000000000..9d4027c0f
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/DataStoreMetaInfo.html
@@ -0,0 +1,255 @@
+
+
+
+
+DataStoreMetaInfo xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.update;
+20
+21 import java.io.File;
+22 import java.io.FileInputStream;
+23 import java.io.FileNotFoundException;
+24 import java.io.FileOutputStream;
+25 import java.io.IOException;
+26 import java.io.InputStream;
+27 import java.io.OutputStream;
+28 import java.io.OutputStreamWriter;
+29 import java.util.Properties;
+30 import java.util.logging.Level;
+31 import java.util.logging.Logger;
+32 import org.owasp.dependencycheck.data.UpdateException;
+33 import org.owasp.dependencycheck.data.nvdcve.CveDB;
+34 import org.owasp.dependencycheck.utils.Settings;
+35
+36
+37
+38
+39
+40 public class DataStoreMetaInfo {
+41
+42
+43
+44
+45 public static final String BATCH = "batch" ;
+46
+47
+48
+49
+50 public static final String MODIFIED = "modified" ;
+51
+52
+53
+54
+55 private static final String UPDATE_PROPERTIES_FILE = "data.properties" ;
+56
+57
+58
+59
+60 public static final String LAST_UPDATED = "lastupdated.modified" ;
+61
+62
+63
+64
+65
+66 public static final String LAST_UPDATED_BASE = "lastupdated." ;
+67
+68
+69
+70 private Properties properties = new Properties();
+71
+72
+73
+74
+75 private boolean batchUpdateMode;
+76
+77
+78
+79
+80
+81
+82 protected boolean isBatchUpdateMode() {
+83 return batchUpdateMode;
+84 }
+85
+86
+87
+88
+89
+90
+91 protected void setBatchUpdateMode(boolean batchUpdateMode) {
+92 this .batchUpdateMode = batchUpdateMode;
+93 }
+94
+95
+96
+97
+98 public DataStoreMetaInfo () {
+99 batchUpdateMode = !Settings.getString(Settings.KEYS.BATCH_UPDATE_URL, "" ).isEmpty();
+100 loadProperties();
+101 }
+102
+103
+104
+105
+106 private void loadProperties() {
+107 final File file = getPropertiesFile();
+108 if (file.exists()) {
+109 InputStream is = null ;
+110 try {
+111 is = new FileInputStream(file);
+112 } catch (FileNotFoundException ignore) {
+113
+114 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ignore);
+115 }
+116 try {
+117 properties.load(is);
+118 } catch (IOException ex) {
+119 final String msg = String.format("Unable to load properties file '%s'" , file.getPath());
+120 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.WARNING, msg);
+121 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+122 } finally {
+123 if (is != null ) {
+124 try {
+125 is.close();
+126 } catch (IOException ex) {
+127 final String msg = String.format("Unable to close properties file '%s'" , file.getPath());
+128 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.WARNING, msg);
+129 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+130 }
+131 }
+132 }
+133 }
+134 }
+135
+136
+137
+138
+139
+140
+141 public boolean isEmpty() {
+142 return properties.isEmpty();
+143 }
+144
+145
+146
+147
+148
+149
+150
+151
+152 public void save(NvdCveInfo updatedValue) throws UpdateException {
+153 if (updatedValue == null ) {
+154 return ;
+155 }
+156 final File cveProp = getPropertiesFile();
+157 final Properties prop = new Properties();
+158 if (cveProp.exists()) {
+159 FileInputStream in = null ;
+160 try {
+161 in = new FileInputStream(cveProp);
+162 prop.load(in);
+163 } catch (Exception ignoreMe) {
+164 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ignoreMe);
+165 } finally {
+166 if (in != null ) {
+167 try {
+168 in.close();
+169 } catch (Exception ignoreMeToo) {
+170 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ignoreMeToo);
+171 }
+172 }
+173 }
+174 }
+175 prop.put("version" , CveDB.DB_SCHEMA_VERSION);
+176 prop.put(LAST_UPDATED_BASE + updatedValue.getId(), String.valueOf(updatedValue.getTimestamp()));
+177
+178 OutputStream os = null ;
+179 OutputStreamWriter out = null ;
+180 try {
+181 os = new FileOutputStream(cveProp);
+182 out = new OutputStreamWriter(os, "UTF-8" );
+183 prop.store(out, "Meta data about data and data sources used by dependency-check" );
+184 } catch (FileNotFoundException ex) {
+185 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+186 throw new UpdateException ("Unable to find last updated properties file." , ex);
+187 } catch (IOException ex) {
+188 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+189 throw new UpdateException ("Unable to update last updated properties file." , ex);
+190 } finally {
+191 if (out != null ) {
+192 try {
+193 out.close();
+194 } catch (IOException ex) {
+195 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ex);
+196 }
+197 }
+198 if (os != null ) {
+199 try {
+200 os.close();
+201 } catch (IOException ex) {
+202 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINEST, null , ex);
+203 }
+204 }
+205 }
+206 }
+207
+208
+209
+210
+211
+212
+213
+214
+215 public String getProperty(String key) {
+216 return properties.getProperty(key);
+217 }
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227 public String getProperty(String key, String defaultValue) {
+228 return properties.getProperty(key, defaultValue);
+229 }
+230
+231
+232
+233
+234
+235
+236 public static File getPropertiesFile() {
+237 final File dataDirectory = Settings.getFile(Settings.KEYS.DATA_DIRECTORY);
+238 final File file = new File(dataDirectory, UPDATE_PROPERTIES_FILE);
+239 return file;
+240 }
+241 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/DatabaseUpdater.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/DatabaseUpdater.html
new file mode 100644
index 000000000..1b97fc5a5
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/DatabaseUpdater.html
@@ -0,0 +1,586 @@
+
+
+
+
+DatabaseUpdater xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.update;
+20
+21 import org.owasp.dependencycheck.data.nvdcve.NvdCve12Handler;
+22 import org.owasp.dependencycheck.data.nvdcve.NvdCve20Handler;
+23 import org.owasp.dependencycheck.data.nvdcve.InvalidDataException;
+24 import java.io.File;
+25 import java.io.FileNotFoundException;
+26 import java.io.IOException;
+27 import javax.xml.parsers.ParserConfigurationException;
+28 import org.xml.sax.SAXException;
+29 import org.owasp.dependencycheck.data.CachedWebDataSource;
+30 import java.net.MalformedURLException;
+31 import java.net.URISyntaxException;
+32 import java.net.URL;
+33 import java.sql.SQLException;
+34 import java.util.Calendar;
+35 import java.util.Date;
+36 import java.util.List;
+37 import java.util.Map;
+38 import java.util.TreeMap;
+39 import java.util.logging.Level;
+40 import java.util.logging.Logger;
+41 import javax.xml.parsers.SAXParser;
+42 import javax.xml.parsers.SAXParserFactory;
+43 import org.owasp.dependencycheck.data.UpdateException;
+44 import org.owasp.dependencycheck.data.cpe.CpeIndexWriter;
+45 import org.owasp.dependencycheck.data.nvdcve.CveDB;
+46 import org.owasp.dependencycheck.dependency.VulnerableSoftware;
+47 import org.owasp.dependencycheck.utils.DownloadFailedException;
+48 import org.owasp.dependencycheck.utils.Downloader;
+49 import org.owasp.dependencycheck.utils.FileUtils;
+50 import org.owasp.dependencycheck.utils.Settings;
+51 import org.owasp.dependencycheck.data.nvdcve.DatabaseException;
+52 import org.owasp.dependencycheck.utils.InvalidSettingException;
+53 import static org.owasp.dependencycheck.data.update.DataStoreMetaInfo.BATCH;
+54 import static org.owasp.dependencycheck.data.update.DataStoreMetaInfo.MODIFIED;
+55
+56
+57
+58
+59
+60
+61 public class DatabaseUpdater implements CachedWebDataSource {
+62
+63
+64
+65
+66 private DataStoreMetaInfo properties = null ;
+67
+68
+69
+70 private CveDB cveDB = null ;
+71
+72
+73
+74 private CpeIndexWriter cpeIndex = null ;
+75
+76
+77
+78 private boolean doBatchUpdate;
+79
+80
+81
+82
+83
+84
+85 protected boolean isDoBatchUpdate() {
+86 return doBatchUpdate;
+87 }
+88
+89
+90
+91
+92
+93
+94 protected void setDoBatchUpdate(boolean doBatchUpdate) {
+95 this .doBatchUpdate = doBatchUpdate;
+96 }
+97
+98
+99
+100
+101
+102
+103
+104
+105 @Override
+106 public void update() throws UpdateException {
+107 doBatchUpdate = false;
+108 properties = new DataStoreMetaInfo ();
+109 try {
+110 final Map<String, NvdCveInfo> update = updateNeeded();
+111 int maxUpdates = 0;
+112 for (NvdCveInfo cve : update.values()) {
+113 if (cve.getNeedsUpdate()) {
+114 maxUpdates += 1;
+115 }
+116 }
+117 if (maxUpdates > 3 && !properties.isBatchUpdateMode()) {
+118 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+119 "NVD CVE requires several updates; this could take a couple of minutes." );
+120 }
+121 if (maxUpdates > 0 && !isDoBatchUpdate()) {
+122 openDataStores();
+123 }
+124
+125 if (properties.isBatchUpdateMode() && isDoBatchUpdate()) {
+126 try {
+127 performBatchUpdate();
+128 openDataStores();
+129 } catch (IOException ex) {
+130 throw new UpdateException ("Unable to perform batch update" , ex);
+131 }
+132 }
+133
+134 int count = 0;
+135 for (NvdCveInfo cve : update.values()) {
+136 if (cve.getNeedsUpdate()) {
+137 count += 1;
+138 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+139 "Updating NVD CVE ({0} of {1})" , new Object[]{count, maxUpdates});
+140 URL url = new URL(cve.getUrl());
+141 File outputPath = null ;
+142 File outputPath12 = null ;
+143 try {
+144 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+145 "Downloading {0}" , cve.getUrl());
+146 outputPath = File.createTempFile("cve" + cve.getId() + "_" , ".xml" );
+147 Downloader.fetchFile(url, outputPath);
+148
+149 url = new URL(cve.getOldSchemaVersionUrl());
+150 outputPath12 = File.createTempFile("cve_1_2_" + cve.getId() + "_" , ".xml" );
+151 Downloader.fetchFile(url, outputPath12);
+152
+153 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+154 "Processing {0}" , cve.getUrl());
+155
+156 importXML(outputPath, outputPath12);
+157
+158 cveDB.commit();
+159 cpeIndex.commit();
+160
+161 properties.save(cve);
+162
+163 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.INFO,
+164 "Completed update {0} of {1}" , new Object[]{count, maxUpdates});
+165 } catch (FileNotFoundException ex) {
+166 throw new UpdateException (ex);
+167 } catch (ParserConfigurationException ex) {
+168 throw new UpdateException (ex);
+169 } catch (SAXException ex) {
+170 throw new UpdateException (ex);
+171 } catch (IOException ex) {
+172 throw new UpdateException (ex);
+173 } catch (SQLException ex) {
+174 throw new UpdateException (ex);
+175 } catch (DatabaseException ex) {
+176 throw new UpdateException (ex);
+177 } catch (ClassNotFoundException ex) {
+178 throw new UpdateException (ex);
+179 } finally {
+180 boolean deleted = false;
+181 try {
+182 if (outputPath != null && outputPath.exists()) {
+183 deleted = outputPath.delete();
+184 }
+185 } finally {
+186 if (outputPath != null && (outputPath.exists() || !deleted)) {
+187 outputPath.deleteOnExit();
+188 }
+189 }
+190 try {
+191 deleted = false;
+192 if (outputPath12 != null && outputPath12.exists()) {
+193 deleted = outputPath12.delete();
+194 }
+195 } finally {
+196 if (outputPath12 != null && (outputPath12.exists() || !deleted)) {
+197 outputPath12.deleteOnExit();
+198 }
+199 }
+200 }
+201 }
+202 }
+203 if (maxUpdates >= 1) {
+204 properties.save(update.get(MODIFIED));
+205 cveDB.cleanupDatabase();
+206 }
+207 if (update.get(BATCH) != null ) {
+208 properties.save(update.get(BATCH));
+209 }
+210 } catch (MalformedURLException ex) {
+211 throw new UpdateException (ex);
+212 } catch (DownloadFailedException ex) {
+213 throw new UpdateException (ex);
+214 } finally {
+215 closeDataStores();
+216 }
+217 }
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233 private void importXML(File file, File oldVersion)
+234 throws ParserConfigurationException, SAXException, IOException, SQLException, DatabaseException, ClassNotFoundException {
+235
+236 final SAXParserFactory factory = SAXParserFactory.newInstance();
+237 final SAXParser saxParser = factory.newSAXParser();
+238
+239 final NvdCve12Handler cve12Handler = new NvdCve12Handler ();
+240 saxParser.parse(oldVersion, cve12Handler);
+241 final Map<String, List<VulnerableSoftware>> prevVersionVulnMap = cve12Handler.getVulnerabilities();
+242
+243 final NvdCve20Handler cve20Handler = new NvdCve20Handler ();
+244 cve20Handler.setCveDB(cveDB);
+245 cve20Handler.setPrevVersionVulnMap(prevVersionVulnMap);
+246 cve20Handler.setCpeIndex(cpeIndex);
+247 saxParser.parse(file, cve20Handler);
+248 }
+249
+250
+251
+252
+253
+254
+255 protected void deleteExistingData() throws IOException {
+256 File data = Settings.getFile(Settings.KEYS.CVE_DATA_DIRECTORY);
+257 if (data.exists()) {
+258 FileUtils.delete(data);
+259 }
+260 data = Settings.getFile(Settings.KEYS.CPE_DATA_DIRECTORY);
+261 if (data.exists()) {
+262 FileUtils.delete(data);
+263 }
+264 data = DataStoreMetaInfo.getPropertiesFile();
+265 if (data.exists()) {
+266 FileUtils.delete(data);
+267 }
+268 }
+269
+270
+271
+272
+273
+274
+275
+276 private void performBatchUpdate() throws UpdateException {
+277 if (properties.isBatchUpdateMode() && doBatchUpdate) {
+278 final String batchSrc = Settings.getString(Settings.KEYS.BATCH_UPDATE_URL);
+279 File tmp = null ;
+280 try {
+281 deleteExistingData();
+282 final File dataDirectory = CveDB.getDataDirectory().getParentFile();
+283 final URL batchUrl = new URL(batchSrc);
+284 if ("file" .equals(batchUrl.getProtocol())) {
+285 try {
+286 tmp = new File(batchUrl.toURI());
+287 } catch (URISyntaxException ex) {
+288 final String msg = String.format("Invalid batch update URI: %s" , batchSrc);
+289 throw new UpdateException (msg, ex);
+290 }
+291 } else if ("http" .equals(batchUrl.getProtocol())
+292 || "https" .equals(batchUrl.getProtocol())) {
+293 tmp = File.createTempFile("batch_" , ".zip" );
+294 Downloader.fetchFile(batchUrl, tmp);
+295 }
+296
+297 FileUtils.extractFiles(tmp, dataDirectory);
+298
+299 } catch (IOException ex) {
+300 final String msg = String.format("IO Exception Occured performing batch update using: %s" , batchSrc);
+301 throw new UpdateException (msg, ex);
+302 } finally {
+303 if (tmp != null && !tmp.delete()) {
+304 tmp.deleteOnExit();
+305 }
+306 }
+307 }
+308 }
+309
+310
+311
+312
+313 private void closeDataStores() {
+314 if (cveDB != null ) {
+315 try {
+316 cveDB.close();
+317 } catch (Exception ignore) {
+318 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINEST, "Error closing the cveDB" , ignore);
+319 }
+320 }
+321 if (cpeIndex != null ) {
+322 try {
+323 cpeIndex.close();
+324 } catch (Exception ignore) {
+325 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINEST, "Error closing the cpeIndex" , ignore);
+326 }
+327 }
+328 }
+329
+330
+331
+332
+333
+334
+335 private void openDataStores() throws UpdateException {
+336
+337 try {
+338 cveDB = new CveDB ();
+339 cveDB.open();
+340 cpeIndex = new CpeIndexWriter ();
+341 cpeIndex.open();
+342 } catch (IOException ex) {
+343 closeDataStores();
+344 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "IO Error opening databases" , ex);
+345 throw new UpdateException ("Error updating the CPE/CVE data, please see the log file for more details." );
+346 } catch (SQLException ex) {
+347 closeDataStores();
+348 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "SQL Exception opening databases" , ex);
+349 throw new UpdateException ("Error updating the CPE/CVE data, please see the log file for more details." );
+350 } catch (DatabaseException ex) {
+351 closeDataStores();
+352 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "Database Exception opening databases" , ex);
+353 throw new UpdateException ("Error updating the CPE/CVE data, please see the log file for more details." );
+354 } catch (ClassNotFoundException ex) {
+355 closeDataStores();
+356 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, "Class not found exception opening databases" , ex);
+357 throw new UpdateException ("Error updating the CPE/CVE data, please see the log file for more details." );
+358 }
+359 }
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375 private Map<String, NvdCveInfo> updateNeeded() throws MalformedURLException, DownloadFailedException, UpdateException {
+376
+377 Map<String, NvdCveInfo> currentlyPublished;
+378 try {
+379 currentlyPublished = retrieveCurrentTimestampsFromWeb();
+380 } catch (InvalidDataException ex) {
+381 final String msg = "Unable to retrieve valid timestamp from nvd cve downloads page" ;
+382 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, msg, ex);
+383 throw new DownloadFailedException (msg, ex);
+384 } catch (InvalidSettingException ex) {
+385 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, "Invalid setting found when retrieving timestamps" , ex);
+386 throw new DownloadFailedException ("Invalid settings" , ex);
+387 }
+388
+389 if (currentlyPublished == null ) {
+390 throw new DownloadFailedException ("Unable to retrieve the timestamps of the currently published NVD CVE data" );
+391 }
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410 if (!properties.isEmpty()) {
+411 try {
+412 boolean deleteAndRecreate = false;
+413 float version;
+414
+415 if (properties.getProperty("version" ) == null ) {
+416 deleteAndRecreate = true ;
+417 } else {
+418 try {
+419 version = Float.parseFloat(properties.getProperty("version" ));
+420 final float currentVersion = Float.parseFloat(CveDB.DB_SCHEMA_VERSION);
+421 if (currentVersion > version) {
+422 deleteAndRecreate = true ;
+423 }
+424 } catch (NumberFormatException ex) {
+425 deleteAndRecreate = true ;
+426 }
+427 }
+428
+429 final NvdCveInfo batchInfo = currentlyPublished.get(BATCH);
+430 if (properties.isBatchUpdateMode() && batchInfo != null ) {
+431 final long lastUpdated = Long.parseLong(properties.getProperty(DataStoreMetaInfo.BATCH, "0" ));
+432 if (lastUpdated != batchInfo.getTimestamp()) {
+433 deleteAndRecreate = true ;
+434 }
+435 }
+436
+437 if (deleteAndRecreate) {
+438 setDoBatchUpdate(properties.isBatchUpdateMode());
+439 try {
+440 deleteExistingData();
+441 } catch (IOException ex) {
+442 final String msg = "Unable to delete existing data" ;
+443 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.WARNING, msg);
+444 Logger.getLogger(DatabaseUpdater.class .getName()).log(Level.FINE, null , ex);
+445 }
+446 return currentlyPublished;
+447 }
+448
+449 final long lastUpdated = Long.parseLong(properties.getProperty(DataStoreMetaInfo.LAST_UPDATED, "0" ));
+450 final Date now = new Date();
+451 final int days = Settings.getInt(Settings.KEYS.CVE_MODIFIED_VALID_FOR_DAYS, 7);
+452 final int start = Settings.getInt(Settings.KEYS.CVE_START_YEAR, 2002);
+453 final int end = Calendar.getInstance().get(Calendar.YEAR);
+454 if (lastUpdated == currentlyPublished.get(MODIFIED).getTimestamp()) {
+455 currentlyPublished.clear();
+456 setDoBatchUpdate(properties.isBatchUpdateMode());
+457 } else if (withinRange(lastUpdated, now.getTime(), days)) {
+458 currentlyPublished.get(MODIFIED).setNeedsUpdate(true );
+459 if (properties.isBatchUpdateMode()) {
+460 setDoBatchUpdate(false);
+461 } else {
+462 for (int i = start; i <= end; i++) {
+463 currentlyPublished.get(String.valueOf(i)).setNeedsUpdate(false);
+464 }
+465 }
+466 } else if (properties.isBatchUpdateMode()) {
+467 currentlyPublished.get(MODIFIED).setNeedsUpdate(true );
+468 setDoBatchUpdate(true );
+469 } else {
+470 currentlyPublished.get(MODIFIED).setNeedsUpdate(false);
+471 for (int i = start; i <= end; i++) {
+472 final NvdCveInfo cve = currentlyPublished.get(String.valueOf(i));
+473 long currentTimestamp = 0;
+474 try {
+475 currentTimestamp = Long.parseLong(properties.getProperty(DataStoreMetaInfo.LAST_UPDATED_BASE + String.valueOf(i), "0" ));
+476 } catch (NumberFormatException ex) {
+477 final String msg = String.format("Error parsing '%s' '%s' from nvdcve.lastupdated" ,
+478 DataStoreMetaInfo.LAST_UPDATED_BASE, String.valueOf(i));
+479 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, msg, ex);
+480 }
+481 if (currentTimestamp == cve.getTimestamp()) {
+482 cve.setNeedsUpdate(false);
+483 }
+484 }
+485 }
+486 } catch (NumberFormatException ex) {
+487 final String msg = "An invalid schema version or timestamp exists in the data.properties file." ;
+488 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.WARNING, msg);
+489 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.FINE, null , ex);
+490 setDoBatchUpdate(properties.isBatchUpdateMode());
+491 }
+492 } else {
+493 setDoBatchUpdate(properties.isBatchUpdateMode());
+494 }
+495 return currentlyPublished;
+496 }
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509 private boolean withinRange(long date, long compareTo, int range) {
+510 final double differenceInDays = (compareTo - date) / 1000.0 / 60.0 / 60.0 / 24.0;
+511 return differenceInDays < range;
+512 }
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526 private Map<String, NvdCveInfo> retrieveCurrentTimestampsFromWeb()
+527 throws MalformedURLException, DownloadFailedException, InvalidDataException, InvalidSettingException {
+528
+529 final Map<String, NvdCveInfo> map = new TreeMap<String, NvdCveInfo>();
+530 String retrieveUrl = Settings.getString(Settings.KEYS.CVE_MODIFIED_20_URL);
+531 if (retrieveUrl == null && properties.isBatchUpdateMode()) {
+532 final NvdCveInfo item = new NvdCveInfo ();
+533 retrieveUrl = Settings.getString(Settings.KEYS.BATCH_UPDATE_URL);
+534 if (retrieveUrl == null ) {
+535 final String msg = "Invalid configuration - neither the modified or batch update URLs are specified in the configuration." ;
+536 Logger.getLogger(DataStoreMetaInfo.class .getName()).log(Level.SEVERE, msg);
+537 throw new InvalidSettingException (msg);
+538 }
+539 item.setTimestamp(Downloader.getLastModified(new URL(retrieveUrl)));
+540 item.setId(BATCH);
+541 item.setNeedsUpdate(false);
+542 map.put(BATCH, item);
+543 } else {
+544 NvdCveInfo item = new NvdCveInfo ();
+545 item.setNeedsUpdate(false);
+546 item.setId(MODIFIED);
+547 item.setUrl(retrieveUrl);
+548 item.setOldSchemaVersionUrl(Settings.getString(Settings.KEYS.CVE_MODIFIED_12_URL));
+549
+550 item.setTimestamp(Downloader.getLastModified(new URL(retrieveUrl)));
+551 map.put(MODIFIED, item);
+552
+553
+554 if (!properties.isBatchUpdateMode()) {
+555 final int start = Settings.getInt(Settings.KEYS.CVE_START_YEAR);
+556 final int end = Calendar.getInstance().get(Calendar.YEAR);
+557 final String baseUrl20 = Settings.getString(Settings.KEYS.CVE_SCHEMA_2_0);
+558 final String baseUrl12 = Settings.getString(Settings.KEYS.CVE_SCHEMA_1_2);
+559 for (int i = start; i <= end; i++) {
+560 retrieveUrl = String.format(baseUrl20, i);
+561 item = new NvdCveInfo ();
+562 item.setId(Integer.toString(i));
+563 item.setUrl(retrieveUrl);
+564 item.setOldSchemaVersionUrl(String.format(baseUrl12, i));
+565 item.setTimestamp(Downloader.getLastModified(new URL(retrieveUrl)));
+566 map.put(item.getId(), item);
+567 }
+568 }
+569 }
+570 return map;
+571 }
+572 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/NvdCveInfo.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/NvdCveInfo.html
new file mode 100644
index 000000000..94160fd5b
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/NvdCveInfo.html
@@ -0,0 +1,152 @@
+
+
+
+
+NvdCveInfo xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.data.update;
+20
+21
+22
+23
+24
+25
+26 public class NvdCveInfo {
+27
+28
+29
+30
+31 private String id;
+32
+33
+34
+35
+36
+37
+38 public String getId() {
+39 return id;
+40 }
+41
+42
+43
+44
+45
+46
+47 public void setId(String id) {
+48 this .id = id;
+49 }
+50
+51
+52
+53 private String url;
+54
+55
+56
+57
+58
+59
+60 public String getUrl() {
+61 return url;
+62 }
+63
+64
+65
+66
+67
+68
+69 public void setUrl(String url) {
+70 this .url = url;
+71 }
+72
+73
+74
+75 private String oldSchemaVersionUrl;
+76
+77
+78
+79
+80
+81
+82 public String getOldSchemaVersionUrl() {
+83 return oldSchemaVersionUrl;
+84 }
+85
+86
+87
+88
+89
+90
+91 public void setOldSchemaVersionUrl(String oldSchemaVersionUrl) {
+92 this .oldSchemaVersionUrl = oldSchemaVersionUrl;
+93 }
+94
+95
+96
+97 private long timestamp;
+98
+99
+100
+101
+102
+103
+104 public long getTimestamp() {
+105 return timestamp;
+106 }
+107
+108
+109
+110
+111
+112
+113 public void setTimestamp(long timestamp) {
+114 this .timestamp = timestamp;
+115 }
+116
+117
+118
+119 private boolean needsUpdate = true ;
+120
+121
+122
+123
+124
+125
+126 public boolean getNeedsUpdate() {
+127 return needsUpdate;
+128 }
+129
+130
+131
+132
+133
+134
+135 public void setNeedsUpdate(boolean needsUpdate) {
+136 this .needsUpdate = needsUpdate;
+137 }
+138 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-frame.html
new file mode 100644
index 000000000..651392f0a
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-frame.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.update
+
+
+
+
+
+
+ Classes
+
+
+
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-summary.html
new file mode 100644
index 000000000..f7b865283
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/data/update/package-summary.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.data.update
+
+
+
+
+
+
+ Package org.owasp.dependencycheck.data.update
+
+
+
+
+
+
+ Copyright © 2012-2013 OWASP. All Rights Reserved.
+
+
\ No newline at end of file
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html
index d742403cd..dcf6ebf0d 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html
index cffaab572..b99080137 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/dependency/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.dependency
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
index b55f261ac..3d9f96516 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
index d5b742f2e..9be0b3af1 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/generated/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.jaxb.pom.generated
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html
index ab12f0ddd..96bb43259 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.jaxb.pom
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.jaxb.pom
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html
index d53bf6ea7..b4ec03afc 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/jaxb/pom/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.jaxb.pom
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.jaxb.pom
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html
index 1cbb8d411..a07f3d7ae 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html
index 2c49ba712..d0d076c04 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html
index b0a5ce443..a6af7630c 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.reporting
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html
index 05e2d273f..179253010 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/reporting/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.reporting
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.reporting
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/Downloader.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/Downloader.html
index 7d575880a..439932ad7 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/Downloader.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/Downloader.html
@@ -37,210 +37,186 @@
27 import java.net.InetSocketAddress;
28 import java.net.Proxy;
29 import java.net.SocketAddress;
-30 import java.net.URL;
-31 import java.util.logging.Level;
-32 import java.util.logging.Logger;
-33 import java.util.zip.GZIPInputStream;
-34 import java.util.zip.InflaterInputStream;
-35
-36
-37
-38
-39
-40
-41 public final class Downloader {
-42
-43
-44
-45
-46 private Downloader () {
-47 }
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57 public static void fetchFile(URL url, String outputPath) throws DownloadFailedException {
-58 fetchFile(url, outputPath, false);
-59 }
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71 public static void fetchFile(URL url, String outputPath, boolean unzip) throws DownloadFailedException {
-72 final File f = new File(outputPath);
-73 fetchFile(url, f, unzip);
-74 }
+30 import java.net.URISyntaxException;
+31 import java.net.URL;
+32 import java.util.logging.Level;
+33 import java.util.logging.Logger;
+34 import java.util.zip.GZIPInputStream;
+35 import java.util.zip.InflaterInputStream;
+36
+37
+38
+39
+40
+41
+42 public final class Downloader {
+43
+44
+45
+46
+47 private Downloader () {
+48 }
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58 public static void fetchFile(URL url, File outputPath) throws DownloadFailedException {
+59 HttpURLConnection conn = null ;
+60 try {
+61 conn = Downloader.getConnection(url);
+62 conn.setRequestProperty("Accept-Encoding" , "gzip, deflate" );
+63 conn.connect();
+64 } catch (IOException ex) {
+65 try {
+66 if (conn != null ) {
+67 conn.disconnect();
+68 }
+69 } finally {
+70 conn = null ;
+71 }
+72 throw new DownloadFailedException ("Error downloading file." , ex);
+73 }
+74 final String encoding = conn.getContentEncoding();
75
-76
-77
-78
-79
-80
-81
-82
-83
-84 public static void fetchFile(URL url, File outputPath) throws DownloadFailedException {
-85 fetchFile(url, outputPath, false);
-86 }
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98 public static void fetchFile(URL url, File outputPath, boolean unzip) throws DownloadFailedException {
-99 HttpURLConnection conn = null ;
-100 try {
-101 conn = Downloader.getConnection(url);
-102 conn.setRequestProperty("Accept-Encoding" , "gzip, deflate" );
-103 conn.connect();
-104 } catch (IOException ex) {
-105 try {
-106 if (conn != null ) {
-107 conn.disconnect();
-108 }
-109 } finally {
-110 conn = null ;
+76 BufferedOutputStream writer = null ;
+77 InputStream reader = null ;
+78 try {
+79 if (encoding != null && "gzip" .equalsIgnoreCase(encoding)) {
+80 reader = new GZIPInputStream(conn.getInputStream());
+81 } else if (encoding != null && "deflate" .equalsIgnoreCase(encoding)) {
+82 reader = new InflaterInputStream(conn.getInputStream());
+83 } else {
+84 reader = conn.getInputStream();
+85 }
+86
+87 writer = new BufferedOutputStream(new FileOutputStream(outputPath));
+88 final byte[] buffer = new byte[4096];
+89 int bytesRead;
+90 while ((bytesRead = reader.read(buffer)) > 0) {
+91 writer.write(buffer, 0, bytesRead);
+92 }
+93 } catch (Exception ex) {
+94 throw new DownloadFailedException ("Error saving downloaded file." , ex);
+95 } finally {
+96 if (writer != null ) {
+97 try {
+98 writer.close();
+99 } catch (Exception ex) {
+100 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
+101 "Error closing the writer in Downloader." , ex);
+102 }
+103 }
+104 if (reader != null ) {
+105 try {
+106 reader.close();
+107 } catch (Exception ex) {
+108 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
+109 "Error closing the reader in Downloader." , ex);
+110 }
111 }
-112 throw new DownloadFailedException ("Error downloading file." , ex);
-113 }
-114 final String encoding = conn.getContentEncoding();
-115
-116 BufferedOutputStream writer = null ;
-117 InputStream reader = null ;
-118 try {
-119 if (unzip || (encoding != null && "gzip" .equalsIgnoreCase(encoding))) {
-120 reader = new GZIPInputStream(conn.getInputStream());
-121 } else if (encoding != null && "deflate" .equalsIgnoreCase(encoding)) {
-122 reader = new InflaterInputStream(conn.getInputStream());
-123 } else {
-124 reader = conn.getInputStream();
-125 }
-126
-127 writer = new BufferedOutputStream(new FileOutputStream(outputPath));
-128 final byte[] buffer = new byte[4096];
-129 int bytesRead;
-130 while ((bytesRead = reader.read(buffer)) > 0) {
-131 writer.write(buffer, 0, bytesRead);
-132 }
-133 } catch (Exception ex) {
-134 throw new DownloadFailedException ("Error saving downloaded file." , ex);
-135 } finally {
-136 if (writer != null ) {
-137 try {
-138 writer.close();
-139 writer = null ;
-140 } catch (Exception ex) {
-141 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
-142 "Error closing the writer in Downloader." , ex);
-143 }
-144 }
-145 if (reader != null ) {
-146 try {
-147 reader.close();
-148 reader = null ;
-149 } catch (Exception ex) {
-150
-151 Logger.getLogger(Downloader.class .getName()).log(Level.FINEST,
-152 "Error closing the reader in Downloader." , ex);
-153 }
-154 }
-155 try {
-156 conn.disconnect();
-157 } finally {
-158 conn = null ;
-159 }
-160 }
-161 }
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172 public static long getLastModified(URL url) throws DownloadFailedException {
-173 HttpURLConnection conn = null ;
-174 long timestamp = 0;
-175 try {
-176 conn = Downloader.getConnection(url);
-177 conn.setRequestMethod("HEAD" );
-178 conn.connect();
-179 timestamp = conn.getLastModified();
-180 } catch (Exception ex) {
-181 throw new DownloadFailedException ("Error making HTTP HEAD request." , ex);
-182 } finally {
-183 if (conn != null ) {
-184 try {
-185 conn.disconnect();
-186 } finally {
-187 conn = null ;
-188 }
-189 }
-190 }
-191 return timestamp;
-192 }
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203 private static HttpURLConnection getConnection(URL url) throws DownloadFailedException {
-204 HttpURLConnection conn = null ;
-205 Proxy proxy = null ;
-206 final String proxyUrl = Settings.getString(Settings.KEYS.PROXY_URL);
-207 try {
-208 if (proxyUrl != null ) {
-209 final int proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
-210 final SocketAddress addr = new InetSocketAddress(proxyUrl, proxyPort);
-211 proxy = new Proxy(Proxy.Type.HTTP, addr);
-212 conn = (HttpURLConnection) url.openConnection(proxy);
-213 } else {
-214 conn = (HttpURLConnection) url.openConnection();
-215 }
-216
-217
-218 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
-219 conn.setConnectTimeout(timeout);
-220
-221 } catch (IOException ex) {
-222 if (conn != null ) {
-223 try {
-224 conn.disconnect();
-225 } finally {
-226 conn = null ;
-227 }
-228 }
-229 throw new DownloadFailedException ("Error getting connection." , ex);
-230 }
-231 return conn;
-232 }
-233 }
+112 try {
+113 conn.disconnect();
+114 } finally {
+115 conn = null ;
+116 }
+117 }
+118 }
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130 public static long getLastModified(URL url) throws DownloadFailedException {
+131 long timestamp = 0;
+132
+133 if ("file" .equalsIgnoreCase(url.getProtocol())) {
+134 File lastModifiedFile;
+135 try {
+136
+137
+138
+139
+140
+141
+142
+143
+144 lastModifiedFile = new File(url.toURI());
+145
+146 } catch (URISyntaxException ex) {
+147 final String msg = String.format("Unable to locate '%s'; is the cve.url-2.0.modified property set correctly?" , url.toString());
+148 throw new DownloadFailedException (msg);
+149 }
+150 timestamp = lastModifiedFile.lastModified();
+151 } else {
+152 HttpURLConnection conn = null ;
+153 try {
+154 conn = Downloader.getConnection(url);
+155 conn.setRequestMethod("HEAD" );
+156 conn.connect();
+157 timestamp = conn.getLastModified();
+158 } catch (Exception ex) {
+159 throw new DownloadFailedException ("Error making HTTP HEAD request." , ex);
+160 } finally {
+161 if (conn != null ) {
+162 try {
+163 conn.disconnect();
+164 } finally {
+165 conn = null ;
+166 }
+167 }
+168 }
+169 }
+170 return timestamp;
+171 }
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182 private static HttpURLConnection getConnection(URL url) throws DownloadFailedException {
+183 HttpURLConnection conn = null ;
+184 Proxy proxy = null ;
+185 final String proxyUrl = Settings.getString(Settings.KEYS.PROXY_URL);
+186 try {
+187 if (proxyUrl != null ) {
+188 final int proxyPort = Settings.getInt(Settings.KEYS.PROXY_PORT);
+189 final SocketAddress addr = new InetSocketAddress(proxyUrl, proxyPort);
+190 proxy = new Proxy(Proxy.Type.HTTP, addr);
+191 conn = (HttpURLConnection) url.openConnection(proxy);
+192 } else {
+193 conn = (HttpURLConnection) url.openConnection();
+194 }
+195 final int timeout = Settings.getInt(Settings.KEYS.CONNECTION_TIMEOUT, 60000);
+196 conn.setConnectTimeout(timeout);
+197 } catch (IOException ex) {
+198 if (conn != null ) {
+199 try {
+200 conn.disconnect();
+201 } finally {
+202 conn = null ;
+203 }
+204 }
+205 throw new DownloadFailedException ("Error getting connection." , ex);
+206 }
+207 return conn;
+208 }
+209 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/ExtractionException.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/ExtractionException.html
new file mode 100644
index 000000000..66d9d30a7
--- /dev/null
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/ExtractionException.html
@@ -0,0 +1,83 @@
+
+
+
+
+ExtractionException xref
+
+
+
+
+
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19 package org.owasp.dependencycheck.utils;
+20
+21 import java.io.IOException;
+22
+23
+24
+25
+26
+27
+28 public class ExtractionException extends IOException {
+29
+30
+31
+32
+33 private static final long serialVersionUID = 1L;
+34
+35
+36
+37
+38 public ExtractionException () {
+39 super ();
+40 }
+41
+42
+43
+44
+45
+46
+47 public ExtractionException (String msg) {
+48 super (msg);
+49 }
+50
+51
+52
+53
+54
+55
+56 public ExtractionException (Throwable ex) {
+57 super (ex);
+58 }
+59
+60
+61
+62
+63
+64
+65
+66 public ExtractionException (String msg, Throwable ex) {
+67 super (msg, ex);
+68 }
+69 }
+
+
+
+
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/FileUtils.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/FileUtils.html
index 670c84d89..79099c3f1 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/FileUtils.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/FileUtils.html
@@ -28,103 +28,242 @@
18
19 package org.owasp.dependencycheck.utils;
20
-21 import java.io.File;
-22 import java.io.FileNotFoundException;
-23 import java.io.IOException;
-24 import java.io.UnsupportedEncodingException;
-25 import java.net.URLDecoder;
-26
-27
-28
-29
-30
-31
-32 public final class FileUtils {
-33
-34
-35
-36
-37 private FileUtils () {
-38 }
-39
-40
-41
-42
-43
-44
+21 import java.io.BufferedInputStream;
+22 import java.io.BufferedOutputStream;
+23 import java.io.File;
+24 import java.io.FileInputStream;
+25 import java.io.FileNotFoundException;
+26 import java.io.FileOutputStream;
+27 import java.io.IOException;
+28 import java.io.UnsupportedEncodingException;
+29 import java.net.URLDecoder;
+30 import java.util.logging.Level;
+31 import java.util.logging.Logger;
+32 import java.util.zip.ZipEntry;
+33 import java.util.zip.ZipInputStream;
+34 import org.owasp.dependencycheck.Engine;
+35
+36
+37
+38
+39
+40
+41 public final class FileUtils {
+42
+43
+44
45
-46 public static String getFileExtension(String fileName) {
-47 String ret = null ;
-48 final int pos = fileName.lastIndexOf("." );
-49 if (pos >= 0) {
-50 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
-51 }
-52 return ret;
-53 }
-54
-55
-56
-57
-58
-59
-60
-61
-62 public static void delete(File file) throws IOException {
-63 if (file.isDirectory()) {
-64 for (File c : file.listFiles()) {
-65 delete(c);
-66 }
-67 }
-68 if (!file.delete()) {
-69 throw new FileNotFoundException("Failed to delete file: " + file);
-70 }
-71 }
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88 @java.lang.Deprecated
-89 public static File getDataDirectory(String configuredFilePath, Class clazz) throws IOException {
-90 final File file = new File(configuredFilePath);
-91 if (file.isDirectory() && file.canWrite()) {
-92 return new File(file.getCanonicalPath());
-93 } else {
-94 final File exePath = getPathToJar(clazz);
-95 return new File(exePath, configuredFilePath);
-96 }
-97 }
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110 @java.lang.Deprecated
-111 public static File getPathToJar(Class clazz) throws UnsupportedEncodingException {
-112 final String filePath = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
-113 final String decodedPath = URLDecoder.decode(filePath, "UTF-8" );
-114 final File jarPath = new File(decodedPath);
-115 return jarPath.getParentFile();
-116 }
-117 }
+46 private static final int BUFFER_SIZE = 4096;
+47
+48
+49
+50
+51 private FileUtils () {
+52 }
+53
+54
+55
+56
+57
+58
+59
+60 public static String getFileExtension(String fileName) {
+61 String ret = null ;
+62 final int pos = fileName.lastIndexOf("." );
+63 if (pos >= 0) {
+64 ret = fileName.substring(pos + 1, fileName.length()).toLowerCase();
+65 }
+66 return ret;
+67 }
+68
+69
+70
+71
+72
+73
+74
+75
+76 public static void delete(File file) throws IOException {
+77 if (file.isDirectory()) {
+78 for (File c : file.listFiles()) {
+79 delete(c);
+80 }
+81 }
+82 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
+83
+84 throw new FileNotFoundException("Failed to delete file: " + file);
+85 } else {
+86 file.deleteOnExit();
+87 }
+88 }
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100 public static void delete(File file, boolean deleteOnExit) throws IOException {
+101 if (file.isDirectory()) {
+102 for (File c : file.listFiles()) {
+103 delete(c);
+104 }
+105 }
+106 if (!org.apache.commons.io.FileUtils.deleteQuietly(file)) {
+107
+108 if (deleteOnExit) {
+109 file.deleteOnExit();
+110 } else {
+111 throw new FileNotFoundException("Failed to delete file: " + file);
+112 }
+113 }
+114 }
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131 @java.lang.Deprecated
+132 public static File getDataDirectory(String configuredFilePath, Class clazz) throws IOException {
+133 final File file = new File(configuredFilePath);
+134 if (file.isDirectory() && file.canWrite()) {
+135 return new File(file.getCanonicalPath());
+136 } else {
+137 final File exePath = getPathToJar(clazz);
+138 return new File(exePath, configuredFilePath);
+139 }
+140 }
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153 @java.lang.Deprecated
+154 public static File getPathToJar(Class clazz) throws UnsupportedEncodingException {
+155 final String filePath = clazz.getProtectionDomain().getCodeSource().getLocation().getPath();
+156 final String decodedPath = URLDecoder.decode(filePath, "UTF-8" );
+157 final File jarPath = new File(decodedPath);
+158 return jarPath.getParentFile();
+159 }
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169 public static void extractFiles(File archive, File extractTo) throws ExtractionException {
+170 extractFiles(archive, extractTo, null );
+171 }
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185 public static void extractFiles(File archive, File extractTo, Engine engine) throws ExtractionException {
+186 if (archive == null || extractTo == null ) {
+187 return ;
+188 }
+189
+190 FileInputStream fis = null ;
+191 ZipInputStream zis = null ;
+192
+193 try {
+194 fis = new FileInputStream(archive);
+195 } catch (FileNotFoundException ex) {
+196 Logger.getLogger(FileUtils.class .getName()).log(Level.INFO, null , ex);
+197 throw new ExtractionException ("Archive file was not found." , ex);
+198 }
+199 zis = new ZipInputStream(new BufferedInputStream(fis));
+200 ZipEntry entry;
+201 try {
+202 while ((entry = zis.getNextEntry()) != null ) {
+203 if (entry.isDirectory()) {
+204 final File d = new File(extractTo, entry.getName());
+205 if (!d.exists() && !d.mkdirs()) {
+206 final String msg = String.format("Unable to create '%s'." , d.getAbsolutePath());
+207 throw new ExtractionException (msg);
+208 }
+209 } else {
+210 final File file = new File(extractTo, entry.getName());
+211 final String ext = getFileExtension(file.getName());
+212 if (engine == null || engine.supportsExtension(ext)) {
+213 BufferedOutputStream bos = null ;
+214 FileOutputStream fos;
+215 try {
+216 fos = new FileOutputStream(file);
+217 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
+218 int count;
+219 final byte data[] = new byte[BUFFER_SIZE];
+220 while ((count = zis.read(data, 0, BUFFER_SIZE)) != -1) {
+221 bos.write(data, 0, count);
+222 }
+223 bos.flush();
+224 } catch (FileNotFoundException ex) {
+225 Logger.getLogger(FileUtils.class .getName()).log(Level.FINE, null , ex);
+226 final String msg = String.format("Unable to find file '%s'." , file.getName());
+227 throw new ExtractionException (msg, ex);
+228 } catch (IOException ex) {
+229 Logger.getLogger(FileUtils.class .getName()).log(Level.FINE, null , ex);
+230 final String msg = String.format("IO Exception while parsing file '%s'." , file.getName());
+231 throw new ExtractionException (msg, ex);
+232 } finally {
+233 if (bos != null ) {
+234 try {
+235 bos.close();
+236 } catch (IOException ex) {
+237 Logger.getLogger(FileUtils.class .getName()).log(Level.FINEST, null , ex);
+238 }
+239 }
+240 }
+241 }
+242 }
+243 }
+244 } catch (IOException ex) {
+245 final String msg = String.format("Exception reading archive '%s'." , archive.getName());
+246 Logger.getLogger(FileUtils.class .getName()).log(Level.FINE, msg, ex);
+247 throw new ExtractionException (msg, ex);
+248 } finally {
+249 try {
+250 zis.close();
+251 } catch (IOException ex) {
+252 Logger.getLogger(FileUtils.class .getName()).log(Level.FINEST, null , ex);
+253 }
+254 }
+255 }
+256 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/Settings.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/Settings.html
index 6edcd78b2..4c7918026 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/Settings.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/Settings.html
@@ -78,351 +78,353 @@
68
69 public static final String DATA_DIRECTORY = "data.directory" ;
70
-71
-72
+71
+72
73
-74 public static final String CPE_DATA_DIRECTORY = "data.cpe" ;
+74 public static final String BATCH_UPDATE_URL = "batch.update.url" ;
75
-76
+76
77
78
-79 public static final String CVE_DATA_DIRECTORY = "data.cve" ;
+79 public static final String CPE_DATA_DIRECTORY = "data.cpe" ;
80
-81
-82
-83 public static final String CPE_URL = "cpe.url" ;
-84
-85
-86
-87 public static final String CPE_META_URL = "cpe.meta.url" ;
-88
-89
-90
-91
-92 public static final String CVE_META_URL = "cve.url.meta" ;
-93
-94
-95
-96
-97 public static final String CVE_MODIFIED_20_URL = "cve.url-2.0.modified" ;
-98
-99
-100
-101
-102 public static final String CVE_MODIFIED_12_URL = "cve.url-1.2.modified" ;
-103
-104
-105
-106
-107 public static final String CVE_MODIFIED_VALID_FOR_DAYS = "cve.url.modified.validfordays" ;
-108
-109
-110
-111
-112
-113 public static final String CVE_START_YEAR = "cve.startyear" ;
-114
-115
-116
-117 public static final String CVE_SCHEMA_1_2 = "cve.url-1.2.base" ;
-118
-119
-120
-121 public static final String CVE_SCHEMA_2_0 = "cve.url-2.0.base" ;
-122
-123
-124
-125 public static final String PROXY_URL = "proxy.url" ;
-126
-127
-128
-129
-130 public static final String PROXY_PORT = "proxy.port" ;
-131
-132
-133
-134 public static final String CONNECTION_TIMEOUT = "connection.timeout" ;
-135
-136
-137
-138 public static final String TEMP_DIRECTORY = "temp.directory" ;
-139 }
-140
-141
-142
-143 private static final String PROPERTIES_FILE = "dependencycheck.properties" ;
-144
-145
-146
-147 private static final Settings INSTANCE = new Settings ();
-148
-149
-150
-151 private Properties props = null ;
-152
-153
-154
-155
-156
-157 private Settings () {
-158 InputStream in = null ;
-159 props = new Properties();
-160 try {
-161 in = this .getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
-162 props.load(in);
-163 } catch (IOException ex) {
-164 Logger.getLogger(Settings.class .getName()).log(Level.SEVERE, "Unable to load default settings." );
-165 Logger.getLogger(Settings.class .getName()).log(Level.FINE, null , ex);
-166 } finally {
-167 if (in != null ) {
-168 try {
-169 in.close();
-170 } catch (IOException ex) {
-171 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
-172 }
-173 }
-174 }
-175 }
-176
-177
-178
-179
-180
-181
-182
-183 public static void setString(String key, String value) {
-184 INSTANCE.props.setProperty(key, value);
-185 }
-186
-187
-188
-189
-190
-191
-192
-193 public static void setBoolean(String key, boolean value) {
-194 if (value) {
-195 INSTANCE.props.setProperty(key, Boolean.TRUE.toString());
-196 } else {
-197 INSTANCE.props.setProperty(key, Boolean.FALSE.toString());
-198 }
-199 }
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213 public static void mergeProperties(String filePath) throws FileNotFoundException, IOException {
-214 final FileInputStream fis = new FileInputStream(filePath);
-215 mergeProperties(fis);
-216 }
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228 public static void mergeProperties(InputStream stream) throws IOException {
-229 INSTANCE.props.load(stream);
-230 }
-231
-232
-233
-234
-235
-236
+81
+82
+83
+84 public static final String CVE_DATA_DIRECTORY = "data.cve" ;
+85
+86
+87
+88
+89 public static final String CVE_META_URL = "cve.url.meta" ;
+90
+91
+92
+93
+94 public static final String CVE_MODIFIED_20_URL = "cve.url-2.0.modified" ;
+95
+96
+97
+98
+99 public static final String CVE_MODIFIED_12_URL = "cve.url-1.2.modified" ;
+100
+101
+102
+103
+104 public static final String CVE_MODIFIED_VALID_FOR_DAYS = "cve.url.modified.validfordays" ;
+105
+106
+107
+108
+109
+110 public static final String CVE_START_YEAR = "cve.startyear" ;
+111
+112
+113
+114 public static final String CVE_SCHEMA_1_2 = "cve.url-1.2.base" ;
+115
+116
+117
+118 public static final String CVE_SCHEMA_2_0 = "cve.url-2.0.base" ;
+119
+120
+121
+122 public static final String PROXY_URL = "proxy.url" ;
+123
+124
+125
+126
+127 public static final String PROXY_PORT = "proxy.port" ;
+128
+129
+130
+131 public static final String CONNECTION_TIMEOUT = "connection.timeout" ;
+132
+133
+134
+135 public static final String TEMP_DIRECTORY = "temp.directory" ;
+136 }
+137
+138
+139
+140 private static final String PROPERTIES_FILE = "dependencycheck.properties" ;
+141
+142
+143
+144 private static final Settings INSTANCE = new Settings ();
+145
+146
+147
+148 private Properties props = null ;
+149
+150
+151
+152
+153
+154 private Settings () {
+155 InputStream in = null ;
+156 props = new Properties();
+157 try {
+158 in = this .getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
+159 props.load(in);
+160 } catch (IOException ex) {
+161 Logger.getLogger(Settings.class .getName()).log(Level.SEVERE, "Unable to load default settings." );
+162 Logger.getLogger(Settings.class .getName()).log(Level.FINE, null , ex);
+163 } finally {
+164 if (in != null ) {
+165 try {
+166 in.close();
+167 } catch (IOException ex) {
+168 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
+169 }
+170 }
+171 }
+172 }
+173
+174
+175
+176
+177
+178
+179
+180 public static void setString(String key, String value) {
+181 INSTANCE.props.setProperty(key, value);
+182 }
+183
+184
+185
+186
+187
+188
+189
+190 public static void setBoolean(String key, boolean value) {
+191 if (value) {
+192 INSTANCE.props.setProperty(key, Boolean.TRUE.toString());
+193 } else {
+194 INSTANCE.props.setProperty(key, Boolean.FALSE.toString());
+195 }
+196 }
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210 public static void mergeProperties(String filePath) throws FileNotFoundException, IOException {
+211 final FileInputStream fis = new FileInputStream(filePath);
+212 mergeProperties(fis);
+213 }
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225 public static void mergeProperties(InputStream stream) throws IOException {
+226 INSTANCE.props.load(stream);
+227 }
+228
+229
+230
+231
+232
+233
+234
+235
+236
237
238
-239
-240
-241
-242 public static File getFile(String key, String defaultValue) {
+239
+240
+241 public static File getFile(String key) {
+242 final String file = getString(key);
243 final String baseDir = getString(Settings.KEYS.DATA_DIRECTORY);
-244 final String str = getString(key, defaultValue);
-245 if (baseDir != null ) {
-246 return new File(baseDir, str);
-247 }
-248 return new File(str);
-249 }
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264 public static File getFile(String key) throws IOException {
-265 final String file = getString(key);
-266 final String baseDir = getString(Settings.KEYS.DATA_DIRECTORY);
-267 if (baseDir != null ) {
-268 if (baseDir.startsWith("[JAR]/" )) {
-269 final File jarPath = getJarPath();
-270 final File newBase = new File(jarPath.getCanonicalPath(), baseDir.substring(6));
-271 return new File(newBase, file);
-272 }
-273 return new File(baseDir, file);
+244 if (baseDir != null ) {
+245 if (baseDir.startsWith("[JAR]/" )) {
+246 final File jarPath = getJarPath();
+247 final File newBase = new File(jarPath, baseDir.substring(6));
+248 if (Settings.KEYS.DATA_DIRECTORY.equals(key)) {
+249 return newBase;
+250 }
+251 return new File(newBase, file);
+252 }
+253 if (Settings.KEYS.DATA_DIRECTORY.equals(key)) {
+254 return new File(baseDir);
+255 }
+256 return new File(baseDir, file);
+257 }
+258 return new File(file);
+259 }
+260
+261
+262
+263
+264
+265
+266
+267 private static File getJarPath() {
+268 final String jarPath = Settings.class .getProtectionDomain().getCodeSource().getLocation().getPath();
+269 String decodedPath = "." ;
+270 try {
+271 decodedPath = URLDecoder.decode(jarPath, "UTF-8" );
+272 } catch (UnsupportedEncodingException ex) {
+273 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
274 }
-275 return new File(file);
-276 }
-277
-278
-279
-280
-281
-282
-283
-284 private static File getJarPath() {
-285 final String jarPath = Settings.class .getProtectionDomain().getCodeSource().getLocation().getPath();
-286 String decodedPath = "." ;
-287 try {
-288 decodedPath = URLDecoder.decode(jarPath, "UTF-8" );
-289 } catch (UnsupportedEncodingException ex) {
-290 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, null , ex);
-291 }
-292
-293 final File path = new File(decodedPath);
-294 if (path.getName().toLowerCase().endsWith(".jar" )) {
-295 return path.getParentFile();
-296 } else {
-297 return new File("." );
-298 }
-299 }
-300
-301
-302
-303
-304
-305
-306
-307
-308
-309
-310
-311 public static String getString(String key, String defaultValue) {
-312 final String str = System.getProperty(key, INSTANCE.props.getProperty(key, defaultValue));
-313 return str;
-314 }
-315
-316
-317
-318
-319
-320
-321
-322
-323
-324
-325 public static String getString(String key) {
-326 return System.getProperty(key, INSTANCE.props.getProperty(key));
-327 }
-328
-329
-330
-331
-332
-333
-334
-335
-336
-337
-338
-339
-340 public static int getInt(String key) throws InvalidSettingException {
-341 int value;
-342 try {
-343 value = Integer.parseInt(Settings.getString(key));
-344 } catch (NumberFormatException ex) {
-345 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
-346 }
-347 return value;
-348 }
-349
-350
-351
-352
-353
-354
-355
-356
-357
-358
-359
-360
-361 public static int getInt(String key, int defaultValue) {
-362 int value;
-363 try {
-364 value = Integer.parseInt(Settings.getString(key));
-365 } catch (NumberFormatException ex) {
-366 final String msg = String.format("Could not convert property '%s' to an int." , key);
-367 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, msg, ex);
-368 value = defaultValue;
-369 }
-370 return value;
-371 }
-372
-373
-374
-375
-376
-377
-378
-379
-380
-381
-382
-383
-384 public static long getLong(String key) throws InvalidSettingException {
-385 long value;
-386 try {
-387 value = Long.parseLong(Settings.getString(key));
-388 } catch (NumberFormatException ex) {
-389 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
-390 }
-391 return value;
-392 }
-393
-394
-395
-396
-397
-398
-399
-400
-401
-402
-403
-404
-405
-406 public static boolean getBoolean(String key) throws InvalidSettingException {
-407 boolean value;
-408 try {
-409 value = Boolean.parseBoolean(Settings.getString(key));
-410 } catch (NumberFormatException ex) {
-411 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
-412 }
-413 return value;
-414 }
-415 }
+275
+276 final File path = new File(decodedPath);
+277 if (path.getName().toLowerCase().endsWith(".jar" )) {
+278 return path.getParentFile();
+279 } else {
+280 return new File("." );
+281 }
+282 }
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294 public static String getString(String key, String defaultValue) {
+295 final String str = System.getProperty(key, INSTANCE.props.getProperty(key, defaultValue));
+296 return str;
+297 }
+298
+299
+300
+301
+302
+303
+304 public static File getTempDirectory() {
+305 return new File(Settings.getString(Settings.KEYS.TEMP_DIRECTORY, System.getProperty("java.io.tmpdir" )));
+306 }
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317 public static String getString(String key) {
+318 return System.getProperty(key, INSTANCE.props.getProperty(key));
+319 }
+320
+321
+322
+323
+324
+325
+326
+327 public static void removeProperty(String key) {
+328 INSTANCE.props.remove(key);
+329 }
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342 public static int getInt(String key) throws InvalidSettingException {
+343 int value;
+344 try {
+345 value = Integer.parseInt(Settings.getString(key));
+346 } catch (NumberFormatException ex) {
+347 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
+348 }
+349 return value;
+350 }
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363 public static int getInt(String key, int defaultValue) {
+364 int value;
+365 try {
+366 value = Integer.parseInt(Settings.getString(key));
+367 } catch (NumberFormatException ex) {
+368 final String msg = String.format("Could not convert property '%s' to an int." , key);
+369 Logger.getLogger(Settings.class .getName()).log(Level.FINEST, msg, ex);
+370 value = defaultValue;
+371 }
+372 return value;
+373 }
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386 public static long getLong(String key) throws InvalidSettingException {
+387 long value;
+388 try {
+389 value = Long.parseLong(Settings.getString(key));
+390 } catch (NumberFormatException ex) {
+391 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
+392 }
+393 return value;
+394 }
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408 public static boolean getBoolean(String key) throws InvalidSettingException {
+409 boolean value;
+410 try {
+411 value = Boolean.parseBoolean(Settings.getString(key));
+412 } catch (NumberFormatException ex) {
+413 throw new InvalidSettingException ("Could not convert property '" + key + "' to an int." , ex);
+414 }
+415 return value;
+416 }
+417 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/UrlStringUtils.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/UrlStringUtils.html
index 333b58321..daba102fa 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/UrlStringUtils.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/UrlStringUtils.html
@@ -31,87 +31,94 @@
21 import java.net.MalformedURLException;
22 import java.net.URL;
23 import java.util.ArrayList;
-24 import java.util.List;
-25 import java.util.regex.Pattern;
-26
-27
-28
-29
-30
-31 public final class UrlStringUtils {
-32
-33
-34
-35
-36 private UrlStringUtils () {
-37 }
-38
-39
-40
-41 private static final Pattern CONTAINS_URL_TEST = Pattern.compile("^.*(ht|f)tps?://.*$" , Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
-42
-43
-44
-45 private static final Pattern IS_URL_TEST = Pattern.compile("^(ht|f)tps?://.*" , Pattern.CASE_INSENSITIVE);
-46
-47
-48
-49
-50
-51
-52
-53
-54 public static boolean containsUrl(String text) {
-55 return CONTAINS_URL_TEST.matcher(text).matches();
-56 }
-57
-58
-59
-60
-61
-62
-63
-64 public static boolean isUrl(String text) {
-65 return IS_URL_TEST.matcher(text).matches();
-66 }
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80 public static List<String> extractImportantUrlData(String text) throws MalformedURLException {
-81 final ArrayList<String> importantParts = new ArrayList<String>();
-82 final URL url = new URL(text);
-83 final String[] domain = url.getHost().split("\\." );
-84
-85 for (int i = 0; i < domain.length - 1; i++) {
-86 final String sub = domain[i];
-87 if (!"www" .equalsIgnoreCase(sub)) {
-88 importantParts.add(sub);
-89 }
-90 }
-91 final String document = url.getPath();
-92 final String[] pathParts = document.split("[\\//]" );
-93 for (int i = 0; i < pathParts.length - 2; i++) {
-94 if (!pathParts[i].isEmpty()) {
-95 importantParts.add(pathParts[i]);
+24 import java.util.Arrays;
+25 import java.util.HashSet;
+26 import java.util.List;
+27 import java.util.regex.Pattern;
+28
+29
+30
+31
+32
+33 public final class UrlStringUtils {
+34
+35
+36
+37
+38 private UrlStringUtils () {
+39 }
+40
+41
+42
+43 private static final Pattern CONTAINS_URL_TEST = Pattern.compile("^.*(ht|f)tps?://.*$" , Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
+44
+45
+46
+47 private static final Pattern IS_URL_TEST = Pattern.compile("^(ht|f)tps?://.*" , Pattern.CASE_INSENSITIVE);
+48
+49
+50
+51
+52
+53
+54
+55
+56 public static boolean containsUrl(String text) {
+57 return CONTAINS_URL_TEST.matcher(text).matches();
+58 }
+59
+60
+61
+62
+63
+64
+65
+66 public static boolean isUrl(String text) {
+67 return IS_URL_TEST.matcher(text).matches();
+68 }
+69
+70
+71
+72
+73 private static final HashSet<String> IGNORE_LIST = new HashSet<String>(Arrays.asList("www" , "com" , "org" , "gov" , "info" , "name" , "net" , "pro" , "tel" , "mobi" , "xxx" ));
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87 public static List<String> extractImportantUrlData(String text) throws MalformedURLException {
+88 final ArrayList<String> importantParts = new ArrayList<String>();
+89 final URL url = new URL(text);
+90 final String[] domain = url.getHost().split("\\." );
+91
+92 for (int i = 0; i < domain.length - 1; i++) {
+93 final String sub = domain[i];
+94 if (!IGNORE_LIST.contains(sub.toLowerCase())) {
+95 importantParts.add(sub);
96 }
97 }
-98 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
-99 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
-100 importantParts.add(fileNameNoExt);
-101 }
-102 return importantParts;
-103 }
-104 }
+98 final String document = url.getPath();
+99 final String[] pathParts = document.split("[\\//]" );
+100 for (int i = 0; i < pathParts.length - 2; i++) {
+101 if (!pathParts[i].isEmpty()) {
+102 importantParts.add(pathParts[i]);
+103 }
+104 }
+105 if (pathParts.length > 0 && !pathParts[pathParts.length - 1].isEmpty()) {
+106 final String fileNameNoExt = pathParts[pathParts.length - 1].replaceAll("\\..*{0,5}$" , "" );
+107 importantParts.add(fileNameNoExt);
+108 }
+109 return importantParts;
+110 }
+111 }
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html
index 7b3f12f3e..ad6c74312 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.utils
@@ -29,6 +29,9 @@
Downloader
+
+
+ ExtractionException
FileUtils
diff --git a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html
index 068433eae..0e95e239f 100644
--- a/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html
+++ b/dependency-check-core/xref/org/owasp/dependencycheck/utils/package-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference Package org.owasp.dependencycheck.utils
+ Dependency-Check Core 1.0.2 Reference Package org.owasp.dependencycheck.utils
@@ -59,6 +59,11 @@
Downloader
+
+
+
+ ExtractionException
+
diff --git a/dependency-check-core/xref/overview-frame.html b/dependency-check-core/xref/overview-frame.html
index 254a0f2c8..09fc78dd1 100644
--- a/dependency-check-core/xref/overview-frame.html
+++ b/dependency-check-core/xref/overview-frame.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference
+ Dependency-Check Core 1.0.2 Reference
@@ -20,6 +20,9 @@
org.owasp.dependencycheck.analyzer
+
+
+ org.owasp.dependencycheck.concurrency
org.owasp.dependencycheck.data
@@ -37,7 +40,7 @@
org.owasp.dependencycheck.data.nvdcve
- org.owasp.dependencycheck.data.nvdcve.xml
+ org.owasp.dependencycheck.data.update
org.owasp.dependencycheck.dependency
diff --git a/dependency-check-core/xref/overview-summary.html b/dependency-check-core/xref/overview-summary.html
index 78dce9dac..8803afe8b 100644
--- a/dependency-check-core/xref/overview-summary.html
+++ b/dependency-check-core/xref/overview-summary.html
@@ -3,7 +3,7 @@
- dependency-check-core 1.0.1 Reference
+ Dependency-Check Core 1.0.2 Reference
@@ -24,7 +24,7 @@
- dependency-check-core 1.0.1 Reference
+ Dependency-Check Core 1.0.2 Reference
@@ -42,6 +42,11 @@
org.owasp.dependencycheck.analyzer
+
+
+
+ org.owasp.dependencycheck.concurrency
+
@@ -70,7 +75,7 @@
- org.owasp.dependencycheck.data.nvdcve.xml
+ org.owasp.dependencycheck.data.update
diff --git a/dependency-check-jenkins/css/apache-maven-fluido-1.3.0.min.css b/dependency-check-jenkins/css/apache-maven-fluido-1.3.0.min.css
new file mode 100644
index 000000000..7db41338d
--- /dev/null
+++ b/dependency-check-jenkins/css/apache-maven-fluido-1.3.0.min.css
@@ -0,0 +1,9 @@
+/*!
+ * Bootstrap v2.1.0
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:20px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:1;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1{font-size:36px;line-height:40px}h2{font-size:30px;line-height:40px}h3{font-size:24px;line-height:40px}h4{font-size:18px;line-height:20px}h5{font-size:14px;line-height:20px}h6{font-size:12px;line-height:20px}h1 small{font-size:24px}h2 small{font-size:18px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal dt{float:left;width:120px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:130px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:9px;font-size:14px;line-height:20px;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}input,textarea{width:210px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal;cursor:pointer}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #bbb}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:18px;padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"]{float:left}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning .checkbox:focus,.control-group.warning .radio:focus,.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error .checkbox:focus,.control-group.error .radio:focus,.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success .checkbox:focus,.control-group.success .radio:focus,.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;font-size:14px;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn{margin-left:-1px;vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:140px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:160px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:160px}.form-horizontal .help-block{margin-top:10px;margin-bottom:0}.form-horizontal .form-actions{padding-left:160px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child,.table-bordered tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-right-topleft:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table [class*=span],.row-fluid table [class*=span]{display:table-cell;float:none;margin-left:0}table .span1{float:none;width:44px;margin-left:0}table .span2{float:none;width:124px;margin-left:0}table .span3{float:none;width:204px;margin-left:0}table .span4{float:none;width:284px;margin-left:0}table .span5{float:none;width:364px;margin-left:0}table .span6{float:none;width:444px;margin-left:0}table .span7{float:none;width:524px;margin-left:0}table .span8{float:none;width:604px;margin-left:0}table .span9{float:none;width:684px;margin-left:0}table .span10{float:none;width:764px;margin-left:0}table .span11{float:none;width:844px;margin-left:0}table .span12{float:none;width:924px;margin-left:0}table .span13{float:none;width:1004px;margin-left:0}table .span14{float:none;width:1084px;margin-left:0}table .span15{float:none;width:1164px;margin-left:0}table .span16{float:none;width:1244px;margin-left:0}table .span17{float:none;width:1324px;margin-left:0}table .span18{float:none;width:1404px;margin-left:0}table .span19{float:none;width:1484px;margin-left:0}table .span20{float:none;width:1564px;margin-left:0}table .span21{float:none;width:1644px;margin-left:0}table .span22{float:none;width:1724px;margin-left:0}table .span23{float:none;width:1804px;margin-left:0}table .span24{float:none;width:1884px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.info td{background-color:#d9edf7}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav>.active>a>[class^="icon-"],.nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:linear-gradient(to bottom,#08c,#0077b3);background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:"\2191"}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover .dropdown-menu{display:block}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;overflow:visible \9;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 14px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:2px}.btn-small{padding:3px 9px;font-size:12px;line-height:18px}.btn-small [class^="icon-"]{margin-top:0}.btn-mini{padding:2px 6px;font-size:11px;line-height:16px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-image:-moz-linear-gradient(top,#08c,#04c);background-repeat:repeat-x;border-color:#04c #0044cc #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-image:-moz-linear-gradient(top,#444,#222);background-repeat:repeat-x;border-color:#222 #222222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-group{position:relative;*margin-left:.3em;font-size:0;white-space:nowrap}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-toolbar .btn+.btn,.btn-toolbar .btn-group+.btn,.btn-toolbar .btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu{font-size:14px}.btn-group>.btn-mini{font-size:11px}.btn-group>.btn-small{font-size:12px}.btn-group>.btn-large{font-size:16px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-top:0;border-bottom:5px solid #000}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical .btn{display:block;float:none;width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical .btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;color:#c09853;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eeeeee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #dddddd #eee #eeeeee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eeeeee #eee #dddddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible;color:#555}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#555;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px}.navbar-link{color:#555}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:6px}.navbar .btn-group .btn{margin:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;width:100%;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner,.navbar-static-top .navbar-inner{border:0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#555;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse{color:#999}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-image:-moz-linear-gradient(top,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb .divider{padding:0 5px;color:#ccc}.breadcrumb .active{color:#999}.pagination{height:40px;margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination li{display:inline}.pagination a,.pagination span{float:left;padding:0 14px;line-height:38px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination a:hover,.pagination .active a,.pagination .active span{background-color:#f5f5f5}.pagination .active a,.pagination .active span{color:#999;cursor:default}.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover{color:#999;cursor:default;background-color:transparent}.pagination li:first-child a,.pagination li:first-child span{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination li:last-child a,.pagination li:last-child span{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover{color:#999;cursor:default;background-color:#fff}.modal-open .dropdown-menu{z-index:2050}.modal-open .dropdown.open{*z-index:2050}.modal-open .popover{z-index:2060}.modal-open .tooltip{z-index:2080}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;width:560px;margin:-250px 0 0 -280px;overflow:auto;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-bottom:10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-right:10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow:after{z-index:-1;content:""}.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-top-color:#fff;border-width:10px 10px 0}.popover.top .arrow:after{bottom:-1px;left:-11px;border-top-color:rgba(0,0,0,0.25);border-width:11px 11px 0}.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-right-color:#fff;border-width:10px 10px 10px 0}.popover.right .arrow:after{bottom:-11px;left:-1px;border-right-color:rgba(0,0,0,0.25);border-width:11px 11px 11px 0}.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-bottom-color:#fff;border-width:0 10px 10px}.popover.bottom .arrow:after{top:-1px;left:-11px;border-bottom-color:rgba(0,0,0,0.25);border-width:0 11px 11px}.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-left-color:#fff;border-width:10px 0 10px 10px}.popover.left .arrow:after{right:-1px;bottom:-11px;border-left-color:rgba(0,0,0,0.25);border-width:11px 0 11px 11px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.label,.badge{font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel .item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item>img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit p{font-size:18px;font-weight:200;line-height:30px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.clear{clear:both;visibility:hidden}.clear hr{display:none}.section p,.section p,.section dt,.section dt{margin-right:7px;margin-left:7px}#ohloh{margin-bottom:10px}#poweredBy{text-align:center}a.externalLink{background:url('../images/external.png') right center no-repeat;padding-right:18px}a.newWindow{background:url('../images/window-new.png') right center no-repeat;padding-right:18px}a.externalLink[href^=http]{background:url('../images/internet-web-browser.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".asc"]{background:url('../images/accessories-text-editor.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".jpg"],a.externalLink[href$=".jpeg"],a.externalLink[href$=".gif"],a.externalLink[href$=".png"]{background:url('../images/image-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".tar.gz"],a.externalLink[href$=".zip"]{background:url('../images/package-x-generic.png') right center no-repeat;padding-right:18px}a.externalLink[href$=".md5"],a.externalLink[href$=".sha1"]{background:url('../images/document-properties.png') right center no-repeat;padding-right:18px}a.externalLink[href^=https]{background:url('../images/application-certificate.png') right center no-repeat;padding-right:18px}a.externalLink[href^=file]{background:url('../images/drive-harddisk.png') right center no-repeat;padding-right:18px}a.externalLink[href^=ftp]{background:url('../images/network-server.png') right center no-repeat;padding-right:18px}a.externalLink[href^=mailto]{background:url('../images/contact-new.png') right center no-repeat;padding-right:18px}li.none{list-style:none}.search-query{background-image:url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif);background-attachment:initial;background-origin:initial;background-clip:initial;background-color:#fff;background-position:0 50%;background-repeat:no-repeat no-repeat;width:95%}body.topBarEnabled{padding-top:60px}body.topBarDisabled{padding-top:20px}.builtBy{display:block}img.builtBy{margin:10px auto}#search-form{margin-left:9px;margin-right:9px}.hero-unit h2{font-size:60px}tt{padding:0 3px 2px;font-family:Monaco,Andale Mono,Courier New,monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background-color:#fee9cc;color:rgba(0,0,0,0.75);padding:1px 3px}li{color:#404040}table.zebra-striped{background-color:#FFF}.footer{background-color:#EEE}.sidebar-nav{padding-left:0;padding-right:0}.sidebar-nav .icon-chevron-right,.sidebar-nav .icon-chevron-down{margin-top:2px;margin-right:-6px;float:right;opacity:.25}.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0;padding-left:15px}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
\ No newline at end of file
diff --git a/dependency-check-jenkins/css/print.css b/dependency-check-jenkins/css/print.css
new file mode 100644
index 000000000..1cd02d9b4
--- /dev/null
+++ b/dependency-check-jenkins/css/print.css
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* $Id: print.css 1201871 2011-11-14 20:18:24Z simonetripodi $ */
+
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;}
+#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important}
diff --git a/dependency-check-jenkins/css/site.css b/dependency-check-jenkins/css/site.css
new file mode 100644
index 000000000..055e7e286
--- /dev/null
+++ b/dependency-check-jenkins/css/site.css
@@ -0,0 +1 @@
+/* You can override this file with your own styles */
\ No newline at end of file
diff --git a/dependency-check-jenkins/images/accessories-text-editor.png b/dependency-check-jenkins/images/accessories-text-editor.png
new file mode 100644
index 000000000..abc3366ed
Binary files /dev/null and b/dependency-check-jenkins/images/accessories-text-editor.png differ
diff --git a/dependency-check-jenkins/images/add.gif b/dependency-check-jenkins/images/add.gif
new file mode 100644
index 000000000..1cb3dbf93
Binary files /dev/null and b/dependency-check-jenkins/images/add.gif differ
diff --git a/dependency-check-jenkins/images/apache-maven-project-2.png b/dependency-check-jenkins/images/apache-maven-project-2.png
new file mode 100644
index 000000000..6c096ec0c
Binary files /dev/null and b/dependency-check-jenkins/images/apache-maven-project-2.png differ
diff --git a/dependency-check-jenkins/images/application-certificate.png b/dependency-check-jenkins/images/application-certificate.png
new file mode 100644
index 000000000..cc6aff616
Binary files /dev/null and b/dependency-check-jenkins/images/application-certificate.png differ
diff --git a/dependency-check-jenkins/images/contact-new.png b/dependency-check-jenkins/images/contact-new.png
new file mode 100644
index 000000000..ebc4316d8
Binary files /dev/null and b/dependency-check-jenkins/images/contact-new.png differ
diff --git a/dependency-check-jenkins/images/document-properties.png b/dependency-check-jenkins/images/document-properties.png
new file mode 100644
index 000000000..34c2409a7
Binary files /dev/null and b/dependency-check-jenkins/images/document-properties.png differ
diff --git a/dependency-check-jenkins/images/drive-harddisk.png b/dependency-check-jenkins/images/drive-harddisk.png
new file mode 100644
index 000000000..d7ce475f8
Binary files /dev/null and b/dependency-check-jenkins/images/drive-harddisk.png differ
diff --git a/dependency-check-jenkins/images/fix.gif b/dependency-check-jenkins/images/fix.gif
new file mode 100644
index 000000000..b7eb3dc44
Binary files /dev/null and b/dependency-check-jenkins/images/fix.gif differ
diff --git a/dependency-check-jenkins/images/icon_error_sml.gif b/dependency-check-jenkins/images/icon_error_sml.gif
new file mode 100644
index 000000000..12e9a01a9
Binary files /dev/null and b/dependency-check-jenkins/images/icon_error_sml.gif differ
diff --git a/dependency-check-jenkins/images/icon_help_sml.gif b/dependency-check-jenkins/images/icon_help_sml.gif
new file mode 100644
index 000000000..aaf20e6ee
Binary files /dev/null and b/dependency-check-jenkins/images/icon_help_sml.gif differ
diff --git a/dependency-check-jenkins/images/icon_info_sml.gif b/dependency-check-jenkins/images/icon_info_sml.gif
new file mode 100644
index 000000000..b77632670
Binary files /dev/null and b/dependency-check-jenkins/images/icon_info_sml.gif differ
diff --git a/dependency-check-jenkins/images/icon_success_sml.gif b/dependency-check-jenkins/images/icon_success_sml.gif
new file mode 100644
index 000000000..0a195279b
Binary files /dev/null and b/dependency-check-jenkins/images/icon_success_sml.gif differ
diff --git a/dependency-check-jenkins/images/icon_warning_sml.gif b/dependency-check-jenkins/images/icon_warning_sml.gif
new file mode 100644
index 000000000..ac6ad6ada
Binary files /dev/null and b/dependency-check-jenkins/images/icon_warning_sml.gif differ
diff --git a/dependency-check-jenkins/images/image-x-generic.png b/dependency-check-jenkins/images/image-x-generic.png
new file mode 100644
index 000000000..ab49efb34
Binary files /dev/null and b/dependency-check-jenkins/images/image-x-generic.png differ
diff --git a/dependency-check-jenkins/images/internet-web-browser.png b/dependency-check-jenkins/images/internet-web-browser.png
new file mode 100644
index 000000000..307d6aca6
Binary files /dev/null and b/dependency-check-jenkins/images/internet-web-browser.png differ
diff --git a/dependency-check-jenkins/images/logos/build-by-maven-black.png b/dependency-check-jenkins/images/logos/build-by-maven-black.png
new file mode 100644
index 000000000..919fd0f66
Binary files /dev/null and b/dependency-check-jenkins/images/logos/build-by-maven-black.png differ
diff --git a/dependency-check-jenkins/images/logos/build-by-maven-white.png b/dependency-check-jenkins/images/logos/build-by-maven-white.png
new file mode 100644
index 000000000..7d44c9c2e
Binary files /dev/null and b/dependency-check-jenkins/images/logos/build-by-maven-white.png differ
diff --git a/dependency-check-jenkins/images/logos/maven-feather.png b/dependency-check-jenkins/images/logos/maven-feather.png
new file mode 100644
index 000000000..b5ada836e
Binary files /dev/null and b/dependency-check-jenkins/images/logos/maven-feather.png differ
diff --git a/dependency-check-jenkins/images/network-server.png b/dependency-check-jenkins/images/network-server.png
new file mode 100644
index 000000000..1d12e1938
Binary files /dev/null and b/dependency-check-jenkins/images/network-server.png differ
diff --git a/dependency-check-jenkins/images/package-x-generic.png b/dependency-check-jenkins/images/package-x-generic.png
new file mode 100644
index 000000000..8b7e9e67b
Binary files /dev/null and b/dependency-check-jenkins/images/package-x-generic.png differ
diff --git a/dependency-check-jenkins/images/profiles/pre-release.png b/dependency-check-jenkins/images/profiles/pre-release.png
new file mode 100644
index 000000000..d448e850c
Binary files /dev/null and b/dependency-check-jenkins/images/profiles/pre-release.png differ
diff --git a/dependency-check-jenkins/images/profiles/retired.png b/dependency-check-jenkins/images/profiles/retired.png
new file mode 100644
index 000000000..f89f6a29c
Binary files /dev/null and b/dependency-check-jenkins/images/profiles/retired.png differ
diff --git a/dependency-check-jenkins/images/profiles/sandbox.png b/dependency-check-jenkins/images/profiles/sandbox.png
new file mode 100644
index 000000000..f88b36267
Binary files /dev/null and b/dependency-check-jenkins/images/profiles/sandbox.png differ
diff --git a/dependency-check-jenkins/images/remove.gif b/dependency-check-jenkins/images/remove.gif
new file mode 100644
index 000000000..fc65631ca
Binary files /dev/null and b/dependency-check-jenkins/images/remove.gif differ
diff --git a/dependency-check-jenkins/images/rss.png b/dependency-check-jenkins/images/rss.png
new file mode 100644
index 000000000..a9850ee2c
Binary files /dev/null and b/dependency-check-jenkins/images/rss.png differ
diff --git a/dependency-check-jenkins/images/update.gif b/dependency-check-jenkins/images/update.gif
new file mode 100644
index 000000000..b2a6d0bf6
Binary files /dev/null and b/dependency-check-jenkins/images/update.gif differ
diff --git a/dependency-check-jenkins/images/window-new.png b/dependency-check-jenkins/images/window-new.png
new file mode 100644
index 000000000..0e12ef954
Binary files /dev/null and b/dependency-check-jenkins/images/window-new.png differ
diff --git a/dependency-check-jenkins/img/glyphicons-halflings-white.png b/dependency-check-jenkins/img/glyphicons-halflings-white.png
new file mode 100644
index 000000000..3bf6484a2
Binary files /dev/null and b/dependency-check-jenkins/img/glyphicons-halflings-white.png differ
diff --git a/dependency-check-jenkins/img/glyphicons-halflings.png b/dependency-check-jenkins/img/glyphicons-halflings.png
new file mode 100644
index 000000000..a99699932
Binary files /dev/null and b/dependency-check-jenkins/img/glyphicons-halflings.png differ
diff --git a/dependency-check-jenkins/index.html b/dependency-check-jenkins/index.html
new file mode 100644
index 000000000..51ce14811
--- /dev/null
+++ b/dependency-check-jenkins/index.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+
+ dependency-check-jenkins -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-jenkins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+ dependency-check
+
+ /
+
+
+
+
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dependency-Check Jenkins Plugin
+
The Dependency-Check Jenkins Plugin features the ability to perform a dependency analysis build and later view results post build. The plugin is built using analysis-core and features many of the same features that Jenkins static analysis plugins offer, including thresholds, charts and the ability to view vulnerability information should a dependency have one identified.
+
The main repository is located at jenkins-cli/dependency-check-jenkins .
+
The main site for documentation is located at OWASP Dependency-Check-Jenkins .
+
More information can be found on the wiki .
+
+
+
Copyright & License
+
Dependency-Check Jenkins Plugin is Copyright (c) 2013 Steve Springett. All Rights Reserved.
+
Permission to modify and redistribute is granted under the terms of the GPLv3 license. See the LICENSE.txt file for the full license.
+
+
+
+
+
+
+
+
+
Copyright © 2012-2013
+
OWASP .
+ All Rights Reserved.
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-jenkins/js/apache-maven-fluido-1.3.0.min.js b/dependency-check-jenkins/js/apache-maven-fluido-1.3.0.min.js
new file mode 100644
index 000000000..677e611ef
--- /dev/null
+++ b/dependency-check-jenkins/js/apache-maven-fluido-1.3.0.min.js
@@ -0,0 +1,21 @@
+/*!
+ * jQuery JavaScript Library v1.8.0
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2012 jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: Thu Aug 09 2012 16:24:48 GMT-0400 (Eastern Daylight Time)
+ */
+(function(a2,aB){var x,af,o=a2.document,aI=a2.location,d=a2.navigator,bg=a2.jQuery,I=a2.$,am=Array.prototype.push,a4=Array.prototype.slice,aK=Array.prototype.indexOf,A=Object.prototype.toString,V=Object.prototype.hasOwnProperty,aN=String.prototype.trim,bG=function(e,bZ){return new bG.fn.init(e,bZ,x)},bx=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,aa=/\S/,aV=/\s+/,D=aa.test("\xA0")?(/^[\s\xA0]+|[\s\xA0]+$/g):/^\s+|\s+$/g,bo=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,a=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,bf=/^[\],:{}\s]*$/,bi=/(?:^|:|,)(?:\s*\[)+/g,bD=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,a0=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,bP=/^-ms-/,aU=/-([\da-z])/gi,N=function(e,bZ){return(bZ+"").toUpperCase()},aF=function(){if(o.addEventListener){o.removeEventListener("DOMContentLoaded",aF,false);bG.ready()}else{if(o.readyState==="complete"){o.detachEvent("onreadystatechange",aF);bG.ready()}}},Z={};bG.fn=bG.prototype={constructor:bG,init:function(e,b2,b1){var b0,b3,bZ,b4;if(!e){return this}if(e.nodeType){this.context=this[0]=e;this.length=1;return this}if(typeof e==="string"){if(e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3){b0=[null,e,null]}else{b0=bo.exec(e)}if(b0&&(b0[1]||!b2)){if(b0[1]){b2=b2 instanceof bG?b2[0]:b2;b4=(b2&&b2.nodeType?b2.ownerDocument||b2:o);e=bG.parseHTML(b0[1],b4,true);if(a.test(b0[1])&&bG.isPlainObject(b2)){this.attr.call(e,b2,true)}return bG.merge(this,e)}else{b3=o.getElementById(b0[2]);if(b3&&b3.parentNode){if(b3.id!==b0[2]){return b1.find(e)}this.length=1;this[0]=b3}this.context=o;this.selector=e;return this}}else{if(!b2||b2.jquery){return(b2||b1).find(e)}else{return this.constructor(b2).find(e)}}}else{if(bG.isFunction(e)){return b1.ready(e)}}if(e.selector!==aB){this.selector=e.selector;this.context=e.context}return bG.makeArray(e,this)},selector:"",jquery:"1.8.0",length:0,size:function(){return this.length},toArray:function(){return a4.call(this)},get:function(e){return e==null?this.toArray():(e<0?this[this.length+e]:this[e])},pushStack:function(bZ,b1,e){var b0=bG.merge(this.constructor(),bZ);b0.prevObject=this;b0.context=this.context;if(b1==="find"){b0.selector=this.selector+(this.selector?" ":"")+e}else{if(b1){b0.selector=this.selector+"."+b1+"("+e+")"}}return b0},each:function(bZ,e){return bG.each(this,bZ,e)},ready:function(e){bG.ready.promise().done(e);return this},eq:function(e){e=+e;return e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(a4.apply(this,arguments),"slice",a4.call(arguments).join(","))},map:function(e){return this.pushStack(bG.map(this,function(b0,bZ){return e.call(b0,bZ,b0)}))},end:function(){return this.prevObject||this.constructor(null)},push:am,sort:[].sort,splice:[].splice};bG.fn.init.prototype=bG.fn;bG.extend=bG.fn.extend=function(){var b7,b0,e,bZ,b4,b5,b3=arguments[0]||{},b2=1,b1=arguments.length,b6=false;if(typeof b3==="boolean"){b6=b3;b3=arguments[1]||{};b2=2}if(typeof b3!=="object"&&!bG.isFunction(b3)){b3={}}if(b1===b2){b3=this;--b2}for(;b20){return}af.resolveWith(o,[bG]);if(bG.fn.trigger){bG(o).trigger("ready").off("ready")}},isFunction:function(e){return bG.type(e)==="function"},isArray:Array.isArray||function(e){return bG.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return !isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):Z[A.call(e)]||"object"},isPlainObject:function(b1){if(!b1||bG.type(b1)!=="object"||b1.nodeType||bG.isWindow(b1)){return false}try{if(b1.constructor&&!V.call(b1,"constructor")&&!V.call(b1.constructor.prototype,"isPrototypeOf")){return false}}catch(b0){return false}var bZ;for(bZ in b1){}return bZ===aB||V.call(b1,bZ)},isEmptyObject:function(bZ){var e;for(e in bZ){return false}return true},error:function(e){throw new Error(e)},parseHTML:function(b1,b0,e){var bZ;if(!b1||typeof b1!=="string"){return null}if(typeof b0==="boolean"){e=b0;b0=0}b0=b0||o;if((bZ=a.exec(b1))){return[b0.createElement(bZ[1])]}bZ=bG.buildFragment([b1],b0,e?null:[]);return bG.merge([],(bZ.cacheable?bG.clone(bZ.fragment):bZ.fragment).childNodes)},parseJSON:function(e){if(!e||typeof e!=="string"){return null}e=bG.trim(e);if(a2.JSON&&a2.JSON.parse){return a2.JSON.parse(e)}if(bf.test(e.replace(bD,"@").replace(a0,"]").replace(bi,""))){return(new Function("return "+e))()}bG.error("Invalid JSON: "+e)},parseXML:function(b1){var bZ,b0;if(!b1||typeof b1!=="string"){return null}try{if(a2.DOMParser){b0=new DOMParser();bZ=b0.parseFromString(b1,"text/xml")}else{bZ=new ActiveXObject("Microsoft.XMLDOM");bZ.async="false";bZ.loadXML(b1)}}catch(b2){bZ=aB}if(!bZ||!bZ.documentElement||bZ.getElementsByTagName("parsererror").length){bG.error("Invalid XML: "+b1)}return bZ},noop:function(){},globalEval:function(e){if(e&&aa.test(e)){(a2.execScript||function(bZ){a2["eval"].call(a2,bZ)})(e)}},camelCase:function(e){return e.replace(bP,"ms-").replace(aU,N)},nodeName:function(bZ,e){return bZ.nodeName&&bZ.nodeName.toUpperCase()===e.toUpperCase()},each:function(b3,b4,b0){var bZ,b1=0,b2=b3.length,e=b2===aB||bG.isFunction(b3);if(b0){if(e){for(bZ in b3){if(b4.apply(b3[bZ],b0)===false){break}}}else{for(;b10&&e[0]&&e[bZ-1])||bZ===0||bG.isArray(e));if(b1){for(;b0-1){b5.splice(ca,1);if(b2){if(ca<=b3){b3--}if(ca<=b4){b4--}}}})}return this},has:function(b9){return bG.inArray(b9,b5)>-1},empty:function(){b5=[];return this},disable:function(){b5=b6=b1=aB;return this},disabled:function(){return !b5},lock:function(){b6=aB;if(!b1){b7.disable()}return this},locked:function(){return !b6},fireWith:function(ca,b9){b9=b9||[];b9=[ca,b9.slice?b9.slice():b9];if(b5&&(!e||b6)){if(b2){b6.push(b9)}else{bZ(b9)}}return this},fire:function(){b7.fireWith(this,arguments);return this},fired:function(){return !!e}};return b7};bG.extend({Deferred:function(b0){var bZ=[["resolve","done",bG.Callbacks("once memory"),"resolved"],["reject","fail",bG.Callbacks("once memory"),"rejected"],["notify","progress",bG.Callbacks("memory")]],b1="pending",b2={state:function(){return b1},always:function(){e.done(arguments).fail(arguments);return this},then:function(){var b3=arguments;return bG.Deferred(function(b4){bG.each(bZ,function(b6,b5){var b8=b5[0],b7=b3[b6];e[b5[1]](bG.isFunction(b7)?function(){var b9=b7.apply(this,arguments);if(b9&&bG.isFunction(b9.promise)){b9.promise().done(b4.resolve).fail(b4.reject).progress(b4.notify)}else{b4[b8+"With"](this===e?b4:this,[b9])}}:b4[b8])});b3=null}).promise()},promise:function(b3){return typeof b3==="object"?bG.extend(b3,b2):b2}},e={};b2.pipe=b2.then;bG.each(bZ,function(b4,b3){var b6=b3[2],b5=b3[3];b2[b3[1]]=b6.add;if(b5){b6.add(function(){b1=b5},bZ[b4^1][2].disable,bZ[2][2].lock)}e[b3[0]]=b6.fire;e[b3[0]+"With"]=b6.fireWith});b2.promise(e);if(b0){b0.call(e,e)}return e},when:function(b2){var b0=0,b4=a4.call(arguments),e=b4.length,bZ=e!==1||(b2&&bG.isFunction(b2.promise))?e:0,b7=bZ===1?b2:bG.Deferred(),b1=function(b9,ca,b8){return function(cb){ca[b9]=this;b8[b9]=arguments.length>1?a4.call(arguments):cb;if(b8===b6){b7.notifyWith(ca,b8)}else{if(!(--bZ)){b7.resolveWith(ca,b8)}}}},b6,b3,b5;if(e>1){b6=new Array(e);b3=new Array(e);b5=new Array(e);for(;b0a ";ca=b0.getElementsByTagName("*");b8=b0.getElementsByTagName("a")[0];b8.style.cssText="top:1px;float:left;opacity:.5";if(!ca||!ca.length||!b8){return{}}b9=o.createElement("select");b2=b9.appendChild(o.createElement("option"));b7=b0.getElementsByTagName("input")[0];cb={leadingWhitespace:(b0.firstChild.nodeType===3),tbody:!b0.getElementsByTagName("tbody").length,htmlSerialize:!!b0.getElementsByTagName("link").length,style:/top/.test(b8.getAttribute("style")),hrefNormalized:(b8.getAttribute("href")==="/a"),opacity:/^0.5/.test(b8.style.opacity),cssFloat:!!b8.style.cssFloat,checkOn:(b7.value==="on"),optSelected:b2.selected,getSetAttribute:b0.className!=="t",enctype:!!o.createElement("form").enctype,html5Clone:o.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",boxModel:(o.compatMode==="CSS1Compat"),submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true,boxSizingReliable:true,pixelPosition:false};b7.checked=true;cb.noCloneChecked=b7.cloneNode(true).checked;b9.disabled=true;cb.optDisabled=!b2.disabled;try{delete b0.test}catch(b5){cb.deleteExpando=false}if(!b0.addEventListener&&b0.attachEvent&&b0.fireEvent){b0.attachEvent("onclick",bZ=function(){cb.noCloneEvent=false});b0.cloneNode(true).fireEvent("onclick");b0.detachEvent("onclick",bZ)}b7=o.createElement("input");b7.value="t";b7.setAttribute("type","radio");cb.radioValue=b7.value==="t";b7.setAttribute("checked","checked");b7.setAttribute("name","t");b0.appendChild(b7);b6=o.createDocumentFragment();b6.appendChild(b0.lastChild);cb.checkClone=b6.cloneNode(true).cloneNode(true).lastChild.checked;cb.appendChecked=b7.checked;b6.removeChild(b7);b6.appendChild(b0);if(b0.attachEvent){for(b3 in {submit:true,change:true,focusin:true}){b4="on"+b3;b1=(b4 in b0);if(!b1){b0.setAttribute(b4,"return;");b1=(typeof b0[b4]==="function")}cb[b3+"Bubbles"]=b1}}bG(function(){var cc,cg,ce,cf,cd="padding:0;margin:0;border:0;display:block;overflow:hidden;",e=o.getElementsByTagName("body")[0];if(!e){return}cc=o.createElement("div");cc.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px";e.insertBefore(cc,e.firstChild);cg=o.createElement("div");cc.appendChild(cg);cg.innerHTML="";ce=cg.getElementsByTagName("td");ce[0].style.cssText="padding:0;margin:0;border:0;display:none";b1=(ce[0].offsetHeight===0);ce[0].style.display="";ce[1].style.display="none";cb.reliableHiddenOffsets=b1&&(ce[0].offsetHeight===0);cg.innerHTML="";cg.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;";cb.boxSizing=(cg.offsetWidth===4);cb.doesNotIncludeMarginInBodyOffset=(e.offsetTop!==1);if(a2.getComputedStyle){cb.pixelPosition=(a2.getComputedStyle(cg,null)||{}).top!=="1%";cb.boxSizingReliable=(a2.getComputedStyle(cg,null)||{width:"4px"}).width==="4px";cf=o.createElement("div");cf.style.cssText=cg.style.cssText=cd;cf.style.marginRight=cf.style.width="0";cg.style.width="1px";cg.appendChild(cf);cb.reliableMarginRight=!parseFloat((a2.getComputedStyle(cf,null)||{}).marginRight)}if(typeof cg.style.zoom!=="undefined"){cg.innerHTML="";cg.style.cssText=cd+"width:1px;padding:1px;display:inline;zoom:1";cb.inlineBlockNeedsLayout=(cg.offsetWidth===3);cg.style.display="block";cg.style.overflow="visible";cg.innerHTML="
";cg.firstChild.style.width="5px";cb.shrinkWrapBlocks=(cg.offsetWidth!==3);cc.style.zoom=1}e.removeChild(cc);cc=cg=ce=cf=null});b6.removeChild(b0);ca=b8=b9=b2=b7=b6=b0=null;return cb})();var bt=/^(?:\{.*\}|\[.*\])$/,aL=/([A-Z])/g;bG.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(bG.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?bG.cache[e[bG.expando]]:e[bG.expando];return !!e&&!O(e)},data:function(b1,bZ,b3,b2){if(!bG.acceptData(b1)){return}var b4,b6,b7=bG.expando,b5=typeof bZ==="string",b8=b1.nodeType,e=b8?bG.cache:b1,b0=b8?b1[b7]:b1[b7]&&b7;if((!b0||!e[b0]||(!b2&&!e[b0].data))&&b5&&b3===aB){return}if(!b0){if(b8){b1[b7]=b0=bG.deletedIds.pop()||++bG.uuid}else{b0=b7}}if(!e[b0]){e[b0]={};if(!b8){e[b0].toJSON=bG.noop}}if(typeof bZ==="object"||typeof bZ==="function"){if(b2){e[b0]=bG.extend(e[b0],bZ)}else{e[b0].data=bG.extend(e[b0].data,bZ)}}b4=e[b0];if(!b2){if(!b4.data){b4.data={}}b4=b4.data}if(b3!==aB){b4[bG.camelCase(bZ)]=b3}if(b5){b6=b4[bZ];if(b6==null){b6=b4[bG.camelCase(bZ)]}}else{b6=b4}return b6},removeData:function(b1,bZ,b2){if(!bG.acceptData(b1)){return}var b5,b4,b3,b6=b1.nodeType,e=b6?bG.cache:b1,b0=b6?b1[bG.expando]:bG.expando;if(!e[b0]){return}if(bZ){b5=b2?e[b0]:e[b0].data;if(b5){if(!bG.isArray(bZ)){if(bZ in b5){bZ=[bZ]}else{bZ=bG.camelCase(bZ);if(bZ in b5){bZ=[bZ]}else{bZ=bZ.split(" ")}}}for(b4=0,b3=bZ.length;b41,null,false)},removeData:function(e){return this.each(function(){bG.removeData(this,e)})}});function bv(b1,b0,b2){if(b2===aB&&b1.nodeType===1){var bZ="data-"+b0.replace(aL,"-$1").toLowerCase();b2=b1.getAttribute(bZ);if(typeof b2==="string"){try{b2=b2==="true"?true:b2==="false"?false:b2==="null"?null:+b2+""===b2?+b2:bt.test(b2)?bG.parseJSON(b2):b2}catch(b3){}bG.data(b1,b0,b2)}else{b2=aB}}return b2}function O(bZ){var e;for(e in bZ){if(e==="data"&&bG.isEmptyObject(bZ[e])){continue}if(e!=="toJSON"){return false}}return true}bG.extend({queue:function(b0,bZ,b1){var e;if(b0){bZ=(bZ||"fx")+"queue";e=bG._data(b0,bZ);if(b1){if(!e||bG.isArray(b1)){e=bG._data(b0,bZ,bG.makeArray(b1))}else{e.push(b1)}}return e||[]}},dequeue:function(b3,b2){b2=b2||"fx";var bZ=bG.queue(b3,b2),b1=bZ.shift(),e=bG._queueHooks(b3,b2),b0=function(){bG.dequeue(b3,b2)};if(b1==="inprogress"){b1=bZ.shift()}if(b1){if(b2==="fx"){bZ.unshift("inprogress")}delete e.stop;b1.call(b3,b0,e)}if(!bZ.length&&e){e.empty.fire()}},_queueHooks:function(b0,bZ){var e=bZ+"queueHooks";return bG._data(b0,e)||bG._data(b0,e,{empty:bG.Callbacks("once memory").add(function(){bG.removeData(b0,bZ+"queue",true);bG.removeData(b0,e,true)})})}});bG.fn.extend({queue:function(e,bZ){var b0=2;if(typeof e!=="string"){bZ=e;e="fx";b0--}if(arguments.length1)},removeAttr:function(e){return this.each(function(){bG.removeAttr(this,e)})},prop:function(e,bZ){return bG.access(this,bG.prop,e,bZ,arguments.length>1)},removeProp:function(e){e=bG.propFix[e]||e;return this.each(function(){try{this[e]=aB;delete this[e]}catch(bZ){}})},addClass:function(b2){var b4,b0,bZ,b1,b3,b5,e;if(bG.isFunction(b2)){return this.each(function(b6){bG(this).addClass(b2.call(this,b6,this.className))})}if(b2&&typeof b2==="string"){b4=b2.split(aV);for(b0=0,bZ=this.length;b0-1){b2=b2.replace(" "+b1[b5]+" "," ")}}b3.className=b4?bG.trim(b2):""}}}return this},toggleClass:function(b1,bZ){var b0=typeof b1,e=typeof bZ==="boolean";if(bG.isFunction(b1)){return this.each(function(b2){bG(this).toggleClass(b1.call(this,b2,this.className,bZ),bZ)})}return this.each(function(){if(b0==="string"){var b4,b3=0,b2=bG(this),b5=bZ,b6=b1.split(aV);while((b4=b6[b3++])){b5=e?b5:!b2.hasClass(b4);b2[b5?"addClass":"removeClass"](b4)}}else{if(b0==="undefined"||b0==="boolean"){if(this.className){bG._data(this,"__className__",this.className)}this.className=this.className||b1===false?"":bG._data(this,"__className__")||""}}})},hasClass:function(e){var b1=" "+e+" ",b0=0,bZ=this.length;for(;b0-1){return true}}return false},val:function(b1){var e,bZ,b2,b0=this[0];if(!arguments.length){if(b0){e=bG.valHooks[b0.type]||bG.valHooks[b0.nodeName.toLowerCase()];if(e&&"get" in e&&(bZ=e.get(b0,"value"))!==aB){return bZ}bZ=b0.value;return typeof bZ==="string"?bZ.replace(ai,""):bZ==null?"":bZ}return}b2=bG.isFunction(b1);return this.each(function(b4){var b5,b3=bG(this);if(this.nodeType!==1){return}if(b2){b5=b1.call(this,b4,b3.val())}else{b5=b1}if(b5==null){b5=""}else{if(typeof b5==="number"){b5+=""}else{if(bG.isArray(b5)){b5=bG.map(b5,function(b6){return b6==null?"":b6+""})}}}e=bG.valHooks[this.type]||bG.valHooks[this.nodeName.toLowerCase()];if(!e||!("set" in e)||e.set(this,b5,"value")===aB){this.value=b5}})}});bG.extend({valHooks:{option:{get:function(e){var bZ=e.attributes.value;return !bZ||bZ.specified?e.value:e.text}},select:{get:function(e){var b4,bZ,b3,b1,b2=e.selectedIndex,b5=[],b6=e.options,b0=e.type==="select-one";if(b2<0){return null}bZ=b0?b2:0;b3=b0?b2+1:b6.length;for(;bZ=0});if(!e.length){bZ.selectedIndex=-1}return e}}},attrFn:{},attr:function(b4,b1,b5,b3){var b0,e,b2,bZ=b4.nodeType;if(!b4||bZ===3||bZ===8||bZ===2){return}if(b3&&bG.isFunction(bG.fn[b1])){return bG(b4)[b1](b5)}if(typeof b4.getAttribute==="undefined"){return bG.prop(b4,b1,b5)}b2=bZ!==1||!bG.isXMLDoc(b4);if(b2){b1=b1.toLowerCase();e=bG.attrHooks[b1]||(M.test(b1)?bV:a7)}if(b5!==aB){if(b5===null){bG.removeAttr(b4,b1);return}else{if(e&&"set" in e&&b2&&(b0=e.set(b4,b5,b1))!==aB){return b0}else{b4.setAttribute(b1,""+b5);return b5}}}else{if(e&&"get" in e&&b2&&(b0=e.get(b4,b1))!==null){return b0}else{b0=b4.getAttribute(b1);return b0===null?aB:b0}}},removeAttr:function(b1,b3){var b2,b4,bZ,e,b0=0;if(b3&&b1.nodeType===1){b4=b3.split(aV);for(;b0=0)}}})});var bE=/^(?:textarea|input|select)$/i,br=/^([^\.]*|)(?:\.(.+)|)$/,ba=/(?:^|\s)hover(\.\S+|)\b/,a3=/^key/,bK=/^(?:mouse|contextmenu)|click/,by=/^(?:focusinfocus|focusoutblur)$/,aq=function(e){return bG.event.special.hover?e:e.replace(ba,"mouseenter$1 mouseleave$1")};bG.event={add:function(b1,b5,cc,b3,b2){var b6,b4,cd,cb,ca,b8,e,b9,bZ,b0,b7;if(b1.nodeType===3||b1.nodeType===8||!b5||!cc||!(b6=bG._data(b1))){return}if(cc.handler){bZ=cc;cc=bZ.handler;b2=bZ.selector}if(!cc.guid){cc.guid=bG.guid++}cd=b6.events;if(!cd){b6.events=cd={}}b4=b6.handle;if(!b4){b6.handle=b4=function(ce){return typeof bG!=="undefined"&&(!ce||bG.event.triggered!==ce.type)?bG.event.dispatch.apply(b4.elem,arguments):aB};b4.elem=b1}b5=bG.trim(aq(b5)).split(" ");for(cb=0;cb=0){ca=ca.slice(0,-1);b1=true}if(ca.indexOf(".")>=0){b0=ca.split(".");ca=b0.shift();b0.sort()}if((!b4||bG.event.customEvent[ca])&&!bG.event.global[ca]){return}bZ=typeof bZ==="object"?bZ[bG.expando]?bZ:new bG.Event(ca,bZ):new bG.Event(ca);bZ.type=ca;bZ.isTrigger=true;bZ.exclusive=b1;bZ.namespace=b0.join(".");bZ.namespace_re=bZ.namespace?new RegExp("(^|\\.)"+b0.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;b2=ca.indexOf(":")<0?"on"+ca:"";if(!b4){e=bG.cache;for(b7 in e){if(e[b7].events&&e[b7].events[ca]){bG.event.trigger(bZ,b6,e[b7].handle.elem,true)}}return}bZ.result=aB;if(!bZ.target){bZ.target=b4}b6=b6!=null?bG.makeArray(b6):[];b6.unshift(bZ);b9=bG.event.special[ca]||{};if(b9.trigger&&b9.trigger.apply(b4,b6)===false){return}b5=[[b4,b9.bindType||ca]];if(!cd&&!b9.noBubble&&!bG.isWindow(b4)){cc=b9.delegateType||ca;cb=by.test(cc+ca)?b4:b4.parentNode;for(b3=b4;cb;cb=cb.parentNode){b5.push([cb,cc]);b3=cb}if(b3===(b4.ownerDocument||o)){b5.push([b3.defaultView||b3.parentWindow||a2,cc])}}for(b7=0;b7b6){bZ.push({elem:this,matches:b7.slice(b6)})}for(cd=0;cd0?this.on(e,null,b1,b0):this.trigger(e)};if(a3.test(e)){bG.event.fixHooks[e]=bG.event.keyHooks}if(bK.test(e)){bG.event.fixHooks[e]=bG.event.mouseHooks}});
+/*!
+ * Sizzle CSS Selector Engine
+ * Copyright 2012 jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://sizzlejs.com/
+ */
+(function(cO,cg){var cT,co,cf,b2,b8,b6=cO.document,b9=b6.documentElement,cw="undefined",ca=false,b7=true,ce=0,cj=[].slice,cS=[].push,cW=("sizcache"+Math.random()).replace(".",""),cz="[\\x20\\t\\r\\n\\f]",ci="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",ch=ci.replace("w","w#"),c1="([*^$|!~]?=)",cL="\\["+cz+"*("+ci+")"+cz+"*(?:"+c1+cz+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+ch+")|)|)"+cz+"*\\]",c2=":("+ci+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|((?:[^,]|\\\\,|(?:,(?=[^\\[]*\\]))|(?:,(?=[^\\(]*\\))))*))\\)|)",cB=":(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\)|)(?=[^-]|$)",cd=cz+"*([\\x20\\t\\r\\n\\f>+~])"+cz+"*",cc="(?=[^\\x20\\t\\r\\n\\f])(?:\\\\.|"+cL+"|"+c2.replace(2,7)+"|[^\\\\(),])+",cU=new RegExp("^"+cz+"+|((?:^|[^\\\\])(?:\\\\.)*)"+cz+"+$","g"),cF=new RegExp("^"+cd),ct=new RegExp(cc+"?(?="+cz+"*,|$)","g"),cJ=new RegExp("^(?:(?!,)(?:(?:^|,)"+cz+"*"+cc+")*?|"+cz+"*(.*?))(\\)|$)"),cZ=new RegExp(cc.slice(19,-6)+"\\x20\\t\\r\\n\\f>+~])+|"+cd,"g"),cK=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,cP=/[\x20\t\r\n\f]*[+~]/,cX=/:not\($/,cp=/h\d/i,cM=/input|select|textarea|button/i,cs=/\\(?!\\)/g,cE={ID:new RegExp("^#("+ci+")"),CLASS:new RegExp("^\\.("+ci+")"),NAME:new RegExp("^\\[name=['\"]?("+ci+")['\"]?\\]"),TAG:new RegExp("^("+ci.replace("[-","[-\\*")+")"),ATTR:new RegExp("^"+cL),PSEUDO:new RegExp("^"+c2),CHILD:new RegExp("^:(only|nth|last|first)-child(?:\\("+cz+"*(even|odd|(([+-]|)(\\d*)n|)"+cz+"*(?:([+-]|)"+cz+"*(\\d+)|))"+cz+"*\\)|)","i"),POS:new RegExp(cB,"ig"),needsContext:new RegExp("^"+cz+"*[>+~]|"+cB,"i")},cR={},cq=[],cl={},cu=[],cY=function(e){e.sizzleFilter=true;return e},b3=function(e){return function(c3){return c3.nodeName.toLowerCase()==="input"&&c3.type===e}},cr=function(e){return function(c4){var c3=c4.nodeName.toLowerCase();return(c3==="input"||c3==="button")&&c4.type===e}},cH=function(c3){var c4=false,c6=b6.createElement("div");try{c4=c3(c6)}catch(c5){}c6=null;return c4},cn=cH(function(c3){c3.innerHTML=" ";var e=typeof c3.lastChild.getAttribute("multiple");return e!=="boolean"&&e!=="string"}),b0=cH(function(c3){c3.id=cW+0;c3.innerHTML="
";b9.insertBefore(c3,b9.firstChild);var e=b6.getElementsByName&&b6.getElementsByName(cW).length===2+b6.getElementsByName(cW+0).length;b8=!b6.getElementById(cW);b9.removeChild(c3);return e}),b5=cH(function(e){e.appendChild(b6.createComment(""));return e.getElementsByTagName("*").length===0}),cD=cH(function(e){e.innerHTML=" ";return e.firstChild&&typeof e.firstChild.getAttribute!==cw&&e.firstChild.getAttribute("href")==="#"}),cC=cH(function(e){e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return false}e.lastChild.className="e";return e.getElementsByClassName("e").length!==1});var cN=function(c5,e,c7,da){c7=c7||[];e=e||b6;var c8,c3,c9,c4,c6=e.nodeType;if(c6!==1&&c6!==9){return[]}if(!c5||typeof c5!=="string"){return c7}c9=ck(e);if(!c9&&!da){if((c8=cK.exec(c5))){if((c4=c8[1])){if(c6===9){c3=e.getElementById(c4);if(c3&&c3.parentNode){if(c3.id===c4){c7.push(c3);return c7}}else{return c7}}else{if(e.ownerDocument&&(c3=e.ownerDocument.getElementById(c4))&&cA(e,c3)&&c3.id===c4){c7.push(c3);return c7}}}else{if(c8[2]){cS.apply(c7,cj.call(e.getElementsByTagName(c5),0));return c7}else{if((c4=c8[3])&&cC&&e.getElementsByClassName){cS.apply(c7,cj.call(e.getElementsByClassName(c4),0));return c7}}}}}return cV(c5,e,c7,da,c9)};var cG=cN.selectors={cacheLength:50,match:cE,order:["ID","TAG"],attrHandle:{},createPseudo:cY,find:{ID:b8?function(c5,c4,c3){if(typeof c4.getElementById!==cw&&!c3){var e=c4.getElementById(c5);return e&&e.parentNode?[e]:[]}}:function(c5,c4,c3){if(typeof c4.getElementById!==cw&&!c3){var e=c4.getElementById(c5);return e?e.id===c5||typeof e.getAttributeNode!==cw&&e.getAttributeNode("id").value===c5?[e]:cg:[]}},TAG:b5?function(e,c3){if(typeof c3.getElementsByTagName!==cw){return c3.getElementsByTagName(e)}}:function(e,c6){var c5=c6.getElementsByTagName(e);if(e==="*"){var c7,c4=[],c3=0;for(;(c7=c5[c3]);c3++){if(c7.nodeType===1){c4.push(c7)}}return c4}return c5}},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){e[1]=e[1].replace(cs,"");e[3]=(e[4]||e[5]||"").replace(cs,"");if(e[2]==="~="){e[3]=" "+e[3]+" "}return e.slice(0,4)},CHILD:function(e){e[1]=e[1].toLowerCase();if(e[1]==="nth"){if(!e[2]){cN.error(e[0])}e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd"));e[4]=+((e[6]+e[7])||e[2]==="odd")}else{if(e[2]){cN.error(e[0])}}return e},PSEUDO:function(e){var c3,c4=e[4];if(cE.CHILD.test(e[0])){return null}if(c4&&(c3=cJ.exec(c4))&&c3.pop()){e[0]=e[0].slice(0,c3[0].length-c4.length-1);c4=c3[0].slice(0,-1)}e.splice(2,3,c4||e[3]);return e}},filter:{ID:b8?function(e){e=e.replace(cs,"");return function(c3){return c3.getAttribute("id")===e}}:function(e){e=e.replace(cs,"");return function(c4){var c3=typeof c4.getAttributeNode!==cw&&c4.getAttributeNode("id");return c3&&c3.value===e}},TAG:function(e){if(e==="*"){return function(){return true}}e=e.replace(cs,"").toLowerCase();return function(c3){return c3.nodeName&&c3.nodeName.toLowerCase()===e}},CLASS:function(e){var c3=cR[e];if(!c3){c3=cR[e]=new RegExp("(^|"+cz+")"+e+"("+cz+"|$)");cq.push(e);if(cq.length>cG.cacheLength){delete cR[cq.shift()]}}return function(c4){return c3.test(c4.className||(typeof c4.getAttribute!==cw&&c4.getAttribute("class"))||"")}},ATTR:function(c4,c3,e){if(!c3){return function(c5){return cN.attr(c5,c4)!=null}}return function(c6){var c5=cN.attr(c6,c4),c7=c5+"";if(c5==null){return c3==="!="}switch(c3){case"=":return c7===e;case"!=":return c7!==e;case"^=":return e&&c7.indexOf(e)===0;case"*=":return e&&c7.indexOf(e)>-1;case"$=":return e&&c7.substr(c7.length-e.length)===e;case"~=":return(" "+c7+" ").indexOf(e)>-1;case"|=":return c7===e||c7.substr(0,e.length+1)===e+"-"}}},CHILD:function(c3,c5,c6,c4){if(c3==="nth"){var e=ce++;return function(da){var c7,db,c9=0,c8=da;if(c6===1&&c4===0){return true}c7=da.parentNode;if(c7&&(c7[cW]!==e||!da.sizset)){for(c8=c7.firstChild;c8;c8=c8.nextSibling){if(c8.nodeType===1){c8.sizset=++c9;if(c8===da){break}}}c7[cW]=e}db=da.sizset-c4;if(c6===0){return db===0}else{return(db%c6===0&&db/c6>=0)}}}return function(c8){var c7=c8;switch(c3){case"only":case"first":while((c7=c7.previousSibling)){if(c7.nodeType===1){return false}}if(c3==="first"){return true}c7=c8;case"last":while((c7=c7.nextSibling)){if(c7.nodeType===1){return false}}return true}}},PSEUDO:function(c6,c5,c3,e){var c4=cG.pseudos[c6]||cG.pseudos[c6.toLowerCase()];if(!c4){cN.error("unsupported pseudo: "+c6)}if(!c4.sizzleFilter){return c4}return c4(c5,c3,e)}},pseudos:{not:cY(function(e,c4,c3){var c5=cb(e.replace(cU,"$1"),c4,c3);return function(c6){return !c5(c6)}}),enabled:function(e){return e.disabled===false},disabled:function(e){return e.disabled===true},checked:function(e){var c3=e.nodeName.toLowerCase();return(c3==="input"&&!!e.checked)||(c3==="option"&&!!e.selected)},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !cG.pseudos.empty(e)},empty:function(c3){var e;c3=c3.firstChild;while(c3){if(c3.nodeName>"@"||(e=c3.nodeType)===3||e===4){return false}c3=c3.nextSibling}return true},contains:cY(function(e){return function(c3){return(c3.textContent||c3.innerText||bZ(c3)).indexOf(e)>-1}}),has:cY(function(e){return function(c3){return cN(e,c3).length>0}}),header:function(e){return cp.test(e.nodeName)},text:function(c4){var c3,e;return c4.nodeName.toLowerCase()==="input"&&(c3=c4.type)==="text"&&((e=c4.getAttribute("type"))==null||e.toLowerCase()===c3)},radio:b3("radio"),checkbox:b3("checkbox"),file:b3("file"),password:b3("password"),image:b3("image"),submit:cr("submit"),reset:cr("reset"),button:function(c3){var e=c3.nodeName.toLowerCase();return e==="input"&&c3.type==="button"||e==="button"},input:function(e){return cM.test(e.nodeName)},focus:function(e){var c3=e.ownerDocument;return e===c3.activeElement&&(!c3.hasFocus||c3.hasFocus())&&!!(e.type||e.href)},active:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(c4,c3,e){return e?c4.slice(1):[c4[0]]},last:function(c5,c4,c3){var e=c5.pop();return c3?c5:[e]},even:function(c7,c6,c5){var c4=[],c3=c5?1:0,e=c7.length;for(;c30?c6(c5,c8,c7):[]}function cQ(dc,e,da,c4,dg){var c7,c3,c6,di,c9,dh,db,df,dd=0,de=dg.length,c5=cE.POS,c8=new RegExp("^"+c5.source+"(?!"+cz+")","i"),dj=function(){var dl=1,dk=arguments.length-2;for(;dlc6){db=dc.slice(c6,c7.index);c6=df;dh=[e];if(cF.test(db)){if(c9){dh=c9}c9=c4}if((c3=cX.test(db))){db=db.slice(0,-5).replace(cF,"$&*")}if(c7.length>1){c7[0].replace(c8,dj)}c9=cI(db,c7[1],c7[2],dh,c9,c3)}}if(c9){di=di.concat(c9);if((db=dc.slice(c6))&&db!==")"){if(cF.test(db)){cm(db,di,da,c4)}else{cN(db,e,da,c4?c4.concat(c9):c9)}}else{cS.apply(da,di)}}else{cN(dc,e,da,c4)}}return de===1?da:cN.uniqueSort(da)}function b1(c8,c4,db){var dd,dc,de,c6=[],c9=0,da=cJ.exec(c8),c3=!da.pop()&&!da.pop(),df=c3&&c8.match(ct)||[""],e=cG.preFilter,c5=cG.filter,c7=!db&&c4!==b6;for(;(dc=df[c9])!=null&&c3;c9++){c6.push(dd=[]);if(c7){dc=" "+dc}while(dc){c3=false;if((da=cF.exec(dc))){dc=dc.slice(da[0].length);c3=dd.push({part:da.pop().replace(cU," "),captures:da})}for(de in c5){if((da=cE[de].exec(dc))&&(!e[de]||(da=e[de](da,c4,db)))){dc=dc.slice(da.shift().length);c3=dd.push({part:de,captures:da})}}if(!c3){break}}}if(!c3){cN.error(c8)}return c6}function cx(c6,c5,c4){var e=c5.dir,c3=ce++;if(!c6){c6=function(c7){return c7===c4}}return c5.first?function(c8,c7){while((c8=c8[e])){if(c8.nodeType===1){return c6(c8,c7)&&c8}}}:function(c9,c8){var c7,da=c3+"."+co,db=da+"."+cT;while((c9=c9[e])){if(c9.nodeType===1){if((c7=c9[cW])===db){return c9.sizset}else{if(typeof c7==="string"&&c7.indexOf(da)===0){if(c9.sizset){return c9}}else{c9[cW]=db;if(c6(c9,c8)){c9.sizset=true;return c9}c9.sizset=false}}}}}}function cv(e,c3){return e?function(c6,c5){var c4=c3(c6,c5);return c4&&e(c4===true?c6:c4,c5)}:c3}function cy(c7,c5,e){var c4,c6,c3=0;for(;(c4=c7[c3]);c3++){if(cG.relative[c4.part]){c6=cx(c6,cG.relative[c4.part],c5)}else{c4.captures.push(c5,e);c6=cv(c6,cG.filter[c4.part].apply(null,c4.captures))}}return c6}function b4(e){return function(c5,c4){var c6,c3=0;for(;(c6=e[c3]);c3++){if(c6(c5,c4)){return true}}return false}}var cb=cN.compile=function(e,c5,c3){var c8,c7,c4,c6=cl[e];if(c6&&c6.context===c5){return c6}c7=b1(e,c5,c3);for(c4=0;(c8=c7[c4]);c4++){c7[c4]=cy(c8,c5,c3)}c6=cl[e]=b4(c7);c6.context=c5;c6.runs=c6.dirruns=0;cu.push(e);if(cu.length>cG.cacheLength){delete cl[cu.shift()]}return c6};cN.matches=function(c3,e){return cN(c3,null,null,e)};cN.matchesSelector=function(e,c3){return cN(c3,null,null,[e]).length>0};var cV=function(c6,c3,c8,dc,db){c6=c6.replace(cU,"$1");var e,dd,c9,de,c4,c5,dg,dh,c7,da=c6.match(ct),df=c6.match(cZ),di=c3.nodeType;if(cE.POS.test(c6)){return cQ(c6,c3,c8,dc,da)}if(dc){e=cj.call(dc,0)}else{if(da&&da.length===1){if(df.length>1&&di===9&&!db&&(da=cE.ID.exec(df[0]))){c3=cG.find.ID(da[1],c3,db)[0];if(!c3){return c8}c6=c6.slice(df.shift().length)}dh=((da=cP.exec(df[0]))&&!da.index&&c3.parentNode)||c3;c7=df.pop();c5=c7.split(":not")[0];for(c9=0,de=cG.order.length;c9 ";if(!c9.querySelectorAll("[selected]").length){c3.push("\\["+cz+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)")}if(!c9.querySelectorAll(":checked").length){c3.push(":checked")}});cH(function(c9){c9.innerHTML="
";if(c9.querySelectorAll("[test^='']").length){c3.push("[*^$]="+cz+"*(?:\"\"|'')")}c9.innerHTML=" ";if(!c9.querySelectorAll(":enabled").length){c3.push(":enabled",":disabled")}});c3=c3.length&&new RegExp(c3.join("|"));cV=function(de,da,df,dh,dg){if(!dh&&!dg&&(!c3||!c3.test(de))){if(da.nodeType===9){try{cS.apply(df,cj.call(da.querySelectorAll(de),0));return df}catch(dd){}}else{if(da.nodeType===1&&da.nodeName.toLowerCase()!=="object"){var dc=da.getAttribute("id"),c9=dc||cW,db=cP.test(de)&&da.parentNode||da;if(dc){c9=c9.replace(c6,"\\$&")}else{da.setAttribute("id",c9)}try{cS.apply(df,cj.call(db.querySelectorAll(de.replace(ct,"[id='"+c9+"'] $&")),0));return df}catch(dd){}finally{if(!dc){da.removeAttribute("id")}}}}}return c8(de,da,df,dh,dg)};if(c5){cH(function(da){c7=c5.call(da,"div");try{c5.call(da,"[test!='']:sizzle");e.push(cG.match.PSEUDO)}catch(c9){}});e=new RegExp(e.join("|"));cN.matchesSelector=function(da,dc){dc=dc.replace(c4,"='$1']");if(!ck(da)&&!e.test(dc)&&(!c3||!c3.test(dc))){try{var c9=c5.call(da,dc);if(c9||c7||da.document&&da.document.nodeType!==11){return c9}}catch(db){}}return cN(dc,null,null,[da]).length>0}}})()}cN.attr=bG.attr;bG.find=cN;bG.expr=cN.selectors;bG.expr[":"]=bG.expr.pseudos;bG.unique=cN.uniqueSort;bG.text=cN.getText;bG.isXMLDoc=cN.isXML;bG.contains=cN.contains})(a2);var ag=/Until$/,bq=/^(?:parents|prev(?:Until|All))/,al=/^.[^:#\[\.,]*$/,z=bG.expr.match.needsContext,bu={children:true,contents:true,next:true,prev:true};bG.fn.extend({find:function(e){var b2,bZ,b4,b5,b3,b1,b0=this;if(typeof e!=="string"){return bG(e).filter(function(){for(b2=0,bZ=b0.length;b20){for(b5=b4;b5=0:bG.filter(e,this).length>0:this.filter(e).length>0)},closest:function(b2,b1){var b3,b0=0,e=this.length,bZ=[],b4=z.test(b2)||typeof b2!=="string"?bG(b2,b1||this.context):0;for(;b0-1:bG.find.matchesSelector(b3,b2)){bZ.push(b3);break}b3=b3.parentNode}}bZ=bZ.length>1?bG.unique(bZ):bZ;return this.pushStack(bZ,"closest",b2)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return bG.inArray(this[0],bG(e))}return bG.inArray(e.jquery?e[0]:e,this)},add:function(e,bZ){var b1=typeof e==="string"?bG(e,bZ):bG.makeArray(e&&e.nodeType?[e]:e),b0=bG.merge(this.get(),b1);return this.pushStack(aR(b1[0])||aR(b0[0])?b0:bG.unique(b0))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}});bG.fn.andSelf=bG.fn.addBack;function aR(e){return !e||!e.parentNode||e.parentNode.nodeType===11}function aY(bZ,e){do{bZ=bZ[e]}while(bZ&&bZ.nodeType!==1);return bZ}bG.each({parent:function(bZ){var e=bZ.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return bG.dir(e,"parentNode")},parentsUntil:function(bZ,e,b0){return bG.dir(bZ,"parentNode",b0)},next:function(e){return aY(e,"nextSibling")},prev:function(e){return aY(e,"previousSibling")},nextAll:function(e){return bG.dir(e,"nextSibling")},prevAll:function(e){return bG.dir(e,"previousSibling")},nextUntil:function(bZ,e,b0){return bG.dir(bZ,"nextSibling",b0)},prevUntil:function(bZ,e,b0){return bG.dir(bZ,"previousSibling",b0)},siblings:function(e){return bG.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return bG.sibling(e.firstChild)},contents:function(e){return bG.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:bG.merge([],e.childNodes)}},function(e,bZ){bG.fn[e]=function(b2,b0){var b1=bG.map(this,bZ,b2);if(!ag.test(e)){b0=b2}if(b0&&typeof b0==="string"){b1=bG.filter(b0,b1)}b1=this.length>1&&!bu[e]?bG.unique(b1):b1;if(this.length>1&&bq.test(e)){b1=b1.reverse()}return this.pushStack(b1,e,a4.call(arguments).join(","))}});bG.extend({filter:function(b0,e,bZ){if(bZ){b0=":not("+b0+")"}return e.length===1?bG.find.matchesSelector(e[0],b0)?[e[0]]:[]:bG.find.matches(b0,e)},dir:function(b0,bZ,b2){var e=[],b1=b0[bZ];while(b1&&b1.nodeType!==9&&(b2===aB||b1.nodeType!==1||!bG(b1).is(b2))){if(b1.nodeType===1){e.push(b1)}b1=b1[bZ]}return e},sibling:function(b0,bZ){var e=[];for(;b0;b0=b0.nextSibling){if(b0.nodeType===1&&b0!==bZ){e.push(b0)}}return e}});function aM(b1,b0,e){b0=b0||0;if(bG.isFunction(b0)){return bG.grep(b1,function(b3,b2){var b4=!!b0.call(b3,b2,b3);return b4===e})}else{if(b0.nodeType){return bG.grep(b1,function(b3,b2){return(b3===b0)===e})}else{if(typeof b0==="string"){var bZ=bG.grep(b1,function(b2){return b2.nodeType===1});if(al.test(b0)){return bG.filter(b0,bZ,!e)}else{b0=bG.filter(b0,bZ)}}}}return bG.grep(b1,function(b3,b2){return(bG.inArray(b3,b0)>=0)===e})}function B(e){var b0=c.split("|"),bZ=e.createDocumentFragment();if(bZ.createElement){while(b0.length){bZ.createElement(b0.pop())}}return bZ}var c="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",av=/ jQuery\d+="(?:null|\d+)"/g,bY=/^\s+/,ay=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,p=/<([\w:]+)/,bT=/ ]","i"),aE=/^(?:checkbox|radio)$/,bR=/checked\s*(?:[^=]|=\s*.checked.)/i,bw=/\/(java|ecma)script/i,aH=/^\s*\s*$/g,T={option:[1,""," "],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]},aQ=B(o),l=aQ.appendChild(o.createElement("div"));T.optgroup=T.option;T.tbody=T.tfoot=T.colgroup=T.caption=T.thead;T.th=T.td;if(!bG.support.htmlSerialize){T._default=[1,"X","
"]}bG.fn.extend({text:function(e){return bG.access(this,function(bZ){return bZ===aB?bG.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(bZ))},null,e,arguments.length)},wrapAll:function(e){if(bG.isFunction(e)){return this.each(function(b0){bG(this).wrapAll(e.call(this,b0))})}if(this[0]){var bZ=bG(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bZ.insertBefore(this[0])}bZ.map(function(){var b0=this;while(b0.firstChild&&b0.firstChild.nodeType===1){b0=b0.firstChild}return b0}).append(this)}return this},wrapInner:function(e){if(bG.isFunction(e)){return this.each(function(bZ){bG(this).wrapInner(e.call(this,bZ))})}return this.each(function(){var bZ=bG(this),b0=bZ.contents();if(b0.length){b0.wrapAll(e)}else{bZ.append(e)}})},wrap:function(e){var bZ=bG.isFunction(e);return this.each(function(b0){bG(this).wrapAll(bZ?e.call(this,b0):e)})},unwrap:function(){return this.parent().each(function(){if(!bG.nodeName(this,"body")){bG(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1||this.nodeType===11){this.insertBefore(e,this.firstChild)}})},before:function(){if(!aR(this[0])){return this.domManip(arguments,false,function(bZ){this.parentNode.insertBefore(bZ,this)})}if(arguments.length){var e=bG.clean(arguments);return this.pushStack(bG.merge(e,this),"before",this.selector)}},after:function(){if(!aR(this[0])){return this.domManip(arguments,false,function(bZ){this.parentNode.insertBefore(bZ,this.nextSibling)})}if(arguments.length){var e=bG.clean(arguments);return this.pushStack(bG.merge(this,e),"after",this.selector)}},remove:function(e,b1){var b0,bZ=0;for(;(b0=this[bZ])!=null;bZ++){if(!e||bG.filter(e,[b0]).length){if(!b1&&b0.nodeType===1){bG.cleanData(b0.getElementsByTagName("*"));bG.cleanData([b0])}if(b0.parentNode){b0.parentNode.removeChild(b0)}}}return this},empty:function(){var bZ,e=0;for(;(bZ=this[e])!=null;e++){if(bZ.nodeType===1){bG.cleanData(bZ.getElementsByTagName("*"))}while(bZ.firstChild){bZ.removeChild(bZ.firstChild)}}return this},clone:function(bZ,e){bZ=bZ==null?false:bZ;e=e==null?bZ:e;return this.map(function(){return bG.clone(this,bZ,e)})},html:function(e){return bG.access(this,function(b2){var b1=this[0]||{},b0=0,bZ=this.length;if(b2===aB){return b1.nodeType===1?b1.innerHTML.replace(av,""):aB}if(typeof b2==="string"&&!aj.test(b2)&&(bG.support.htmlSerialize||!K.test(b2))&&(bG.support.leadingWhitespace||!bY.test(b2))&&!T[(p.exec(b2)||["",""])[1].toLowerCase()]){b2=b2.replace(ay,"<$1>$2>");try{for(;b01&&typeof b5==="string"&&bR.test(b5)){return this.each(function(){bG(this).domManip(b4,b8,b7)})}if(bG.isFunction(b5)){return this.each(function(ca){var b9=bG(this);b4[0]=b5.call(this,ca,b8?b9.html():aB);b9.domManip(b4,b8,b7)})}if(this[0]){b0=bG.buildFragment(b4,this,bZ);b3=b0.fragment;b2=b3.firstChild;if(b3.childNodes.length===1){b3=b2}if(b2){b8=b8&&bG.nodeName(b2,"tr");for(b6=b0.cacheable||e-1;b10?this.clone(true):this).get();bG(b6[b4])[bZ](b2);b3=b3.concat(b2)}return this.pushStack(b3,e,b6.selector)}}});function m(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function bS(e){if(aE.test(e.type)){e.defaultChecked=e.checked}}bG.extend({clone:function(b2,b4,b0){var e,bZ,b1,b3;if(bG.support.html5Clone||bG.isXMLDoc(b2)||!K.test("<"+b2.nodeName+">")){b3=b2.cloneNode(true)}else{l.innerHTML=b2.outerHTML;l.removeChild(b3=l.firstChild)}if((!bG.support.noCloneEvent||!bG.support.noCloneChecked)&&(b2.nodeType===1||b2.nodeType===11)&&!bG.isXMLDoc(b2)){G(b2,b3);e=m(b2);bZ=m(b3);for(b1=0;e[b1];++b1){if(bZ[b1]){G(e[b1],bZ[b1])}}}if(b4){ao(b2,b3);if(b0){e=m(b2);bZ=m(b3);for(b1=0;e[b1];++b1){ao(e[b1],bZ[b1])}}}e=bZ=null;return b3},clean:function(cb,b0,e,b1){var b7,b3,ca,cf,b4,ce,b5,b2,bZ,b9,cd,b6,b8=0,cc=[];if(!b0||typeof b0.createDocumentFragment==="undefined"){b0=o}for(b3=b0===o&&aQ;(ca=cb[b8])!=null;b8++){if(typeof ca==="number"){ca+=""}if(!ca){continue}if(typeof ca==="string"){if(!J.test(ca)){ca=b0.createTextNode(ca)}else{b3=b3||B(b0);b5=b5||b3.appendChild(b0.createElement("div"));ca=ca.replace(ay,"<$1>$2>");cf=(p.exec(ca)||["",""])[1].toLowerCase();b4=T[cf]||T._default;ce=b4[0];b5.innerHTML=b4[1]+ca+b4[2];while(ce--){b5=b5.lastChild}if(!bG.support.tbody){b2=bT.test(ca);bZ=cf==="table"&&!b2?b5.firstChild&&b5.firstChild.childNodes:b4[1]===""&&!b2?b5.childNodes:[];for(b7=bZ.length-1;b7>=0;--b7){if(bG.nodeName(bZ[b7],"tbody")&&!bZ[b7].childNodes.length){bZ[b7].parentNode.removeChild(bZ[b7])}}}if(!bG.support.leadingWhitespace&&bY.test(ca)){b5.insertBefore(b0.createTextNode(bY.exec(ca)[0]),b5.firstChild)}ca=b5.childNodes;b5=b3.lastChild}}if(ca.nodeType){cc.push(ca)}else{cc=bG.merge(cc,ca)}}if(b5){b3.removeChild(b5);ca=b5=b3=null}if(!bG.support.appendChecked){for(b8=0;(ca=cc[b8])!=null;b8++){if(bG.nodeName(ca,"input")){bS(ca)}else{if(typeof ca.getElementsByTagName!=="undefined"){bG.grep(ca.getElementsByTagName("input"),bS)}}}}if(e){cd=function(cg){if(!cg.type||bw.test(cg.type)){return b1?b1.push(cg.parentNode?cg.parentNode.removeChild(cg):cg):e.appendChild(cg)}};for(b8=0;(ca=cc[b8])!=null;b8++){if(!(bG.nodeName(ca,"script")&&cd(ca))){e.appendChild(ca);if(typeof ca.getElementsByTagName!=="undefined"){b6=bG.grep(bG.merge([],ca.getElementsByTagName("script")),cd);cc.splice.apply(cc,[b8+1,0].concat(b6));b8+=b6.length}}}}return cc},cleanData:function(bZ,b7){var b2,b0,b1,b6,b3=0,b8=bG.expando,e=bG.cache,b4=bG.support.deleteExpando,b5=bG.event.special;for(;(b1=bZ[b3])!=null;b3++){if(b7||bG.acceptData(b1)){b0=b1[b8];b2=b0&&e[b0];if(b2){if(b2.events){for(b6 in b2.events){if(b5[b6]){bG.event.remove(b1,b6)}else{bG.removeEvent(b1,b6,b2.handle)}}}if(e[b0]){delete e[b0];if(b4){delete b1[b8]}else{if(b1.removeAttribute){b1.removeAttribute(b8)}else{b1[b8]=null}}bG.deletedIds.push(b0)}}}}}});(function(){var e,bZ;bG.uaMatch=function(b1){b1=b1.toLowerCase();var b0=/(chrome)[ \/]([\w.]+)/.exec(b1)||/(webkit)[ \/]([\w.]+)/.exec(b1)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(b1)||/(msie) ([\w.]+)/.exec(b1)||b1.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}};e=bG.uaMatch(d.userAgent);bZ={};if(e.browser){bZ[e.browser]=true;bZ.version=e.version}if(bZ.webkit){bZ.safari=true}bG.browser=bZ;bG.sub=function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bG.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bG&&!(b4 instanceof b0)){b4=b0(b4)}return bG.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(o);return b0}})();var F,az,aW,be=/alpha\([^)]*\)/i,aS=/opacity=([^)]*)/,bk=/^(top|right|bottom|left)$/,aZ=/^margin/,a8=new RegExp("^("+bx+")(.*)$","i"),W=new RegExp("^("+bx+")(?!px)[a-z%]+$","i"),S=new RegExp("^([-+])=("+bx+")","i"),bh={},a9={position:"absolute",visibility:"hidden",display:"block"},bA={letterSpacing:0,fontWeight:400,lineHeight:1},bQ=["Top","Right","Bottom","Left"],ar=["Webkit","O","Moz","ms"],aJ=bG.fn.toggle;function b(b1,bZ){if(bZ in b1){return bZ}var b2=bZ.charAt(0).toUpperCase()+bZ.slice(1),e=bZ,b0=ar.length;while(b0--){bZ=ar[b0]+b2;if(bZ in b1){return bZ}}return e}function Q(bZ,e){bZ=e||bZ;return bG.css(bZ,"display")==="none"||!bG.contains(bZ.ownerDocument,bZ)}function t(b3,e){var b2,b4,bZ=[],b0=0,b1=b3.length;for(;b01)},show:function(){return t(this,true)},hide:function(){return t(this)},toggle:function(b0,bZ){var e=typeof b0==="boolean";if(bG.isFunction(b0)&&bG.isFunction(bZ)){return aJ.apply(this,arguments)}return this.each(function(){if(e?b0:Q(this)){bG(this).show()}else{bG(this).hide()}})}});bG.extend({cssHooks:{opacity:{get:function(b0,bZ){if(bZ){var e=F(b0,"opacity");return e===""?"1":e}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":bG.support.cssFloat?"cssFloat":"styleFloat"},style:function(b1,b0,b7,b2){if(!b1||b1.nodeType===3||b1.nodeType===8||!b1.style){return}var b5,b6,b8,b3=bG.camelCase(b0),bZ=b1.style;b0=bG.cssProps[b3]||(bG.cssProps[b3]=b(bZ,b3));b8=bG.cssHooks[b0]||bG.cssHooks[b3];if(b7!==aB){b6=typeof b7;if(b6==="string"&&(b5=S.exec(b7))){b7=(b5[1]+1)*b5[2]+parseFloat(bG.css(b1,b0));b6="number"}if(b7==null||b6==="number"&&isNaN(b7)){return}if(b6==="number"&&!bG.cssNumber[b3]){b7+="px"}if(!b8||!("set" in b8)||(b7=b8.set(b1,b7,b2))!==aB){try{bZ[b0]=b7}catch(b4){}}}else{if(b8&&"get" in b8&&(b5=b8.get(b1,false,b2))!==aB){return b5}return bZ[b0]}},css:function(b4,b2,b3,bZ){var b5,b1,e,b0=bG.camelCase(b2);b2=bG.cssProps[b0]||(bG.cssProps[b0]=b(b4.style,b0));e=bG.cssHooks[b2]||bG.cssHooks[b0];if(e&&"get" in e){b5=e.get(b4,true,bZ)}if(b5===aB){b5=F(b4,b2)}if(b5==="normal"&&b2 in bA){b5=bA[b2]}if(b3||bZ!==aB){b1=parseFloat(b5);return b3||bG.isNumeric(b1)?b1||0:b5}return b5},swap:function(b2,b1,b3){var b0,bZ,e={};for(bZ in b1){e[bZ]=b2.style[bZ];b2.style[bZ]=b1[bZ]}b0=b3.call(b2);for(bZ in b1){b2.style[bZ]=e[bZ]}return b0}});if(a2.getComputedStyle){F=function(b5,bZ){var e,b2,b1,b4,b3=getComputedStyle(b5,null),b0=b5.style;if(b3){e=b3[bZ];if(e===""&&!bG.contains(b5.ownerDocument.documentElement,b5)){e=bG.style(b5,bZ)}if(W.test(e)&&aZ.test(bZ)){b2=b0.width;b1=b0.minWidth;b4=b0.maxWidth;b0.minWidth=b0.maxWidth=b0.width=e;e=b3.width;b0.width=b2;b0.minWidth=b1;b0.maxWidth=b4}}return e}}else{if(o.documentElement.currentStyle){F=function(b2,b0){var b3,e,bZ=b2.currentStyle&&b2.currentStyle[b0],b1=b2.style;if(bZ==null&&b1&&b1[b0]){bZ=b1[b0]}if(W.test(bZ)&&!bk.test(b0)){b3=b1.left;e=b2.runtimeStyle&&b2.runtimeStyle.left;if(e){b2.runtimeStyle.left=b2.currentStyle.left}b1.left=b0==="fontSize"?"1em":bZ;bZ=b1.pixelLeft+"px";b1.left=b3;if(e){b2.runtimeStyle.left=e}}return bZ===""?"auto":bZ}}}function aG(e,b0,b1){var bZ=a8.exec(b0);return bZ?Math.max(0,bZ[1]-(b1||0))+(bZ[2]||"px"):b0}function at(b1,bZ,e,b3){var b0=e===(b3?"border":"content")?4:bZ==="width"?1:0,b2=0;for(;b0<4;b0+=2){if(e==="margin"){b2+=bG.css(b1,e+bQ[b0],true)}if(b3){if(e==="content"){b2-=parseFloat(F(b1,"padding"+bQ[b0]))||0}if(e!=="margin"){b2-=parseFloat(F(b1,"border"+bQ[b0]+"Width"))||0}}else{b2+=parseFloat(F(b1,"padding"+bQ[b0]))||0;if(e!=="padding"){b2+=parseFloat(F(b1,"border"+bQ[b0]+"Width"))||0}}}return b2}function v(b1,bZ,e){var b2=bZ==="width"?b1.offsetWidth:b1.offsetHeight,b0=true,b3=bG.support.boxSizing&&bG.css(b1,"boxSizing")==="border-box";if(b2<=0){b2=F(b1,bZ);if(b2<0||b2==null){b2=b1.style[bZ]}if(W.test(b2)){return b2}b0=b3&&(bG.support.boxSizingReliable||b2===b1.style[bZ]);b2=parseFloat(b2)||0}return(b2+at(b1,bZ,e||(b3?"border":"content"),b0))+"px"}function bC(b0){if(bh[b0]){return bh[b0]}var e=bG("<"+b0+">").appendTo(o.body),bZ=e.css("display");e.remove();if(bZ==="none"||bZ===""){az=o.body.appendChild(az||bG.extend(o.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!aW||!az.createElement){aW=(az.contentWindow||az.contentDocument).document;aW.write("");aW.close()}e=aW.body.appendChild(aW.createElement(b0));bZ=F(e,"display");o.body.removeChild(az)}bh[b0]=bZ;return bZ}bG.each(["height","width"],function(bZ,e){bG.cssHooks[e]={get:function(b2,b1,b0){if(b1){if(b2.offsetWidth!==0||F(b2,"display")!=="none"){return v(b2,e,b0)}else{return bG.swap(b2,a9,function(){return v(b2,e,b0)})}}},set:function(b1,b2,b0){return aG(b1,b2,b0?at(b1,e,b0,bG.support.boxSizing&&bG.css(b1,"boxSizing")==="border-box"):0)}}});if(!bG.support.opacity){bG.cssHooks.opacity={get:function(bZ,e){return aS.test((e&&bZ.currentStyle?bZ.currentStyle.filter:bZ.style.filter)||"")?(0.01*parseFloat(RegExp.$1))+"":e?"1":""},set:function(b2,b3){var b1=b2.style,bZ=b2.currentStyle,e=bG.isNumeric(b3)?"alpha(opacity="+b3*100+")":"",b0=bZ&&bZ.filter||b1.filter||"";b1.zoom=1;if(b3>=1&&bG.trim(b0.replace(be,""))===""&&b1.removeAttribute){b1.removeAttribute("filter");if(bZ&&!bZ.filter){return}}b1.filter=be.test(b0)?b0.replace(be,e):b0+" "+e}}}bG(function(){if(!bG.support.reliableMarginRight){bG.cssHooks.marginRight={get:function(bZ,e){return bG.swap(bZ,{display:"inline-block"},function(){if(e){return F(bZ,"marginRight")}})}}}if(!bG.support.pixelPosition&&bG.fn.position){bG.each(["top","left"],function(e,bZ){bG.cssHooks[bZ]={get:function(b2,b1){if(b1){var b0=F(b2,bZ);return W.test(b0)?bG(b2).position()[bZ]+"px":b0}}}})}});if(bG.expr&&bG.expr.filters){bG.expr.filters.hidden=function(e){return(e.offsetWidth===0&&e.offsetHeight===0)||(!bG.support.reliableHiddenOffsets&&((e.style&&e.style.display)||F(e,"display"))==="none")};bG.expr.filters.visible=function(e){return !bG.expr.filters.hidden(e)}}bG.each({margin:"",padding:"",border:"Width"},function(e,bZ){bG.cssHooks[e+bZ]={expand:function(b2){var b1,b3=typeof b2==="string"?b2.split(" "):[b2],b0={};for(b1=0;b1<4;b1++){b0[e+bQ[b1]+bZ]=b3[b1]||b3[b1-2]||b3[0]}return b0}};if(!aZ.test(e)){bG.cssHooks[e+bZ].set=aG}});var bs=/%20/g,aP=/\[\]$/,U=/\r?\n/g,bz=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aD=/^(?:select|textarea)/i;bG.fn.extend({serialize:function(){return bG.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?bG.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||aD.test(this.nodeName)||bz.test(this.type))}).map(function(e,bZ){var b0=bG(this).val();return b0==null?null:bG.isArray(b0)?bG.map(b0,function(b2,b1){return{name:bZ.name,value:b2.replace(U,"\r\n")}}):{name:bZ.name,value:b0.replace(U,"\r\n")}}).get()}});bG.param=function(e,b0){var b1,bZ=[],b2=function(b3,b4){b4=bG.isFunction(b4)?b4():(b4==null?"":b4);bZ[bZ.length]=encodeURIComponent(b3)+"="+encodeURIComponent(b4)};if(b0===aB){b0=bG.ajaxSettings&&bG.ajaxSettings.traditional}if(bG.isArray(e)||(e.jquery&&!bG.isPlainObject(e))){bG.each(e,function(){b2(this.name,this.value)})}else{for(b1 in e){k(b1,e[b1],b0,b2)}}return bZ.join("&").replace(bs,"+")};function k(b0,b2,bZ,b1){var e;if(bG.isArray(b2)){bG.each(b2,function(b4,b3){if(bZ||aP.test(b0)){b1(b0,b3)}else{k(b0+"["+(typeof b3==="object"?b4:"")+"]",b3,bZ,b1)}})}else{if(!bZ&&bG.type(b2)==="object"){for(e in b2){k(b0+"["+e+"]",b2[e],bZ,b1)}}else{b1(b0,b2)}}}var Y,bX,an=/#.*$/,ad=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,C=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,s=/^(?:GET|HEAD)$/,aC=/^\/\//,bN=/\?/,g=/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-jenkins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+ dependency-check
+
+ /
+ Project License
+
+
+
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Overview
+
Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+
+
Project License
+
+
GNU General Public License version 3 [Original text]
+
Copy of the license follows.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Licenses
+
+
+Published software should be free
+software . To make it free software, you need to release it
+under a free software license. We normally use the GNU General Public License (GNU GPL),
+but occasionally we use other
+free software licenses . We use only licenses that are compatible
+with the GNU GPL for GNU software.
+
+
+
+Documentation for free software should be
+free documentation , so that
+people can redistribute it and improve it along with the software
+it describes. To make it free documentation, you need to release
+it under a free documentation license. We normally use the
+GNU Free Documentation License (GNU
+FDL), but occasionally we use
+other free
+documentation licenses .
+
+
+
If you've started a new project and you're not sure what license to
+use, “How to
+choose a license for your own work” details our
+recommendations in an easy-to-follow guide. If you just want a quick
+list reference, we have a page that names
+our recommended
+copyleft licenses .
+
+
We also have a page that discusses the BSD License Problem .
+
+
+Our documentation licenses are currently being revised, and we welcome
+your comments on the proposed texts. Please
+visit our license update site to
+read the current drafts and participate in the process.
+
+
+
Common Resources for our Software Licenses
+
+
We have a number of resources to help people understand and use our
+various licenses:
+
+
+
+
The GNU General Public License
+
+
+The GNU General Public License is often called the GNU GPL for short;
+it is used by most GNU programs, and by more than half of all free
+software packages. The latest version is version 3.
+
+
+
+
+
The GNU Lesser General Public License
+
+
+The GNU Lesser General Public License is used by a few (not by any means
+all) GNU libraries. The latest version is version 3.
+
+
+
+
+
The GNU Affero General Public License
+
+
+The GNU Affero General Public License is based on the GNU GPL, but has an
+additional term to allow users who interact with the licensed software over
+a network to receive the source for that program. We recommend that people
+consider using the GNU AGPL for any software which will commonly be run
+over a network. The latest version is version 3.
+
+
+
+ The GNU Affero General Public License text is available in
+ these formats:
+ HTML ,
+ plain text ,
+ Docbook ,
+ Texinfo , and
+ LaTeX .
+These documents are not formatted for standalone publishing, and
+are intended to be included in another document.
+ Why the Affero GPL
+
+
+
The GNU Free Documentation License
+
+
+The GNU Free Documentation License is a form of copyleft intended
+for use on a manual, textbook or other document to assure everyone
+the effective freedom to copy and redistribute it, with or without
+modifications, either commercially or non-commercially. The latest version
+is 1.3.
+
+
+
+
+
Exceptions to GNU Licenses
+
+
Some GNU programs have additional permissions or special exceptions
+ to specific terms in one of the main licenses. Since some of those
+ are commonly used or inspire a lot of questions on their own, we've
+ started collecting them on
+ our exceptions page .
+
+
License URLs
+
+
When linking to our licenses, it's usually best to link to the latest
+version; hence the standard URLs such as
+http://www.gnu.org/licenses/gpl.html have no version number.
+Occasionally, however, you may want to link to a specific version of a
+given license. In those situations, you can use the following links
+[skip links ]:
+
+
+GNU General Public License (GPL)
+
+GPLv3 ,
+GPLv2 ,
+GPLv1
+
+GNU Lesser General Public License (LGPL)
+LGPLv3 ,
+LGPLv2.1
+
+GNU Affero General Public License (AGPL)
+GNU
+ AGPLv3 (The Affero General
+ Public License version 1 is not a GNU license, but it was
+ designed to serve a purpose much like the GNU AGPL's.)
+
+GNU Free Documentation License (FDL)
+FDLv1.3 ,
+FDLv1.2 ,
+FDLv1.1
+
+
+
Stable links to each license's alternative
+ formats are available on its respective page. Not every version of
+ every license is available in every format. If you need one that is
+ missing, please email us .
+
+
See also the old licenses page .
+
+
+
Unofficial Translations
+
+
+Legally speaking, the original (English) version of the licenses is what
+specifies the actual distribution terms for GNU programs and others that
+use them. But to help people better understand the licenses, we give
+permission to publish translations into other languages provided that
+they follow our regulations for unofficial translations:
+
+
+
+
+
Verbatim Copying and Distribution
+
+
The standard copyright terms for GNU web pages is now the Creative
+Commons Attribution-NoDerivs 3.0 United States License . It used to
+be (and for a few pages still is): Verbatim
+copying and distribution of this entire article are permitted worldwide,
+without royalty, in any medium, provided this notice is
+preserved . Please note the following commentary about this
+“verbatim license” by Eben Moglen:
+
+
+“Our intention in using the phrase ‘verbatim copying in
+any medium’ is not to require retention of page headings and
+footers or other formatting features. Retention of weblinks in both
+hyperlinked and non-hyperlinked media (as notes or some other form of
+printed URL in non-HTML media) is required”.
+
+
+
List of Free Software Licenses
+
+
+
+ List of Free Software Licenses
+
+ If you are contemplating writing a new license, please contact the
+FSF by writing to <licensing@fsf.org> . The
+proliferation of different free software licenses means increased work
+for users in understanding the licenses; we may be able to help you
+find an existing Free Software license that meets your needs.
+
+
+
+If that isn't possible, if you really need a new license, with our
+help you can ensure that the license really is a Free Software license
+and avoid various practical problems.
+
+
+
+
+
+
+
What Is Copyleft?
+
+
+Copyleft is a general
+method for making a program free
+software and requiring all modified and extended versions of the
+program to be free software as well.
+
+
+
+The simplest way to make a program free is to put it in the
+public
+domain , uncopyrighted. This allows people to share the program
+and their improvements, if they are so minded. But it also allows
+uncooperative people to convert the program into
+proprietary
+software . They can make changes, many or few, and distribute the
+result as a proprietary product. People who receive the program in
+that modified form do not have the freedom that the original author
+gave them; the middleman has stripped it away.
+
+
+
+In the GNU project , our aim is
+to give all users the freedom to redistribute and change GNU
+software. If middlemen could strip off the freedom, we might have
+many users, but those users would not have freedom. So instead of
+putting GNU software in the public domain, we “copyleft”
+it. Copyleft says that anyone who redistributes the software, with or
+without changes, must pass along the freedom to further copy and
+change it. Copyleft guarantees that every user has freedom.
+
+
+
+Copyleft also provides an
+incentive
+for other programmers to add to free software.
+Important free programs such as the GNU C++ compiler exist
+only because of this.
+
+
+
+Copyleft also helps programmers who want to contribute
+improvements to
+free software get permission to
+do that. These programmers often work for companies or universities
+that would do almost anything to get more money. A programmer may
+want to contribute her changes to the community, but her employer may
+want to turn the changes into a proprietary software product.
+
+
+
+When we explain to the employer that it is illegal to distribute the
+improved version except as free software, the employer usually decides
+to release it as free software rather than throw it away.
+
+
+
+To copyleft a program, we first state that it is copyrighted; then
+we add distribution terms, which are a legal instrument that gives
+everyone the rights to use, modify, and redistribute the program's
+code or any program derived from it but only if the
+distribution terms are unchanged. Thus, the code and the freedoms
+become legally inseparable.
+
+
+
+Proprietary software developers use copyright to take away the users'
+freedom; we use copyright to guarantee their freedom. That's why we
+reverse the name, changing “copyright” into
+“copyleft”.
+
+
+
+Copyleft is a general concept; there are many ways to fill in the
+details. In the GNU Project, the specific distribution terms that we
+use are contained in the GNU General Public License, the GNU Lesser
+General Public License and the GNU Free Documentation License.
+
+
+
+The appropriate license is included in many manuals and in each GNU
+source code distribution.
+
+
+
+The GNU GPL is designed so that you can easily apply it to your own
+program if you are the copyright holder. You don't have to modify the
+GNU GPL to do this, just add notices to your program which refer
+properly to the GNU GPL. Please note that you must use the
+entire text of the GPL, if you use it. It is an integral whole, and
+partial copies are not permitted. (Likewise for the LGPL, AGPL, and FDL.)
+
+
+
+Using the same distribution terms for many different programs makes it
+easy to copy code between various different programs. Since they all
+have the same distribution terms, there is no need to think about
+whether the terms are compatible. The Lesser GPL includes a
+provision that lets you alter the distribution terms to the ordinary
+GPL, so that you can copy code into another program covered by the GPL.
+
+
+
Licenses for Other Types of Works
+
+
+We believe that published software and documentation should be
+free software and free documentation .
+We recommend making all sorts of educational and reference works free
+also, using free documentation licenses such as the
+GNU Free Documentation License (GNU FDL).
+
+
+
For essays of opinion and scientific papers, we recommend
+either the Creative
+Commons Attribution-NoDerivs 3.0 United States License , or the
+simple “verbatim copying only” license stated above.
+
+
+We don't take the position that artistic or entertainment works must
+be free, but if you want to make one free, we recommend
+the Free Art
+License .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright © 2012-2013
+
OWASP .
+ All Rights Reserved.
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-jenkins/project-info.html b/dependency-check-jenkins/project-info.html
new file mode 100644
index 000000000..3ea8a9051
--- /dev/null
+++ b/dependency-check-jenkins/project-info.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+ dependency-check-jenkins - Project Information
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-jenkins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+ dependency-check
+
+ /
+ Project Information
+
+
+
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Information
+
This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.
+
+
Overview
+
+
+Document
+Description
+
+About
+This plug-in can independently execute a Dependency-Check analysis and visualize the results.
+
+Project Summary
+This document lists other related information of this project
+
+Project License
+This is a link to the definitions of project licenses.
+
+
+
+
+
+
+
+
+
Copyright © 2012-2013
+
OWASP .
+ All Rights Reserved.
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-jenkins/project-summary.html b/dependency-check-jenkins/project-summary.html
new file mode 100644
index 000000000..c72760e8d
--- /dev/null
+++ b/dependency-check-jenkins/project-summary.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+ dependency-check-jenkins - Project Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
dependency-check-jenkins
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+ dependency-check
+
+ /
+ Project Summary
+
+
+
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Project Summary
+
+
+
+
Build Information
+
+
+Field
+Value
+
+GroupId
+org.owasp
+
+ArtifactId
+dependency-check-jenkins
+
+Version
+1.0.2
+
+Type
+jar
+
+JDK Rev
+1.6
+
+
+
+
+
+
+
+
+
Copyright © 2012-2013
+
OWASP .
+ All Rights Reserved.
+
+
+
+
+
+
+
+
+
diff --git a/dependency-check-maven/apidocs/allclasses-frame.html b/dependency-check-maven/apidocs/allclasses-frame.html
index 65657060d..d9e07beb5 100644
--- a/dependency-check-maven/apidocs/allclasses-frame.html
+++ b/dependency-check-maven/apidocs/allclasses-frame.html
@@ -2,13 +2,13 @@
-
+
-All Classes (dependency-check-maven 1.0.1 API)
+All Classes (Dependency-Check Maven Plugin 1.0.2 API)
-
+
diff --git a/dependency-check-maven/apidocs/allclasses-noframe.html b/dependency-check-maven/apidocs/allclasses-noframe.html
index 5a36995cf..ed44f13a0 100644
--- a/dependency-check-maven/apidocs/allclasses-noframe.html
+++ b/dependency-check-maven/apidocs/allclasses-noframe.html
@@ -2,13 +2,13 @@
-
+
-All Classes (dependency-check-maven 1.0.1 API)
+All Classes (Dependency-Check Maven Plugin 1.0.2 API)
-
+
diff --git a/dependency-check-maven/apidocs/constant-values.html b/dependency-check-maven/apidocs/constant-values.html
index fc3430edf..5313b6325 100644
--- a/dependency-check-maven/apidocs/constant-values.html
+++ b/dependency-check-maven/apidocs/constant-values.html
@@ -2,13 +2,13 @@
-
+
-Constant Field Values (dependency-check-maven 1.0.1 API)
+Constant Field Values (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Constant Field Values (dependency-check-maven 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Constant Field Values (dependency-check-maven 1.0.1 API)";
+ parent.document.title="Constant Field Values (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/deprecated-list.html b/dependency-check-maven/apidocs/deprecated-list.html
index e3ac723f9..815b7f20e 100644
--- a/dependency-check-maven/apidocs/deprecated-list.html
+++ b/dependency-check-maven/apidocs/deprecated-list.html
@@ -2,13 +2,13 @@
-
+
-Deprecated List (dependency-check-maven 1.0.1 API)
+Deprecated List (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Deprecated List (dependency-check-maven 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Deprecated List (dependency-check-maven 1.0.1 API)";
+ parent.document.title="Deprecated List (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/help-doc.html b/dependency-check-maven/apidocs/help-doc.html
index 528b8ff6f..00467f135 100644
--- a/dependency-check-maven/apidocs/help-doc.html
+++ b/dependency-check-maven/apidocs/help-doc.html
@@ -2,13 +2,13 @@
-
+
-API Help (dependency-check-maven 1.0.1 API)
+API Help (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ API Help (dependency-check-maven 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="API Help (dependency-check-maven 1.0.1 API)";
+ parent.document.title="API Help (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/index-all.html b/dependency-check-maven/apidocs/index-all.html
index becea6b78..ea8aa9704 100644
--- a/dependency-check-maven/apidocs/index-all.html
+++ b/dependency-check-maven/apidocs/index-all.html
@@ -2,13 +2,13 @@
-
+
-Index (dependency-check-maven 1.0.1 API)
+Index (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Index (dependency-check-maven 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Index (dependency-check-maven 1.0.1 API)";
+ parent.document.title="Index (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/index.html b/dependency-check-maven/apidocs/index.html
index 688144031..303f175cb 100644
--- a/dependency-check-maven/apidocs/index.html
+++ b/dependency-check-maven/apidocs/index.html
@@ -2,10 +2,10 @@
-
+
-dependency-check-maven 1.0.1 API
+Dependency-Check Maven Plugin 1.0.2 API
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html
index d66a69d28..701ed4eb9 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/HelpMojo.html
@@ -2,13 +2,13 @@
-
+
-HelpMojo (dependency-check-maven 1.0.1 API)
+HelpMojo (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ HelpMojo (dependency-check-maven 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="HelpMojo (dependency-check-maven 1.0.1 API)";
+ parent.document.title="HelpMojo (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html
index 9f600d0a4..8add9a1c0 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/DependencyCheckMojo.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (dependency-check-maven 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (dependency-ch
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (dependency-check-maven 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.maven.DependencyCheckMojo (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html
index 5b049c583..926da75aa 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/class-use/HelpMojo.html
@@ -2,13 +2,13 @@
-
+
-Uses of Class org.owasp.dependencycheck.maven.HelpMojo (dependency-check-maven 1.0.1 API)
+Uses of Class org.owasp.dependencycheck.maven.HelpMojo (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Class org.owasp.dependencycheck.maven.HelpMojo (dependency-check-maven 1
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class org.owasp.dependencycheck.maven.HelpMojo (dependency-check-maven 1.0.1 API)";
+ parent.document.title="Uses of Class org.owasp.dependencycheck.maven.HelpMojo (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html
index 939abcb3c..607c63a42 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-frame.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.maven (dependency-check-maven 1.0.1 API)
+org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.0.2 API)
-
+
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html
index 4306c09ec..3016cb3f5 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-summary.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.maven (dependency-check-maven 1.0.1 API)
+org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.maven (dependency-check-maven 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.maven (dependency-check-maven 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html
index d81000807..50043a5ac 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-tree.html
@@ -2,13 +2,13 @@
-
+
-org.owasp.dependencycheck.maven Class Hierarchy (dependency-check-maven 1.0.1 API)
+org.owasp.dependencycheck.maven Class Hierarchy (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ org.owasp.dependencycheck.maven Class Hierarchy (dependency-check-maven 1.0.1 AP
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="org.owasp.dependencycheck.maven Class Hierarchy (dependency-check-maven 1.0.1 API)";
+ parent.document.title="org.owasp.dependencycheck.maven Class Hierarchy (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html
index 2af1c5682..7956bba38 100644
--- a/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html
+++ b/dependency-check-maven/apidocs/org/owasp/dependencycheck/maven/package-use.html
@@ -2,13 +2,13 @@
-
+
-Uses of Package org.owasp.dependencycheck.maven (dependency-check-maven 1.0.1 API)
+Uses of Package org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Uses of Package org.owasp.dependencycheck.maven (dependency-check-maven 1.0.1 AP
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package org.owasp.dependencycheck.maven (dependency-check-maven 1.0.1 API)";
+ parent.document.title="Uses of Package org.owasp.dependencycheck.maven (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/apidocs/overview-tree.html b/dependency-check-maven/apidocs/overview-tree.html
index b02d29b82..61e4367b4 100644
--- a/dependency-check-maven/apidocs/overview-tree.html
+++ b/dependency-check-maven/apidocs/overview-tree.html
@@ -2,13 +2,13 @@
-
+
-Class Hierarchy (dependency-check-maven 1.0.1 API)
+Class Hierarchy (Dependency-Check Maven Plugin 1.0.2 API)
-
+
@@ -16,7 +16,7 @@ Class Hierarchy (dependency-check-maven 1.0.1 API)
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Class Hierarchy (dependency-check-maven 1.0.1 API)";
+ parent.document.title="Class Hierarchy (Dependency-Check Maven Plugin 1.0.2 API)";
}
}
diff --git a/dependency-check-maven/check-mojo.html b/dependency-check-maven/check-mojo.html
index 1f91b4916..9a313141b 100644
--- a/dependency-check-maven/check-mojo.html
+++ b/dependency-check-maven/check-mojo.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven -
dependency-check:check
@@ -55,7 +55,7 @@
-
+
/
@@ -69,8 +69,8 @@
- Last Published: 2013-08-07 |
- Version: 1.0.1
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
@@ -150,7 +150,7 @@
Full name :
-org.owasp:dependency-check-maven:1.0.1:check
+org.owasp:dependency-check-maven:1.0.2:check
Description :
diff --git a/dependency-check-maven/checkstyle.html b/dependency-check-maven/checkstyle.html
index 09d2d382c..2ef5ac20d 100644
--- a/dependency-check-maven/checkstyle.html
+++ b/dependency-check-maven/checkstyle.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Checkstyle Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2013-08-07 |
- Version: 1.0.1
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
diff --git a/dependency-check-maven/checkstyle.rss b/dependency-check-maven/checkstyle.rss
index 2cccc7f4a..4f13180c7 100644
--- a/dependency-check-maven/checkstyle.rss
+++ b/dependency-check-maven/checkstyle.rss
@@ -2,9 +2,9 @@
- dependency-check-maven - Checkstyle report
+ Dependency-Check Maven Plugin - Checkstyle report
http://maven.apache.org
- dependency-check-maven - Checkstyle report
+ Dependency-Check Maven Plugin - Checkstyle report
en-us
©2013 OWASP
-
diff --git a/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html b/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html
index 6814a634c..b0a85a7a8 100644
--- a/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html
+++ b/dependency-check-maven/cobertura/frame-summary-org.owasp.dependencycheck.maven.html
@@ -39,6 +39,6 @@ var classTable = new SortableTable(document.getElementById("classResults"),
["String", "Percentage", "Percentage", "FormattedNumber"]);
classTable.sort(0);
-
+
diff --git a/dependency-check-maven/cobertura/frame-summary.html b/dependency-check-maven/cobertura/frame-summary.html
index 78eabe58a..4ee289b0c 100644
--- a/dependency-check-maven/cobertura/frame-summary.html
+++ b/dependency-check-maven/cobertura/frame-summary.html
@@ -25,6 +25,6 @@ var packageTable = new SortableTable(document.getElementById("packageResults"),
["String", "Number", "Percentage", "Percentage", "FormattedNumber"]);
packageTable.sort(0);
-
+
diff --git a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
index 92d93311a..f54777a8b 100644
--- a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
+++ b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.DependencyCheckMojo.html
@@ -1295,6 +1295,6 @@
}
-
+
diff --git a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html
index c915bee2d..8d8e969be 100644
--- a/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html
+++ b/dependency-check-maven/cobertura/org.owasp.dependencycheck.maven.HelpMojo.html
@@ -747,6 +747,6 @@
}
-
+
diff --git a/dependency-check-maven/configuration.html b/dependency-check-maven/configuration.html
index 806decb65..126ae9d49 100644
--- a/dependency-check-maven/configuration.html
+++ b/dependency-check-maven/configuration.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven -
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2013-08-06 |
- Version: 1.0.1-SNAPSHOT
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
diff --git a/dependency-check-maven/cpd.html b/dependency-check-maven/cpd.html
index 464def790..28c268c7a 100644
--- a/dependency-check-maven/cpd.html
+++ b/dependency-check-maven/cpd.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - CPD Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2013-08-07 |
- Version: 1.0.1
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
diff --git a/dependency-check-maven/dependency-updates-report.html b/dependency-check-maven/dependency-updates-report.html
index f24f43134..22926c2bc 100644
--- a/dependency-check-maven/dependency-updates-report.html
+++ b/dependency-check-maven/dependency-updates-report.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - Dependency Updates Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2013-08-07 |
- Version: 1.0.1
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
@@ -360,7 +360,7 @@
org.owasp
dependency-check-core
-1.0.1
+1.0.2
compile
jar
@@ -577,7 +577,7 @@
dependency-check-core
Current Version
-1.0.1
+1.0.2
Scope
compile
diff --git a/dependency-check-maven/findbugs.html b/dependency-check-maven/findbugs.html
index 913fa8141..243c45a5f 100644
--- a/dependency-check-maven/findbugs.html
+++ b/dependency-check-maven/findbugs.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven - FindBugs Bug Detector Report
@@ -54,7 +54,7 @@
-
+
/
@@ -67,8 +67,8 @@
- Last Published: 2013-08-07 |
- Version: 1.0.1
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
diff --git a/dependency-check-maven/help-mojo.html b/dependency-check-maven/help-mojo.html
index d27687455..5ee8d89bb 100644
--- a/dependency-check-maven/help-mojo.html
+++ b/dependency-check-maven/help-mojo.html
@@ -1,13 +1,13 @@
-
+
dependency-check-maven -
dependency-check:help
@@ -55,7 +55,7 @@
-
+
/
@@ -69,8 +69,8 @@
- Last Published: 2013-08-07 |
- Version: 1.0.1
+ Last Published: 2013-09-02 |
+ Version: 1.0.2
@@ -148,7 +148,7 @@
Full name :
-org.owasp:dependency-check-maven:1.0.1:help
+org.owasp:dependency-check-maven:1.0.2:help
Description :
diff --git a/dependency-check-maven/index.html b/dependency-check-maven/index.html
index e198ce288..51ce14811 100644
--- a/dependency-check-maven/index.html
+++ b/dependency-check-maven/index.html
@@ -1,15 +1,15 @@
-
+
- dependency-check-maven - About
+ dependency-check-jenkins -
@@ -42,7 +42,7 @@
-
dependency-check-maven
+ dependency-check-jenkins
@@ -54,7 +54,7 @@
-
+
/
@@ -63,12 +63,12 @@
dependency-check
/
-
About
+
-
Last Published: 2013-08-07 |
-
Version: 1.0.1
+
Last Published: 2013-09-02 |
+
Version: 1.0.2
@@ -80,22 +80,7 @@
-
-
-
-
-
- Project Reports
-
@@ -160,9 +138,19 @@
-
-
About dependency-check-maven
-
Dependency-Check-Maven is a Maven Plugin that attempts to detect publicly disclosed vulnerabilities contained within project dependencies. It does this by determining if there is a Common Platform Enumeration (CPE) identifier for a given dependency. If found, it will generate a report linking to the associated CVE entries.
+
Dependency-Check Jenkins Plugin
+
The Dependency-Check Jenkins Plugin features the ability to perform a dependency analysis build and later view results post build. The plugin is built using analysis-core and features many of the same features that Jenkins static analysis plugins offer, including thresholds, charts and the ability to view vulnerability information should a dependency have one identified.
+
The main repository is located at jenkins-cli/dependency-check-jenkins .
+
The main site for documentation is located at OWASP Dependency-Check-Jenkins .
+
More information can be found on the wiki .
+
+
+
Copyright & License
+
Dependency-Check Jenkins Plugin is Copyright (c) 2013 Steve Springett. All Rights Reserved.
+
Permission to modify and redistribute is granted under the terms of the GPLv3 license. See the LICENSE.txt file for the full license.
@@ -171,7 +159,7 @@