diff --git a/archive-analyzer.html b/archive-analyzer.html index 4d615ee21..9d607ac91 100644 --- a/archive-analyzer.html +++ b/archive-analyzer.html @@ -1,13 +1,13 @@
- +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -290,6 +290,6 @@ extends org.apache.tools.ant.types.EnumeratedAttribute
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/DependencyCheckTask.html b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/DependencyCheckTask.html index afa40ce6d..5c0aa72ee 100644 --- a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/DependencyCheckTask.html +++ b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/DependencyCheckTask.html @@ -2,16 +2,16 @@ - + -booleanisCentralAnalyzerEnabled()
+booleanisJarAnalyzerEnabled()
booleanisNexusAnalyzerEnabled()
booleanisNexusUsesProxy()
booleanisNuspecAnalyzerEnabled()
booleanisReference()
booleanisShowSummary()
voidsetApplicationName(String applicationName)
voidsetArchiveAnalyzerEnabled(boolean archiveAnalyzerEnabled)
voidsetAssemblyAnalyzerEnabled(boolean assemblyAnalyzerEnabled)
voidsetAutoUpdate(boolean autoUpdate)
voidsetCentralAnalyzerEnabled(boolean centralAnalyzerEnabled)
+voidsetConnectionString(String connectionString)
@@ -571,8 +583,7 @@ extends org.apache.tools.ant.Task
voidsetProxyUrl(String proxyUrl)
setProxyServer(java.lang.String)
- insteadsetProxyServer(java.lang.String) insteadequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -881,8 +892,7 @@ public @Deprecated
public void setProxyUrl(String proxyUrl)
-setProxyServer(java.lang.String)
- insteadsetProxyServer(java.lang.String) insteadproxyUrl - new value of proxyServernuspecAnalyzerEnabled - the value of the new settingpublic boolean isCentralAnalyzerEnabled()+
public void setCentralAnalyzerEnabled(boolean centralAnalyzerEnabled)+
centralAnalyzerEnabled - new value of centralAnalyzerEnabledCopyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.ReportFormats.html b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.ReportFormats.html index 0baf89856..c36e5c23b 100644 --- a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.ReportFormats.html +++ b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.ReportFormats.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.html b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.html index d671b45e0..893d90232 100644 --- a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.html +++ b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/class-use/DependencyCheckTask.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-frame.html b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-frame.html index 7cbce330d..ca0f8545f 100644 --- a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-frame.html +++ b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-frame.html @@ -2,10 +2,10 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-tree.html b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-tree.html index 086f6cd40..24edb16b6 100644 --- a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-tree.html +++ b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-tree.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-use.html b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-use.html index 3794480cf..94e7eae3e 100644 --- a/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-use.html +++ b/dependency-check-ant/apidocs/org/owasp/dependencycheck/taskdefs/package-use.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/apidocs/overview-tree.html b/dependency-check-ant/apidocs/overview-tree.html index 96389e007..b5dde0c84 100644 --- a/dependency-check-ant/apidocs/overview-tree.html +++ b/dependency-check-ant/apidocs/overview-tree.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-ant/checkstyle.html b/dependency-check-ant/checkstyle.html index fc78dc7bb..eb52c097c 100644 --- a/dependency-check-ant/checkstyle.html +++ b/dependency-check-ant/checkstyle.html @@ -1,13 +1,13 @@ - +| Files | -I |
-W |
-E |
|---|---|---|---|
| src/main/java/org/owasp/dependencycheck/taskdefs/DependencyCheckTask.java | -0 | -0 | -1 |
Copyright © 2012–2014 +
Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-ant/checkstyle.rss b/dependency-check-ant/checkstyle.rss
index bca6d73f2..bc882077d 100644
--- a/dependency-check-ant/checkstyle.rss
+++ b/dependency-check-ant/checkstyle.rss
@@ -23,7 +23,7 @@ under the License.
https://github.com/jeremylong/DependencyCheck.git/dependency-check-ant
Copyright © 2012–2014
+ Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-ant/cpd.html b/dependency-check-ant/cpd.html
index 860663615..21aecc9d2 100644
--- a/dependency-check-ant/cpd.html
+++ b/dependency-check-ant/cpd.html
@@ -1,13 +1,13 @@
Copyright © 2012–2014
+ Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-ant/dependency-updates-report.html b/dependency-check-ant/dependency-updates-report.html
index 5b681a8c4..aff33d36b 100644
--- a/dependency-check-ant/dependency-updates-report.html
+++ b/dependency-check-ant/dependency-updates-report.html
@@ -1,13 +1,13 @@
This project does not declare any dependencies in a dependencyManagement section.
diff --git a/dependency-check-ant/cobertura/frame-sourcefiles.html b/dependency-check-ant/cobertura/frame-sourcefiles.html
index f42061064..2ca63d808 100644
--- a/dependency-check-ant/cobertura/frame-sourcefiles.html
+++ b/dependency-check-ant/cobertura/frame-sourcefiles.html
@@ -15,7 +15,7 @@ All Packages
-
DependencyCheckTask (69%)
+DependencyCheckTask (49%)
diff --git a/dependency-check-ant/cobertura/frame-summary-org.owasp.dependencycheck.taskdefs.html b/dependency-check-ant/cobertura/frame-summary-org.owasp.dependencycheck.taskdefs.html
index 25f8e8d8b..605f51fa8 100644
--- a/dependency-check-ant/cobertura/frame-summary-org.owasp.dependencycheck.taskdefs.html
+++ b/dependency-check-ant/cobertura/frame-summary-org.owasp.dependencycheck.taskdefs.html
@@ -16,7 +16,7 @@
-
DependencyCheckTask (69%)
+DependencyCheckTask (49%)
-
+
diff --git a/dependency-check-ant/cobertura/frame-summary.html b/dependency-check-ant/cobertura/frame-summary.html
index 97b34e03a..227d1d2f4 100644
--- a/dependency-check-ant/cobertura/frame-summary.html
+++ b/dependency-check-ant/cobertura/frame-summary.html
@@ -16,8 +16,8 @@
- Package # Classes Line Coverage Branch Coverage Complexity
+ org.owasp.dependencycheck.taskdefs 2 69% 36% 2.0384615384615383;2.038 org.owasp.dependencycheck.taskdefs 2 49% 39% 2.0125;2.012
-
+
diff --git a/dependency-check-ant/cobertura/org.owasp.dependencycheck.taskdefs.DependencyCheckTask.html b/dependency-check-ant/cobertura/org.owasp.dependencycheck.taskdefs.DependencyCheckTask.html
index c8fb6fe68..c93455378 100644
--- a/dependency-check-ant/cobertura/org.owasp.dependencycheck.taskdefs.DependencyCheckTask.html
+++ b/dependency-check-ant/cobertura/org.owasp.dependencycheck.taskdefs.DependencyCheckTask.html
@@ -12,8 +12,8 @@
- Package # Classes Line Coverage Branch Coverage Complexity
- All Packages 2 69% 36% 2.0384615384615383;2.038
+ org.owasp.dependencycheck.taskdefs 2 69% 36% 2.0384615384615383;2.038
+ All Packages 2 49% 39% 2.0125;2.012 org.owasp.dependencycheck.taskdefs 2 49% 39% 2.0125;2.012
- Classes in this File Line Coverage Branch Coverage Complexity
- DependencyCheckTask 68% 35% 2.0384615384615383;2.038
+ DependencyCheckTask$ReportFormats 100% 100% 2.0384615384615383;2.038
+ DependencyCheckTask 48% 38% 2.0125;2.012 DependencyCheckTask$ReportFormats 100% 100% 2.0125;2.012
100
/**
+ 101
- * Returns the path. If the path has not been initialized yet, this class is synchronized, and will instantiate the * Returns the path. If the path has not been initialized yet, this class is synchronized, and will instantiate the path
+ 102
- * path object. * object.
103
*
104
@@ -314,8 +314,7 @@
*/
- 161
public String getApplicationName() {
+ 162
- return applicationName;
162 0 return applicationName;
163
}
164
@@ -332,10 +331,8 @@
*/
- 170
public void setApplicationName(String applicationName) {
- 171
- this.applicationName = applicationName;
+ 172
- }
+ 171 4 this.applicationName = applicationName;
172 4 }
173
/**
174
@@ -357,8 +354,7 @@
*/
- 183
public String getDataDirectory() {
+ 184
- return dataDirectory;
184 0 return dataDirectory;
185
}
186
@@ -375,10 +371,8 @@
*/
- 192
public void setDataDirectory(String dataDirectory) {
- 193
- this.dataDirectory = dataDirectory;
+ 194
- }
+ 193 0 this.dataDirectory = dataDirectory;
194 0 }
195
/**
196
@@ -400,8 +394,7 @@
*/
- 205
public String getReportOutputDirectory() {
+ 206
- return reportOutputDirectory;
206 0 return reportOutputDirectory;
207
}
208
@@ -418,18 +411,16 @@
*/
- 214
public void setReportOutputDirectory(String reportOutputDirectory) {
- 215
- this.reportOutputDirectory = reportOutputDirectory;
+ 216
- }
+ 215 4 this.reportOutputDirectory = reportOutputDirectory;
216 4 }
217
/**
+ 218
- * Specifies if the build should be failed if a CVSS score above a specified level is identified. The default is 11 * Specifies if the build should be failed if a CVSS score above a specified level is identified. The default is 11 which
+ 219
- * which means since the CVSS scores are 0-10, by default the build will never fail and the CVSS score is set to 11. * means since the CVSS scores are 0-10, by default the build will never fail and the CVSS score is set to 11. The valid range
+ 220
- * The valid range for the fail build on CVSS is 0 to 11, where anything above 10 will not cause the build to fail. * for the fail build on CVSS is 0 to 11, where anything above 10 will not cause the build to fail.
221
*/
@@ -447,8 +438,7 @@
222 4 private float failBuildOnCVSS = 11;
*/
- 229
public float getFailBuildOnCVSS() {
+ 230
- return failBuildOnCVSS;
230 0 return failBuildOnCVSS;
231
}
232
@@ -465,16 +455,14 @@
*/
- 238
public void setFailBuildOnCVSS(float failBuildOnCVSS) {
- 239
- this.failBuildOnCVSS = failBuildOnCVSS;
+ 240
- }
+ 239 1 this.failBuildOnCVSS = failBuildOnCVSS;
240 1 }
241
/**
+ 242
- * Sets whether auto-updating of the NVD CVE/CPE data is enabled. It is not recommended that this be turned to * Sets whether auto-updating of the NVD CVE/CPE data is enabled. It is not recommended that this be turned to false. Default
+ 243
- * false. Default is true. * is true.
244
*/
@@ -492,8 +480,7 @@
245 4 private boolean autoUpdate = true;
*/
- 252
public boolean isAutoUpdate() {
+ 253
- return autoUpdate;
253 0 return autoUpdate;
254
}
255
@@ -510,16 +497,14 @@
*/
- 261
public void setAutoUpdate(boolean autoUpdate) {
- 262
- this.autoUpdate = autoUpdate;
+ 263
- }
+ 262 4 this.autoUpdate = autoUpdate;
263 4 }
264
/**
+ 265
- * The report format to be generated (HTML, XML, VULN, ALL). This configuration option has no affect if using this * The report format to be generated (HTML, XML, VULN, ALL). This configuration option has no affect if using this within the
+ 266
- * within the Site plugin unless the externalReport is set to true. Default is HTML. * Site plugin unless the externalReport is set to true. Default is HTML.
267
*/
@@ -537,8 +522,7 @@
268 4 private String reportFormat = "HTML";
*/
- 275
public String getReportFormat() {
+ 276
- return reportFormat;
276 0 return reportFormat;
277
}
278
@@ -579,8 +563,7 @@
*/
- 297
public String getProxyServer() {
+ 298
- return proxyServer;
298 0 return proxyServer;
299
}
300
@@ -597,10 +580,8 @@
*/
- 306
public void setProxyServer(String server) {
- 307
- this.proxyServer = server;
+ 308
- }
+ 307 0 this.proxyServer = server;
308 0 }
309
310
@@ -619,8 +600,7 @@
@Deprecated
- 317
public String getProxyUrl() {
+ 318
- return proxyServer;
318 0 return proxyServer;
319
}
320
@@ -634,1526 +614,1491 @@
324
* @param proxyUrl new value of proxyServer
+ 325
- * @deprecated use {@link org.owasp.dependencycheck.taskdefs.DependencyCheckTask#setProxyServer(java.lang.String)} * @deprecated use {@link org.owasp.dependencycheck.taskdefs.DependencyCheckTask#setProxyServer(java.lang.String)} instead
+ 326
- * instead */
- 327
- */
- 328
@Deprecated
329
+
- 328
public void setProxyUrl(String proxyUrl) {
- 330 0 LOGGER.warning("A deprecated configuration option 'proxyUrl' was detected; use 'proxyServer' instead.");
- 331 0 this.proxyServer = proxyUrl;
+ 332 0 }
+ 329 0 LOGGER.warning("A deprecated configuration option 'proxyUrl' was detected; use 'proxyServer' instead.");
+ 330 0 this.proxyServer = proxyUrl;
+ 331 0 }
332
+ /**
- 333
- /**
+ 334
* The Proxy Port.
334
+ */
- 335
- */
+ 336
private String proxyPort;
336
+
+ 337
-
/**
- 338
- /**
+ 339
* Get the value of proxyPort.
339
+ *
- 340
- *
+ 341
* @return the value of proxyPort
341
+ */
- 342
- */
+ 343
public String getProxyPort() {
343 0 return proxyPort;
+ 344
- return proxyPort; }
+ 345
- }
+ 346
-
/**
- 347
- /**
+ 348
* Set the value of proxyPort.
348
+ *
- 349
- *
+ 350
* @param proxyPort new value of proxyPort
350
+ */
- 351
- */
- 352
public void setProxyPort(String proxyPort) {
+ 353
- this.proxyPort = proxyPort;
+ 352 0 this.proxyPort = proxyPort;
353 0 }
+ 354
- }
/**
- 355
- /**
+ 356
* The Proxy username.
356
+ */
- 357
- */
+ 358
private String proxyUsername;
358
+
+ 359
-
/**
- 360
- /**
+ 361
* Get the value of proxyUsername.
361
+ *
- 362
- *
+ 363
* @return the value of proxyUsername
363
+ */
- 364
- */
+ 365
public String getProxyUsername() {
365 0 return proxyUsername;
+ 366
- return proxyUsername; }
+ 367
- }
+ 368
-
/**
- 369
- /**
+ 370
* Set the value of proxyUsername.
370
+ *
- 371
- *
+ 372
* @param proxyUsername new value of proxyUsername
372
+ */
- 373
- */
- 374
public void setProxyUsername(String proxyUsername) {
+ 375
- this.proxyUsername = proxyUsername;
+ 374 0 this.proxyUsername = proxyUsername;
375 0 }
+ 376
- }
/**
- 377
- /**
+ 378
* The Proxy password.
378
+ */
- 379
- */
+ 380
private String proxyPassword;
380
+
+ 381
-
/**
- 382
- /**
+ 383
* Get the value of proxyPassword.
383
+ *
- 384
- *
+ 385
* @return the value of proxyPassword
385
+ */
- 386
- */
+ 387
public String getProxyPassword() {
387 0 return proxyPassword;
+ 388
- return proxyPassword; }
+ 389
- }
+ 390
-
/**
- 391
- /**
+ 392
* Set the value of proxyPassword.
392
+ *
- 393
- *
+ 394
* @param proxyPassword new value of proxyPassword
394
+ */
- 395
- */
- 396
public void setProxyPassword(String proxyPassword) {
+ 397
- this.proxyPassword = proxyPassword;
+ 396 0 this.proxyPassword = proxyPassword;
397 0 }
+ 398
- }
/**
- 399
- /**
+ 400
* The Connection Timeout.
400
+ */
- 401
- */
+ 402
private String connectionTimeout;
402
+
+ 403
-
/**
- 404
- /**
+ 405
* Get the value of connectionTimeout.
405
+ *
- 406
- *
+ 407
* @return the value of connectionTimeout
407
+ */
- 408
- */
+ 409
public String getConnectionTimeout() {
409 0 return connectionTimeout;
+ 410
- return connectionTimeout; }
+ 411
- }
+ 412
-
/**
- 413
- /**
+ 414
* Set the value of connectionTimeout.
414
+ *
- 415
- *
+ 416
* @param connectionTimeout new value of connectionTimeout
416
+ */
- 417
- */
- 418
public void setConnectionTimeout(String connectionTimeout) {
+ 419
- this.connectionTimeout = connectionTimeout;
+ 418 0 this.connectionTimeout = connectionTimeout;
419 0 }
+ 420
- }
/**
- 421
- /**
- 422
* The file path used for verbose logging. 423
+
- 422
*/
+ 424 4 private String logFile = null;
+ 423 4 private String logFile = null;
424
+
+ 425
-
/**
- 426
- /**
+ 427
* Get the value of logFile.
427
+ *
- 428
- *
+ 429
* @return the value of logFile
429
+ */
- 430
- */
+ 431
public String getLogFile() {
431 0 return logFile;
+ 432
- return logFile; }
+ 433
- }
+ 434
-
/**
- 435
- /**
+ 436
* Set the value of logFile.
436
+ *
- 437
- *
+ 438
* @param logFile new value of logFile
438
+ */
- 439
- */
- 440
public void setLogFile(String logFile) {
+ 441
- this.logFile = logFile;
+ 440 0 this.logFile = logFile;
441 0 }
+ 442
- }
/**
- 443
- /**
+ 444
* The path to the suppression file.
444
+ */
- 445
- */
+ 446
private String suppressionFile;
446
+
+ 447
-
/**
- 448
- /**
+ 449
* Get the value of suppressionFile.
449
+ *
- 450
- *
+ 451
* @return the value of suppressionFile
451
+ */
- 452
- */
+ 453
public String getSuppressionFile() {
453 0 return suppressionFile;
+ 454
- return suppressionFile; }
+ 455
- }
+ 456
-
/**
- 457
- /**
+ 458
* Set the value of suppressionFile.
458
+ *
- 459
- *
+ 460
* @param suppressionFile new value of suppressionFile
460
+ */
- 461
- */
- 462
public void setSuppressionFile(String suppressionFile) {
+ 463
- this.suppressionFile = suppressionFile;
+ 462 0 this.suppressionFile = suppressionFile;
463 0 }
+ 464
- }
/**
- 465
- /**
- 466
* flag indicating whether or not to show a summary of findings. 467
+
- 466
*/
+ 468 4 private boolean showSummary = true;
+ 467 4 private boolean showSummary = true;
468
+
+ 469
-
/**
- 470
- /**
+ 471
* Get the value of showSummary.
471
+ *
- 472
- *
+ 473
* @return the value of showSummary
473
+ */
- 474
- */
+ 475
public boolean isShowSummary() {
475 0 return showSummary;
+ 476
- return showSummary; }
+ 477
- }
+ 478
-
/**
- 479
- /**
+ 480
* Set the value of showSummary.
480
+ *
- 481
- *
+ 482
* @param showSummary new value of showSummary
482
+ */
- 483
- */
- 484
public void setShowSummary(boolean showSummary) {
+ 485
- this.showSummary = showSummary;
+ 484 0 this.showSummary = showSummary;
485 0 }
+ 486
- }
+ 487
-
/**
+ 488
- /** * Sets whether or not the analyzer is enabled.
+ 489
- * Sets whether or not the analyzer is enabled. *
- 490
- *
+ 491
* @param jarAnalyzerEnabled the value of the new setting
491
+ */
- 492
- */
- 493
public void setJarAnalyzerEnabled(boolean jarAnalyzerEnabled) {
+ 494
- this.jarAnalyzerEnabled = jarAnalyzerEnabled;
+ 493 0 this.jarAnalyzerEnabled = jarAnalyzerEnabled;
494 0 }
+ 495
- }
/**
- 496
- /**
- 497
* Whether or not the Archive Analyzer is enabled. 498
+
- 497
*/
+ 499 4 private boolean archiveAnalyzerEnabled = true;
+ 498 4 private boolean archiveAnalyzerEnabled = true;
499
+
+ 500
-
/**
+ 501
- /** * Returns whether or not the analyzer is enabled.
+ 502
- * Returns whether or not the analyzer is enabled. *
+ 503
- * * @return true if the analyzer is enabled
+ 504
- * @return true if the analyzer is enabled */
- 505
- */
+ 506
public boolean isArchiveAnalyzerEnabled() {
506 0 return archiveAnalyzerEnabled;
+ 507
- return archiveAnalyzerEnabled; }
+ 508
- }
/**
- 509
- /**
- 510
* Whether or not the .NET Assembly Analyzer is enabled. 511
+
- 510
*/
+ 512 4 private boolean assemblyAnalyzerEnabled = true;
+ 511 4 private boolean assemblyAnalyzerEnabled = true;
512
+
+ 513
-
/**
+ 514
- /** * Sets whether or not the analyzer is enabled.
+ 515
- * Sets whether or not the analyzer is enabled. *
- 516
- *
+ 517
* @param archiveAnalyzerEnabled the value of the new setting
517
+ */
- 518
- */
- 519
public void setArchiveAnalyzerEnabled(boolean archiveAnalyzerEnabled) {
+ 520
- this.archiveAnalyzerEnabled = archiveAnalyzerEnabled;
+ 519 0 this.archiveAnalyzerEnabled = archiveAnalyzerEnabled;
520 0 }
+ 521
- }
+ 522
-
/**
+ 523
- /** * Returns whether or not the analyzer is enabled.
+ 524
- * Returns whether or not the analyzer is enabled. *
+ 525
- * * @return true if the analyzer is enabled
+ 526
- * @return true if the analyzer is enabled */
- 527
- */
+ 528
public boolean isAssemblyAnalyzerEnabled() {
528 0 return assemblyAnalyzerEnabled;
+ 529
- return assemblyAnalyzerEnabled; }
+ 530
- }
+ 531
-
/**
+ 532
- /** * Sets whether or not the analyzer is enabled.
+ 533
- * Sets whether or not the analyzer is enabled. *
- 534
- *
+ 535
* @param assemblyAnalyzerEnabled the value of the new setting
535
+ */
- 536
- */
- 537
public void setAssemblyAnalyzerEnabled(boolean assemblyAnalyzerEnabled) {
+ 538
- this.assemblyAnalyzerEnabled = assemblyAnalyzerEnabled;
+ 537 0 this.assemblyAnalyzerEnabled = assemblyAnalyzerEnabled;
538 0 }
+ 539
- }
/**
- 540
- /**
- 541
* Whether or not the .NET Nuspec Analyzer is enabled. 542
+
- 541
*/
+ 543 4 private boolean nuspecAnalyzerEnabled = true;
+ 542 4 private boolean nuspecAnalyzerEnabled = true;
543
+
+ 544
-
/**
- 545
- /**
+ 546
* Returns whether or not the analyzer is enabled.
546
+ *
- 547
- *
+ 548
* @return true if the analyzer is enabled
548
+ */
- 549
- */
+ 550
public boolean isNuspecAnalyzerEnabled() {
550 0 return nuspecAnalyzerEnabled;
+ 551
- return nuspecAnalyzerEnabled; }
+ 552
- }
+ 553
-
/**
- 554
- /**
+ 555
* Sets whether or not the analyzer is enabled.
555
+ *
- 556
- *
+ 557
* @param nuspecAnalyzerEnabled the value of the new setting
557
+ */
- 558
- */
- 559
public void setNuspecAnalyzerEnabled(boolean nuspecAnalyzerEnabled) {
+ 560
- this.nuspecAnalyzerEnabled = nuspecAnalyzerEnabled;
+ 559 0 this.nuspecAnalyzerEnabled = nuspecAnalyzerEnabled;
560 0 }
+ 561
- }
/**
+ 562
-
* Whether or not the central analyzer is enabled.
- 563
- /**
+ 564
- * Whether or not the nexus analyzer is enabled.
+ */
564 4 private boolean centralAnalyzerEnabled = false;
- 565
- */
+ 566 4 private boolean nexusAnalyzerEnabled = true;
+
566
+ /**
+ 567
-
* Get the value of centralAnalyzerEnabled.
+ 568
- /** *
+ 569
- * Get the value of nexusAnalyzerEnabled. * @return the value of centralAnalyzerEnabled
+ 570
- * */
- 571
- * @return the value of nexusAnalyzerEnabled
+ 572
- */
+ public boolean isCentralAnalyzerEnabled() {
572 0 return centralAnalyzerEnabled;
+ 573
- public boolean isNexusAnalyzerEnabled() {
}
+ 574
- return nexusAnalyzerEnabled;
+ 575
- }
/**
+ 576
-
* Set the value of centralAnalyzerEnabled.
+ 577
- /** *
+ 578
- * Set the value of nexusAnalyzerEnabled. * @param centralAnalyzerEnabled new value of centralAnalyzerEnabled
+ 579
- * */
- 580
- * @param nexusAnalyzerEnabled new value of nexusAnalyzerEnabled
- 581
- */
+ 582
- public void setNexusAnalyzerEnabled(boolean nexusAnalyzerEnabled) {
+ public void setCentralAnalyzerEnabled(boolean centralAnalyzerEnabled) {
+ 581 0 this.centralAnalyzerEnabled = centralAnalyzerEnabled;
582 0 }
+ 583
- this.nexusAnalyzerEnabled = nexusAnalyzerEnabled;
+ 584
- }
/**
+ 585
-
* Whether or not the nexus analyzer is enabled.
- 586
- /**
+ 587
- * The URL of the Nexus server.
+ */
587 4 private boolean nexusAnalyzerEnabled = true;
+ 588
- */
+ 589
- private String nexusUrl; /**
+ 590
-
* Get the value of nexusAnalyzerEnabled.
+ 591
- /** *
+ 592
- * Get the value of nexusUrl. * @return the value of nexusAnalyzerEnabled
+ 593
- * */
- 594
- * @return the value of nexusUrl
+ 595
- */
+ public boolean isNexusAnalyzerEnabled() {
595 0 return nexusAnalyzerEnabled;
+ 596
- public String getNexusUrl() { }
+ 597
- return nexusUrl;
+ 598
- }
/**
+ 599
-
* Set the value of nexusAnalyzerEnabled.
+ 600
- /** *
+ 601
- * Set the value of nexusUrl. * @param nexusAnalyzerEnabled new value of nexusAnalyzerEnabled
+ 602
- * */
- 603
- * @param nexusUrl new value of nexusUrl
- 604
- */
+ 605
- public void setNexusUrl(String nexusUrl) {
+ public void setNexusAnalyzerEnabled(boolean nexusAnalyzerEnabled) {
+ 604 0 this.nexusAnalyzerEnabled = nexusAnalyzerEnabled;
605 0 }
+ 606
- this.nexusUrl = nexusUrl;
+ 607
- }
/**
+ 608
- /** * The URL of the Nexus server.
+ 609
- * Whether or not the defined proxy should be used when connecting to Nexus. */
- 610
- */
+ 611 4 private boolean nexusUsesProxy = true;
+ private String nexusUrl;
611
+
+ 612
-
/**
+ 613
- /** * Get the value of nexusUrl.
+ 614
- * Get the value of nexusUsesProxy. *
+ 615
- * * @return the value of nexusUrl
+ 616
- * @return the value of nexusUsesProxy */
- 617
- */
+ 618
- public boolean isNexusUsesProxy() {
+ public String getNexusUrl() {
618 0 return nexusUrl;
+ 619
- return nexusUsesProxy; }
+ 620
- }
+ 621
-
/**
+ 622
- /** * Set the value of nexusUrl.
+ 623
- * Set the value of nexusUsesProxy. *
+ 624
- * * @param nexusUrl new value of nexusUrl
+ 625
- * @param nexusUsesProxy new value of nexusUsesProxy */
- 626
- */
- 627
- public void setNexusUsesProxy(boolean nexusUsesProxy) {
+ 628
- this.nexusUsesProxy = nexusUsesProxy;
+ public void setNexusUrl(String nexusUrl) {
+ 627 0 this.nexusUrl = nexusUrl;
628 0 }
+ 629
- }
/**
+ 630
-
* Whether or not the defined proxy should be used when connecting to Nexus.
- 631
- /**
+ 632
- * The database driver name; such as org.h2.Driver.
+ */
632 4 private boolean nexusUsesProxy = true;
+ 633
- */
+ 634
- private String databaseDriverName; /**
+ 635
-
* Get the value of nexusUsesProxy.
+ 636
- /** *
+ 637
- * Get the value of databaseDriverName. * @return the value of nexusUsesProxy
+ 638
- * */
- 639
- * @return the value of databaseDriverName
+ 640
- */
+ public boolean isNexusUsesProxy() {
640 0 return nexusUsesProxy;
+ 641
- public String getDatabaseDriverName() { }
+ 642
- return databaseDriverName;
+ 643
- }
/**
+ 644
-
* Set the value of nexusUsesProxy.
+ 645
- /** *
+ 646
- * Set the value of databaseDriverName. * @param nexusUsesProxy new value of nexusUsesProxy
+ 647
- * */
- 648
- * @param databaseDriverName new value of databaseDriverName
- 649
- */
+ 650
- public void setDatabaseDriverName(String databaseDriverName) {
+ public void setNexusUsesProxy(boolean nexusUsesProxy) {
+ 649 0 this.nexusUsesProxy = nexusUsesProxy;
650 0 }
+ 651
- this.databaseDriverName = databaseDriverName;
+ 652
- }
/**
+ 653
-
* The database driver name; such as org.h2.Driver.
+ 654
- /** */
+ 655
- * The path to the database driver JAR file if it is not on the class path. private String databaseDriverName;
+ 656
- */
+ 657
- private String databaseDriverPath; /**
+ 658
-
* Get the value of databaseDriverName.
+ 659
- /** *
+ 660
- * Get the value of databaseDriverPath. * @return the value of databaseDriverName
+ 661
- * */
- 662
- * @return the value of databaseDriverPath
+ 663
- */
+ public String getDatabaseDriverName() {
663 0 return databaseDriverName;
+ 664
- public String getDatabaseDriverPath() { }
+ 665
- return databaseDriverPath;
+ 666
- }
/**
+ 667
-
* Set the value of databaseDriverName.
+ 668
- /** *
+ 669
- * Set the value of databaseDriverPath. * @param databaseDriverName new value of databaseDriverName
+ 670
- * */
- 671
- * @param databaseDriverPath new value of databaseDriverPath
- 672
- */
+ 673
- public void setDatabaseDriverPath(String databaseDriverPath) {
+ public void setDatabaseDriverName(String databaseDriverName) {
+ 672 0 this.databaseDriverName = databaseDriverName;
673 0 }
+ 674
- this.databaseDriverPath = databaseDriverPath;
+ 675
- }
/**
+ 676
- /** * The path to the database driver JAR file if it is not on the class path.
+ 677
- * The database connection string. */
+ 678
- */ private String databaseDriverPath;
+ 679
- private String connectionString;
+ 680
-
/**
+ 681
- /** * Get the value of databaseDriverPath.
+ 682
- * Get the value of connectionString. *
+ 683
- * * @return the value of databaseDriverPath
+ 684
- * @return the value of connectionString */
- 685
- */
+ 686
- public String getConnectionString() {
+ public String getDatabaseDriverPath() {
686 0 return databaseDriverPath;
+ 687
- return connectionString; }
+ 688
- }
+ 689
-
/**
+ 690
- /** * Set the value of databaseDriverPath.
+ 691
- * Set the value of connectionString. *
+ 692
- * * @param databaseDriverPath new value of databaseDriverPath
+ 693
- * @param connectionString new value of connectionString */
- 694
- */
- 695
- public void setConnectionString(String connectionString) {
+ 696
- this.connectionString = connectionString;
+ public void setDatabaseDriverPath(String databaseDriverPath) {
+ 695 0 this.databaseDriverPath = databaseDriverPath;
696 0 }
+ 697
- }
/**
+ 698
- /** * The database connection string.
+ 699
- * The user name for connecting to the database. */
+ 700
- */ private String connectionString;
+ 701
- private String databaseUser;
+ 702
-
/**
+ 703
- /** * Get the value of connectionString.
+ 704
- * Get the value of databaseUser. *
+ 705
- * * @return the value of connectionString
+ 706
- * @return the value of databaseUser */
- 707
- */
+ 708
- public String getDatabaseUser() {
+ public String getConnectionString() {
708 0 return connectionString;
+ 709
- return databaseUser; }
+ 710
- }
+ 711
-
/**
+ 712
- /** * Set the value of connectionString.
+ 713
- * Set the value of databaseUser. *
+ 714
- * * @param connectionString new value of connectionString
+ 715
- * @param databaseUser new value of databaseUser */
- 716
- */
- 717
- public void setDatabaseUser(String databaseUser) {
+ 718
- this.databaseUser = databaseUser;
+ public void setConnectionString(String connectionString) {
+ 717 0 this.connectionString = connectionString;
718 0 }
+ 719
- }
/**
+ 720
-
* The user name for connecting to the database.
+ 721
- /** */
+ 722
- * The password to use when connecting to the database. private String databaseUser;
+ 723
- */
+ 724
- private String databasePassword; /**
+ 725
-
* Get the value of databaseUser.
+ 726
- /** *
+ 727
- * Get the value of databasePassword. * @return the value of databaseUser
+ 728
- * */
- 729
- * @return the value of databasePassword
+ 730
- */
+ public String getDatabaseUser() {
730 0 return databaseUser;
+ 731
- public String getDatabasePassword() { }
+ 732
- return databasePassword;
+ 733
- }
/**
+ 734
-
* Set the value of databaseUser.
+ 735
- /** *
+ 736
- * Set the value of databasePassword. * @param databaseUser new value of databaseUser
+ 737
- * */
- 738
- * @param databasePassword new value of databasePassword
- 739
- */
+ 740
- public void setDatabasePassword(String databasePassword) {
+ public void setDatabaseUser(String databaseUser) {
+ 739 0 this.databaseUser = databaseUser;
740 0 }
+ 741
- this.databasePassword = databasePassword;
+ 742
- }
/**
+ 743
-
* The password to use when connecting to the database.
+ 744
- /** */
+ 745
- * Additional ZIP File extensions to add analyze. This should be a comma-separated list of file extensions to treat private String databasePassword;
+ 746
- * like ZIP files.
+ 747
- */ /**
+ 748
- private String zipExtensions; * Get the value of databasePassword.
+ 749
-
*
+ 750
- /** * @return the value of databasePassword
+ 751
- * Get the value of zipExtensions. */
- 752
- *
+ 753
- * @return the value of zipExtensions
+ public String getDatabasePassword() {
753 0 return databasePassword;
+ 754
- */ }
+ 755
- public String getZipExtensions() {
+ 756
- return zipExtensions; /**
+ 757
- }
* Set the value of databasePassword.
+ 758
-
*
+ 759
- /** * @param databasePassword new value of databasePassword
+ 760
- * Set the value of zipExtensions. */
- 761
- *
- 762
- * @param zipExtensions new value of zipExtensions
+ 763
- */
+ public void setDatabasePassword(String databasePassword) {
+ 762 0 this.databasePassword = databasePassword;
763 0 }
+ 764
- public void setZipExtensions(String zipExtensions) {
+ 765
- this.zipExtensions = zipExtensions; /**
+ 766
- }
* Additional ZIP File extensions to add analyze. This should be a comma-separated list of file extensions to treat like ZIP
+ 767
-
* files.
+ 768
- /** */
+ 769
- * The url for the modified NVD CVE (1.2 schema). private String zipExtensions;
+ 770
- */
+ 771
- private String cveUrl12Modified; /**
+ 772
-
* Get the value of zipExtensions.
+ 773
- /** *
+ 774
- * Get the value of cveUrl12Modified. * @return the value of zipExtensions
+ 775
- * */
- 776
- * @return the value of cveUrl12Modified
+ 777
- */
+ public String getZipExtensions() {
777 0 return zipExtensions;
+ 778
- public String getCveUrl12Modified() { }
+ 779
- return cveUrl12Modified;
+ 780
- }
/**
+ 781
-
* Set the value of zipExtensions.
+ 782
- /** *
+ 783
- * Set the value of cveUrl12Modified. * @param zipExtensions new value of zipExtensions
+ 784
- * */
- 785
- * @param cveUrl12Modified new value of cveUrl12Modified
- 786
- */
+ 787
- public void setCveUrl12Modified(String cveUrl12Modified) {
+ public void setZipExtensions(String zipExtensions) {
+ 786 0 this.zipExtensions = zipExtensions;
787 0 }
+ 788
- this.cveUrl12Modified = cveUrl12Modified;
+ 789
- }
/**
+ 790
-
* The url for the modified NVD CVE (1.2 schema).
+ 791
- /** */
+ 792
- * The url for the modified NVD CVE (2.0 schema). private String cveUrl12Modified;
+ 793
- */
+ 794
- private String cveUrl20Modified; /**
+ 795
-
* Get the value of cveUrl12Modified.
+ 796
- /** *
+ 797
- * Get the value of cveUrl20Modified. * @return the value of cveUrl12Modified
+ 798
- * */
- 799
- * @return the value of cveUrl20Modified
+ 800
- */
+ public String getCveUrl12Modified() {
800 0 return cveUrl12Modified;
+ 801
- public String getCveUrl20Modified() { }
+ 802
- return cveUrl20Modified;
+ 803
- }
/**
+ 804
-
* Set the value of cveUrl12Modified.
+ 805
- /** *
+ 806
- * Set the value of cveUrl20Modified. * @param cveUrl12Modified new value of cveUrl12Modified
+ 807
- * */
- 808
- * @param cveUrl20Modified new value of cveUrl20Modified
- 809
- */
+ 810
- public void setCveUrl20Modified(String cveUrl20Modified) {
+ public void setCveUrl12Modified(String cveUrl12Modified) {
+ 809 0 this.cveUrl12Modified = cveUrl12Modified;
810 0 }
+ 811
- this.cveUrl20Modified = cveUrl20Modified;
+ 812
- }
/**
+ 813
-
* The url for the modified NVD CVE (2.0 schema).
+ 814
- /** */
+ 815
- * Base Data Mirror URL for CVE 1.2. private String cveUrl20Modified;
+ 816
- */
+ 817
- private String cveUrl12Base; /**
+ 818
-
* Get the value of cveUrl20Modified.
+ 819
- /** *
+ 820
- * Get the value of cveUrl12Base. * @return the value of cveUrl20Modified
+ 821
- * */
- 822
- * @return the value of cveUrl12Base
+ 823
- */
+ public String getCveUrl20Modified() {
823 0 return cveUrl20Modified;
+ 824
- public String getCveUrl12Base() { }
+ 825
- return cveUrl12Base;
+ 826
- }
/**
+ 827
-
* Set the value of cveUrl20Modified.
+ 828
- /** *
+ 829
- * Set the value of cveUrl12Base. * @param cveUrl20Modified new value of cveUrl20Modified
+ 830
- * */
- 831
- * @param cveUrl12Base new value of cveUrl12Base
- 832
- */
+ 833
- public void setCveUrl12Base(String cveUrl12Base) {
+ public void setCveUrl20Modified(String cveUrl20Modified) {
+ 832 0 this.cveUrl20Modified = cveUrl20Modified;
833 0 }
+ 834
- this.cveUrl12Base = cveUrl12Base;
+ 835
- }
/**
+ 836
-
* Base Data Mirror URL for CVE 1.2.
+ 837
- /** */
+ 838
- * Data Mirror URL for CVE 2.0. private String cveUrl12Base;
+ 839
- */
+ 840
- private String cveUrl20Base; /**
+ 841
-
* Get the value of cveUrl12Base.
+ 842
- /** *
+ 843
- * Get the value of cveUrl20Base. * @return the value of cveUrl12Base
+ 844
- * */
- 845
- * @return the value of cveUrl20Base
+ 846
- */
+ public String getCveUrl12Base() {
846 0 return cveUrl12Base;
+ 847
- public String getCveUrl20Base() { }
+ 848
- return cveUrl20Base;
+ 849
- }
/**
+ 850
-
* Set the value of cveUrl12Base.
+ 851
- /** *
+ 852
- * Set the value of cveUrl20Base. * @param cveUrl12Base new value of cveUrl12Base
+ 853
- * */
- 854
- * @param cveUrl20Base new value of cveUrl20Base
- 855
- */
+ 856
- public void setCveUrl20Base(String cveUrl20Base) {
+ public void setCveUrl12Base(String cveUrl12Base) {
+ 855 0 this.cveUrl12Base = cveUrl12Base;
856 0 }
+ 857
- this.cveUrl20Base = cveUrl20Base;
+ 858
- }
/**
+ 859
- /** * Data Mirror URL for CVE 2.0.
+ 860
- * The path to Mono for .NET assembly analysis on non-windows systems. */
+ 861
- */ private String cveUrl20Base;
+ 862
- private String pathToMono;
+ 863
-
/**
+ 864
- /** * Get the value of cveUrl20Base.
+ 865
- * Get the value of pathToMono. *
+ 866
- * * @return the value of cveUrl20Base
+ 867
- * @return the value of pathToMono */
- 868
- */
+ 869
- public String getPathToMono() {
+ public String getCveUrl20Base() {
869 0 return cveUrl20Base;
+ 870
- return pathToMono; }
+ 871
- }
+ 872
-
/**
+ 873
- /** * Set the value of cveUrl20Base.
+ 874
- * Set the value of pathToMono. *
+ 875
- * * @param cveUrl20Base new value of cveUrl20Base
+ 876
- * @param pathToMono new value of pathToMono */
- 877
- */
- 878
- public void setPathToMono(String pathToMono) {
+ 879
- this.pathToMono = pathToMono;
+ public void setCveUrl20Base(String cveUrl20Base) {
+ 878 0 this.cveUrl20Base = cveUrl20Base;
879 0 }
+ 880
- }
/**
+ 881
-
* The path to Mono for .NET assembly analysis on non-windows systems.
+ 882
- @Override
*/
- 883
- public void execute() throws BuildException {
- 884 4 final InputStream in = DependencyCheckTask.class.getClassLoader().getResourceAsStream(LOG_PROPERTIES_FILE);
+ 885 4 LogUtils.prepareLogger(in, logFile);
+ private String pathToMono;
+ 884
+
885
+ /**
- 886
-
- 887 4 dealWithReferences();
- 888 4 validateConfiguration();
- 889 3 populateSettings();
- 890
-
- 891 3 Engine engine = null;
- 892
- try {
- 893 3 engine = new Engine(DependencyCheckTask.class.getClassLoader());
- 894
-
- 895 3 for (Resource resource : path) {
- 896 5 final FileProvider provider = resource.as(FileProvider.class);
- 897 5 if (provider != null) {
- 898 5 final File file = provider.getFile();
- 899 5 if (file != null && file.exists()) {
- 900 4 engine.scan(file);
- 901
- }
- 902
- }
- 903 5 }
- 904
- try {
- 905 3 engine.analyzeDependencies();
- 906 3 DatabaseProperties prop = null;
- 907 3 CveDB cve = null;
- 908
- try {
- 909 3 cve = new CveDB();
- 910 3 cve.open();
- 911 3 prop = cve.getDatabaseProperties();
- 912 0 } catch (DatabaseException ex) {
- 913 0 LOGGER.log(Level.FINE, "Unable to retrieve DB Properties", ex);
- 914
- } finally {
- 915 3 if (cve != null) {
- 916 3 cve.close();
- 917
- }
- 918
- }
- 919 3 final ReportGenerator reporter = new ReportGenerator(applicationName, engine.getDependencies(), engine.getAnalyzers(), prop);
- 920 3 reporter.generateReports(reportOutputDirectory, reportFormat);
- 921
-
- 922 3 if (this.failBuildOnCVSS <= 10) {
- 923 0 checkForFailure(engine.getDependencies());
- 924
- }
- 925 3 if (this.showSummary) {
- 926 3 showSummary(engine.getDependencies());
- 927
- }
- 928 0 } catch (IOException ex) {
- 929 0 LOGGER.log(Level.FINE, "Unable to generate dependency-check report", ex);
- 930 0 throw new BuildException("Unable to generate dependency-check report", ex);
- 931 0 } catch (Exception ex) {
- 932 0 LOGGER.log(Level.FINE, "An exception occurred; unable to continue task", ex);
- 933 0 throw new BuildException("An exception occurred; unable to continue task", ex);
- 934 3 }
- 935 0 } catch (DatabaseException ex) {
- 936 0 LOGGER.log(Level.SEVERE, "Unable to connect to the dependency-check database; analysis has stopped");
- 937 0 LOGGER.log(Level.FINE, "", ex);
- 938
- } finally {
- 939 3 Settings.cleanup(true);
- 940 3 if (engine != null) {
- 941 3 engine.cleanup();
- 942
- }
- 943
- }
- 944 3 }
- 945
-
- 946
- /**
- 947
- * Validate the configuration to ensure the parameters have been properly configured/initialized.
+ 948
+ * Get the value of pathToMono.
- 887
*
- 949
- * @throws BuildException if the task was not configured correctly. 950
+
+ 888
+ * @return the value of pathToMono
- 889
*/
- 951
- private void validateConfiguration() throws BuildException {
- 952 4 if (path == null) {
- 953 1 throw new BuildException("No project dependencies have been defined to analyze.");
- 954
- }
- 955 3 if (failBuildOnCVSS < 0 || failBuildOnCVSS > 11) {
- 956 0 throw new BuildException("Invalid configuration, failBuildOnCVSS must be between 0 and 11.");
- 957
- }
- 958 3 }
959
+
+ 890
+ public String getPathToMono() {
+ 891 0 return pathToMono;
+ 892
+ }
- 893
960
+
- 894
/**
- 961
- * Takes the properties supplied and updates the dependency-check settings. Additionally, this sets the system
- 962
- * properties required to change the proxy server, port, and connection timeout. 963
+
+ 895
+ * Set the value of pathToMono.
+ 896
+ *
+ 897
+ * @param pathToMono new value of pathToMono
- 898
*/
- 964
- private void populateSettings() {
- 965 3 Settings.initialize();
- 966 3 InputStream taskProperties = null; 967
+
+ 899
+ public void setPathToMono(String pathToMono) {
+ 900 0 this.pathToMono = pathToMono;
+ 901 0 }
+ 902
+
+ 903
+ @Override
+ 904
+ public void execute() throws BuildException {
+ 905 4 final InputStream in = DependencyCheckTask.class.getClassLoader().getResourceAsStream(LOG_PROPERTIES_FILE);
+ 906 4 LogUtils.prepareLogger(in, logFile);
+ 907
+
+ 908 4 dealWithReferences();
+ 909 4 validateConfiguration();
+ 910 3 populateSettings();
+ 911
+
+ 912 3 Engine engine = null;
- 913
try {
- 968 3 taskProperties = this.getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
- 969 3 Settings.mergeProperties(taskProperties);
- 970 0 } catch (IOException ex) {
- 971 0 LOGGER.log(Level.WARNING, "Unable to load the dependency-check ant task.properties file.");
- 972 0 LOGGER.log(Level.FINE, null, ex);
- 973
- } finally {
- 974 3 if (taskProperties != null) { 975
+
+ 914 3 engine = new Engine(DependencyCheckTask.class.getClassLoader());
+ 915
+
+ 916 3 for (Resource resource : path) {
+ 917 5 final FileProvider provider = resource.as(FileProvider.class);
+ 918 5 if (provider != null) {
+ 919 5 final File file = provider.getFile();
+ 920 5 if (file != null && file.exists()) {
+ 921 4 engine.scan(file);
+ 922
+ }
+ 923
+ }
+ 924 5 }
+ 925
+ try {
+ 926 3 engine.analyzeDependencies();
+ 927 3 DatabaseProperties prop = null;
+ 928 3 CveDB cve = null;
- 929
try {
- 976 3 taskProperties.close();
- 977 0 } catch (IOException ex) {
- 978 0 LOGGER.log(Level.FINEST, null, ex);
- 979 3 }
980
+
+ 930 3 cve = new CveDB();
+ 931 3 cve.open();
+ 932 3 prop = cve.getDatabaseProperties();
+ 933 0 } catch (DatabaseException ex) {
+ 934 0 LOGGER.log(Level.FINE, "Unable to retrieve DB Properties", ex);
+ 935
+ } finally {
+ 936 3 if (cve != null) {
+ 937 3 cve.close();
+ 938
+ }
+ 939
+ }
+ 940 3 final ReportGenerator reporter = new ReportGenerator(applicationName, engine.getDependencies(), engine.getAnalyzers(), prop);
+ 941 3 reporter.generateReports(reportOutputDirectory, reportFormat);
+ 942
+
+ 943 3 if (this.failBuildOnCVSS <= 10) {
+ 944 0 checkForFailure(engine.getDependencies());
+ 945
+ }
+ 946 3 if (this.showSummary) {
+ 947 3 showSummary(engine.getDependencies());
+ 948
+ }
+ 949 0 } catch (IOException ex) {
+ 950 0 LOGGER.log(Level.FINE, "Unable to generate dependency-check report", ex);
+ 951 0 throw new BuildException("Unable to generate dependency-check report", ex);
+ 952 0 } catch (Exception ex) {
+ 953 0 LOGGER.log(Level.FINE, "An exception occurred; unable to continue task", ex);
+ 954 0 throw new BuildException("An exception occurred; unable to continue task", ex);
+ 955 3 }
+ 956 0 } catch (DatabaseException ex) {
+ 957 0 LOGGER.log(Level.SEVERE, "Unable to connect to the dependency-check database; analysis has stopped");
+ 958 0 LOGGER.log(Level.FINE, "", ex);
+ 959
+ } finally {
+ 960 3 Settings.cleanup(true);
+ 961 3 if (engine != null) {
+ 962 3 engine.cleanup();
+ 963
}
+ 964
+ }
+ 965 3 }
+ 966
+
+ 967
+ /**
+ 968
+ * Validate the configuration to ensure the parameters have been properly configured/initialized.
+ 969
+ *
+ 970
+ * @throws BuildException if the task was not configured correctly.
+ 971
+ */
+ 972
+ private void validateConfiguration() throws BuildException {
+ 973 4 if (path == null) {
+ 974 1 throw new BuildException("No project dependencies have been defined to analyze.");
+ 975
+ }
+ 976 3 if (failBuildOnCVSS < 0 || failBuildOnCVSS > 11) {
+ 977 0 throw new BuildException("Invalid configuration, failBuildOnCVSS must be between 0 and 11.");
+ 978
+ }
+ 979 3 }
980
+
- 981
- }
- 982 3 if (dataDirectory != null) {
+ 983 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDirectory);
+ /**
+ 982
+ * Takes the properties supplied and updates the dependency-check settings. Additionally, this sets the system properties
983
+ * required to change the proxy server, port, and connection timeout.
- 984
- } else {
- 985 3 final File jarPath = new File(DependencyCheckTask.class.getProtectionDomain().getCodeSource().getLocation().getPath());
- 986 3 final File base = jarPath.getParentFile();
- 987 3 final String sub = Settings.getString(Settings.KEYS.DATA_DIRECTORY);
- 988 3 final File dataDir = new File(base, sub);
- 989 3 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath());
- 990
- }
- 991
-
- 992 3 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
- 993
-
- 994 3 if (proxyServer != null && !proxyServer.isEmpty()) {
+ 995 0 Settings.setString(Settings.KEYS.PROXY_SERVER, proxyServer);
+ */
+ 985
+ private void populateSettings() {
+ 986 3 Settings.initialize();
+ 987 3 InputStream taskProperties = null;
+ 988
+ try {
+ 989 3 taskProperties = this.getClass().getClassLoader().getResourceAsStream(PROPERTIES_FILE);
+ 990 3 Settings.mergeProperties(taskProperties);
+ 991 0 } catch (IOException ex) {
+ 992 0 LOGGER.log(Level.WARNING, "Unable to load the dependency-check ant task.properties file.");
+ 993 0 LOGGER.log(Level.FINE, null, ex);
+ 994
+ } finally {
995 3 if (taskProperties != null) {
- 996
- }
- 997 3 if (proxyPort != null && !proxyPort.isEmpty()) {
- 998 0 Settings.setString(Settings.KEYS.PROXY_PORT, proxyPort);
- 999
- }
- 1000 3 if (proxyUsername != null && !proxyUsername.isEmpty()) {
+ 1001 0 Settings.setString(Settings.KEYS.PROXY_USERNAME, proxyUsername);
+ try {
+ 997 3 taskProperties.close();
+ 998 0 } catch (IOException ex) {
+ 999 0 LOGGER.log(Level.FINEST, null, ex);
+ 1000 3 }
1001
+ }
- 1002
}
- 1003 3 if (proxyPassword != null && !proxyPassword.isEmpty()) {
+ 1004 0 Settings.setString(Settings.KEYS.PROXY_PASSWORD, proxyPassword);
+ 1003 3 if (dataDirectory != null) {
1004 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDirectory);
- 1005
- }
- 1006 3 if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
- 1007 0 Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
- 1008
- }
- 1009 3 if (suppressionFile != null && !suppressionFile.isEmpty()) {
+ 1010 0 Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
+ } else {
+ 1006 3 final File jarPath = new File(DependencyCheckTask.class.getProtectionDomain().getCodeSource().getLocation().getPath());
+ 1007 3 final File base = jarPath.getParentFile();
+ 1008 3 final String sub = Settings.getString(Settings.KEYS.DATA_DIRECTORY);
+ 1009 3 final File dataDir = new File(base, sub);
1010 3 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath());
1011
}
- 1012
+ 1013
- //File Type Analyzer Settings
1013 3 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
- 1014
- //JAR ANALYZER
- 1015 3 Settings.setBoolean(Settings.KEYS.ANALYZER_JAR_ENABLED, jarAnalyzerEnabled);
- 1016
- //NUSPEC ANALYZER
- 1017 3 Settings.setBoolean(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, nuspecAnalyzerEnabled);
- 1018
- //NEXUS ANALYZER
- 1019 3 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, nexusAnalyzerEnabled);
- 1020 3 if (nexusUrl != null && !nexusUrl.isEmpty()) {
- 1021 0 Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
+ 1022
+
+ 1015 3 if (proxyServer != null && !proxyServer.isEmpty()) {
+ 1016 0 Settings.setString(Settings.KEYS.PROXY_SERVER, proxyServer);
- 1017
}
- 1023 3 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY, nexusUsesProxy);
- 1024
- //ARCHIVE ANALYZER
- 1025 3 Settings.setBoolean(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, archiveAnalyzerEnabled);
- 1026 3 if (zipExtensions != null && !zipExtensions.isEmpty()) {
- 1027 0 Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions); 1028
+
+ 1018 3 if (proxyPort != null && !proxyPort.isEmpty()) {
+ 1019 0 Settings.setString(Settings.KEYS.PROXY_PORT, proxyPort);
+ 1020
}
+ 1021 3 if (proxyUsername != null && !proxyUsername.isEmpty()) {
+ 1022 0 Settings.setString(Settings.KEYS.PROXY_USERNAME, proxyUsername);
+ 1023
+ }
+ 1024 3 if (proxyPassword != null && !proxyPassword.isEmpty()) {
+ 1025 0 Settings.setString(Settings.KEYS.PROXY_PASSWORD, proxyPassword);
+ 1026
+ }
+ 1027 3 if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
1028 0 Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
- 1029
- //ASSEMBLY ANALYZER
- 1030 3 Settings.setBoolean(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, assemblyAnalyzerEnabled);
- 1031 3 if (pathToMono != null && !pathToMono.isEmpty()) {
+ 1032 0 Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
+ }
+ 1030 3 if (suppressionFile != null && !suppressionFile.isEmpty()) {
+ 1031 0 Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
1032
+ }
+ 1033
- }
- 1034
-
- 1035 3 if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
+ 1036 0 Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
+ //File Type Analyzer Settings
+ 1035
+ //JAR ANALYZER
1036 3 Settings.setBoolean(Settings.KEYS.ANALYZER_JAR_ENABLED, jarAnalyzerEnabled);
+ 1037
+ //NUSPEC ANALYZER
+ 1038 3 Settings.setBoolean(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, nuspecAnalyzerEnabled);
+ 1039
+ //CENTRAL ANALYZER
+ 1040 3 Settings.setBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, centralAnalyzerEnabled);
+ 1041
+ //NEXUS ANALYZER
+ 1042 3 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, nexusAnalyzerEnabled);
+ 1043 3 if (nexusUrl != null && !nexusUrl.isEmpty()) {
+ 1044 0 Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
- 1045
}
- 1038 3 if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
- 1039 0 Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath); 1040
+
+ 1046 3 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY, nexusUsesProxy);
+ 1047
+ //ARCHIVE ANALYZER
+ 1048 3 Settings.setBoolean(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, archiveAnalyzerEnabled);
+ 1049 3 if (zipExtensions != null && !zipExtensions.isEmpty()) {
+ 1050 0 Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions);
- 1051
}
- 1041 3 if (connectionString != null && !connectionString.isEmpty()) {
- 1042 0 Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
- 1043
- }
- 1044 3 if (databaseUser != null && !databaseUser.isEmpty()) {
- 1045 0 Settings.setString(Settings.KEYS.DB_USER, databaseUser);
- 1046
- }
- 1047 3 if (databasePassword != null && !databasePassword.isEmpty()) {
- 1048 0 Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword);
- 1049
- }
- 1050 3 if (cveUrl12Modified != null && !cveUrl12Modified.isEmpty()) {
1051 0 Settings.setString(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
+ 1052
+ //ASSEMBLY ANALYZER
+ 1053 3 Settings.setBoolean(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, assemblyAnalyzerEnabled);
+ 1054 3 if (pathToMono != null && !pathToMono.isEmpty()) {
+ 1055 0 Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
- 1056
}
- 1053 3 if (cveUrl20Modified != null && !cveUrl20Modified.isEmpty()) {
- 1054 0 Settings.setString(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified); 1055
+
+ 1057
+
+ 1058 3 if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
+ 1059 0 Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
- 1060
}
- 1056 3 if (cveUrl12Base != null && !cveUrl12Base.isEmpty()) {
- 1057 0 Settings.setString(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
- 1058
- }
- 1059 3 if (cveUrl20Base != null && !cveUrl20Base.isEmpty()) {
- 1060 0 Settings.setString(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
- 1061
- }
+ 1062 3 }
+ 1061 3 if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
1062 0 Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
- 1063
-
- 1064
- /**
+ 1065
- * Checks to see if a vulnerability has been identified with a CVSS score that is above the threshold set in the
+ }
+ 1064 3 if (connectionString != null && !connectionString.isEmpty()) {
1065 0 Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
- 1066
- * configuration.
- 1067
- *
+ 1068
- * @param dependencies the list of dependency objects
+ }
+ 1067 3 if (databaseUser != null && !databaseUser.isEmpty()) {
1068 0 Settings.setString(Settings.KEYS.DB_USER, databaseUser);
- 1069
- * @throws BuildException thrown if a CVSS score is found that is higher then the threshold set
- 1070
- */
- 1071
- private void checkForFailure(List<Dependency> dependencies) throws BuildException {
- 1072 0 final StringBuilder ids = new StringBuilder();
- 1073 0 for (Dependency d : dependencies) {
- 1074 0 for (Vulnerability v : d.getVulnerabilities()) {
- 1075 0 if (v.getCvssScore() >= failBuildOnCVSS) {
- 1076 0 if (ids.length() == 0) {
+ 1077 0 ids.append(v.getName());
+ }
+ 1070 3 if (databasePassword != null && !databasePassword.isEmpty()) {
+ 1071 0 Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword);
+ 1072
+ }
+ 1073 3 if (cveUrl12Modified != null && !cveUrl12Modified.isEmpty()) {
+ 1074 0 Settings.setString(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
+ 1075
+ }
+ 1076 3 if (cveUrl20Modified != null && !cveUrl20Modified.isEmpty()) {
1077 0 Settings.setString(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified);
- 1078
- } else {
- 1079 0 ids.append(", ").append(v.getName());
+ 1080
- }
+ }
+ 1079 3 if (cveUrl12Base != null && !cveUrl12Base.isEmpty()) {
1080 0 Settings.setString(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
- 1081
- }
- 1082 0 }
- 1083 0 }
- 1084 0 if (ids.length() > 0) {
+ 1085 0 final String msg = String.format("%n%nDependency-Check Failure:%n"
+ }
+ 1082 3 if (cveUrl20Base != null && !cveUrl20Base.isEmpty()) {
+ 1083 0 Settings.setString(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
+ 1084
+ }
1085 3 }
+ 1086
- + "One or more dependencies were identified with vulnerabilities that have a CVSS score greater then '%.1f': %s%n"
- 1087
- + "See the dependency-check report for more details.%n%n", failBuildOnCVSS, ids.toString());
+ 1088 0 throw new BuildException(msg);
+ /**
1088
+ * Checks to see if a vulnerability has been identified with a CVSS score that is above the threshold set in the
- 1089
- }
+ 1090 0 }
+ * configuration.
1090
+ *
+ 1091
-
* @param dependencies the list of dependency objects
+ 1092
- /** * @throws BuildException thrown if a CVSS score is found that is higher then the threshold set
+ 1093
- * Generates a warning message listing a summary of dependencies and their associated CPE and CVE entries. */
- 1094
- *
- 1095
- * @param dependencies a list of dependency objects
- 1096
- */
- 1097
- private void showSummary(List<Dependency> dependencies) {
- 1098 3 final StringBuilder summary = new StringBuilder();
- 1099 3 for (Dependency d : dependencies) {
- 1100 5 boolean firstEntry = true;
- 1101 5 final StringBuilder ids = new StringBuilder();
- 1102 5 for (Vulnerability v : d.getVulnerabilities()) {
- 1103 22 if (firstEntry) {
- 1104 4 firstEntry = false;
- 1105
- } else {
- 1106 18 ids.append(", ");
- 1107
- }
- 1108 22 ids.append(v.getName());
- 1109 22 }
- 1110 5 if (ids.length() > 0) {
- 1111 4 summary.append(d.getFileName()).append(" (");
- 1112 4 firstEntry = true;
- 1113 4 for (Identifier id : d.getIdentifiers()) {
- 1114 15 if (firstEntry) {
- 1115 4 firstEntry = false;
+ 1116
+ private void checkForFailure(List<Dependency> dependencies) throws BuildException {
+ 1095 0 final StringBuilder ids = new StringBuilder();
+ 1096 0 for (Dependency d : dependencies) {
+ 1097 0 for (Vulnerability v : d.getVulnerabilities()) {
+ 1098 0 if (v.getCvssScore() >= failBuildOnCVSS) {
+ 1099 0 if (ids.length() == 0) {
+ 1100 0 ids.append(v.getName());
- 1101
} else {
- 1117 11 summary.append(", "); 1118
+
+ 1102 0 ids.append(", ").append(v.getName());
- 1103
}
- 1119 15 summary.append(id.getValue());
- 1120 15 }
- 1121 4 summary.append(") : ").append(ids).append(NEW_LINE);
- 1122
- }
- 1123 5 }
- 1124 3 if (summary.length() > 0) {
- 1125 3 final String msg = String.format("%n%n"
- 1126
- + "One or more dependencies were identified with known vulnerabilities:%n%n%s"
- 1127
- + "%n%nSee the dependency-check report for more details.%n%n", summary.toString());
- 1128 3 LOGGER.log(Level.WARNING, msg);
1129
+
+ 1104
+ }
+ 1105 0 }
+ 1106 0 }
+ 1107 0 if (ids.length() > 0) {
+ 1108 0 final String msg = String.format("%n%nDependency-Check Failure:%n"
+ 1109
+ + "One or more dependencies were identified with vulnerabilities that have a CVSS score greater then '%.1f': %s%n"
+ 1110
+ + "See the dependency-check report for more details.%n%n", failBuildOnCVSS, ids.toString());
+ 1111 0 throw new BuildException(msg);
- 1112
}
- 1130 3 }
1131
+
+ 1113 0 }
- 1114
1132
+
- 1115
/**
- 1133
- * An enumeration of supported report formats: "ALL", "HTML", "XML", "VULN", etc..
- 1134
- */
- 1135
- public static class ReportFormats extends EnumeratedAttribute {
- 1136
-
- 1137
- /**
- 1138
- * Returns the list of values for the report format.
- 1139
- *
- 1140
- * @return the list of values for the report format
- 1141
- */
- 1142
- @Override
- 1143
- public String[] getValues() {
- 1144 4 int i = 0;
- 1145 4 final Format[] formats = Format.values();
- 1146 4 final String[] values = new String[formats.length];
- 1147 20 for (Format format : formats) {
- 1148 16 values[i++] = format.name();
- 1149
- }
- 1150 4 return values;
- 1151
- }
- 1152
- }
- 1153
-
- 1154
- /**
- 1155
- * Whether or not the Jar Analyzer is enabled.
- 1156
- */
- 1157 4 private boolean jarAnalyzerEnabled = true;
- 1158
-
- 1159
- /**
- 1160
- * Returns whether or not the analyzer is enabled. 1161
+
+ 1116
+ * Generates a warning message listing a summary of dependencies and their associated CPE and CVE entries.
- 1117
*
- 1162
- * @return true if the analyzer is enabled 1163
+
+ 1118
+ * @param dependencies a list of dependency objects
+ 1119
*/
+ 1120
+ private void showSummary(List<Dependency> dependencies) {
+ 1121 3 final StringBuilder summary = new StringBuilder();
+ 1122 3 for (Dependency d : dependencies) {
+ 1123 5 boolean firstEntry = true;
+ 1124 5 final StringBuilder ids = new StringBuilder();
+ 1125 5 for (Vulnerability v : d.getVulnerabilities()) {
+ 1126 22 if (firstEntry) {
+ 1127 4 firstEntry = false;
+ 1128
+ } else {
+ 1129 18 ids.append(", ");
+ 1130
+ }
+ 1131 22 ids.append(v.getName());
+ 1132 22 }
+ 1133 5 if (ids.length() > 0) {
+ 1134 4 summary.append(d.getFileName()).append(" (");
+ 1135 4 firstEntry = true;
+ 1136 4 for (Identifier id : d.getIdentifiers()) {
+ 1137 8 if (firstEntry) {
+ 1138 4 firstEntry = false;
+ 1139
+ } else {
+ 1140 4 summary.append(", ");
+ 1141
+ }
+ 1142 8 summary.append(id.getValue());
+ 1143 8 }
+ 1144 4 summary.append(") : ").append(ids).append(NEW_LINE);
+ 1145
+ }
+ 1146 5 }
+ 1147 3 if (summary.length() > 0) {
+ 1148 3 final String msg = String.format("%n%n"
+ 1149
+ + "One or more dependencies were identified with known vulnerabilities:%n%n%s"
+ 1150
+ + "%n%nSee the dependency-check report for more details.%n%n", summary.toString());
+ 1151 3 LOGGER.log(Level.WARNING, msg);
+ 1152
+ }
+ 1153 3 }
+ 1154
+
+ 1155
+ /**
+ 1156
+ * An enumeration of supported report formats: "ALL", "HTML", "XML", "VULN", etc..
+ 1157
+ */
+ 1158 4 public static class ReportFormats extends EnumeratedAttribute {
+ 1159
+
+ 1160
+ /**
+ 1161
+ * Returns the list of values for the report format.
+ 1162
+ *
1163
+ * @return the list of values for the report format
+ 1164
- public boolean isJarAnalyzerEnabled() {
*/
+ 1165
- return jarAnalyzerEnabled; @Override
+ 1166
+ public String[] getValues() {
+ 1167 4 int i = 0;
+ 1168 4 final Format[] formats = Format.values();
+ 1169 4 final String[] values = new String[formats.length];
+ 1170 20 for (Format format : formats) {
+ 1171 16 values[i++] = format.name();
+ 1172
+ }
+ 1173 4 return values;
+ 1174
+ }
- 1175
}
1167
+
+ 1176
+
+ 1177
+ /**
+ 1178
+ * Whether or not the Jar Analyzer is enabled.
+ 1179
+ */
+ 1180 4 private boolean jarAnalyzerEnabled = true;
+ 1181
+
+ 1182
+ /**
+ 1183
+ * Returns whether or not the analyzer is enabled.
+ 1184
+ *
+ 1185
+ * @return true if the analyzer is enabled
+ 1186
+ */
+ 1187
+ public boolean isJarAnalyzerEnabled() {
+ 1188 0 return jarAnalyzerEnabled;
+ 1189
+ }
-
+
diff --git a/dependency-check-ant/configuration.html b/dependency-check-ant/configuration.html
index 19c856527..cfa3b84c4 100644
--- a/dependency-check-ant/configuration.html
+++ b/dependency-check-ant/configuration.html
@@ -1,13 +1,13 @@
-
+
1190
}
jarAnalyzer
-Sets whether Jar Analyzer will be used.
+Sets whether the Jar Analyzer will be used.
true
-
nexusAnalyzerEnabled
+centralAnalyzerEnabled
-Sets whether Nexus Analyzer will be used.
+Sets whether the Central Analyzer will be used. Disabling this analyzer is not recommended as it could lead to false negatives (e.g. libraries that have vulnerabilities may not be reported correctly). If this analyzer is being disabled there is a good chance you also want to disable the Nexus Analyzer (see below).
true
+
+
+nexusAnalyzerEnabled
+
+Sets whether Nexus Analyzer will be used. This analyzer is superceded by the Central Analyzer; however, you can configure this to run against a Nexus Pro installation.
+
+true
+
+
-nexusUrl
Defines the Nexus Pro URL. If not set the Nexus Analyzer will be disabled.
@@ -362,7 +371,7 @@
+
-nexusUsesProxy
@@ -371,7 +380,7 @@
true
+
-nuspecAnalyzerEnabled
@@ -380,7 +389,7 @@
true
+
-assemblyAnalyzerEnabled
@@ -389,7 +398,7 @@
true
+
pathToMono
@@ -516,7 +525,7 @@
+![]()
# of dependencies using the latest version available
-2 6
![]()
# of dependencies where the next version available is smaller than an incremental version update
@@ -260,7 +260,7 @@
+![]()
# of dependencies where the next version available is an incremental version update
-3 1
![]()
# of dependencies where the next version available is a minor version update
@@ -271,9 +271,6 @@
0 Dependency Management
-Dependencies
Status
@@ -288,46 +285,97 @@
Next Minor
Next Major
-
+![]()
![]()
junit
junit
-4.11
+4.12
test
jar
- 4.12-beta-1
-4.12
+
+
-
-![]()
org.apache.ant
-ant
-1.9.3
-compile
+
+![]()
org.hamcrest
+hamcrest-core
+1.3
+test
jar
- 1.9.4
+
+
-![]()
org.apache.ant
-ant-testutil
-1.9.3
+org.jmockit
+jmockit
+1.15
test
jar
- 1.9.4
+1.16-beta1
+
+
+ Status
+Group Id
+Artifact Id
+Current Version
+Scope
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major Dependencies
+
+
+
+Status
+Group Id
+Artifact Id
+Current Version
+Scope
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major
+
+
+![]()
org.apache.ant
+ant
+1.9.4
+compile
+
+ jar
+
+
+
+
+
+![]()
org.apache.ant
+ant-testutil
+1.9.4
+test
+
+ jar
+
+
![]()
org.owasp
dependency-check-core
-1.2.7
+1.2.9
compile
jar
@@ -339,7 +387,7 @@
![]()
org.owasp
dependency-check-utils
-1.2.7
+1.2.9
compile
jar
@@ -367,7 +415,7 @@
+
+Status
-
There is at least one newer incremental version available. Incremental updates are typically passive.
No newer versions available.
@@ -376,7 +424,7 @@
Group Id
junit junit
+Current Version
-4.11 4.12
@@ -385,16 +433,13 @@
Scope
test
-Type
-jar
- Newer versions
-4.12-beta-1 Next Incremental
4.12-beta-2
4.12-beta-3 Latest Incremental
4.12 Next Minorjar org.apache.ant:ant
+Status
-
There is at least one newer incremental version available. Incremental updates are typically passive.
No newer versions available.
@@ -403,7 +448,7 @@
Group Id
org.apache.ant ant
+Current Version
-1.9.3 1.9.4
@@ -412,16 +457,13 @@
Scope
compile
-Type
-jar
- Newer versions
-1.9.4 Next Incremental jar
| Status | -|
|---|---|
| Group Id | org.apache.ant | ant-testutil |
| Current Version | -1.9.3 | 1.9.4 | +
| Scope | +test |
| Classifier | +|
| Type | +jar |
| Status | +|
|---|---|
| Group Id | +org.hamcrest |
| Artifact Id | +hamcrest-core |
| Current Version | +1.3 |
| Scope | +test |
| Classifier | +|
| Type | +jar |
| Status | +|
|---|---|
| Group Id | +org.jmockit |
| Artifact Id | +jmockit |
| Current Version | +1.15 |
| Scope | test | jar |
| Newer versions | -1.9.4 Next Incremental |
| Dependency status | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| com.github.github | +site-maven-plugin | +0.10 | ++ | + | 0.11 | ++ | ||||||
| org.apache.maven.plugins | maven-antrun-plugin | 1.3 | @@ -296,140 +306,137 @@1.4 | |||||||||
| org.apache.maven.plugins | maven-assembly-plugin | -2.2-beta-5 | -2.2 | -2.2.1 | -2.3 | +2.5.3 | ++ | + | + | + | ||
| org.apache.maven.plugins | +maven-clean-plugin | +2.6.1 | ++ | + | ||||||||
| org.apache.maven.plugins | +maven-compiler-plugin | +3.2 | ++ | + | + | + | ||||||
| org.apache.maven.plugins | maven-dependency-plugin | -2.1 | +2.9 | - | 2.2 | -- | ||||||
| org.apache.maven.plugins | -maven-release-plugin | -2.0 | -- | - | 2.1 | +2.10 | ||||||
| Status | -Group Id | -Artifact Id | -Current Version | -Next Version | -Next Incremental | -Next Minor | -Next Major | -Dependency status |
| Status | -Group Id | -Artifact Id | -Current Version | -Next Version | -Next Incremental | -Next Minor | -Next Major | -Dependency status | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| com.github.github | -site-maven-plugin | -0.9 | -- | - | 0.10 | -- | ||||||
| org.apache.maven.plugins | -maven-clean-plugin | -2.4.1 | -- | - | 2.5 | -- | ||||||
| org.apache.maven.plugins | -maven-compiler-plugin | -3.1 | -- | - | 3.2 | -- | ||||||
| org.apache.maven.plugins | maven-deploy-plugin | -2.7 | +2.8.2 | - | 2.8 | ++ | + | |||||
| org.apache.maven.plugins | +maven-enforcer-plugin | +1.3.1 | ++ | + | 1.4 | |||||||
| org.apache.maven.plugins | +maven-failsafe-plugin | +2.18.1 | ++ | + | + | + | ||||||
| org.apache.maven.plugins | +maven-gpg-plugin | +1.5 | ++ | + | 1.6 | ++ | ||||||
| org.apache.maven.plugins | maven-install-plugin | -2.3.1 | +2.5.2 | +- | 2.4 | |||||||
| org.apache.maven.plugins | maven-jar-plugin | -2.4 | -- | 2.5 | + | + | + | |||||
| org.apache.maven.plugins | -maven-resources-plugin | -2.6 | +maven-plugin-plugin | +3.3 | - | 2.7 | +3.4 | |||||
| org.apache.maven.plugins | -maven-shade-plugin | -2.1 | +maven-release-plugin | +2.5.1 | +- | 2.2 | ||||||
| org.apache.maven.plugins | +maven-resources-plugin | +2.7 | ++ | + | + | + | ||||||
| org.apache.maven.plugins | maven-site-plugin | @@ -438,15 +445,25 @@3.4 | - | |||||||||
| org.apache.maven.plugins | maven-surefire-plugin | -2.16 | +2.18.1 | ++ | + | + | + | |||||
| org.codehaus.mojo | +appassembler-maven-plugin | +1.9 | +- | 2.17 | ||||||||
| Next Incremental | Next Minor | Next Major | +Dependency status |
| Status | +Group Id | +Artifact Id | +Current Version | +Next Version | +Next Incremental | +Next Minor | +Next Major | +Dependency status |
|---|---|---|---|---|---|---|---|---|
| org.apache.maven.plugins | +maven-shade-plugin | +2.3 | ++ | + | + | + | ||
| Status | +Group Id | +Artifact Id | +Current Version | +Next Version | +Next Incremental | +Next Minor | +Next Major | Dependency status |
| Status | |
|---|---|
| Group Id | com.github.github |
| Artifact Id | site-maven-plugin |
| Current Version | -0.9 |
| Current Version | +0.10 |
| Newer versions | -0.10 Next Minor |
| 1.3 | |
| Newer versions | -1.4 Next Minor 1.5 1.6 1.7 Latest Minor |
|---|
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-assembly-plugin |
| Current Version | -2.2-beta-5 |
| Newer versions | -2.2 Next Version 2.2.1 Next Incremental 2.2.2 Latest Incremental 2.3 Next Minor 2.4 2.4.1 2.5 2.5.1 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-clean-plugin |
| Current Version | -2.4.1 |
| Newer versions | -2.5 Next Minor 2.6 2.6.1 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-compiler-plugin |
| Current Version | -3.1 |
| Newer versions | -3.2 Next Minor |
| maven-dependency-plugin | |
| Current Version | -2.1 | 2.9 |
|---|---|
| Newer versions | -2.2 Next Minor 2.3 2.4 2.5 2.5.1 2.6 2.7 2.8 2.9 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-deploy-plugin |
| Current Version | -2.7 | 2.8.2 |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | +maven-enforcer-plugin |
| Current Version | +1.3.1 |
| Newer versions | -2.8 Next Minor 2.8.1 2.8.2 Latest Minor |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | +maven-failsafe-plugin |
| Current Version | +2.18.1 |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | +maven-gpg-plugin |
| Current Version | +1.5 |
| Newer versions | +1.6 Next Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-install-plugin |
| Current Version | -2.3.1 |
| Newer versions | -2.4 Next Minor 2.5 2.5.1 2.5.2 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-jar-plugin |
| Current Version | -2.4 | 2.5 |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | +maven-plugin-plugin |
| Current Version | +3.3 |
| Newer versions | -2.5 Next Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-release-plugin |
| Current Version | -2.0 |
| Newer versions | -2.1 Next Minor 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.5 2.5.1 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-resources-plugin |
| Current Version | -2.6 |
| Newer versions | -2.7 Next Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-shade-plugin |
| Current Version | -2.1 |
| Newer versions | -2.2 Next Minor 2.3 Latest Minor |
| 3.3 | |
| Newer versions | -3.4 Next Minor |
|---|
| Status | -Group Id | -Artifact Id | -Current Version | -Classifier | -Type | -Next Version | -Next Incremental | -Next Minor | -Next Major |
|---|---|---|---|---|---|---|---|---|---|
| org.apache.maven.doxia | -doxia-module-markdown | -1.5 | -- | jar | -- | - | 1.6 | -||
| Status | -Group Id | -Artifact Id | -Current Version | -Classifier | -Type | -Next Version | -Next Incremental | -Next Minor | -Next Major |
| Status | -|
|---|---|
| Group Id | -org.apache.maven.doxia |
| Artifact Id | -doxia-module-markdown |
| Current Version | -1.5 |
| Classifier | -|
| Type | -jar |
| Newer versions | -1.6 Next Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-surefire-plugin |
| Current Version | -2.16 | 2.18.1 |
| Newer versions | -2.17 Next Minor 2.18 Latest Minor |
|---|
| This document lists other related information of this project | |
| Project License | -This is a link to the definitions of project licenses. |
Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-ant/project-reports.html b/dependency-check-ant/project-reports.html index 649010a8f..64e4f1d78 100644 --- a/dependency-check-ant/project-reports.html +++ b/dependency-check-ant/project-reports.html @@ -1,13 +1,13 @@
- +Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-ant/project-summary.html b/dependency-check-ant/project-summary.html index 7aed972c5..b6724b134 100644 --- a/dependency-check-ant/project-summary.html +++ b/dependency-check-ant/project-summary.html @@ -1,13 +1,13 @@
- +Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-ant/source-repository.html b/dependency-check-ant/source-repository.html new file mode 100644 index 000000000..ac4ba36b1 --- /dev/null +++ b/dependency-check-ant/source-repository.html @@ -0,0 +1,255 @@ + + + +
+ + + + +
+
+
+
+
+
+ This project uses GIT to manage its source code. Instructions on GIT use can be found at http://git-scm.com/documentation.
The source can be checked out anonymously from GIT with this command (See http://git-scm.com/docs/git-clone):
+$ git clone git@github.com:jeremylong/DependencyCheck.git/dependency-check-ant
Only project developers can access the GIT tree via this method (See http://git-scm.com/docs/git-clone).
+$ git clone git@github.com:jeremylong/DependencyCheck.git/dependency-check-ant
Copyright © 2012–2015 + OWASP. + All rights reserved. + +
+Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
[Summary] [Package List] [Test Cases]
@@ -334,19 +334,19 @@ function toggleDisplay(elementId) {Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-ant/taglist.html b/dependency-check-ant/taglist.html index e37cd8171..fa2ddb0e6 100644 --- a/dependency-check-ant/taglist.html +++ b/dependency-check-ant/taglist.html @@ -1,13 +1,13 @@
- +Each tag is detailed below:
Each tag is detailed below:
+Number of occurrences found in the code: 1
+| org.owasp.dependencycheck.taskdefs.DependencyCheckTaskTest | +Line |
|---|---|
| The use of deprecated class BuildFileTestcan possibly be replaced with BuildFileRule. However, it currently isn't included in the ant-testutil jar. This should be fixed in ant-testutil 1.9.5, so we can check back once that has been released. Reference: http://mail-archives.apache.org/mod_mbox/ant-user/201406.mbox/%3C000001cf87ba$8949b690$9bdd23b0$@de%3E | +33 |
Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-ant/team-list.html b/dependency-check-ant/team-list.html new file mode 100644 index 000000000..31a8bc83a --- /dev/null +++ b/dependency-check-ant/team-list.html @@ -0,0 +1,295 @@ + + + +
+ + + + +
+
+
+
+
+
+ A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+| Image | +Name | +Organization | +Organization URL | +Roles | +Properties | |
|---|---|---|---|---|---|---|
| Jeremy Long | +jeremy.long@owasp.org | +OWASP | +https://www.owasp.org/index.php/OWASP_Dependency_Check | +architect, developer | +picUrl=https://plus.google.com/s2/photos/profile/108968019311857145023, twitter=@ctxt | |
| Steve Springett | +Steve.Springett@owasp.org | +OWASP | +https://www.owasp.org/index.php/OWASP_Dependency_Check | +developer | +- | |
| Will Stranathan | +Will.Stranathan@owasp.org | +OWASP | +https://www.owasp.org/index.php/OWASP_Dependency_Check | +developer | +twitter=@willathome |
Copyright © 2012–2015 + OWASP. + All rights reserved. + +
+<taskdef name="dependency-check" classname="org.owasp.dependencycheck.taskdefs.DependencyCheckTask"> - <classpath path="[path]/[to]/dependency-check-ant-1.2.7.jar"/> + <classpath path="[path]/[to]/dependency-check-ant-1.2.9.jar"/> </taskdef>
Next, add the task to a target of your choosing:
@@ -197,7 +197,7 @@Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-ant/xref-test/index.html b/dependency-check-ant/xref-test/index.html index a09a5bdbc..073d79081 100644 --- a/dependency-check-ant/xref-test/index.html +++ b/dependency-check-ant/xref-test/index.html @@ -4,7 +4,7 @@
-"n" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+public static final String |
+DISABLE_CENTRAL |
+"disableCentral" |
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
DISABLE_JAR |
"disableJar" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
DISABLE_NEXUS |
"disableNexus" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
DISABLE_NUSPEC |
"disableNuspec" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
EXCLUDE |
"exclude" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
HELP |
"help" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
HELP_SHORT |
"h" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
NEXUS_URL |
"nexus" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
NEXUS_USES_PROXY |
"nexusUsesProxy" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
OUT |
"out" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
OUT_SHORT |
"o" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
OUTPUT_FORMAT |
"format" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
OUTPUT_FORMAT_SHORT |
"f" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PATH_TO_MONO |
"mono" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PROP |
"propertyfile" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PROP_SHORT |
"P" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PROXY_PASSWORD |
"proxypass" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PROXY_PORT |
"proxyport" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PROXY_SERVER |
"proxyserver" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PROXY_URL |
"proxyurl" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
PROXY_USERNAME |
"proxyuser" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
SCAN |
"scan" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
SCAN_SHORT |
"s" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
SUPPRESSION_FILE |
"suppression" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
VERBOSE_LOG |
"log" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
VERBOSE_LOG_SHORT |
"l" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
VERSION |
"version" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
public static final String |
@@ -440,6 +447,6 @@
-static String |
+DISABLE_CENTRAL
+Disables the Central Analyzer.
+ |
+|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
DISABLE_JAR
Disables the Jar Analyzer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
DISABLE_NEXUS
Disables the Nexus Analyzer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
DISABLE_NUSPEC
Disables the Nuspec Analyzer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
EXCLUDE
Exclude path argument.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
HELP
The long CLI argument name asking for help.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
HELP_SHORT
The short CLI argument name asking for help.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
NEXUS_URL
The URL of the nexus server.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
NEXUS_USES_PROXY
Whether or not the defined proxy should be used when connecting to Nexus.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
OUT
The long CLI argument name specifying the directory to write the reports to.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
OUT_SHORT
The short CLI argument name specifying the directory to write the reports to.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
OUTPUT_FORMAT
The long CLI argument name specifying the output format to write the reports to.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
OUTPUT_FORMAT_SHORT
The short CLI argument name specifying the output format to write the reports to.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
PATH_TO_MONO
The CLI argument name for setting the path to mono for .NET Assembly analysis on non-windows systems.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
PROP
The CLI argument name for setting the location of an additional properties file.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
PROP_SHORT
The short CLI argument name for setting the location of an additional properties file.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
PROXY_PASSWORD
The CLI argument name indicating the proxy password.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
PROXY_PORT
The CLI argument name indicating the proxy port.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
PROXY_SERVER
The CLI argument name indicating the proxy server.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
static String |
PROXY_URL
Deprecated.
@@ -339,49 +345,49 @@ extends
+ static StringPROXY_USERNAME
The CLI argument name indicating the proxy username.
static StringSCAN
The long CLI argument name specifying the directory/file to scan.
static StringSCAN_SHORT
The short CLI argument name specifying the directory/file to scan.
static StringSUPPRESSION_FILE
The CLI argument name for setting the location of the suppression file.
static StringVERBOSE_LOG
The CLI argument name for setting the location of the data directory.
static StringVERBOSE_LOG_SHORT
The short CLI argument name for setting the location of the data directory.
static StringVERSION
The short CLI argument name asking for the version.
static StringVERSION_SHORT
The long CLI argument name asking for the version.
@@ -418,7 +424,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -799,6 +805,17 @@ public static final See Also:
Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/org/owasp/dependencycheck/CliParser.html b/dependency-check-cli/apidocs/org/owasp/dependencycheck/CliParser.html index b70208cbb..ef51efb36 100644 --- a/dependency-check-cli/apidocs/org/owasp/dependencycheck/CliParser.html +++ b/dependency-check-cli/apidocs/org/owasp/dependencycheck/CliParser.html @@ -2,16 +2,16 @@ - + - |
+boolean |
+isCentralDisabled()
+Returns true if the disableCentral command line argument was specified.
+booleanisGetHelp()
Determines if the 'help' command line argument was passed in.
booleanisGetVersion()
Determines if the 'version' command line argument was passed in.
booleanisJarDisabled()
Returns true if the disableJar command line argument was specified.
booleanisNexusDisabled()
Returns true if the disableNexus command line argument was specified.
booleanisNexusUsesProxy()
-Returns true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false is
- returned.
+Returns true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false is returned.
booleanisNuspecDisabled()
Returns true if the disableNuspec command line argument was specified.
booleanisRunScan()
Determines if the 'scan' command line argument was passed in.
voidparse(String[] args)
Parses the arguments passed in and captures the results for later use.
voidprintHelp()
Displays the command line help message to the standard output.
voidprintVersionInfo()
@@ -375,7 +380,7 @@ extends Object
-
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -512,6 +517,17 @@ extends Returns:
isNexusUsesProxypublic boolean isNexusUsesProxy()- Returns true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false is
- returned.
+Returns true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false is returned.
isAutoUpdatepublic boolean isAutoUpdate()- Checks if the auto update feature has been disabled. If it has been disabled via the command line this will
- return false.
+Checks if the auto update feature has been disabled. If it has been disabled via the command line this will return false.
Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/App.html b/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/App.html index 43e56337d..31ea416df 100644 --- a/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/App.html +++ b/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/App.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.ARGUMENT.html b/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.ARGUMENT.html index 262f15546..089c87731 100644 --- a/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.ARGUMENT.html +++ b/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.ARGUMENT.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.html b/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.html index 83ddd1939..9aa2195f1 100644 --- a/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.html +++ b/dependency-check-cli/apidocs/org/owasp/dependencycheck/class-use/CliParser.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-frame.html b/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-frame.html index c90230f75..54d04d1c3 100644 --- a/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-frame.html +++ b/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-frame.html @@ -2,10 +2,10 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-tree.html b/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-tree.html index d9e13b2c7..2e018f269 100644 --- a/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-tree.html +++ b/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-tree.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-use.html b/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-use.html index aa1a71372..34db8096f 100644 --- a/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-use.html +++ b/dependency-check-cli/apidocs/org/owasp/dependencycheck/package-use.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/apidocs/overview-tree.html b/dependency-check-cli/apidocs/overview-tree.html index 52685b07e..43ae5b91b 100644 --- a/dependency-check-cli/apidocs/overview-tree.html +++ b/dependency-check-cli/apidocs/overview-tree.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved. diff --git a/dependency-check-cli/arguments.html b/dependency-check-cli/arguments.html index b203a7271..6211b51a1 100644 --- a/dependency-check-cli/arguments.html +++ b/dependency-check-cli/arguments.html @@ -1,13 +1,13 @@ - +-P |
+
+--propertyfile |
+
+<file> |
+
+Specifies a file that contains properties to use instead of applicaion defaults. |
+
+ |
+ |
--disableArchive |
@@ -350,7 +363,7 @@
false |
|
@@ -363,7 +376,7 @@
|
|
@@ -371,7 +384,20 @@
|
-Sets whether Jar Analyzer will be used. |
+Sets whether the Jar Analyzer will be used. |
+
+false |
+ |
+
+--disableCentral |
+
+ |
+
+Sets whether the Central Analyzer will be used. Disabling this analyzer is not recommended as it could lead to false negatives (e.g. libraries that have vulnerabilities may not be reported correctly). If this analyzer is being disabled there is a good chance you also want to disable the Nexus Analyzer. |
false |
|
-Sets whether Nexus Analyzer will be used. |
+Sets whether the Nexus Analyzer will be used. Note, this has been superceded by the Central Analyzer. However, you can configure the Nexus URL to utilize an internally hosted Nexus Pro server. |
false |
- Copyright © 2012–2014 + Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-cli/checkstyle.html b/dependency-check-cli/checkstyle.html index 4b1d47f6c..b289e9492 100644 --- a/dependency-check-cli/checkstyle.html +++ b/dependency-check-cli/checkstyle.html @@ -1,13 +1,13 @@ - +0 |
1 | |
| Files | -I |
-W |
-E |
|---|---|---|---|
| src/main/java/org/owasp/dependencycheck/CliParser.java | -0 | -0 | -1 |
Copyright © 2012–2014 +
Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-cli/checkstyle.rss b/dependency-check-cli/checkstyle.rss
index 89589559a..a4ac45c02 100644
--- a/dependency-check-cli/checkstyle.rss
+++ b/dependency-check-cli/checkstyle.rss
@@ -23,7 +23,7 @@ under the License.
https://github.com/jeremylong/DependencyCheck.git/dependency-check-cli
This project does not declare any dependencies in a dependencyManagement section. Copyright © 2012–2014
+ Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-cli/findbugs.html b/dependency-check-cli/findbugs.html
index 29d116012..52383e252 100644
--- a/dependency-check-cli/findbugs.html
+++ b/dependency-check-cli/findbugs.html
@@ -1,13 +1,13 @@
Copyright © 2012–2014
+ Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-cli/index.html b/dependency-check-cli/index.html
index d4adbd1ba..d520185e5 100644
--- a/dependency-check-cli/index.html
+++ b/dependency-check-cli/index.html
@@ -1,13 +1,13 @@
Copyright © 2012–2014
+ Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-cli/installation.html b/dependency-check-cli/installation.html
index 5dba6cf4a..be6cf7c3f 100644
--- a/dependency-check-cli/installation.html
+++ b/dependency-check-cli/installation.html
@@ -1,13 +1,13 @@
Download the dependency-check command line tool here. Extract the zip file to a location on your computer and put the ‘bin’ directory into the path environment variable. On *nix systems you will likely need to make the shell script executable: Download the dependency-check command line tool here. Extract the zip file to a location on your computer and put the ‘bin’ directory into the path environment variable. On *nix systems you will likely need to make the shell script executable: Copyright © 2012–2014
+ Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-cli/issue-tracking.html b/dependency-check-cli/issue-tracking.html
new file mode 100644
index 000000000..0601454c7
--- /dev/null
+++ b/dependency-check-cli/issue-tracking.html
@@ -0,0 +1,235 @@
+
+
+
+ Copyright © 2012–2015
+ OWASP.
+ All rights reserved.
+
+ Copyright © 2012–2014
+ Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-cli/mail-lists.html b/dependency-check-cli/mail-lists.html
new file mode 100644
index 000000000..472c4c95b
--- /dev/null
+++ b/dependency-check-cli/mail-lists.html
@@ -0,0 +1,243 @@
+
+
+
+ These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link. Copyright © 2012–2015
+ OWASP.
+ All rights reserved.
+
+ App (0%)
-
CliParser (62%)
+CliParser (61%)
-
diff --git a/dependency-check-cli/cobertura/frame-sourcefiles.html b/dependency-check-cli/cobertura/frame-sourcefiles.html
index 583acdd10..e000634bc 100644
--- a/dependency-check-cli/cobertura/frame-sourcefiles.html
+++ b/dependency-check-cli/cobertura/frame-sourcefiles.html
@@ -18,10 +18,10 @@ All Packages
InvalidScanPathException (N/A)
+InvalidScanPathException (0%)
App (0%)
-
CliParser (62%)
+CliParser (61%)
-
diff --git a/dependency-check-cli/cobertura/frame-summary-org.owasp.dependencycheck.html b/dependency-check-cli/cobertura/frame-summary-org.owasp.dependencycheck.html
index a08da3656..4165d6e5d 100644
--- a/dependency-check-cli/cobertura/frame-summary-org.owasp.dependencycheck.html
+++ b/dependency-check-cli/cobertura/frame-summary-org.owasp.dependencycheck.html
@@ -16,7 +16,7 @@
InvalidScanPathException (N/A)
+InvalidScanPathException (0%)
-
+
diff --git a/dependency-check-cli/cobertura/frame-summary.html b/dependency-check-cli/cobertura/frame-summary.html
index 259191a69..ee5eca34f 100644
--- a/dependency-check-cli/cobertura/frame-summary.html
+++ b/dependency-check-cli/cobertura/frame-summary.html
@@ -16,8 +16,8 @@
- Package # Classes Line Coverage Branch Coverage Complexity
+ org.owasp.dependencycheck 4 28% 16% 3.196078431372549;3.196 org.owasp.dependencycheck 4 28% 16% 3.1923076923076925;3.192
-
+
diff --git a/dependency-check-cli/cobertura/org.owasp.dependencycheck.App.html b/dependency-check-cli/cobertura/org.owasp.dependencycheck.App.html
index 5e7a3835e..9b6dd8a73 100644
--- a/dependency-check-cli/cobertura/org.owasp.dependencycheck.App.html
+++ b/dependency-check-cli/cobertura/org.owasp.dependencycheck.App.html
@@ -12,7 +12,7 @@
- Package # Classes Line Coverage Branch Coverage Complexity
- All Packages 4 28% 16% 3.196078431372549;3.196
+ org.owasp.dependencycheck 4 28% 16% 3.196078431372549;3.196
+ All Packages 4 28% 16% 3.1923076923076925;3.192 org.owasp.dependencycheck 4 28% 16% 3.1923076923076925;3.192
- Classes in this File Line Coverage Branch Coverage Complexity
+ App 0% 0% 16.75;16.75 App 0% 0% 16.75;16.75 * @author Jeremy Long <jeremy.long@owasp.org>
- 45
*/
+ 46
- public class App {
46 0 public class App {
47
48
@@ -317,7 +316,7 @@
189 0 LOGGER.log(Level.FINE, "Unable to retrieve DB Properties", ex);
- 190
} finally {
+ 191 0 if (cve != null) {
191 0 if (cve != null) {
192 0 cve.close();
@@ -339,7 +338,7 @@
193
}
207 0 LOGGER.log(Level.FINE, "", ex);
- 208
} finally {
+ 209 0 if (engine != null) {
209 0 if (engine != null) {
210 0 engine.cleanup();
@@ -377,126 +376,128 @@
211
}
233 0 final boolean archiveDisabled = cli.isArchiveDisabled();
234 0 final boolean assemblyDisabled = cli.isAssemblyDisabled();
- 235 0 final boolean nuspecDisabled = cli.isNuspecDisabled();
- 236 0 final boolean nexusDisabled = cli.isNexusDisabled();
- 237 0 final String nexusUrl = cli.getNexusUrl();
- 238 0 final String databaseDriverName = cli.getDatabaseDriverName();
- 239 0 final String databaseDriverPath = cli.getDatabaseDriverPath();
- 240 0 final String connectionString = cli.getConnectionString();
- 241 0 final String databaseUser = cli.getDatabaseUser();
- 242 0 final String databasePassword = cli.getDatabasePassword();
- 243 0 final String additionalZipExtensions = cli.getAdditionalZipExtensions();
- 244 0 final String pathToMono = cli.getPathToMono(); 245
+
+ 236 0 final boolean centralDisabled = cli.isCentralDisabled();
+ 237 0 final boolean nexusDisabled = cli.isNexusDisabled();
+ 238 0 final String nexusUrl = cli.getNexusUrl();
+ 239 0 final String databaseDriverName = cli.getDatabaseDriverName();
+ 240 0 final String databaseDriverPath = cli.getDatabaseDriverPath();
+ 241 0 final String connectionString = cli.getConnectionString();
+ 242 0 final String databaseUser = cli.getDatabaseUser();
+ 243 0 final String databasePassword = cli.getDatabasePassword();
+ 244 0 final String additionalZipExtensions = cli.getAdditionalZipExtensions();
+ 245 0 final String pathToMono = cli.getPathToMono();
- 246
- 246 0 if (propertiesFile != null) { 247
+
+ 247 0 if (propertiesFile != null) {
- 248
try {
- 248 0 Settings.mergeProperties(propertiesFile);
- 249 0 } catch (FileNotFoundException ex) {
- 250 0 final String msg = String.format("Unable to load properties file '%s'", propertiesFile.getPath());
- 251 0 LOGGER.log(Level.SEVERE, msg);
- 252 0 LOGGER.log(Level.FINE, null, ex);
- 253 0 } catch (IOException ex) {
- 254 0 final String msg = String.format("Unable to find properties file '%s'", propertiesFile.getPath());
- 255 0 LOGGER.log(Level.SEVERE, msg);
- 256 0 LOGGER.log(Level.FINE, null, ex);
- 257 0 }
+ 258
- }
+ 249 0 Settings.mergeProperties(propertiesFile);
+ 250 0 } catch (FileNotFoundException ex) {
+ 251 0 final String msg = String.format("Unable to load properties file '%s'", propertiesFile.getPath());
+ 252 0 LOGGER.log(Level.SEVERE, msg);
+ 253 0 LOGGER.log(Level.FINE, null, ex);
+ 254 0 } catch (IOException ex) {
+ 255 0 final String msg = String.format("Unable to find properties file '%s'", propertiesFile.getPath());
+ 256 0 LOGGER.log(Level.SEVERE, msg);
+ 257 0 LOGGER.log(Level.FINE, null, ex);
258 0 }
+ 259
- // We have to wait until we've merged the properties before attempting to set whether we use }
+ 260
- // the proxy for Nexus since it could be disabled in the properties, but not explicitly stated // We have to wait until we've merged the properties before attempting to set whether we use
+ 261
+ // the proxy for Nexus since it could be disabled in the properties, but not explicitly stated
- 262
// on the command line
- 262 0 final boolean nexusUsesProxy = cli.isNexusUsesProxy();
- 263 0 if (dataDirectory != null) {
- 264 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDirectory);
- 265 0 } else if (System.getProperty("basedir") != null) {
- 266 0 final File dataDir = new File(System.getProperty("basedir"), "data");
- 267 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath());
- 268 0 } else {
- 269 0 final File jarPath = new File(App.class.getProtectionDomain().getCodeSource().getLocation().getPath());
- 270 0 final File base = jarPath.getParentFile();
- 271 0 final String sub = Settings.getString(Settings.KEYS.DATA_DIRECTORY);
- 272 0 final File dataDir = new File(base, sub);
- 273 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath()); 274
+
+ 263 0 final boolean nexusUsesProxy = cli.isNexusUsesProxy();
+ 264 0 if (dataDirectory != null) {
+ 265 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDirectory);
+ 266 0 } else if (System.getProperty("basedir") != null) {
+ 267 0 final File dataDir = new File(System.getProperty("basedir"), "data");
+ 268 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath());
+ 269 0 } else {
+ 270 0 final File jarPath = new File(App.class.getProtectionDomain().getCodeSource().getLocation().getPath());
+ 271 0 final File base = jarPath.getParentFile();
+ 272 0 final String sub = Settings.getString(Settings.KEYS.DATA_DIRECTORY);
+ 273 0 final File dataDir = new File(base, sub);
+ 274 0 Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath());
- 275
}
- 275 0 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
- 276 0 if (proxyServer != null && !proxyServer.isEmpty()) {
- 277 0 Settings.setString(Settings.KEYS.PROXY_SERVER, proxyServer); 278
+
+ 276 0 Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
+ 277 0 if (proxyServer != null && !proxyServer.isEmpty()) {
+ 278 0 Settings.setString(Settings.KEYS.PROXY_SERVER, proxyServer);
- 279
}
- 279 0 if (proxyPort != null && !proxyPort.isEmpty()) {
- 280 0 Settings.setString(Settings.KEYS.PROXY_PORT, proxyPort); 281
+
+ 280 0 if (proxyPort != null && !proxyPort.isEmpty()) {
+ 281 0 Settings.setString(Settings.KEYS.PROXY_PORT, proxyPort);
- 282
}
- 282 0 if (proxyUser != null && !proxyUser.isEmpty()) {
- 283 0 Settings.setString(Settings.KEYS.PROXY_USERNAME, proxyUser); 284
+
+ 283 0 if (proxyUser != null && !proxyUser.isEmpty()) {
+ 284 0 Settings.setString(Settings.KEYS.PROXY_USERNAME, proxyUser);
- 285
}
- 285 0 if (proxyPass != null && !proxyPass.isEmpty()) {
- 286 0 Settings.setString(Settings.KEYS.PROXY_PASSWORD, proxyPass); 287
+
+ 286 0 if (proxyPass != null && !proxyPass.isEmpty()) {
+ 287 0 Settings.setString(Settings.KEYS.PROXY_PASSWORD, proxyPass);
- 288
}
- 288 0 if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
- 289 0 Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
- 290
- }
- 291 0 if (suppressionFile != null && !suppressionFile.isEmpty()) {
- 292 0 Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile); 293
+
+ 289 0 if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
+ 290 0 Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
+ 291
}
+ 292 0 if (suppressionFile != null && !suppressionFile.isEmpty()) {
293 0 Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
+ 294
-
}
- 295
- //File Type Analyzer Settings
- 296 0 Settings.setBoolean(Settings.KEYS.ANALYZER_JAR_ENABLED, !jarDisabled);
- 297 0 Settings.setBoolean(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, !archiveDisabled);
- 298 0 Settings.setBoolean(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, !nuspecDisabled);
- 299 0 Settings.setBoolean(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, !assemblyDisabled);
- 300
- 301 0 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, !nexusDisabled);
- 302 0 if (nexusUrl != null && !nexusUrl.isEmpty()) {
- 303 0 Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl); 304
+
+ 296
+ //File Type Analyzer Settings
+ 297 0 Settings.setBoolean(Settings.KEYS.ANALYZER_JAR_ENABLED, !jarDisabled);
+ 298 0 Settings.setBoolean(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, !archiveDisabled);
+ 299 0 Settings.setBoolean(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, !nuspecDisabled);
+ 300 0 Settings.setBoolean(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, !assemblyDisabled);
+ 301
+
+ 302 0 Settings.setBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, !centralDisabled);
+ 303 0 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, !nexusDisabled);
+ 304 0 if (nexusUrl != null && !nexusUrl.isEmpty()) {
+ 305 0 Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
- 306
}
- 305 0 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY, nexusUsesProxy);
- 306 0 if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
- 307 0 Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName); 308
+
+ 307 0 Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY, nexusUsesProxy);
+ 308 0 if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
+ 309 0 Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
- 310
}
- 309 0 if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
- 310 0 Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath); 311
+
+ 311 0 if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
+ 312 0 Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
- 313
}
- 312 0 if (connectionString != null && !connectionString.isEmpty()) {
- 313 0 Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString); 314
+
+ 314 0 if (connectionString != null && !connectionString.isEmpty()) {
+ 315 0 Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
- 316
}
- 315 0 if (databaseUser != null && !databaseUser.isEmpty()) {
- 316 0 Settings.setString(Settings.KEYS.DB_USER, databaseUser); 317
+
+ 317 0 if (databaseUser != null && !databaseUser.isEmpty()) {
+ 318 0 Settings.setString(Settings.KEYS.DB_USER, databaseUser);
- 319
}
- 318 0 if (databasePassword != null && !databasePassword.isEmpty()) {
- 319 0 Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword); 320
+
+ 320 0 if (databasePassword != null && !databasePassword.isEmpty()) {
+ 321 0 Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword);
- 322
}
- 321 0 if (additionalZipExtensions != null && !additionalZipExtensions.isEmpty()) {
- 322 0 Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, additionalZipExtensions); 323
+
+ 323 0 if (additionalZipExtensions != null && !additionalZipExtensions.isEmpty()) {
+ 324 0 Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, additionalZipExtensions);
- 325
}
- 324 0 if (pathToMono != null && !pathToMono.isEmpty()) {
- 325 0 Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
- 326
- }
+ 327 0 }
+ 326 0 if (pathToMono != null && !pathToMono.isEmpty()) {
327 0 Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
+ 328
+ }
+ 329 0 }
-
+
diff --git a/dependency-check-cli/cobertura/org.owasp.dependencycheck.CliParser.html b/dependency-check-cli/cobertura/org.owasp.dependencycheck.CliParser.html
index eedcb6d5a..338ccee52 100644
--- a/dependency-check-cli/cobertura/org.owasp.dependencycheck.CliParser.html
+++ b/dependency-check-cli/cobertura/org.owasp.dependencycheck.CliParser.html
@@ -12,8 +12,8 @@
330
}
- Classes in this File Line Coverage Branch Coverage Complexity
- CliParser 62% 38% 2.13953488372093;2.14
+ CliParser$ARGUMENT N/A N/A 2.13953488372093;2.14
+ CliParser 62% 35% 2.159090909090909;2.159 CliParser$ARGUMENT 0% N/A 2.159090909090909;2.159 * @author Jeremy Long <jeremy.long@owasp.org>
- 40
*/
+ 41
- public final class CliParser {
41 9 public final class CliParser {
42
43
@@ -123,8 +122,7 @@
* Indicates whether the arguments are valid.
- 53
*/
+ 54
- private boolean isValid = true;
54 9 private boolean isValid = true;
55
56
@@ -183,9 +181,9 @@
86
*
+ 87
- * @throws FileNotFoundException if there is a file specified by either the SCAN or CPE command line arguments that * @throws FileNotFoundException if there is a file specified by either the SCAN or CPE command line arguments that does not
+ 88
- * does not exist. * exist.
89
* @throws ParseException is thrown if there is an exception parsing the command line. 90
@@ -224,9 +222,9 @@
114
/**
+ 115
- * Validates whether or not the path(s) points at a file that exists; if the path(s) does not point to an existing * Validates whether or not the path(s) points at a file that exists; if the path(s) does not point to an existing file a
+ 116
- * file a FileNotFoundException is thrown. * FileNotFoundException is thrown.
117
* 118
@@ -269,454 +267,452 @@
139 0 final String msg = String.format("Invalid '%s' argument: null", argumentName);
140 0 throw new FileNotFoundException(msg);
- 141 3 } else if (!path.contains("*") && !path.contains("?")) {
- 142 3 final File f = new File(path);
+ 143 3 if ("o".equals(argumentName.substring(0, 1).toLowerCase()) && !"ALL".equals(this.getReportFormat().toUpperCase())) {
+ 142 3 File f = new File(path);
143 3 if ("o".equalsIgnoreCase(argumentName.substring(0, 1)) && !"ALL".equalsIgnoreCase(this.getReportFormat())) {
144 1 final String checkPath = path.toLowerCase();
- 145 1 if (checkPath.endsWith(".html") || checkPath.endsWith(".xml") || checkPath.endsWith(".htm")) {
- 146 0 if (!f.getParentFile().isDirectory()) {
- 147 0 isValid = false;
- 148 0 final String msg = String.format("Invalid '%s' argument: '%s'", argumentName, path);
- 149 0 throw new FileNotFoundException(msg); 150
+
+ 146 0 if (f.getParentFile() == null) {
+ 147 0 f = new File(".", path);
- 148
}
151
+
+ 149 0 if (!f.getParentFile().isDirectory()) {
+ 150 0 isValid = false;
+ 151 0 final String msg = String.format("Invalid '%s' argument: '%s'", argumentName, path);
+ 152 0 throw new FileNotFoundException(msg);
+ 153
+ }
- 154
}
- 152 1 } else {
- 153 2 if (!f.exists()) {
- 154 1 isValid = false;
- 155 1 final String msg = String.format("Invalid '%s' argument: '%s'", argumentName, path);
- 156 1 throw new FileNotFoundException(msg);
157
+
+ 155 1 } else {
+ 156 2 if (!f.exists()) {
+ 157 1 isValid = false;
+ 158 1 final String msg = String.format("Invalid '%s' argument: '%s'", argumentName, path);
+ 159 1 throw new FileNotFoundException(msg);
- 160
}
158
+
- 161
}
- 159 2 } else if (path.startsWith("//") || path.startsWith("\\\\")) {
- 160 0 isValid = false;
- 161 0 final String msg = String.format("Invalid '%s' argument: '%s'%nUnable to scan paths that start with '//'.", argumentName, path);
- 162 0 throw new FileNotFoundException(msg);
- 163
- }
- 164 2 }
+ 165
-
+ 162 2 } else if (path.startsWith("//") || path.startsWith("\\\\")) {
+ 163 0 isValid = false;
+ 164 0 final String msg = String.format("Invalid '%s' argument: '%s'%nUnable to scan paths that start with '//'.", argumentName, path);
165 0 throw new FileNotFoundException(msg);
- 166
- /**
+ 167
- * Generates an Options collection that is used to parse the command line and to display the help message.
+ }
167 2 }
+ 168
- *
- 169
- * @return the command line options used for parsing the command line
- 170
- */
- 171
- @SuppressWarnings("static-access")
- 172
- private Options createCommandLineOptions() {
- 173 9 final Options options = new Options();
- 174 9 addStandardOptions(options);
- 175 9 addAdvancedOptions(options);
- 176 9 addDeprecatedOptions(options);
- 177 9 return options;
- 178
- }
- 179
-
- 180
/**
- 181
- * Adds the standard command line options to the given options collection. 182
+
+ 170
+ * Generates an Options collection that is used to parse the command line and to display the help message.
- 171
*
- 183
- * @param options a collection of command line arguments
- 184
- * @throws IllegalArgumentException thrown if there is an exception 185
+
+ 172
+ * @return the command line options used for parsing the command line
- 173
*/ 186
+
- 174
@SuppressWarnings("static-access")
- 187
- private void addStandardOptions(final Options options) throws IllegalArgumentException {
- 188 11 final Option help = new Option(ARGUMENT.HELP_SHORT, ARGUMENT.HELP, false,
- 189
- "Print this message."); 190
+
+ 175
+ private Options createCommandLineOptions() {
+ 176 9 final Options options = new Options();
+ 177 9 addStandardOptions(options);
+ 178 9 addAdvancedOptions(options);
+ 179 9 addDeprecatedOptions(options);
+ 180 9 return options;
+ 181
+ }
- 182
+ 191 11 final Option advancedHelp = OptionBuilder.withLongOpt(ARGUMENT.ADVANCED_HELP)
+ 183
+ /**
+ 184
+ * Adds the standard command line options to the given options collection.
+ 185
+ *
+ 186
+ * @param options a collection of command line arguments
+ 187
+ * @throws IllegalArgumentException thrown if there is an exception
+ 188
+ */
+ 189
+ @SuppressWarnings("static-access")
+ 190
+ private void addStandardOptions(final Options options) throws IllegalArgumentException {
191 11 final Option help = new Option(ARGUMENT.HELP_SHORT, ARGUMENT.HELP, false,
+ 192
- .withDescription("Print the advanced help message.").create(); "Print this message.");
- 193
+ 194 11 final Option version = new Option(ARGUMENT.VERSION_SHORT, ARGUMENT.VERSION,
194 11 final Option advancedHelp = OptionBuilder.withLongOpt(ARGUMENT.ADVANCED_HELP)
+ 195
- false, "Print the version information.");
.withDescription("Print the advanced help message.").create();
- 196
+ 197 11 final Option noUpdate = new Option(ARGUMENT.DISABLE_AUTO_UPDATE_SHORT, ARGUMENT.DISABLE_AUTO_UPDATE,
197 11 final Option version = new Option(ARGUMENT.VERSION_SHORT, ARGUMENT.VERSION,
+ 198
- false, "Disables the automatic updating of the CPE data.");
false, "Print the version information.");
- 199
+ 200 11 final Option appName = OptionBuilder.withArgName("name").hasArg().withLongOpt(ARGUMENT.APP_NAME)
200 11 final Option noUpdate = new Option(ARGUMENT.DISABLE_AUTO_UPDATE_SHORT, ARGUMENT.DISABLE_AUTO_UPDATE,
+ 201
- .withDescription("The name of the application being scanned. This is a required argument.") false, "Disables the automatic updating of the CPE data.");
- 202
- .create(ARGUMENT.APP_NAME_SHORT);
- 203
+ 204 11 final Option path = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.SCAN)
+ 203 11 final Option appName = OptionBuilder.withArgName("name").hasArg().withLongOpt(ARGUMENT.APP_NAME)
204
+ .withDescription("The name of the application being scanned. This is a required argument.")
+ 205
- .withDescription("The path to scan - this option can be specified multiple times. Ant style" .create(ARGUMENT.APP_NAME_SHORT);
- 206
- + " paths are supported (e.g. path/**/*.jar).")
+ 207
- .create(ARGUMENT.SCAN_SHORT);
+
207 11 final Option path = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.SCAN)
- 208
-
+ 209 11 final Option excludes = OptionBuilder.withArgName("pattern").hasArg().withLongOpt(ARGUMENT.EXCLUDE)
+ .withDescription("The path to scan - this option can be specified multiple times. Ant style"
209
+ + " paths are supported (e.g. path/**/*.jar).")
+ 210
- .withDescription("Specify and exclusion pattern. This option can be specified multiple times" .create(ARGUMENT.SCAN_SHORT);
- 211
- + " and it accepts Ant style excludsions.")
+ 212
- .create();
+
212 11 final Option excludes = OptionBuilder.withArgName("pattern").hasArg().withLongOpt(ARGUMENT.EXCLUDE)
- 213
-
+ 214 11 final Option props = OptionBuilder.withArgName("file").hasArg().withLongOpt(ARGUMENT.PROP)
+ .withDescription("Specify and exclusion pattern. This option can be specified multiple times"
214
+ + " and it accepts Ant style excludsions.")
- 215
- .withDescription("A property file to load.")
- 216
- .create(ARGUMENT.PROP_SHORT);
- 217
-
- 218 11 final Option out = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.OUT)
- 219
- .withDescription("The folder to write reports to. This defaults to the current directory. "
- 220
- + "It is possible to set this to a specific file name if the format argument is not set to ALL.")
- 221
- .create(ARGUMENT.OUT_SHORT);
- 222
-
- 223 11 final Option outputFormat = OptionBuilder.withArgName("format").hasArg().withLongOpt(ARGUMENT.OUTPUT_FORMAT)
- 224
- .withDescription("The output format to write to (XML, HTML, VULN, ALL). The default is HTML.")
- 225
- .create(ARGUMENT.OUTPUT_FORMAT_SHORT);
- 226
-
- 227 11 final Option verboseLog = OptionBuilder.withArgName("file").hasArg().withLongOpt(ARGUMENT.VERBOSE_LOG)
- 228
- .withDescription("The file path to write verbose logging information.")
- 229
- .create(ARGUMENT.VERBOSE_LOG_SHORT);
- 230
-
- 231 11 final Option suppressionFile = OptionBuilder.withArgName("file").hasArg().withLongOpt(ARGUMENT.SUPPRESSION_FILE)
- 232
- .withDescription("The file path to the suppression XML file.")
- 233
.create();
234
+
+ 216
+ 217 11 final Option props = OptionBuilder.withArgName("file").hasArg().withLongOpt(ARGUMENT.PROP)
+ 218
+ .withDescription("A property file to load.")
+ 219
+ .create(ARGUMENT.PROP_SHORT);
+ 220
+
+ 221 11 final Option out = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.OUT)
+ 222
+ .withDescription("The folder to write reports to. This defaults to the current directory. "
+ 223
+ + "It is possible to set this to a specific file name if the format argument is not set to ALL.")
+ 224
+ .create(ARGUMENT.OUT_SHORT);
+ 225
+
+ 226 11 final Option outputFormat = OptionBuilder.withArgName("format").hasArg().withLongOpt(ARGUMENT.OUTPUT_FORMAT)
+ 227
+ .withDescription("The output format to write to (XML, HTML, VULN, ALL). The default is HTML.")
+ 228
+ .create(ARGUMENT.OUTPUT_FORMAT_SHORT);
+ 229
+
+ 230 11 final Option verboseLog = OptionBuilder.withArgName("file").hasArg().withLongOpt(ARGUMENT.VERBOSE_LOG)
+ 231
+ .withDescription("The file path to write verbose logging information.")
+ 232
+ .create(ARGUMENT.VERBOSE_LOG_SHORT);
+ 233
+
234 11 final Option suppressionFile = OptionBuilder.withArgName("file").hasArg().withLongOpt(ARGUMENT.SUPPRESSION_FILE)
- 235
- //This is an option group because it can be specified more then once.
- 236 11 final OptionGroup og = new OptionGroup();
- 237 11 og.addOption(path);
+ 238
+ .withDescription("The file path to the suppression XML file.")
+ 236
+ .create();
- 237
- 239 11 final OptionGroup exog = new OptionGroup();
+ 240 11 exog.addOption(excludes);
+ 238
+ //This is an option group because it can be specified more then once.
+ 239 11 final OptionGroup og = new OptionGroup();
240 11 og.addOption(path);
- 241
- 242 11 options.addOptionGroup(og)
+ 243
- .addOptionGroup(exog)
+ 242 11 final OptionGroup exog = new OptionGroup();
243 11 exog.addOption(excludes);
- 244
- .addOption(out)
+ 245
- .addOption(outputFormat)
+
245 11 options.addOptionGroup(og)
+ 246
- .addOption(appName)
.addOptionGroup(exog)
+ 247
- .addOption(version)
.addOption(out)
+ 248
- .addOption(help)
.addOption(outputFormat)
+ 249
- .addOption(advancedHelp)
.addOption(appName)
+ 250
- .addOption(noUpdate)
.addOption(version)
+ 251
- .addOption(props)
.addOption(help)
+ 252
- .addOption(verboseLog)
.addOption(advancedHelp)
- 253
- .addOption(suppressionFile);
+ 254 11 }
+ .addOption(noUpdate)
254
+ .addOption(props)
+ 255
-
.addOption(verboseLog)
- 256
- /**
+ 257
- * Adds the advanced command line options to the given options collection. These are split out for purposes of being
+ .addOption(suppressionFile);
257 11 }
+ 258
- * able to display two different help messages.
+ 259
- * /**
+ 260
- * @param options a collection of command line arguments * Adds the advanced command line options to the given options collection. These are split out for purposes of being able to
+ 261
- * @throws IllegalArgumentException thrown if there is an exception * display two different help messages.
+ 262
- */ *
+ 263
- @SuppressWarnings("static-access") * @param options a collection of command line arguments
+ 264
- private void addAdvancedOptions(final Options options) throws IllegalArgumentException {
* @throws IllegalArgumentException thrown if there is an exception
- 265
-
+ 266 9 final Option data = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.DATA_DIRECTORY)
+ */
266
+ @SuppressWarnings("static-access")
+ 267
- .withDescription("The location of the H2 Database file. This option should generally not be set.") private void addAdvancedOptions(final Options options) throws IllegalArgumentException {
- 268
- .create(ARGUMENT.DATA_DIRECTORY_SHORT);
- 269
+ 270 9 final Option connectionTimeout = OptionBuilder.withArgName("timeout").hasArg().withLongOpt(ARGUMENT.CONNECTION_TIMEOUT)
+ 269 9 final Option data = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.DATA_DIRECTORY)
270
+ .withDescription("The location of the H2 Database file. This option should generally not be set.")
+ 271
- .withDescription("The connection timeout (in milliseconds) to use when downloading resources.") .create(ARGUMENT.DATA_DIRECTORY_SHORT);
- 272
- .create(ARGUMENT.CONNECTION_TIMEOUT_SHORT);
- 273
+ 274 9 final Option proxyServer = OptionBuilder.withArgName("server").hasArg().withLongOpt(ARGUMENT.PROXY_SERVER)
+ 273 9 final Option connectionTimeout = OptionBuilder.withArgName("timeout").hasArg().withLongOpt(ARGUMENT.CONNECTION_TIMEOUT)
274
+ .withDescription("The connection timeout (in milliseconds) to use when downloading resources.")
+ 275
- .withDescription("The proxy server to use when downloading resources.") .create(ARGUMENT.CONNECTION_TIMEOUT_SHORT);
- 276
- .create();
- 277
+ 278 9 final Option proxyPort = OptionBuilder.withArgName("port").hasArg().withLongOpt(ARGUMENT.PROXY_PORT)
+ 277 9 final Option proxyServer = OptionBuilder.withArgName("server").hasArg().withLongOpt(ARGUMENT.PROXY_SERVER)
278
+ .withDescription("The proxy server to use when downloading resources.")
+ 279
- .withDescription("The proxy port to use when downloading resources.") .create();
- 280
- .create();
- 281
+ 282 9 final Option proxyUsername = OptionBuilder.withArgName("user").hasArg().withLongOpt(ARGUMENT.PROXY_USERNAME)
+ 281 9 final Option proxyPort = OptionBuilder.withArgName("port").hasArg().withLongOpt(ARGUMENT.PROXY_PORT)
282
+ .withDescription("The proxy port to use when downloading resources.")
+ 283
- .withDescription("The proxy username to use when downloading resources.") .create();
- 284
- .create();
- 285
+ 286 9 final Option proxyPassword = OptionBuilder.withArgName("pass").hasArg().withLongOpt(ARGUMENT.PROXY_PASSWORD)
+ 285 9 final Option proxyUsername = OptionBuilder.withArgName("user").hasArg().withLongOpt(ARGUMENT.PROXY_USERNAME)
286
+ .withDescription("The proxy username to use when downloading resources.")
+ 287
- .withDescription("The proxy password to use when downloading resources.") .create();
- 288
- .create();
- 289
+ 290 9 final Option connectionString = OptionBuilder.withArgName("connStr").hasArg().withLongOpt(ARGUMENT.CONNECTION_STRING)
+ 289 9 final Option proxyPassword = OptionBuilder.withArgName("pass").hasArg().withLongOpt(ARGUMENT.PROXY_PASSWORD)
290
+ .withDescription("The proxy password to use when downloading resources.")
+ 291
- .withDescription("The connection string to the database.") .create();
- 292
- .create();
- 293
+ 294 9 final Option dbUser = OptionBuilder.withArgName("user").hasArg().withLongOpt(ARGUMENT.DB_NAME)
+ 293 9 final Option connectionString = OptionBuilder.withArgName("connStr").hasArg().withLongOpt(ARGUMENT.CONNECTION_STRING)
294
+ .withDescription("The connection string to the database.")
+ 295
- .withDescription("The username used to connect to the database.") .create();
- 296
- .create();
- 297
+ 298 9 final Option dbPassword = OptionBuilder.withArgName("password").hasArg().withLongOpt(ARGUMENT.DB_PASSWORD)
+ 297 9 final Option dbUser = OptionBuilder.withArgName("user").hasArg().withLongOpt(ARGUMENT.DB_NAME)
298
+ .withDescription("The username used to connect to the database.")
+ 299
- .withDescription("The password for connecting to the database.") .create();
- 300
- .create();
- 301
+ 302 9 final Option dbDriver = OptionBuilder.withArgName("driver").hasArg().withLongOpt(ARGUMENT.DB_DRIVER)
+ 301 9 final Option dbPassword = OptionBuilder.withArgName("password").hasArg().withLongOpt(ARGUMENT.DB_PASSWORD)
302
+ .withDescription("The password for connecting to the database.")
+ 303
- .withDescription("The database driver name.") .create();
- 304
- .create();
- 305
+ 306 9 final Option dbDriverPath = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.DB_DRIVER_PATH)
+ 305 9 final Option dbDriver = OptionBuilder.withArgName("driver").hasArg().withLongOpt(ARGUMENT.DB_DRIVER)
306
+ .withDescription("The database driver name.")
+ 307
- .withDescription("The path to the database driver; note, this does not need to be set unless the JAR is outside of the classpath.") .create();
- 308
- .create();
- 309
+ 310 9 final Option disableJarAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_JAR)
+ 309 9 final Option dbDriverPath = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.DB_DRIVER_PATH)
310
+ .withDescription("The path to the database driver; note, this does not need to be set unless the JAR is outside of the classpath.")
- 311
- .withDescription("Disable the Jar Analyzer.")
- 312
.create();
+ 313 9 final Option disableArchiveAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_ARCHIVE)
+ 312
+
313 9 final Option disableJarAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_JAR)
+ 314
- .withDescription("Disable the Archive Analyzer.") .withDescription("Disable the Jar Analyzer.")
- 315
.create();
+ 316 9 final Option disableNuspecAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_NUSPEC)
316 9 final Option disableArchiveAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_ARCHIVE)
+ 317
- .withDescription("Disable the Nuspec Analyzer.") .withDescription("Disable the Archive Analyzer.")
- 318
.create();
+ 319 9 final Option disableAssemblyAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_ASSEMBLY)
319 9 final Option disableNuspecAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_NUSPEC)
+ 320
- .withDescription("Disable the .NET Assembly Analyzer.") .withDescription("Disable the Nuspec Analyzer.")
- 321
.create();
- 322
-
+ 323 9 final Option disableNexusAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_NEXUS)
+ 322 9 final Option disableAssemblyAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_ASSEMBLY)
323
+ .withDescription("Disable the .NET Assembly Analyzer.")
- 324
- .withDescription("Disable the Nexus Analyzer.")
- 325
.create();
326
+
- 325
+ 327 9 final Option nexusUrl = OptionBuilder.withArgName("url").hasArg().withLongOpt(ARGUMENT.NEXUS_URL)
+ 326 9 final Option disableCentralAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_CENTRAL)
327
+ .withDescription("Disable the Central Analyzer. If this analyzer is disabled it is likely you also want to disable "
+ 328
- .withDescription("The url to the Nexus Pro Server. If not set the Nexus Analyzer will be disabled.") + "the Nexus Analyzer.")
329
.create();
- 330
+ 331 9 final Option nexusUsesProxy = OptionBuilder.withArgName("true/false").hasArg().withLongOpt(ARGUMENT.NEXUS_USES_PROXY)
331 9 final Option disableNexusAnalyzer = OptionBuilder.withLongOpt(ARGUMENT.DISABLE_NEXUS)
+ 332
- .withDescription("Whether or not the configured proxy should be used when connecting to Nexus.") .withDescription("Disable the Nexus Analyzer.")
333
.create();
- 334
+ 335 9 final Option additionalZipExtensions = OptionBuilder.withArgName("extensions").hasArg()
335 9 final Option nexusUrl = OptionBuilder.withArgName("url").hasArg().withLongOpt(ARGUMENT.NEXUS_URL)
+ 336
- .withLongOpt(ARGUMENT.ADDITIONAL_ZIP_EXTENSIONS)
.withDescription("The url to the Nexus Pro Server. If not set the Nexus Analyzer will be disabled.")
+ 337
- .withDescription("A comma separated list of additional extensions to be scanned as ZIP files " .create();
- 338
- + "(ZIP, EAR, WAR are already treated as zip files)")
+ 339
- .create();
+
339 9 final Option nexusUsesProxy = OptionBuilder.withArgName("true/false").hasArg().withLongOpt(ARGUMENT.NEXUS_USES_PROXY)
- 340
-
+ 341 9 final Option pathToMono = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.PATH_TO_MONO)
+ .withDescription("Whether or not the configured proxy should be used when connecting to Nexus.")
341
+ .create();
- 342
- .withDescription("The path to Mono for .NET Assembly analysis on non-windows systems.")
+ 343
- .create();
+
343 9 final Option additionalZipExtensions = OptionBuilder.withArgName("extensions").hasArg()
- 344
-
+ 345 9 options.addOption(proxyPort)
+ .withLongOpt(ARGUMENT.ADDITIONAL_ZIP_EXTENSIONS)
345
+ .withDescription("A comma separated list of additional extensions to be scanned as ZIP files "
+ 346
- .addOption(proxyServer)
+ "(ZIP, EAR, WAR are already treated as zip files)")
- 347
- .addOption(proxyUsername)
- 348
- .addOption(proxyPassword)
- 349
- .addOption(connectionTimeout)
- 350
- .addOption(connectionString)
- 351
- .addOption(dbUser)
- 352
- .addOption(data)
- 353
- .addOption(dbPassword)
- 354
- .addOption(dbDriver)
- 355
- .addOption(dbDriverPath)
- 356
- .addOption(disableJarAnalyzer)
- 357
- .addOption(disableArchiveAnalyzer)
- 358
- .addOption(disableAssemblyAnalyzer)
- 359
- .addOption(disableNuspecAnalyzer)
- 360
- .addOption(disableNexusAnalyzer)
- 361
- .addOption(nexusUrl)
- 362
- .addOption(nexusUsesProxy)
- 363
- .addOption(additionalZipExtensions)
- 364
- .addOption(pathToMono);
- 365 9 }
- 366
-
- 367
- /**
- 368
- * Adds the deprecated command line options to the given options collection. These are split out for purposes of not
- 369
- * including them in the help message. We need to add the deprecated options so as not to break existing scripts.
- 370
- *
- 371
- * @param options a collection of command line arguments
- 372
- * @throws IllegalArgumentException thrown if there is an exception
- 373
- */
- 374
- @SuppressWarnings("static-access")
- 375
- private void addDeprecatedOptions(final Options options) throws IllegalArgumentException {
- 376
-
- 377 9 final Option proxyServer = OptionBuilder.withArgName("url").hasArg().withLongOpt(ARGUMENT.PROXY_URL)
- 378
- .withDescription("The proxy url argument is deprecated, use proxyserver instead.")
- 379
.create();
380
+
- 348
- 381 9 options.addOption(proxyServer);
- 382 9 }
383
+
+ 349 9 final Option pathToMono = OptionBuilder.withArgName("path").hasArg().withLongOpt(ARGUMENT.PATH_TO_MONO)
+ 350
+ .withDescription("The path to Mono for .NET Assembly analysis on non-windows systems.")
+ 351
+ .create();
- 352
384
+
+ 353 9 options.addOption(proxyPort)
+ 354
+ .addOption(proxyServer)
+ 355
+ .addOption(proxyUsername)
+ 356
+ .addOption(proxyPassword)
+ 357
+ .addOption(connectionTimeout)
+ 358
+ .addOption(connectionString)
+ 359
+ .addOption(dbUser)
+ 360
+ .addOption(data)
+ 361
+ .addOption(dbPassword)
+ 362
+ .addOption(dbDriver)
+ 363
+ .addOption(dbDriverPath)
+ 364
+ .addOption(disableJarAnalyzer)
+ 365
+ .addOption(disableArchiveAnalyzer)
+ 366
+ .addOption(disableAssemblyAnalyzer)
+ 367
+ .addOption(disableNuspecAnalyzer)
+ 368
+ .addOption(disableCentralAnalyzer)
+ 369
+ .addOption(disableNexusAnalyzer)
+ 370
+ .addOption(nexusUrl)
+ 371
+ .addOption(nexusUsesProxy)
+ 372
+ .addOption(additionalZipExtensions)
+ 373
+ .addOption(pathToMono);
+ 374 9 }
+ 375
+
- 376
/**
- 385
- * Determines if the 'version' command line argument was passed in. 386
+
+ 377
+ * Adds the deprecated command line options to the given options collection. These are split out for purposes of not including
+ 378
+ * them in the help message. We need to add the deprecated options so as not to break existing scripts.
- 379
*
- 387
- * @return whether or not the 'version' command line argument was passed in 388
+
+ 380
+ * @param options a collection of command line arguments
+ 381
+ * @throws IllegalArgumentException thrown if there is an exception
+ 382
*/
+ 383
+ @SuppressWarnings("static-access")
+ 384
+ private void addDeprecatedOptions(final Options options) throws IllegalArgumentException {
+ 385
+
+ 386 9 final Option proxyServer = OptionBuilder.withArgName("url").hasArg().withLongOpt(ARGUMENT.PROXY_URL)
+ 387
+ .withDescription("The proxy url argument is deprecated, use proxyserver instead.")
388
+ .create();
- 389
- public boolean isGetVersion() {
- 390 7 return (line != null) && line.hasOption(ARGUMENT.VERSION);
+ 391
- }
+
+ 390 9 options.addOption(proxyServer);
391 9 }
392
393
/**
+ 394
- * Determines if the 'help' command line argument was passed in. * Determines if the 'version' command line argument was passed in.
395
*
+ 396
- * @return whether or not the 'help' command line argument was passed in * @return whether or not the 'version' command line argument was passed in
397
*/
- 398
- public boolean isGetHelp() {
+ 399 7 return (line != null) && line.hasOption(ARGUMENT.HELP);
+ public boolean isGetVersion() {
399 7 return (line != null) && line.hasOption(ARGUMENT.VERSION);
400
}
401
@@ -724,16 +720,16 @@
402
/**
+ 403
- * Determines if the 'scan' command line argument was passed in. * Determines if the 'help' command line argument was passed in.
404
*
+ 405
- * @return whether or not the 'scan' command line argument was passed in * @return whether or not the 'help' command line argument was passed in
406
*/
- 407
- public boolean isRunScan() {
+ 408 14 return (line != null) && isValid && line.hasOption(ARGUMENT.SCAN);
+ public boolean isGetHelp() {
408 7 return (line != null) && line.hasOption(ARGUMENT.HELP);
409
}
410
@@ -741,16 +737,16 @@
411
/**
+ 412
- * Returns true if the disableJar command line argument was specified. * Determines if the 'scan' command line argument was passed in.
413
*
+ 414
- * @return true if the disableJar command line argument was specified; otherwise false * @return whether or not the 'scan' command line argument was passed in
415
*/
- 416
- public boolean isJarDisabled() {
+ 417 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_JAR);
+ public boolean isRunScan() {
417 14 return (line != null) && isValid && line.hasOption(ARGUMENT.SCAN);
418
}
419
@@ -758,16 +754,16 @@
420
/**
+ 421
- * Returns true if the disableArchive command line argument was specified. * Returns true if the disableJar command line argument was specified.
422
*
+ 423
- * @return true if the disableArchive command line argument was specified; otherwise false * @return true if the disableJar command line argument was specified; otherwise false
424
*/
- 425
- public boolean isArchiveDisabled() {
+ 426 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_ARCHIVE);
+ public boolean isJarDisabled() {
426 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_JAR);
427
}
428
@@ -775,16 +771,16 @@
429
/**
+ 430
- * Returns true if the disableNuspec command line argument was specified. * Returns true if the disableArchive command line argument was specified.
431
*
+ 432
- * @return true if the disableNuspec command line argument was specified; otherwise false * @return true if the disableArchive command line argument was specified; otherwise false
433
*/
- 434
- public boolean isNuspecDisabled() {
+ 435 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_NUSPEC);
+ public boolean isArchiveDisabled() {
435 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_ARCHIVE);
436
}
437
@@ -792,16 +788,16 @@
438
/**
+ 439
- * Returns true if the disableAssembly command line argument was specified. * Returns true if the disableNuspec command line argument was specified.
440
*
+ 441
- * @return true if the disableAssembly command line argument was specified; otherwise false * @return true if the disableNuspec command line argument was specified; otherwise false
442
*/
- 443
- public boolean isAssemblyDisabled() {
+ 444 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_ASSEMBLY);
+ public boolean isNuspecDisabled() {
444 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_NUSPEC);
445
}
446
@@ -809,16 +805,16 @@
447
/**
+ 448
- * Returns true if the disableNexus command line argument was specified. * Returns true if the disableAssembly command line argument was specified.
449
*
+ 450
- * @return true if the disableNexus command line argument was specified; otherwise false * @return true if the disableAssembly command line argument was specified; otherwise false
451
*/
- 452
- public boolean isNexusDisabled() {
+ 453 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_NEXUS);
+ public boolean isAssemblyDisabled() {
453 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_ASSEMBLY);
454
}
455
@@ -826,242 +822,246 @@
456
/**
+ 457
- * Returns the url to the nexus server if one was specified. * Returns true if the disableNexus command line argument was specified.
458
*
+ 459
- * @return the url to the nexus server; if none was specified this will return null; * @return true if the disableNexus command line argument was specified; otherwise false
460
*/
- 461
- public String getNexusUrl() {
- 462 0 if (line == null || !line.hasOption(ARGUMENT.NEXUS_URL)) {
+ 463 0 return null;
+ public boolean isNexusDisabled() {
+ 462 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_NEXUS);
463
+ }
- 464
- } else {
+ 465 0 return line.getOptionValue(ARGUMENT.NEXUS_URL);
+
465
+ /**
+ 466
- }
* Returns true if the disableCentral command line argument was specified.
- 467
- }
- 468
-
- 469
- /**
- 470
- * Returns true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false is
- 471
- * returned.
- 472
*
- 473
- * @return true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false 474
+
+ 468
+ * @return true if the disableCentral command line argument was specified; otherwise false
- 469
*/
- 475
- public boolean isNexusUsesProxy() {
- 476
- // If they didn't specify whether Nexus needs to use the proxy, we should
- 477
- // still honor the property if it's set.
- 478 0 if (line == null || !line.hasOption(ARGUMENT.NEXUS_USES_PROXY)) {
- 479
- try {
- 480 0 return Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY);
- 481 0 } catch (InvalidSettingException ise) {
- 482 0 return true;
- 483
- }
- 484
- } else {
- 485 0 return Boolean.parseBoolean(line.getOptionValue(ARGUMENT.NEXUS_USES_PROXY));
- 486
- }
487
+
+ 470
+ public boolean isCentralDisabled() {
+ 471 0 return (line != null) && line.hasOption(ARGUMENT.DISABLE_CENTRAL);
- 472
}
488
+
- 473
489
+
+ 474
/**
+ 475
+ * Returns the url to the nexus server if one was specified.
+ 476
+ *
+ 477
+ * @return the url to the nexus server; if none was specified this will return null;
+ 478
+ */
+ 479
+ public String getNexusUrl() {
+ 480 0 if (line == null || !line.hasOption(ARGUMENT.NEXUS_URL)) {
+ 481 0 return null;
+ 482
+ } else {
+ 483 0 return line.getOptionValue(ARGUMENT.NEXUS_URL);
+ 484
+ }
+ 485
+ }
+ 486
+
+ 487
+ /**
+ 488
+ * Returns true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false is returned.
489
+ *
+ 490
- * Displays the command line help message to the standard output. * @return true if the Nexus Analyzer should use the configured proxy to connect to Nexus; otherwise false
491
*/
- 492
- public void printHelp() {
- 493 2 final HelpFormatter formatter = new HelpFormatter();
- 494 2 final Options options = new Options();
- 495 2 addStandardOptions(options);
- 496 2 if (line != null && line.hasOption(ARGUMENT.ADVANCED_HELP)) {
- 497 0 addAdvancedOptions(options);
- 498
- }
+ 499 2 final String helpMsg = String.format("%n%s"
+ public boolean isNexusUsesProxy() {
+ 493
+ // If they didn't specify whether Nexus needs to use the proxy, we should
+ 494
+ // still honor the property if it's set.
+ 495 0 if (line == null || !line.hasOption(ARGUMENT.NEXUS_USES_PROXY)) {
+ 496
+ try {
+ 497 0 return Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY);
+ 498 0 } catch (InvalidSettingException ise) {
499 0 return true;
- 500
- + " can be used to identify if there are any known CVE vulnerabilities in libraries utilized by an application. "
- 501
- + "%s will automatically update required data from the Internet, such as the CVE and CPE data files from nvd.nist.gov.%n%n",
- 502
- Settings.getString("application.name", "DependencyCheck"),
- 503
- Settings.getString("application.name", "DependencyCheck"));
- 504
-
- 505 2 formatter.printHelp(Settings.getString("application.name", "DependencyCheck"),
- 506
- helpMsg,
- 507
- options,
- 508
- "",
- 509
- true);
- 510 2 }
- 511
-
- 512
- /**
- 513
- * Retrieves the file command line parameter(s) specified for the 'scan' argument.
- 514
- *
- 515
- * @return the file paths specified on the command line for scan
- 516
- */
- 517
- public String[] getScanFiles() {
- 518 3 return line.getOptionValues(ARGUMENT.SCAN);
- 519
- }
- 520
-
- 521
- /**
- 522
- * Retrieves the list of excluded file patterns specified by the 'exclude' argument.
- 523
- *
- 524
- * @return the excluded file patterns
- 525
- */
- 526
- public String[] getExcludeList() {
- 527 0 return line.getOptionValues(ARGUMENT.EXCLUDE);
- 528
- }
- 529
-
- 530
- /**
- 531
- * Returns the directory to write the reports to specified on the command line.
- 532
- *
- 533
- * @return the path to the reports directory.
- 534
- */
- 535
- public String getReportDirectory() {
- 536 1 return line.getOptionValue(ARGUMENT.OUT, ".");
- 537
- }
- 538
-
- 539
- /**
- 540
- * Returns the path to Mono for .NET Assembly analysis on non-windows systems.
- 541
- *
- 542
- * @return the path to Mono
- 543
- */
- 544
- public String getPathToMono() {
- 545 1 return line.getOptionValue(ARGUMENT.PATH_TO_MONO);
- 546
- }
- 547
-
- 548
- /**
- 549
- * Returns the output format specified on the command line. Defaults to HTML if no format was specified.
- 550
- *
- 551
- * @return the output format name.
- 552
- */
- 553
- public String getReportFormat() {
- 554 1 return line.getOptionValue(ARGUMENT.OUTPUT_FORMAT, "HTML");
- 555
- }
- 556
-
- 557
- /**
- 558
- * Returns the application name specified on the command line.
- 559
- *
- 560
- * @return the application name.
- 561
- */
- 562
- public String getApplicationName() {
- 563 0 return line.getOptionValue(ARGUMENT.APP_NAME);
- 564
- }
- 565
-
- 566
- /**
- 567
- * Returns the connection timeout.
- 568
- *
- 569
- * @return the connection timeout
- 570
- */
- 571
- public String getConnectionTimeout() {
- 572 0 return line.getOptionValue(ARGUMENT.CONNECTION_TIMEOUT);
- 573
- }
- 574
-
- 575
- /**
- 576
- * Returns the proxy server.
- 577
- *
- 578
- * @return the proxy server
- 579
- */
- 580
- public String getProxyServer() {
- 581
-
- 582 0 String server = line.getOptionValue(ARGUMENT.PROXY_SERVER);
- 583 0 if (server == null) {
- 584 0 server = line.getOptionValue(ARGUMENT.PROXY_URL);
- 585 0 if (server != null) {
- 586 0 LOGGER.warning("An old command line argument 'proxyurl' was detected; use proxyserver instead");
- 587
}
588
+
+ 501
+ } else {
+ 502 0 return Boolean.parseBoolean(line.getOptionValue(ARGUMENT.NEXUS_USES_PROXY));
- 503
}
+ 589 0 return server;
+ 504
+ }
+ 505
+
+ 506
+ /**
+ 507
+ * Displays the command line help message to the standard output.
+ 508
+ */
+ 509
+ public void printHelp() {
+ 510 2 final HelpFormatter formatter = new HelpFormatter();
+ 511 2 final Options options = new Options();
+ 512 2 addStandardOptions(options);
+ 513 2 if (line != null && line.hasOption(ARGUMENT.ADVANCED_HELP)) {
+ 514 0 addAdvancedOptions(options);
+ 515
+ }
+ 516 2 final String helpMsg = String.format("%n%s"
+ 517
+ + " can be used to identify if there are any known CVE vulnerabilities in libraries utilized by an application. "
+ 518
+ + "%s will automatically update required data from the Internet, such as the CVE and CPE data files from nvd.nist.gov.%n%n",
+ 519
+ Settings.getString("application.name", "DependencyCheck"),
+ 520
+ Settings.getString("application.name", "DependencyCheck"));
+ 521
+
+ 522 2 formatter.printHelp(Settings.getString("application.name", "DependencyCheck"),
+ 523
+ helpMsg,
+ 524
+ options,
+ 525
+ "",
+ 526
+ true);
+ 527 2 }
+ 528
+
+ 529
+ /**
+ 530
+ * Retrieves the file command line parameter(s) specified for the 'scan' argument.
+ 531
+ *
+ 532
+ * @return the file paths specified on the command line for scan
+ 533
+ */
+ 534
+ public String[] getScanFiles() {
+ 535 3 return line.getOptionValues(ARGUMENT.SCAN);
+ 536
+ }
+ 537
+
+ 538
+ /**
+ 539
+ * Retrieves the list of excluded file patterns specified by the 'exclude' argument.
+ 540
+ *
+ 541
+ * @return the excluded file patterns
+ 542
+ */
+ 543
+ public String[] getExcludeList() {
+ 544 0 return line.getOptionValues(ARGUMENT.EXCLUDE);
+ 545
+ }
+ 546
+
+ 547
+ /**
+ 548
+ * Returns the directory to write the reports to specified on the command line.
+ 549
+ *
+ 550
+ * @return the path to the reports directory.
+ 551
+ */
+ 552
+ public String getReportDirectory() {
+ 553 1 return line.getOptionValue(ARGUMENT.OUT, ".");
+ 554
+ }
+ 555
+
+ 556
+ /**
+ 557
+ * Returns the path to Mono for .NET Assembly analysis on non-windows systems.
+ 558
+ *
+ 559
+ * @return the path to Mono
+ 560
+ */
+ 561
+ public String getPathToMono() {
+ 562 1 return line.getOptionValue(ARGUMENT.PATH_TO_MONO);
+ 563
+ }
+ 564
+
+ 565
+ /**
+ 566
+ * Returns the output format specified on the command line. Defaults to HTML if no format was specified.
+ 567
+ *
+ 568
+ * @return the output format name.
+ 569
+ */
+ 570
+ public String getReportFormat() {
+ 571 1 return line.getOptionValue(ARGUMENT.OUTPUT_FORMAT, "HTML");
+ 572
+ }
+ 573
+
+ 574
+ /**
+ 575
+ * Returns the application name specified on the command line.
+ 576
+ *
+ 577
+ * @return the application name.
+ 578
+ */
+ 579
+ public String getApplicationName() {
+ 580 0 return line.getOptionValue(ARGUMENT.APP_NAME);
+ 581
+ }
+ 582
+
+ 583
+ /**
+ 584
+ * Returns the connection timeout.
+ 585
+ *
+ 586
+ * @return the connection timeout
+ 587
+ */
+ 588
+ public String getConnectionTimeout() {
589 0 return line.getOptionValue(ARGUMENT.CONNECTION_TIMEOUT);
590
}
591
@@ -1069,645 +1069,678 @@
592
/**
+ 593
- * Returns the proxy port. * Returns the proxy server.
594
*
+ 595
- * @return the proxy port * @return the proxy server
596
*/
- 597
- public String getProxyPort() {
- 598 0 return line.getOptionValue(ARGUMENT.PROXY_PORT);
- 599
- }
+ 600
+ public String getProxyServer() {
- 598
- 601
- /**
- 602
- * Returns the proxy username.
+ 603
- *
+ 599 0 String server = line.getOptionValue(ARGUMENT.PROXY_SERVER);
+ 600 0 if (server == null) {
+ 601 0 server = line.getOptionValue(ARGUMENT.PROXY_URL);
+ 602 0 if (server != null) {
603 0 LOGGER.warning("An old command line argument 'proxyurl' was detected; use proxyserver instead");
+ 604
- * @return the proxy username }
- 605
- */
- 606
- public String getProxyUsername() {
- 607 0 return line.getOptionValue(ARGUMENT.PROXY_USERNAME);
- 608
- }
- 609
-
- 610
- /**
- 611
- * Returns the proxy password.
- 612
- *
- 613
- * @return the proxy password
- 614
- */
- 615
- public String getProxyPassword() {
- 616 0 return line.getOptionValue(ARGUMENT.PROXY_PASSWORD);
- 617
- }
- 618
-
- 619
- /**
- 620
- * Get the value of dataDirectory.
- 621
- *
- 622
- * @return the value of dataDirectory
- 623
- */
- 624
- public String getDataDirectory() {
- 625 0 return line.getOptionValue(ARGUMENT.DATA_DIRECTORY);
- 626
- }
- 627
-
- 628
- /**
- 629
- * Returns the properties file specified on the command line.
- 630
- *
- 631
- * @return the properties file specified on the command line
- 632
- */
- 633
- public File getPropertiesFile() {
- 634 0 final String path = line.getOptionValue(ARGUMENT.PROP);
- 635 0 if (path != null) {
- 636 0 return new File(path);
- 637
}
+ 638 0 return null;
+ 606 0 return server;
+ 607
+ }
+ 608
+
+ 609
+ /**
+ 610
+ * Returns the proxy port.
+ 611
+ *
+ 612
+ * @return the proxy port
+ 613
+ */
+ 614
+ public String getProxyPort() {
+ 615 0 return line.getOptionValue(ARGUMENT.PROXY_PORT);
+ 616
+ }
+ 617
+
+ 618
+ /**
+ 619
+ * Returns the proxy username.
+ 620
+ *
+ 621
+ * @return the proxy username
+ 622
+ */
+ 623
+ public String getProxyUsername() {
+ 624 0 return line.getOptionValue(ARGUMENT.PROXY_USERNAME);
+ 625
+ }
+ 626
+
+ 627
+ /**
+ 628
+ * Returns the proxy password.
+ 629
+ *
+ 630
+ * @return the proxy password
+ 631
+ */
+ 632
+ public String getProxyPassword() {
+ 633 0 return line.getOptionValue(ARGUMENT.PROXY_PASSWORD);
+ 634
+ }
+ 635
+
+ 636
+ /**
+ 637
+ * Get the value of dataDirectory.
638
+ *
+ 639
- }
* @return the value of dataDirectory
+ 640
-
*/
- 641
- /**
+ 642
- * Returns the path to the verbose log file.
+ public String getDataDirectory() {
642 0 return line.getOptionValue(ARGUMENT.DATA_DIRECTORY);
+ 643
- * }
+ 644
- * @return the path to the verbose log file
+ 645
- */ /**
- 646
- public String getVerboseLog() {
+ 647 0 return line.getOptionValue(ARGUMENT.VERBOSE_LOG);
+ * Returns the properties file specified on the command line.
647
+ *
+ 648
- }
* @return the properties file specified on the command line
+ 649
-
*/
- 650
- /**
- 651
- * Returns the path to the suppression file.
- 652
- *
+ 653
- * @return the path to the suppression file
+ public File getPropertiesFile() {
+ 651 0 final String path = line.getOptionValue(ARGUMENT.PROP);
+ 652 0 if (path != null) {
653 0 return new File(path);
- 654
- */
- 655
- public String getSuppressionFile() {
+ 656 0 return line.getOptionValue(ARGUMENT.SUPPRESSION_FILE);
+ }
+ 655 0 return null;
656
+ }
+ 657
- }
+ 658
-
/**
+ 659
- /** * Returns the path to the verbose log file.
+ 660
- * <p> *
+ 661
- * Prints the manifest information to standard output.</p> * @return the path to the verbose log file
+ 662
- * <ul><li>Implementation-Title: ${pom.name}</li> */
- 663
- * <li>Implementation-Version: ${pom.version}</li></ul>
+ 664
- */
+ public String getVerboseLog() {
664 0 return line.getOptionValue(ARGUMENT.VERBOSE_LOG);
- 665
- public void printVersionInfo() {
+ 666 1 final String version = String.format("%s version %s",
+ }
666
+
+ 667
- Settings.getString(Settings.KEYS.APPLICATION_VAME, "dependency-check"), /**
- 668
- Settings.getString(Settings.KEYS.APPLICATION_VERSION, "Unknown"));
- 669 1 System.out.println(version);
+ 670 1 }
+ * Returns the path to the suppression file.
+ 669
+ *
670
+ * @return the path to the suppression file
+ 671
-
*/
- 672
- /**
+ 673
- * Checks if the auto update feature has been disabled. If it has been disabled via the command line this will
+ public String getSuppressionFile() {
673 0 return line.getOptionValue(ARGUMENT.SUPPRESSION_FILE);
+ 674
- * return false. }
+ 675
- *
+ 676
- * @return if auto-update is allowed. /**
+ 677
- */ * <p>
- 678
- public boolean isAutoUpdate() {
+ 679 0 return (line == null) || !line.hasOption(ARGUMENT.DISABLE_AUTO_UPDATE);
+ * Prints the manifest information to standard output.</p>
679
+ * <ul><li>Implementation-Title: ${pom.name}</li>
+ 680
- }
* <li>Implementation-Version: ${pom.version}</li></ul>
+ 681
-
*/
- 682
- /**
+ 683
- * Returns the database driver name if specified; otherwise null is returned.
+ public void printVersionInfo() {
683 1 final String version = String.format("%s version %s",
+ 684
- * Settings.getString(Settings.KEYS.APPLICATION_VAME, "dependency-check"),
- 685
- * @return the database driver name if specified; otherwise null is returned
- 686
- */
- 687
- public String getDatabaseDriverName() {
+ 688 0 return line.getOptionValue(ARGUMENT.DB_DRIVER);
+ Settings.getString(Settings.KEYS.APPLICATION_VERSION, "Unknown"));
+ 686 1 System.out.println(version);
+ 687 1 }
688
+
+ 689
- }
/**
+ 690
-
* Checks if the auto update feature has been disabled. If it has been disabled via the command line this will return false.
+ 691
- /** *
+ 692
- * Returns the database driver path if specified; otherwise null is returned. * @return if auto-update is allowed.
+ 693
- * */
- 694
- * @return the database driver name if specified; otherwise null is returned
+ 695
- */
+ public boolean isAutoUpdate() {
695 0 return (line == null) || !line.hasOption(ARGUMENT.DISABLE_AUTO_UPDATE);
- 696
- public String getDatabaseDriverPath() {
+ 697 0 return line.getOptionValue(ARGUMENT.DB_DRIVER_PATH);
+ }
697
+
+ 698
- }
/**
+ 699
-
* Returns the database driver name if specified; otherwise null is returned.
+ 700
- /** *
+ 701
- * Returns the database connection string if specified; otherwise null is returned. * @return the database driver name if specified; otherwise null is returned
+ 702
- * */
- 703
- * @return the database connection string if specified; otherwise null is returned
+ 704
- */
+ public String getDatabaseDriverName() {
704 0 return line.getOptionValue(ARGUMENT.DB_DRIVER);
- 705
- public String getConnectionString() {
+ 706 0 return line.getOptionValue(ARGUMENT.CONNECTION_STRING);
+ }
706
+
+ 707
- }
/**
+ 708
-
* Returns the database driver path if specified; otherwise null is returned.
+ 709
- /** *
+ 710
- * Returns the database database user name if specified; otherwise null is returned. * @return the database driver name if specified; otherwise null is returned
+ 711
- * */
- 712
- * @return the database database user name if specified; otherwise null is returned
+ 713
- */
+ public String getDatabaseDriverPath() {
713 0 return line.getOptionValue(ARGUMENT.DB_DRIVER_PATH);
- 714
- public String getDatabaseUser() {
+ 715 0 return line.getOptionValue(ARGUMENT.DB_NAME);
+ }
715
+
+ 716
- }
/**
+ 717
-
* Returns the database connection string if specified; otherwise null is returned.
+ 718
- /** *
+ 719
- * Returns the database database password if specified; otherwise null is returned. * @return the database connection string if specified; otherwise null is returned
+ 720
- * */
- 721
- * @return the database database password if specified; otherwise null is returned
+ 722
- */
+ public String getConnectionString() {
722 0 return line.getOptionValue(ARGUMENT.CONNECTION_STRING);
- 723
- public String getDatabasePassword() {
+ 724 0 return line.getOptionValue(ARGUMENT.DB_PASSWORD);
+ }
724
+
+ 725
- }
/**
+ 726
-
* Returns the database database user name if specified; otherwise null is returned.
- 727
- /**
- 728
- * Returns the additional Extensions if specified; otherwise null is returned.
- 729
*
- 730
- * @return the additional Extensions; otherwise null is returned 731
+
+ 728
+ * @return the database database user name if specified; otherwise null is returned
+ 729
*/
+ 730
+ public String getDatabaseUser() {
731 0 return line.getOptionValue(ARGUMENT.DB_NAME);
- 732
- public String getAdditionalZipExtensions() {
- 733 0 return line.getOptionValue(ARGUMENT.ADDITIONAL_ZIP_EXTENSIONS);
- 734
}
735
+
- 733
736
+
+ 734
/**
+ 735
+ * Returns the database database password if specified; otherwise null is returned.
736
+ *
+ 737
- * A collection of static final strings that represent the possible command line arguments. * @return the database database password if specified; otherwise null is returned
738
*/
- 739
- public static class ARGUMENT {
+ 740
-
+ public String getDatabasePassword() {
740 0 return line.getOptionValue(ARGUMENT.DB_PASSWORD);
+ 741
- /** }
+ 742
- * The long CLI argument name specifying the directory/file to scan.
+ 743
- */ /**
+ 744
- public static final String SCAN = "scan";
* Returns the additional Extensions if specified; otherwise null is returned.
+ 745
- /** *
+ 746
- * The short CLI argument name specifying the directory/file to scan. * @return the additional Extensions; otherwise null is returned
+ 747
- */ */
- 748
- public static final String SCAN_SHORT = "s";
+ 749
- /**
+ public String getAdditionalZipExtensions() {
749 0 return line.getOptionValue(ARGUMENT.ADDITIONAL_ZIP_EXTENSIONS);
+ 750
- * The long CLI argument name specifying that the CPE/CVE/etc. data should not be automatically updated. }
+ 751
- */
+ 752
- public static final String DISABLE_AUTO_UPDATE = "noupdate";
/**
+ 753
- /** * A collection of static final strings that represent the possible command line arguments.
- 754
- * The short CLI argument name specifying that the CPE/CVE/etc. data should not be automatically updated.
+ 755
- */
+ */
755 9 public static class ARGUMENT {
+ 756
- public static final String DISABLE_AUTO_UPDATE_SHORT = "n";
757
/**
+ 758
- * The long CLI argument name specifying the directory to write the reports to. * The long CLI argument name specifying the directory/file to scan.
759
*/
+ 760
- public static final String OUT = "out";
public static final String SCAN = "scan";
761
/**
+ 762
- * The short CLI argument name specifying the directory to write the reports to. * The short CLI argument name specifying the directory/file to scan.
763
*/
+ 764
- public static final String OUT_SHORT = "o";
public static final String SCAN_SHORT = "s";
765
/**
+ 766
- * The long CLI argument name specifying the output format to write the reports to. * The long CLI argument name specifying that the CPE/CVE/etc. data should not be automatically updated.
767
*/
+ 768
- public static final String OUTPUT_FORMAT = "format";
public static final String DISABLE_AUTO_UPDATE = "noupdate";
769
/**
+ 770
- * The short CLI argument name specifying the output format to write the reports to. * The short CLI argument name specifying that the CPE/CVE/etc. data should not be automatically updated.
771
*/
+ 772
- public static final String OUTPUT_FORMAT_SHORT = "f";
public static final String DISABLE_AUTO_UPDATE_SHORT = "n";
773
/**
+ 774
- * The long CLI argument name specifying the name of the application to be scanned. * The long CLI argument name specifying the directory to write the reports to.
775
*/
+ 776
- public static final String APP_NAME = "app";
public static final String OUT = "out";
777
/**
+ 778
- * The short CLI argument name specifying the name of the application to be scanned. * The short CLI argument name specifying the directory to write the reports to.
779
*/
+ 780
- public static final String APP_NAME_SHORT = "a";
public static final String OUT_SHORT = "o";
781
/**
+ 782
- * The long CLI argument name asking for help. * The long CLI argument name specifying the output format to write the reports to.
783
*/
+ 784
- public static final String HELP = "help";
public static final String OUTPUT_FORMAT = "format";
785
/**
+ 786
- * The long CLI argument name asking for advanced help. * The short CLI argument name specifying the output format to write the reports to.
787
*/
+ 788
- public static final String ADVANCED_HELP = "advancedHelp";
public static final String OUTPUT_FORMAT_SHORT = "f";
789
/**
+ 790
- * The short CLI argument name asking for help. * The long CLI argument name specifying the name of the application to be scanned.
791
*/
+ 792
- public static final String HELP_SHORT = "h";
public static final String APP_NAME = "app";
793
/**
+ 794
- * The long CLI argument name asking for the version. * The short CLI argument name specifying the name of the application to be scanned.
795
*/
+ 796
- public static final String VERSION_SHORT = "v";
public static final String APP_NAME_SHORT = "a";
797
/**
+ 798
- * The short CLI argument name asking for the version. * The long CLI argument name asking for help.
799
*/
+ 800
- public static final String VERSION = "version";
public static final String HELP = "help";
801
/**
+ 802
- * The CLI argument name indicating the proxy port. * The long CLI argument name asking for advanced help.
803
*/
+ 804
- public static final String PROXY_PORT = "proxyport";
public static final String ADVANCED_HELP = "advancedHelp";
805
/**
+ 806
- * The CLI argument name indicating the proxy server. * The short CLI argument name asking for help.
807
*/
+ 808
- public static final String PROXY_SERVER = "proxyserver";
public static final String HELP_SHORT = "h";
809
/**
+ 810
- * The CLI argument name indicating the proxy url. * The long CLI argument name asking for the version.
+ 811
- * */
+ 812
- * @deprecated use {@link org.owasp.dependencycheck.cli.CliParser.ArgumentName#PROXY_SERVER} instead public static final String VERSION_SHORT = "v";
+ 813
- */ /**
+ 814
- @Deprecated
* The short CLI argument name asking for the version.
+ 815
- public static final String PROXY_URL = "proxyurl";
*/
+ 816
- /** public static final String VERSION = "version";
+ 817
- * The CLI argument name indicating the proxy username. /**
+ 818
- */ * The CLI argument name indicating the proxy port.
+ 819
- public static final String PROXY_USERNAME = "proxyuser";
*/
+ 820
- /** public static final String PROXY_PORT = "proxyport";
+ 821
- * The CLI argument name indicating the proxy password. /**
+ 822
- */ * The CLI argument name indicating the proxy server.
+ 823
- public static final String PROXY_PASSWORD = "proxypass";
*/
+ 824
- /** public static final String PROXY_SERVER = "proxyserver";
- 825
- * The short CLI argument name indicating the connection timeout.
- 826
- */
- 827
- public static final String CONNECTION_TIMEOUT_SHORT = "c";
+ 828
/**
+ 826
+ * The CLI argument name indicating the proxy url.
+ 827
+ *
828
+ * @deprecated use {@link org.owasp.dependencycheck.cli.CliParser.ArgumentName#PROXY_SERVER} instead
- 829
- * The CLI argument name indicating the connection timeout.
+ 830
*/
830
+ @Deprecated
+ 831
- public static final String CONNECTION_TIMEOUT = "connectiontimeout";
public static final String PROXY_URL = "proxyurl";
832
/**
+ 833
- * The short CLI argument name for setting the location of an additional properties file. * The CLI argument name indicating the proxy username.
834
*/
+ 835
- public static final String PROP_SHORT = "P";
public static final String PROXY_USERNAME = "proxyuser";
836
/**
+ 837
- * The CLI argument name for setting the location of an additional properties file. * The CLI argument name indicating the proxy password.
838
*/
+ 839
- public static final String PROP = "propertyfile";
public static final String PROXY_PASSWORD = "proxypass";
840
/**
+ 841
- * The CLI argument name for setting the location of the data directory. * The short CLI argument name indicating the connection timeout.
842
*/
+ 843
- public static final String DATA_DIRECTORY = "data";
public static final String CONNECTION_TIMEOUT_SHORT = "c";
844
/**
+ 845
- * The short CLI argument name for setting the location of the data directory. * The CLI argument name indicating the connection timeout.
846
*/
+ 847
- public static final String DATA_DIRECTORY_SHORT = "d";
public static final String CONNECTION_TIMEOUT = "connectiontimeout";
848
/**
+ 849
- * The CLI argument name for setting the location of the data directory. * The short CLI argument name for setting the location of an additional properties file.
850
*/
+ 851
- public static final String VERBOSE_LOG = "log";
public static final String PROP_SHORT = "P";
852
/**
+ 853
- * The short CLI argument name for setting the location of the data directory. * The CLI argument name for setting the location of an additional properties file.
854
*/
+ 855
- public static final String VERBOSE_LOG_SHORT = "l";
public static final String PROP = "propertyfile";
856
/**
+ 857
- * The CLI argument name for setting the location of the suppression file. * The CLI argument name for setting the location of the data directory.
858
*/
+ 859
- public static final String SUPPRESSION_FILE = "suppression";
public static final String DATA_DIRECTORY = "data";
860
/**
+ 861
- * Disables the Jar Analyzer. * The short CLI argument name for setting the location of the data directory.
862
*/
+ 863
- public static final String DISABLE_JAR = "disableJar";
public static final String DATA_DIRECTORY_SHORT = "d";
864
/**
+ 865
- * Disables the Archive Analyzer. * The CLI argument name for setting the location of the data directory.
866
*/
+ 867
- public static final String DISABLE_ARCHIVE = "disableArchive";
public static final String VERBOSE_LOG = "log";
868
/**
+ 869
- * Disables the Assembly Analyzer. * The short CLI argument name for setting the location of the data directory.
870
*/
+ 871
- public static final String DISABLE_ASSEMBLY = "disableAssembly";
public static final String VERBOSE_LOG_SHORT = "l";
872
/**
+ 873
- * Disables the Nuspec Analyzer. * The CLI argument name for setting the location of the suppression file.
874
*/
+ 875
- public static final String DISABLE_NUSPEC = "disableNuspec";
public static final String SUPPRESSION_FILE = "suppression";
876
/**
+ 877
- * Disables the Nexus Analyzer. * Disables the Jar Analyzer.
878
*/
+ 879
- public static final String DISABLE_NEXUS = "disableNexus";
public static final String DISABLE_JAR = "disableJar";
880
/**
+ 881
- * The URL of the nexus server. * Disables the Archive Analyzer.
882
*/
+ 883
- public static final String NEXUS_URL = "nexus";
public static final String DISABLE_ARCHIVE = "disableArchive";
884
/**
+ 885
- * Whether or not the defined proxy should be used when connecting to Nexus. * Disables the Assembly Analyzer.
886
*/
+ 887
- public static final String NEXUS_USES_PROXY = "nexusUsesProxy";
public static final String DISABLE_ASSEMBLY = "disableAssembly";
888
/**
+ 889
- * The CLI argument name for setting the connection string. * Disables the Nuspec Analyzer.
890
*/
+ 891
- public static final String CONNECTION_STRING = "connectionString";
public static final String DISABLE_NUSPEC = "disableNuspec";
892
/**
+ 893
- * The CLI argument name for setting the database user name. * Disables the Central Analyzer.
894
*/
+ 895
- public static final String DB_NAME = "dbUser";
public static final String DISABLE_CENTRAL = "disableCentral";
896
/**
+ 897
- * The CLI argument name for setting the database password. * Disables the Nexus Analyzer.
898
*/
+ 899
- public static final String DB_PASSWORD = "dbPassword";
public static final String DISABLE_NEXUS = "disableNexus";
900
/**
+ 901
- * The CLI argument name for setting the database driver name. * The URL of the nexus server.
902
*/
+ 903
- public static final String DB_DRIVER = "dbDriverName";
public static final String NEXUS_URL = "nexus";
904
/**
+ 905
- * The CLI argument name for setting the path to the database driver; in case it is not on the class path. * Whether or not the defined proxy should be used when connecting to Nexus.
906
*/
+ 907
- public static final String DB_DRIVER_PATH = "dbDriverPath";
public static final String NEXUS_USES_PROXY = "nexusUsesProxy";
908
/**
+ 909
- * The CLI argument name for setting the path to mono for .NET Assembly analysis on non-windows systems. * The CLI argument name for setting the connection string.
910
*/
+ 911
- public static final String PATH_TO_MONO = "mono";
public static final String CONNECTION_STRING = "connectionString";
912
/**
+ 913
- * The CLI argument name for setting extra extensions. * The CLI argument name for setting the database user name.
914
*/
+ 915
- public static final String ADDITIONAL_ZIP_EXTENSIONS = "zipExtensions";
public static final String DB_NAME = "dbUser";
916
/**
+ 917
- * Exclude path argument. * The CLI argument name for setting the database password.
918
*/
+ 919
- public static final String EXCLUDE = "exclude";
public static final String DB_PASSWORD = "dbPassword";
+ 920
- }
/**
+ 921
+ * The CLI argument name for setting the database driver name.
+ 922
+ */
+ 923
+ public static final String DB_DRIVER = "dbDriverName";
+ 924
+ /**
+ 925
+ * The CLI argument name for setting the path to the database driver; in case it is not on the class path.
+ 926
+ */
+ 927
+ public static final String DB_DRIVER_PATH = "dbDriverPath";
+ 928
+ /**
+ 929
+ * The CLI argument name for setting the path to mono for .NET Assembly analysis on non-windows systems.
+ 930
+ */
+ 931
+ public static final String PATH_TO_MONO = "mono";
+ 932
+ /**
+ 933
+ * The CLI argument name for setting extra extensions.
+ 934
+ */
+ 935
+ public static final String ADDITIONAL_ZIP_EXTENSIONS = "zipExtensions";
+ 936
+ /**
+ 937
+ * Exclude path argument.
+ 938
+ */
+ 939
+ public static final String EXCLUDE = "exclude";
+ 940
+ }
-
+
diff --git a/dependency-check-cli/cobertura/org.owasp.dependencycheck.InvalidScanPathException.html b/dependency-check-cli/cobertura/org.owasp.dependencycheck.InvalidScanPathException.html
index 0e038b8db..41d63d122 100644
--- a/dependency-check-cli/cobertura/org.owasp.dependencycheck.InvalidScanPathException.html
+++ b/dependency-check-cli/cobertura/org.owasp.dependencycheck.InvalidScanPathException.html
@@ -12,7 +12,7 @@
941
}
- Classes in this File Line Coverage Branch Coverage Complexity
+ InvalidScanPathException N/A N/A 1.0;1 InvalidScanPathException 0% N/A 1.0;1 */
- 30
public InvalidScanPathException() {
- 31
- super();
+ 32
- }
+ 31 0 super();
32 0 }
33
34
@@ -95,10 +93,8 @@
*/
- 39
public InvalidScanPathException(String msg) {
- 40
- super(msg);
+ 41
- }
+ 40 0 super(msg);
41 0 }
42
43
@@ -113,10 +109,8 @@
*/
- 48
public InvalidScanPathException(Throwable ex) {
- 49
- super(ex);
+ 50
- }
+ 49 0 super(ex);
50 0 }
51
52
@@ -133,14 +127,12 @@
*/
- 58
public InvalidScanPathException(String msg, Throwable ex) {
- 59
- super(msg, ex);
+ 60
- }
+ 59 0 super(msg, ex);
60 0 }
-
+
diff --git a/dependency-check-cli/dependency-updates-report.html b/dependency-check-cli/dependency-updates-report.html
index 90af49c5c..5c1306e4f 100644
--- a/dependency-check-cli/dependency-updates-report.html
+++ b/dependency-check-cli/dependency-updates-report.html
@@ -1,13 +1,13 @@
-
+
61
}
+![]()
# of dependencies using the latest version available
-3 5
![]()
# of dependencies where the next version available is smaller than an incremental version update
@@ -257,9 +257,6 @@
0 Dependency Management
-Dependencies
Status
@@ -275,6 +272,69 @@
Next Major
+
+![]()
junit
+junit
+4.12
+test
+
+ jar
+
+
+
+
+
+
+![]()
org.hamcrest
+hamcrest-core
+1.3
+test
+
+ jar
+
+
+
+
+
+
+![]()
org.jmockit
+jmockit
+1.15
+test
+
+ jar
+
+ 1.16-beta1
+
+
+ Status
+Group Id
+Artifact Id
+Current Version
+Scope
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major Dependencies
+
+
+
+Status
+Group Id
+Artifact Id
+Current Version
+Scope
+Classifier
+Type
+Next Version
+Next Incremental
+Next Minor
+Next Major
+
-![]()
commons-cli
commons-cli
1.2
@@ -285,23 +345,11 @@
-
-![]()
junit
-junit
-4.11
-test
-
- jar
-
- 4.12-beta-1
-4.12
-
![]()
org.owasp
dependency-check-core
-1.2.7
+1.2.9
compile
jar
@@ -313,7 +361,7 @@
![]()
org.owasp
dependency-check-utils
-1.2.7
+1.2.9
compile
jar
@@ -365,7 +413,7 @@
+
+Status
-
There is at least one newer incremental version available. Incremental updates are typically passive.
No newer versions available.
@@ -374,7 +422,55 @@
Group Id
junit junit
+Current Version
-4.11 4.12
+
+
+Scope
+test
+
+Classifier
+
+ Type
+jar org.hamcrest:hamcrest-core
+
+
+
+Status
+
No newer versions available.
+
+Group Id
+org.hamcrest
+
+Artifact Id
+hamcrest-core
+
+Current Version
+1.3
+
+Scope
+test
+
+Classifier
+
+ Type
+jar org.jmockit:jmockit
+
+
+
+Status
+
There is at least one newer incremental version available. Incremental updates are typically passive.
+
+Group Id
+org.jmockit
+
+Artifact Id
+jmockit
+
Current Version
+1.15
@@ -386,7 +482,7 @@
Scope
test jar
Newer versions
-4.12-beta-1 Next Incremental
4.12-beta-2
4.12-beta-3 Latest Incremental
4.12 Next Minor1.16-beta1 Next Incremental
1.16-beta2 Latest Incrementalorg.owasp:dependency-check-core
@@ -401,7 +497,7 @@
+dependency-check-core
+Current Version
-1.2.7 1.2.9
@@ -425,7 +521,7 @@
Scope
compile dependency-check-utils
+Current Version
-1.2.7 1.2.9
@@ -444,7 +540,7 @@
Scope
compile Installation & Usage
-$ chmod +777 dependency-check.sh
@@ -194,7 +194,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Project Mailing Lists
+
+
+
+Name
+Subscribe
+Unsubscribe
+Post
+Archive
+ Dependency Check
+Subscribe
+Unsubscribe
+Post
+groups.google.com
+
+
+![]()
# of plugins using the latest version available
-3 12
+![]()
# of plugins where the next version available is smaller than an incremental version update
-1 0
![]()
# of plugins where the next version available is an incremental version update
@@ -250,7 +250,7 @@
+![]()
# of plugins where the next version available is a minor version update
-11 7
![]()
# of plugins where the next version available is a major version update
@@ -258,7 +258,7 @@
![]()
# of plugins where a dependencies section containes a dependency with an updated version
-1 0
Plugin Management
@@ -274,6 +274,16 @@
Dependency status
+
+![]()
com.github.github
+site-maven-plugin
+0.10
+
+
+ 0.11
+
+ ![]()
+
-![]()
org.apache.maven.plugins
maven-antrun-plugin
1.3
@@ -282,118 +292,125 @@
1.4
![]()
-
+![]()
+
+![]()
org.apache.maven.plugins
maven-assembly-plugin
-2.2-beta-5
-2.2
-2.2.1
-2.3
+2.5.3
+
+
+
+
+ ![]()
+
+![]()
org.apache.maven.plugins
+maven-clean-plugin
+2.6.1
+
+
+
![]()
+
+
+![]()
org.apache.maven.plugins
+maven-compiler-plugin
+3.2
+
+
+
+
+ ![]()
-![]()
org.apache.maven.plugins
maven-dependency-plugin
-2.1
+2.9
- 2.2
-
- ![]()
-
-![]()
org.apache.maven.plugins
-maven-release-plugin
-2.0
-
-
- 2.1
+2.10
![]()
- Status
-Group Id
-Artifact Id
-Current Version
-Next Version
-Next Incremental
-Next Minor
-Next Major
-Dependency status Plugins
-
-
-
-Status
-Group Id
-Artifact Id
-Current Version
-Next Version
-Next Incremental
-Next Minor
-Next Major
-Dependency status
-
-
-![]()
com.github.github
-site-maven-plugin
-0.9
-
-
- 0.10
-
- ![]()
-
-
-![]()
org.apache.maven.plugins
-maven-clean-plugin
-2.4.1
-
-
- 2.5
-
- ![]()
-
-
-![]()
org.apache.maven.plugins
-maven-compiler-plugin
-3.1
-
-
- 3.2
-
- ![]()
-
-
+![]()
![]()
org.apache.maven.plugins
maven-deploy-plugin
-2.7
+2.8.2
- 2.8
- ![]()
-
-![]()
org.apache.maven.plugins
-maven-install-plugin
-2.3.1
-
-
- 2.4
![]()
+![]()
org.apache.maven.plugins
+maven-enforcer-plugin
+1.3.1
+
+
+ 1.4
+
+ ![]()
+
+
+![]()
org.apache.maven.plugins
+maven-failsafe-plugin
+2.18.1
+
+
+
+
+ ![]()
+
+
+![]()
org.apache.maven.plugins
+maven-gpg-plugin
+1.5
+
+
+ 1.6
+
+ ![]()
+
+
+![]()
org.apache.maven.plugins
+maven-install-plugin
+2.5.2
+
+
+
+
+ ![]()
+
+
+![]()
org.apache.maven.plugins
maven-jar-plugin
-2.4
-
-
2.5
+
+
+
+ ![]()
+
+
+![]()
org.apache.maven.plugins
+maven-plugin-plugin
+3.3
+
+
+ 3.4
+
+ ![]()
+
+![]()
org.apache.maven.plugins
+maven-release-plugin
+2.5.1
+
+
+
+
![]()
+
@@ -414,22 +431,22 @@
![]()
3.4
- ![]()
![]()
-
+![]()
![]()
org.apache.maven.plugins
maven-surefire-plugin
-2.16
+2.18.1
+
- 2.17
![]()
![]()
org.codehaus.mojo
appassembler-maven-plugin
-1.8.1
+1.9
@@ -454,7 +471,10 @@
Next Incremental
Next Minor
Next Major
-Dependency status Dependency status
| 1.3 | |
| Newer versions | -1.4 Next Minor 1.5 1.6 1.7 Latest Minor |
|---|
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-assembly-plugin |
| Current Version | -2.2-beta-5 |
| Newer versions | -2.2 Next Version 2.2.1 Next Incremental 2.2.2 Latest Incremental 2.3 Next Minor 2.4 2.4.1 2.5 2.5.1 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-clean-plugin |
| Current Version | -2.4.1 |
| Newer versions | -2.5 Next Minor 2.6 2.6.1 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-compiler-plugin |
| Current Version | -3.1 |
| Newer versions | -3.2 Next Minor |
| maven-dependency-plugin | |
| Current Version | -2.1 | 2.9 |
|---|---|
| Newer versions | -2.2 Next Minor 2.3 2.4 2.5 2.5.1 2.6 2.7 2.8 2.9 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-deploy-plugin |
| Current Version | -2.7 | 2.8.2 |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | +maven-enforcer-plugin |
| Current Version | +1.3.1 |
| Newer versions | -2.8 Next Minor 2.8.1 2.8.2 Latest Minor |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | +maven-failsafe-plugin |
| Current Version | +2.18.1 |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | +maven-gpg-plugin |
| Current Version | +1.5 |
| Newer versions | +1.6 Next Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-install-plugin |
| Current Version | -2.3.1 |
| Newer versions | -2.4 Next Minor 2.5 2.5.1 2.5.2 Latest Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-jar-plugin |
| Current Version | -2.4 |
| Newer versions | -2.5 Next Minor |
| Status | @@ -631,13 +684,28 @@org.apache.maven.plugins |
|---|---|
| Artifact Id | +maven-plugin-plugin |
| Current Version | +3.3 |
| Newer versions | +3.4 Next Minor |
| Status | +|
|---|---|
| Group Id | +org.apache.maven.plugins |
| Artifact Id | maven-release-plugin |
| Current Version | -2.0 |
| Newer versions | -2.1 Next Minor 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.5 2.5.1 Latest Minor |
| 3.3 | |
| Newer versions | -3.4 Next Minor |
|---|
| Status | -Group Id | -Artifact Id | -Current Version | -Classifier | -Type | -Next Version | -Next Incremental | -Next Minor | -Next Major |
|---|---|---|---|---|---|---|---|---|---|
| org.apache.maven.doxia | -doxia-module-markdown | -1.5 | -- | jar | -- | - | 1.6 | -||
| Status | -Group Id | -Artifact Id | -Current Version | -Classifier | -Type | -Next Version | -Next Incremental | -Next Minor | -Next Major |
| Status | -|
|---|---|
| Group Id | -org.apache.maven.doxia |
| Artifact Id | -doxia-module-markdown |
| Current Version | -1.5 |
| Classifier | -|
| Type | -jar |
| Newer versions | -1.6 Next Minor |
| Status | -|
|---|---|
| Group Id | org.apache.maven.plugins | maven-surefire-plugin |
| Current Version | -2.16 |
| Newer versions | -2.17 Next Minor 2.18 Latest Minor |
| appassembler-maven-plugin | |
| Current Version | -1.8.1 |
|---|
| Line | |
|---|---|
| Logger should be a field, dont chain it | -103 |
| Violation | Line |
|---|---|
| These nested if statements could be combined | -146–150 | Useless parentheses. | +399 |
| Useless parentheses. | -390 | 408 |
| Useless parentheses. | -399 | 417 |
| Useless parentheses. | -408 | 426 |
| Useless parentheses. | -417 | 435 |
| Useless parentheses. | -426 | 444 |
| Useless parentheses. | -435 | 453 |
| Useless parentheses. | -444 | 462 |
| Useless parentheses. | -453 | 471 |
| Useless parentheses. | -679 |
Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-cli/project-info.html b/dependency-check-cli/project-info.html index cab9a65ee..f13b6249b 100644 --- a/dependency-check-cli/project-info.html +++ b/dependency-check-cli/project-info.html @@ -1,13 +1,13 @@
- +Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-cli/project-reports.html b/dependency-check-cli/project-reports.html index a200cf737..86ac65057 100644 --- a/dependency-check-cli/project-reports.html +++ b/dependency-check-cli/project-reports.html @@ -1,13 +1,13 @@
- +Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-cli/project-summary.html b/dependency-check-cli/project-summary.html index d221cbaa7..5533ff881 100644 --- a/dependency-check-cli/project-summary.html +++ b/dependency-check-cli/project-summary.html @@ -1,13 +1,13 @@
- +Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-cli/source-repository.html b/dependency-check-cli/source-repository.html new file mode 100644 index 000000000..1c9391bfd --- /dev/null +++ b/dependency-check-cli/source-repository.html @@ -0,0 +1,248 @@ + + + +
+ + + + +
+
+
+
+
+
+ This project uses GIT to manage its source code. Instructions on GIT use can be found at http://git-scm.com/documentation.
The source can be checked out anonymously from GIT with this command (See http://git-scm.com/docs/git-clone):
+$ git clone git@github.com:jeremylong/DependencyCheck.git/dependency-check-cli
Only project developers can access the GIT tree via this method (See http://git-scm.com/docs/git-clone).
+$ git clone git@github.com:jeremylong/DependencyCheck.git/dependency-check-cli
Copyright © 2012–2015 + OWASP. + All rights reserved. + +
+Note: failures are anticipated and checked for with assertions while errors are unanticipated.
Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.
[Summary] [Package List] [Test Cases]
@@ -320,7 +320,7 @@ function toggleDisplay(elementId) {Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-cli/taglist.html b/dependency-check-cli/taglist.html index a1c462c8e..9987e5765 100644 --- a/dependency-check-cli/taglist.html +++ b/dependency-check-cli/taglist.html @@ -1,13 +1,13 @@
- +Copyright © 2012–2014 +
Copyright © 2012–2015 OWASP. All rights reserved. diff --git a/dependency-check-cli/team-list.html b/dependency-check-cli/team-list.html new file mode 100644 index 000000000..c8f9d60b3 --- /dev/null +++ b/dependency-check-cli/team-list.html @@ -0,0 +1,288 @@ + + + +
+ + + + +
+
+
+
+
+
+ A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+| Image | +Name | +Organization | +Organization URL | +Roles | +Properties | |
|---|---|---|---|---|---|---|
| Jeremy Long | +jeremy.long@owasp.org | +OWASP | +https://www.owasp.org/index.php/OWASP_Dependency_Check | +architect, developer | +picUrl=https://plus.google.com/s2/photos/profile/108968019311857145023, twitter=@ctxt | |
| Steve Springett | +Steve.Springett@owasp.org | +OWASP | +https://www.owasp.org/index.php/OWASP_Dependency_Check | +developer | +- | |
| Will Stranathan | +Will.Stranathan@owasp.org | +OWASP | +https://www.owasp.org/index.php/OWASP_Dependency_Check | +developer | +twitter=@willathome |
Copyright © 2012–2015 + OWASP. + All rights reserved. + +
+| Class and Description | -
|---|
| org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer
- version information is no longer stored in lucene
- |
-
| org.owasp.dependencycheck.data.lucene.VersionAnalyzer
- version information is no longer stored in lucene
- |
-
| org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter
- version information is no longer stored in lucene
- |
-
Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/help-doc.html b/dependency-check-core/apidocs/help-doc.html index 41cc556e2..9f09bc3ba 100644 --- a/dependency-check-core/apidocs/help-doc.html +++ b/dependency-check-core/apidocs/help-doc.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/index-all.html b/dependency-check-core/apidocs/index-all.html index 06cc653f4..c2b89a08a 100644 --- a/dependency-check-core/apidocs/index-all.html +++ b/dependency-check-core/apidocs/index-all.html @@ -2,16 +2,16 @@ - + -CiManagement.NotifiersContributorNugetPackage.Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/index.html b/dependency-check-core/apidocs/index.html index aa393d65d..6a2126476 100644 --- a/dependency-check-core/apidocs/index.html +++ b/dependency-check-core/apidocs/index.html @@ -2,9 +2,9 @@ - + -Set<FileTypeAnalyzer>getFileTypeAnalyzers()
+protected AnalyzerinitializeAnalyzer(Analyzer analyzer)
protected voidinitializeEngine()
List<Dependency>scan(File file)
List<Dependency>scan(File[] files)
List<Dependency>scan(List<File> files)
List<Dependency>scan(Set<File> files)
List<Dependency>scan(String path)
List<Dependency>scan(String[] paths)
protected List<Dependency>scanDirectory(File dir)
protected DependencyscanFile(File file)
voidsetDependencies(List<Dependency> dependencies) voidsetDependencies(List<Dependency> dependencies)
+booleansupportsExtension(String ext)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -362,6 +370,8 @@ extends
public void setDependencies(List<Dependency> dependencies)+
dependencies - the dependenciespublic boolean supportsExtension(String ext)@@ -527,6 +537,17 @@ extends Returns:
public Set<FileTypeAnalyzer> getFileTypeAnalyzers()+
Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.html index 01ebd69f7..7939dd634 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.html @@ -2,16 +2,16 @@ - + -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -1378,6 +1378,6 @@ public void setProxyUrl(Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/class-use/DependencyCheckScanAgent.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/class-use/DependencyCheckScanAgent.html index d720ee5c0..cea7dcf31 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/class-use/DependencyCheckScanAgent.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/class-use/DependencyCheckScanAgent.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-frame.html index cb4835ccd..e26027cae 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-frame.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-frame.html @@ -2,10 +2,10 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-tree.html index 806c97220..8670c3501 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-tree.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-tree.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-use.html index c8435c4a5..ee6dc3a21 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-use.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/agent/package-use.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractAnalyzer.html index 4ddf2cb46..4f43662d2 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractAnalyzer.html @@ -2,16 +2,16 @@ - + -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
analyze, getAnalysisPhase, getNameanalyze, getAnalysisPhase, getName
Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.html index 7e70e4b90..6ffaf3cce 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.html @@ -2,16 +2,16 @@ - + -voidanalyze(Dependency dependency,
+analyze(Dependency dependency,
Engine engine)
Analyzes a given dependency.
protected abstract voidanalyzeFileType(Dependency dependency,
+analyzeFileType(Dependency dependency,
Engine engine)
Analyzes a given dependency.
@@ -214,17 +214,23 @@ implements
void
+reset()
+Resets the enabled flag on the analyzer.
+
+voidsetEnabled(boolean enabled)
protected voidsetFilesMatched(boolean filesMatched)
booleansupportsExtension(String extension)
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public final void reset()+
reset in interface FileTypeAnalyzerAnalyzer
+analyze in interface Analyzerdependency - the dependency to analyzeengine - the engine scanningAnalysisException - thrown if there is an analysis exceptionCopyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html index d9dacdaba..ff1281f04 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AbstractSuppressionAnalyzer.html @@ -2,16 +2,16 @@ - + -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
analyze, getAnalysisPhase, getNameanalyze, getAnalysisPhase, getName
Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalysisPhase.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalysisPhase.html index eb785c839..5ee01299b 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalysisPhase.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalysisPhase.html @@ -2,16 +2,16 @@ - + -clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
getClass, notify, notifyAll, wait, wait, waitgetClass, notify, notifyAll, wait, wait, wait
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant
-with the specified nameIllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is nullCopyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/Analyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/Analyzer.html index 30ead4735..381815f92 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/Analyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/Analyzer.html @@ -2,16 +2,16 @@ - + -voidanalyze(Dependency dependency,
+analyze(Dependency dependency,
Engine engine)
Analyzes the given dependency.
@@ -299,6 +299,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalyzerService.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalyzerService.html
index 15187c058..e3dfc0080 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalyzerService.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AnalyzerService.html
@@ -2,16 +2,16 @@
-
+
-AnalyzerService (Dependency-Check Core 1.2.7 API)
-
+AnalyzerService (Dependency-Check Core 1.2.9 API)
+
@@ -152,7 +152,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -265,6 +265,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
index a05149a96..69c16aea7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-ArchiveAnalyzer (Dependency-Check Core 1.2.7 API)
-
+ArchiveAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -155,7 +155,7 @@ extends
void
-analyzeFileType(Dependency dependency,
+analyzeFileType(Dependency dependency,
Engine engine)
Analyzes a given dependency.
@@ -202,14 +202,14 @@ extends AbstractFileTypeAnalyzer
-analyze, initialize, isEnabled, isFilesMatched, newHashSet, setEnabled, setFilesMatched, supportsExtension
+analyze, initialize, isEnabled, isFilesMatched, newHashSet, reset, setEnabled, setFilesMatched, supportsExtension
-
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -339,7 +339,7 @@ extends analyzeFileType in class AbstractFileTypeAnalyzer
+analyzeFileType in class AbstractFileTypeAnalyzer
- Parameters:
dependency - the dependency to analyzeengine - the engine scanning
- Throws:
AnalysisException - thrown if there is an analysis exception
@@ -412,6 +412,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.html
index b020178e9..2413be193 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-AssemblyAnalyzer (Dependency-Check Core 1.2.7 API)
-
+AssemblyAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -153,7 +153,7 @@ extends
void
-analyzeFileType(Dependency dependency,
+analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis on a single Dependency.
@@ -200,14 +200,14 @@ extends AbstractFileTypeAnalyzer
-analyze, initialize, isEnabled, isFilesMatched, newHashSet, setEnabled, setFilesMatched, supportsExtension
+analyze, initialize, isEnabled, isFilesMatched, newHashSet, reset, setEnabled, setFilesMatched, supportsExtension
-
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -252,7 +252,7 @@ extends Performs the analysis on a single Dependency.
- Specified by:
-analyzeFileType in class AbstractFileTypeAnalyzer
+analyzeFileType in class AbstractFileTypeAnalyzer
- Parameters:
dependency - the dependency to analyzeengine - the engine to perform the analysis under
- Throws:
AnalysisException - if anything goes sideways
@@ -410,6 +410,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CPEAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CPEAnalyzer.html
index ae401f7d4..0093e9fa1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CPEAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CPEAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-CPEAnalyzer (Dependency-Check Core 1.2.7 API)
-
+CPEAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -104,8 +104,8 @@
public class CPEAnalyzer
extends Object
implements Analyzer
-CPEAnalyzer is a utility class that takes a project dependency and attempts to discern if there is an associated CPE.
- It uses the evidence contained within the dependency to search the Lucene index.
+CPEAnalyzer is a utility class that takes a project dependency and attempts to discern if there is an associated CPE. It uses
+ the evidence contained within the dependency to search the Lucene index.
- Author:
- Jeremy Long
@@ -166,14 +166,14 @@ implements
void
-analyze(Dependency dependency,
+analyze(Dependency dependency,
Engine engine)
Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
protected StringbuildSearch(String vendor,
+buildSearch(String vendor,
String product,
Set<String> vendorWeighting,
Set<String> productWeightings)
@@ -190,13 +190,13 @@ implements
protected void
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.
+Searches the data store of CPE entries, trying to identify the CPE for the given dependency based on the evidence contained
+ within.
protected booleandetermineIdentifiers(Dependency dependency,
+determineIdentifiers(Dependency dependency,
String vendor,
String product,
Confidence currentConfidence)
@@ -229,7 +229,7 @@ implements
protected List<IndexEntry>
-searchCPE(String vendor,
+searchCPE(String vendor,
String product,
Set<String> vendorWeightings,
Set<String> productWeightings)
@@ -244,7 +244,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -352,8 +352,8 @@ implements Opens the data source.
- Throws:
IOException - when the Lucene directory to be queried does not exist or is corrupt.
-DatabaseException - when the database throws an exception. This usually occurs when the database is in use
- by another process.
+DatabaseException - when the database throws an exception. This usually occurs when the database is in use by another
+ process.
@@ -380,8 +380,8 @@ implements IOException,
org.apache.lucene.queryparser.classic.ParseException
-Searches the data store of CPE entries, trying to identify the CPE for the given dependency based on the evidence
- contained within. The dependency passed in is updated with any identified CPE values.
+Searches the data store of CPE entries, trying to identify the CPE for the given dependency based on the evidence contained
+ within. The dependency passed in is updated with any identified CPE values.
- Parameters:
dependency - the dependency to search for CPE entries on.
- Throws:
org.apache.lucene.index.CorruptIndexException - is thrown when the Lucene index is corrupt.
@@ -404,8 +404,8 @@ implements Parameters:vendor - the text used to search the vendor fieldproduct - the text used to search the product fieldvendorWeightings - a list of strings to use to add weighting factors to the vendor fieldproductWeightings - Adds a list of strings that will be used to add weighting factors to the product search
- Returns:
- a list of possible CPE values
@@ -424,8 +424,8 @@ implements Parameters:vendor - text to search the vendor fieldproduct - text to search the product fieldvendorWeighting - a list of strings to apply to the vendor to boost the terms weightproductWeightings - a list of strings to apply to the product to boost the terms weight
- Returns:
- the Lucene query
@@ -442,7 +442,7 @@ implements Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
- Specified by:
-analyze in interface Analyzer
+analyze in interface Analyzer
- Parameters:
dependency - The Dependency to analyze.engine - The analysis engine
- Throws:
AnalysisException - is thrown if there is an issue analyzing the dependency.
@@ -459,9 +459,9 @@ implements String product,
Confidence currentConfidence)
throws UnsupportedEncodingException
-Retrieves a list of CPE values from the CveDB based on the vendor and product passed in. The list is then
- validated to find only CPEs that are valid for the given dependency. It is possible that the CPE identified is a
- best effort "guess" based on the vendor, product, and version information.
+Retrieves a list of CPE values from the CveDB based on the vendor and product passed in. The list is then validated to find
+ only CPEs that are valid for the given dependency. It is possible that the CPE identified is a best effort "guess" based on
+ the vendor, product, and version information.
- Parameters:
dependency - the Dependency being analyzedvendor - the vendor for the CPE being analyzedproduct - the product for the CPE being analyzedcurrentConfidence - the current confidence being used during analysis
- Returns:
true if an identifier was added to the dependency; otherwise false
- Throws:
@@ -535,6 +535,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CentralAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CentralAnalyzer.html
index f7cd6e4a2..5bc284176 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CentralAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CentralAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-CentralAnalyzer (Dependency-Check Core 1.2.7 API)
-
+CentralAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -113,8 +113,8 @@
public class CentralAnalyzer
extends AbstractFileTypeAnalyzer
-Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's
- SHA-1 digest.
+Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's SHA-1
+ digest.
- Author:
- colezlaw
@@ -154,7 +154,7 @@ extends
void
-analyzeFileType(Dependency dependency,
+analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
@@ -201,7 +201,7 @@ extends AbstractFileTypeAnalyzer
-analyze, initialize, isFilesMatched, newHashSet, setEnabled, setFilesMatched, supportsExtension
+analyze, initialize, isFilesMatched, newHashSet, reset, setEnabled, setFilesMatched, supportsExtension
-
@@ -215,7 +215,7 @@ extends Object
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
@@ -347,7 +347,7 @@ extends Performs the analysis.
- Specified by:
-analyzeFileType in class AbstractFileTypeAnalyzer
+analyzeFileType in class AbstractFileTypeAnalyzer
- Parameters:
dependency - the dependency to analyzeengine - the engine
- Throws:
AnalysisException - when there's an exception during analysis
@@ -420,6 +420,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CpeSuppressionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CpeSuppressionAnalyzer.html
index ac6d7e546..e918f5511 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CpeSuppressionAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/CpeSuppressionAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-CpeSuppressionAnalyzer (Dependency-Check Core 1.2.7 API)
-
+CpeSuppressionAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -154,7 +154,7 @@ extends
void
-analyze(Dependency dependency,
+analyze(Dependency dependency,
Engine engine)
Analyzes the given dependency.
@@ -191,7 +191,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -255,7 +255,7 @@ extends Dependency dependency,
Engine engine)
throws AnalysisException
-Description copied from interface: Analyzer
+Description copied from interface: Analyzer
Analyzes the given dependency. The analysis could be anything from identifying an Identifier for the dependency,
to finding vulnerabilities, etc. Additionally, if the analyzer collects enough information to add a description
or license information for the dependency it should be added.
@@ -332,6 +332,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/DependencyBundlingAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/DependencyBundlingAnalyzer.html
index 38dcac698..926d6fb8f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/DependencyBundlingAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/DependencyBundlingAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-DependencyBundlingAnalyzer (Dependency-Check Core 1.2.7 API)
-
+DependencyBundlingAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -110,9 +110,9 @@
extends AbstractAnalyzer
implements Analyzer
- This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are
- grouped. An example would be Spring, Spring Beans, Spring MVC, etc. If they are all for the same version and have the
- same relative path then these should be grouped into a single dependency under the core/main library.
+ This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are grouped. An
+ example would be Spring, Spring Beans, Spring MVC, etc. If they are all for the same version and have the same relative path
+ then these should be grouped into a single dependency under the core/main library.
Note, this grouping only works on dependencies with identified CVE entries
- Author:
@@ -154,17 +154,17 @@ implements
void
-analyze(Dependency ignore,
+analyze(Dependency ignore,
Engine engine)
Analyzes a set of dependencies.
protected booleanfirstPathIsShortest(String left,
+firstPathIsShortest(String left,
String right)
-Determines which path is shortest; if path lengths are equal then we use compareTo of the string method to
- determine if the first path is smaller.
+Determines which path is shortest; if path lengths are equal then we use compareTo of the string method to determine if the
+ first path is smaller.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
analyze in interface Analyzeranalyze in interface Analyzerignore - this analyzer ignores the dependency being analyzedengine - the engine that is scanning the dependenciesAnalysisException - is thrown if there is an error reading the JAR file.left - the first path to compareright - the second path to comparetrue if the leftPath is the shortest; otherwise falseCopyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FalsePositiveAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FalsePositiveAnalyzer.html index 06d48ba54..6748076f4 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FalsePositiveAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FalsePositiveAnalyzer.html @@ -2,16 +2,16 @@ - + -voidanalyze(Dependency dependency,
+analyze(Dependency dependency,
Engine engine)
Analyzes the dependencies and removes bad/incorrect CPE associations based on various heuristics.
@@ -217,7 +217,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -402,6 +402,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.html
index 8acb04d4e..3ba3d9c10 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileNameAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-FileNameAnalyzer (Dependency-Check Core 1.2.7 API)
-
+FileNameAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -149,7 +149,7 @@ implements
void
-analyze(Dependency dependency,
+analyze(Dependency dependency,
Engine engine)
Collects information about the file name.
@@ -179,7 +179,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
@@ -259,7 +259,7 @@ implements Collects information about the file name.
- Specified by:
-analyze in interface Analyzer
+analyze in interface Analyzer
- Parameters:
dependency - the dependency to analyze.engine - the engine that is scanning the dependencies
- Throws:
AnalysisException - is thrown if there is an error reading the JAR file.
@@ -332,6 +332,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileTypeAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileTypeAnalyzer.html
index 52aa6fea3..a4740348f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileTypeAnalyzer.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/FileTypeAnalyzer.html
@@ -2,16 +2,16 @@
-
+
-FileTypeAnalyzer (Dependency-Check Core 1.2.7 API)
-
+FileTypeAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -121,6 +121,12 @@ extends Method and Description
voidreset()
+booleansupportsExtension(String extension)
analyze, close, getAnalysisPhase, getName, initialize
+analyze, close, getAnalysisPhase, getName, initialize
@@ -151,7 +157,7 @@ extends
-boolean supportsExtension(String extension)@@ -160,6 +166,16 @@ extends Returns:
void reset()+
Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/HintAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/HintAnalyzer.html index d46745341..3f17a199d 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/HintAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/HintAnalyzer.html @@ -2,16 +2,16 @@ - + -voidanalyze(Dependency dependency,
+analyze(Dependency dependency,
Engine engine)
-The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of
- identifiers or vulnerabilities.
+The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of identifiers
+ or vulnerabilities.
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
analyze in interface Analyzeranalyze in interface Analyzerdependency - The dependency being analyzedengine - The scanning engineAnalysisException - is thrown if there is an exception analyzing the dependency.Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.ClassNameInformation.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.ClassNameInformation.html index a7f8386d9..27fce65f9 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.ClassNameInformation.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.ClassNameInformation.html @@ -2,16 +2,16 @@ - + -clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.html index 256e00f1e..fd582574a 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JarAnalyzer.html @@ -2,16 +2,16 @@ - + -static StringaddDescription(Dependency dependency,
+ String description,
+ String source,
+ String key)
+voidanalyzeFileType(Dependency dependency,
+analyzeFileType(Dependency dependency,
Engine engine)
Loads a specified JAR file and collects information from the manifest and checksums to identify the correct CPE
information.
protected voidanalyzePackageNames(ArrayList<JarAnalyzer.ClassNameInformation> classNames,
+analyzePackageNames(List<JarAnalyzer.ClassNameInformation> classNames,
Dependency dependency,
boolean addPackagesAsEvidence)
-Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible
- vendor or product names.
+Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible vendor or
+ product names.
protected booleananalyzePOM(Dependency dependency,
- ArrayList<JarAnalyzer.ClassNameInformation> classes,
+analyzePOM(Dependency dependency,
+ List<JarAnalyzer.ClassNameInformation> classes,
Engine engine)
Attempts to find a pom.xml within the JAR file.
voidclose()
static voidextractLicense(Model pom,
+ Properties pomProperties,
+ Dependency dependency)
+AnalysisPhasegetAnalysisPhase()
@@ -236,8 +253,8 @@ extends
-protected StringinterpolateString(String text,
+static String
+interpolateString(String text,
Properties properties)
A utility function that will interpolate strings based on values given in the properties file.
@@ -245,8 +262,8 @@ extends
protected boolean
-parseManifest(Dependency dependency,
- ArrayList<JarAnalyzer.ClassNameInformation> classInformation)
+parseManifest(Dependency dependency,
+ List<JarAnalyzer.ClassNameInformation> classInformation)
Reads the manifest from the JAR file and collects the entries.
@@ -257,14 +274,14 @@ extends AbstractFileTypeAnalyzer
-analyze, initialize, isEnabled, isFilesMatched, newHashSet, setEnabled, setFilesMatched, supportsExtension
+analyze, initialize, isEnabled, isFilesMatched, newHashSet, reset, setEnabled, setFilesMatched, supportsExtension
-
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -361,52 +378,52 @@ extends analyzeFileType in class AbstractFileTypeAnalyzer
+analyzeFileType in class AbstractFileTypeAnalyzerdependency - the dependency to analyze.engine - the engine that is scanning the dependenciesAnalysisException - is thrown if there is an error reading the JAR file.protected boolean analyzePOM(Dependency dependency, - ArrayList<JarAnalyzer.ClassNameInformation> classes, + List<JarAnalyzer.ClassNameInformation> classes, Engine engine) throws AnalysisException-
dependency - the dependency being analyzedclasses - a collection of class name informationengine - the analysis engine, used to add additional dependenciesAnalysisException - is thrown if there is an exception parsing the pomprotected void analyzePackageNames(ArrayList<JarAnalyzer.ClassNameInformation> classNames, +protected void analyzePackageNames(List<JarAnalyzer.ClassNameInformation> classNames, Dependency dependency, boolean addPackagesAsEvidence)-Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible - vendor or product names. If any are found they are stored in the packageVendor and packageProduct hashSets.+Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible vendor or + product names. If any are found they are stored in the packageVendor and packageProduct hashSets.
classNames - a list of class namesdependency - a dependency to analyzeaddPackagesAsEvidence - a flag indicating whether or not package names should be added as evidence.protected boolean parseManifest(Dependency dependency, - ArrayList<JarAnalyzer.ClassNameInformation> classInformation) + List<JarAnalyzer.ClassNameInformation> classInformation) throws IOException
Reads the manifest from the JAR file and collects the entries. Some vendorKey entries are:
@@ -421,6 +438,23 @@ extends IOException - if there is an issue reading the JAR file + + + +public static String addDescription(Dependency dependency, + String description, + String source, + String key)+
dependency - a dependencydescription - the descriptionsource - the source of the evidencekey - the "name" of the evidenceprotected String interpolateString(String text, +public static String interpolateString(String text, Properties properties)- A utility function that will interpolate strings based on values given in the properties file. It will also - interpolate the strings contained within the properties file so that properties can reference other - properties.
+ A utility function that will interpolate strings based on values given in the properties file. It will also interpolate the + strings contained within the properties file so that properties can reference other properties.- Note: if there is no property found the reference will be removed. In other words, if the interpolated - string will be replaced with an empty string. + Note: if there is no property found the reference will be removed. In other words, if the interpolated string will + be replaced with an empty string.
Example:
@@ -486,6 +519,19 @@ extends Returns:- the interpolated text.
+ + + ++
@@ -553,6 +599,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved. +- +
+extractLicense
+public static void extractLicense(Model pom, + Properties pomProperties, + Dependency dependency)+Extracts the license information from the pom and adds it to the dependency.++
- Parameters:
pom- the pom objectpomProperties- the properties, used for string interpolationdependency- the dependency to add license information tooCopyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html index cb8daedad..3c7c4c625 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.html @@ -2,16 +2,16 @@ - + -JavaScriptAnalyzer (Dependency-Check Core 1.2.7 API) - +JavaScriptAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -153,7 +153,7 @@ extends- voidanalyzeFileType(Dependency dependency, +@@ -194,7 +194,7 @@ extends AbstractFileTypeAnalyzer - analyzeFileType(Dependency dependency, Engine engine)Loads a specified JavaScript file and collects information from the copyright information contained within.analyze, initialize, isEnabled, isFilesMatched, newHashSet, setEnabled, setFilesMatched, supportsExtension+analyze, initialize, isEnabled, isFilesMatched, newHashSet, reset, setEnabled, setFilesMatched, supportsExtension
- @@ -208,7 +208,7 @@ extends Object -
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- @@ -310,7 +310,7 @@ extends Loads a specified JavaScript file and collects information from the copyright information contained within.
@@ -400,6 +400,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved. +
- Specified by:
-- +
analyzeFileTypein classAbstractFileTypeAnalyzeranalyzeFileTypein classAbstractFileTypeAnalyzer- Parameters:
dependency- the dependency to analyze.engine- the engine that is scanning the dependencies- Throws:
AnalysisException- is thrown if there is an error reading the JavaScript file.Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NexusAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NexusAnalyzer.html index e5998c75d..4d29faaf8 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NexusAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NexusAnalyzer.html @@ -2,16 +2,16 @@ - + -NexusAnalyzer (Dependency-Check Core 1.2.7 API) - +NexusAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -183,7 +183,7 @@ extends- voidanalyzeFileType(Dependency dependency, +@@ -230,7 +230,7 @@ extends AbstractFileTypeAnalyzer - analyzeFileType(Dependency dependency, Engine engine)Performs the analysis.analyze, initialize, isFilesMatched, newHashSet, setEnabled, setFilesMatched, supportsExtension+analyze, initialize, isFilesMatched, newHashSet, reset, setEnabled, setFilesMatched, supportsExtension
- @@ -244,7 +244,7 @@ extends Object -
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- @@ -395,7 +395,7 @@ extends Performs the analysis.
@@ -468,6 +468,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved. +
- Specified by:
-- +
analyzeFileTypein classAbstractFileTypeAnalyzeranalyzeFileTypein classAbstractFileTypeAnalyzer- Parameters:
dependency- the dependency to analyzeengine- the engine- Throws:
AnalysisException- when there's an exception during analysisCopyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.html index bcd907e83..57ceb0c5a 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.html @@ -2,16 +2,16 @@ - + -NuspecAnalyzer (Dependency-Check Core 1.2.7 API) - +NuspecAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -153,7 +153,7 @@ extends- voidanalyzeFileType(Dependency dependency, +@@ -194,7 +194,7 @@ extends AbstractFileTypeAnalyzer - analyzeFileType(Dependency dependency, Engine engine)Performs the analysis.analyze, initialize, isEnabled, isFilesMatched, newHashSet, setEnabled, setFilesMatched, supportsExtension+analyze, initialize, isEnabled, isFilesMatched, newHashSet, reset, setEnabled, setFilesMatched, supportsExtension
- @@ -208,7 +208,7 @@ extends Object -
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- @@ -326,7 +326,7 @@ extends Performs the analysis.
@@ -399,6 +399,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved. +
- Specified by:
-- +
analyzeFileTypein classAbstractFileTypeAnalyzeranalyzeFileTypein classAbstractFileTypeAnalyzer- Parameters:
dependency- the dependency to analyzeengine- the engine- Throws:
AnalysisException- when there's an exception during analysisCopyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.html index 5be3e0a90..966555a01 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/NvdCveAnalyzer.html @@ -2,16 +2,16 @@ - + -NvdCveAnalyzer (Dependency-Check Core 1.2.7 API) - +NvdCveAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -145,7 +145,7 @@ implements- voidanalyze(Dependency dependency, +@@ -198,7 +198,7 @@ implements Object - analyze(Dependency dependency, Engine engine)Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait+clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait@@ -303,7 +303,7 @@ implements Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.@@ -420,6 +420,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved. +
- Specified by:
-- +
analyzein interfaceAnalyzeranalyzein interfaceAnalyzer- Parameters:
dependency- The Dependency to analyzeengine- The analysis engine- Throws:
AnalysisException- is thrown if there is an issue analyzing the dependencyCopyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.html index 2c1f7c1a1..97f1ed973 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/VulnerabilitySuppressionAnalyzer.html @@ -2,16 +2,16 @@ - + -VulnerabilitySuppressionAnalyzer (Dependency-Check Core 1.2.7 API) - +VulnerabilitySuppressionAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -154,7 +154,7 @@ extends- voidanalyze(Dependency dependency, +@@ -191,7 +191,7 @@ extends Object - analyze(Dependency dependency, Engine engine)Analyzes the given dependency.clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait@@ -255,7 +255,7 @@ extends Dependency dependency, Engine engine) throws AnalysisException -Description copied from interface:+AnalyzerDescription copied from interface:AnalyzerAnalyzes the given dependency. The analysis could be anything from identifying an Identifier for the dependency, to finding vulnerabilities, etc. Additionally, if the analyzer collects enough information to add a description or license information for the dependency it should be added.@@ -332,6 +332,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractAnalyzer.html index 2d8c8b2a1..6204d8fc4 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.AbstractAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.AbstractAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -133,8 +133,8 @@classCentralAnalyzer-Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's - SHA-1 digest.+Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's SHA-1 + digest.@@ -147,8 +147,7 @@ classDependencyBundlingAnalyzer- This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are - grouped.+ This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are grouped.@@ -249,6 +248,6 @@ - Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractFileTypeAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractFileTypeAnalyzer.html index 2345a2449..874598a4b 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractFileTypeAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractFileTypeAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -121,8 +121,8 @@classCentralAnalyzer-Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's - SHA-1 digest.+Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's SHA-1 + digest.@@ -201,6 +201,6 @@ - Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractSuppressionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractSuppressionAnalyzer.html index 0535d5ede..83439f41a 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractSuppressionAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AbstractSuppressionAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -168,6 +168,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalysisPhase.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalysisPhase.html index 666ea0026..a0f353466 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalysisPhase.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalysisPhase.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.AnalysisPhase (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.AnalysisPhase (Dependency-Check Core 1.2.9 API) + @@ -296,6 +296,6 @@ the order they are declared. -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/Analyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/Analyzer.html index 9a8a09aad..4acc7b60a 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/Analyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/Analyzer.html @@ -2,16 +2,16 @@ - + -Uses of Interface org.owasp.dependencycheck.analyzer.Analyzer (Dependency-Check Core 1.2.7 API) - +Uses of Interface org.owasp.dependencycheck.analyzer.Analyzer (Dependency-Check Core 1.2.9 API) + @@ -236,8 +236,8 @@classCentralAnalyzer-Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's - SHA-1 digest.+Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's SHA-1 + digest.@@ -256,8 +256,7 @@ classDependencyBundlingAnalyzer- This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are - grouped.+ This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are grouped.@@ -342,7 +341,7 @@ - ReportGenerator(String applicationName, +ReportGenerator(String applicationName, List<Dependency> dependencies, List<Analyzer> analyzers, DatabaseProperties properties)@@ -401,6 +400,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalyzerService.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalyzerService.html index 5f415a0ce..be942f472 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalyzerService.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AnalyzerService.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.AnalyzerService (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.AnalyzerService (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/ArchiveAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/ArchiveAnalyzer.html index 287805348..e357848ee 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/ArchiveAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/ArchiveAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.ArchiveAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.ArchiveAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AssemblyAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AssemblyAnalyzer.html index a75b83598..433dd7d74 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AssemblyAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/AssemblyAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.AssemblyAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.AssemblyAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CPEAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CPEAnalyzer.html index 6c84f2437..9fbcf73c6 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CPEAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CPEAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.CPEAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.CPEAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CentralAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CentralAnalyzer.html index 4f1077e96..b8a39f0c2 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CentralAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CentralAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.CentralAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.CentralAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CpeSuppressionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CpeSuppressionAnalyzer.html index 79a6bc5d7..1e9d21627 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CpeSuppressionAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/CpeSuppressionAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/DependencyBundlingAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/DependencyBundlingAnalyzer.html index 441d3268b..675ce2bfe 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/DependencyBundlingAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/DependencyBundlingAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FalsePositiveAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FalsePositiveAnalyzer.html index 06bdfaada..dcec9e8c9 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FalsePositiveAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FalsePositiveAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.FalsePositiveAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileNameAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileNameAnalyzer.html index c37c4f5ed..397893930 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileNameAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileNameAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.FileNameAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.FileNameAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileTypeAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileTypeAnalyzer.html index 57fae730b..7d69ff245 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileTypeAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/FileTypeAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Interface org.owasp.dependencycheck.analyzer.FileTypeAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Interface org.owasp.dependencycheck.analyzer.FileTypeAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -77,6 +77,17 @@+ +org.owasp.dependencycheck ++ ++ ++org.owasp.dependencycheck + + + Includes the main entry point (i.e.org.owasp.dependencycheck.analyzer @@ -93,6 +104,26 @@+
- + + +
Uses of FileTypeAnalyzer in org.owasp.dependencycheck
++
+Methods in org.owasp.dependencycheck that return types with arguments of type FileTypeAnalyzer ++ + +Modifier and Type +Method and Description ++ + ++ Set<FileTypeAnalyzer>Engine. +getFileTypeAnalyzers()+Returns the set of file type analyzers.+- @@ -127,8 +158,8 @@
classCentralAnalyzer-Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's - SHA-1 digest.+Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's SHA-1 + digest.@@ -207,6 +238,6 @@ - Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/HintAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/HintAnalyzer.html index 8e73555f9..b8c66268c 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/HintAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/HintAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.HintAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.HintAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.ClassNameInformation.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.ClassNameInformation.html index 5b688b2b4..e7ebc6d73 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.ClassNameInformation.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.ClassNameInformation.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.JarAnalyzer.ClassNameInformation (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.JarAnalyzer.ClassNameInformation (Dependency-Check Core 1.2.9 API) + @@ -106,25 +106,25 @@- protected voidJarAnalyzer. analyzePackageNames(ArrayList<JarAnalyzer.ClassNameInformation> classNames, +JarAnalyzer. analyzePackageNames(List<JarAnalyzer.ClassNameInformation> classNames, Dependency dependency, boolean addPackagesAsEvidence)-Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible - vendor or product names.+Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible vendor or + product names.- protected booleanJarAnalyzer. analyzePOM(Dependency dependency, - ArrayList<JarAnalyzer.ClassNameInformation> classes, +JarAnalyzer. analyzePOM(Dependency dependency, + List<JarAnalyzer.ClassNameInformation> classes, Engine engine)Attempts to find a pom.xml within the JAR file.+ - protected booleanJarAnalyzer. parseManifest(Dependency dependency, - ArrayList<JarAnalyzer.ClassNameInformation> classInformation)+JarAnalyzer. @@ -181,6 +181,6 @@ -parseManifest(Dependency dependency, + List<JarAnalyzer.ClassNameInformation> classInformation)Reads the manifest from the JAR file and collects the entries.Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.html index 6367f4106..357f9fdc2 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JarAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.JarAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.JarAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JavaScriptAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JavaScriptAnalyzer.html index e9c38cee6..6b0c389bb 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JavaScriptAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/JavaScriptAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NexusAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NexusAnalyzer.html index ce410c3ac..f1c4e5f39 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NexusAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NexusAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.NexusAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.NexusAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NuspecAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NuspecAnalyzer.html index 21c61748f..3e0abcec2 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NuspecAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NuspecAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.NuspecAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.NuspecAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NvdCveAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NvdCveAnalyzer.html index 98c1390df..6dd62d5db 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NvdCveAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/NvdCveAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.NvdCveAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.NvdCveAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/VulnerabilitySuppressionAnalyzer.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/VulnerabilitySuppressionAnalyzer.html index ba70191c9..6b3f3c07f 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/VulnerabilitySuppressionAnalyzer.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/class-use/VulnerabilitySuppressionAnalyzer.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer (Dependency-Check Core 1.2.9 API) + @@ -112,6 +112,6 @@ -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/AnalysisException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/AnalysisException.html index 39ed7c2f1..a62e33ca2 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/AnalysisException.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/AnalysisException.html @@ -2,16 +2,16 @@ - + -AnalysisException (Dependency-Check Core 1.2.7 API) - +AnalysisException (Dependency-Check Core 1.2.9 API) + @@ -145,7 +145,7 @@ extends -AnalysisException(String msg, +@@ -176,7 +176,7 @@ extends Object - AnalysisException(String msg, Throwable ex)Creates a new AnalysisException.clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait@@ -303,6 +303,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/ArchiveExtractionException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/ArchiveExtractionException.html index eaf51c4eb..4ef676623 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/ArchiveExtractionException.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/ArchiveExtractionException.html @@ -2,16 +2,16 @@ - + -ArchiveExtractionException (Dependency-Check Core 1.2.7 API) - +ArchiveExtractionException (Dependency-Check Core 1.2.9 API) + @@ -145,7 +145,7 @@ extends -ArchiveExtractionException(String msg, +@@ -176,7 +176,7 @@ extends Object - ArchiveExtractionException(String msg, Throwable ex)Creates a new ArchiveExtractionException.clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait@@ -303,6 +303,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved. +Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/AnalysisException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/AnalysisException.html index a929ff3fd..d662809a3 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/AnalysisException.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/AnalysisException.html @@ -2,16 +2,16 @@ - + -Uses of Class org.owasp.dependencycheck.analyzer.exception.AnalysisException (Dependency-Check Core 1.2.7 API) - +Uses of Class org.owasp.dependencycheck.analyzer.exception.AnalysisException (Dependency-Check Core 1.2.9 API) + @@ -88,6 +88,17 @@ and process the dependencies.+ org.owasp.dependencycheck.jaxb.pom ++ ++ ++org.owasp.dependencycheck.analyzer.pom + + + This package contains utility classes used to parse pom.xml files.
voidanalyze(Dependency dependency,
+VulnerabilitySuppressionAnalyzer.analyze(Dependency dependency,
Engine engine)
voidanalyze(Dependency dependency,
+NvdCveAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
voidanalyze(Dependency dependency,
+HintAnalyzer.analyze(Dependency dependency,
Engine engine)
-The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of
- identifiers or vulnerabilities.
+The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of identifiers
+ or vulnerabilities.
voidanalyze(Dependency dependency,
+FileNameAnalyzer.analyze(Dependency dependency,
Engine engine)
Collects information about the file name.
voidanalyze(Dependency dependency,
+FalsePositiveAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes the dependencies and removes bad/incorrect CPE associations based on various heuristics.
voidanalyze(Dependency ignore,
+DependencyBundlingAnalyzer.analyze(Dependency ignore,
Engine engine)
Analyzes a set of dependencies.
voidanalyze(Dependency dependency,
+CpeSuppressionAnalyzer.analyze(Dependency dependency,
Engine engine)
voidanalyze(Dependency dependency,
+CPEAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
voidanalyze(Dependency dependency,
+Analyzer.analyze(Dependency dependency,
Engine engine)
Analyzes the given dependency.
voidanalyze(Dependency dependency,
+AbstractFileTypeAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a given dependency.
voidanalyzeFileType(Dependency dependency,
+NuspecAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
voidanalyzeFileType(Dependency dependency,
+NexusAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
voidanalyzeFileType(Dependency dependency,
+JavaScriptAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Loads a specified JavaScript file and collects information from the copyright information contained within.
voidanalyzeFileType(Dependency dependency,
+JarAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Loads a specified JAR file and collects information from the manifest and checksums to identify the correct CPE
information.
@@ -202,36 +213,36 @@
voidanalyzeFileType(Dependency dependency,
+CentralAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
voidanalyzeFileType(Dependency dependency,
+AssemblyAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis on a single Dependency.
voidanalyzeFileType(Dependency dependency,
+ArchiveAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Analyzes a given dependency.
protected abstract voidanalyzeFileType(Dependency dependency,
+AbstractFileTypeAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Analyzes a given dependency.
protected booleananalyzePOM(Dependency dependency,
- ArrayList<JarAnalyzer.ClassNameInformation> classes,
+JarAnalyzer.analyzePOM(Dependency dependency,
+ List<JarAnalyzer.ClassNameInformation> classes,
Engine engine)
Attempts to find a pom.xml within the JAR file.
@@ -239,6 +250,39 @@
| Modifier and Type | +Method and Description | +
|---|---|
void |
+PomUtils.analyzePOM(Dependency dependency,
+ File pomFile)
+Reads in the pom file and adds elements as evidence to the given dependency.
+ |
+
Model |
+PomUtils.readPom(File file)
+Reads in the specified POM and converts it to a Model.
+ |
+
Model |
+PomUtils.readPom(SAXSource source)
+Retrieves the specified POM from a jar file and converts it to a Model.
+ |
+
Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/ArchiveExtractionException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/ArchiveExtractionException.html index 85410c35b..454cb769b 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/ArchiveExtractionException.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/class-use/ArchiveExtractionException.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-frame.html index d567517ff..ee720b023 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-frame.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-frame.html @@ -2,10 +2,10 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-tree.html index dfd49dfda..673b07614 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-tree.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-tree.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-use.html index 0a39c8351..229c2f1ea 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-use.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/exception/package-use.html @@ -2,16 +2,16 @@ - + -| Class and Description | +
|---|
| AnalysisException
+ An exception thrown when the analysis of a dependency fails.
+ |
+
Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-frame.html index bde29617c..29d1c2dc1 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-frame.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-frame.html @@ -2,10 +2,10 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-tree.html index 7752326f2..775b644aa 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-tree.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-tree.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-use.html index 5c0c14b95..32868ace8 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-use.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/analyzer/package-use.html @@ -2,16 +2,16 @@ - + -Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/class-use/Engine.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/class-use/Engine.html index 950710e5d..1a0c69734 100644 --- a/dependency-check-core/apidocs/org/owasp/dependencycheck/class-use/Engine.html +++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/class-use/Engine.html @@ -2,16 +2,16 @@ - + -voidanalyze(Dependency dependency,
+VulnerabilitySuppressionAnalyzer.analyze(Dependency dependency,
Engine engine)
voidanalyze(Dependency dependency,
+NvdCveAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
voidanalyze(Dependency dependency,
+HintAnalyzer.analyze(Dependency dependency,
Engine engine)
-The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of
- identifiers or vulnerabilities.
+The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of identifiers
+ or vulnerabilities.
voidanalyze(Dependency dependency,
+FileNameAnalyzer.analyze(Dependency dependency,
Engine engine)
Collects information about the file name.
voidanalyze(Dependency dependency,
+FalsePositiveAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes the dependencies and removes bad/incorrect CPE associations based on various heuristics.
voidanalyze(Dependency ignore,
+DependencyBundlingAnalyzer.analyze(Dependency ignore,
Engine engine)
Analyzes a set of dependencies.
voidanalyze(Dependency dependency,
+CpeSuppressionAnalyzer.analyze(Dependency dependency,
Engine engine)
voidanalyze(Dependency dependency,
+CPEAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
voidanalyze(Dependency dependency,
+Analyzer.analyze(Dependency dependency,
Engine engine)
Analyzes the given dependency.
voidanalyze(Dependency dependency,
+AbstractFileTypeAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a given dependency.
voidanalyzeFileType(Dependency dependency,
+NuspecAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
voidanalyzeFileType(Dependency dependency,
+NexusAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
voidanalyzeFileType(Dependency dependency,
+JavaScriptAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Loads a specified JavaScript file and collects information from the copyright information contained within.
voidanalyzeFileType(Dependency dependency,
+JarAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Loads a specified JAR file and collects information from the manifest and checksums to identify the correct CPE
information.
@@ -213,36 +213,36 @@
voidanalyzeFileType(Dependency dependency,
+CentralAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
voidanalyzeFileType(Dependency dependency,
+AssemblyAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis on a single Dependency.
voidanalyzeFileType(Dependency dependency,
+ArchiveAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Analyzes a given dependency.
protected abstract voidanalyzeFileType(Dependency dependency,
+AbstractFileTypeAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Analyzes a given dependency.
protected booleananalyzePOM(Dependency dependency,
- ArrayList<JarAnalyzer.ClassNameInformation> classes,
+JarAnalyzer.analyzePOM(Dependency dependency,
+ List<JarAnalyzer.ClassNameInformation> classes,
Engine engine)
Attempts to find a pom.xml within the JAR file.
@@ -263,7 +263,7 @@
static void
-ExtractionUtil.extractFiles(File archive,
+ExtractionUtil.extractFiles(File archive,
File extractTo,
Engine engine)
Extracts the contents of an archive into the specified directory.
@@ -321,6 +321,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/CentralSearch.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/CentralSearch.html
index e16a49ca3..ea7bcb0b3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/CentralSearch.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/CentralSearch.html
@@ -2,16 +2,16 @@
-
+
-CentralSearch (Dependency-Check Core 1.2.7 API)
-
+CentralSearch (Dependency-Check Core 1.2.9 API)
+
@@ -151,7 +151,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -175,8 +175,8 @@ extends URL rootURL)
Creates a NexusSearch for the given repository URL.
-- Parameters:
rootURL - the URL of the repository on which searches should execute. Only parameters are added to this (so
- it should end in /select)
+- Parameters:
rootURL - the URL of the repository on which searches should execute. Only parameters are added to this (so it should
+ end in /select)
@@ -195,13 +195,12 @@ extends List<MavenArtifact> searchSha1(String sha1)
throws IOException
-Searches the configured Central URL for the given sha1 hash. If the artifact is found, a
- MavenArtifact is populated with the GAV.
+Searches the configured Central URL for the given sha1 hash. If the artifact is found, a MavenArtifact is
+ populated with the GAV.
- Parameters:
sha1 - the SHA-1 hash string for which to search
- Returns:
- the populated Maven GAV.
- Throws:
-IOException - if it's unable to connect to the specified repository or if the specified artifact is not
- found.
+IOException - if it's unable to connect to the specified repository or if the specified artifact is not found.
@@ -271,6 +270,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/class-use/CentralSearch.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/class-use/CentralSearch.html
index df0d2d9a3..41d4fffab 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/class-use/CentralSearch.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/class-use/CentralSearch.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.central.CentralSearch (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.central.CentralSearch (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-frame.html
index ff1213e5c..0794855a3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.central (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.central (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-summary.html
index dd3f5a09d..a5084b7e8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.central (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.central (Dependency-Check Core 1.2.9 API)
+
@@ -155,6 +155,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-tree.html
index 7d29a73db..b2646ac5f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.central Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.central Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -125,6 +125,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-use.html
index c0b81a059..8a21f55ec 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/central/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.central (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.central (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeMemoryIndex.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeMemoryIndex.html
index 498733384..74a937a85 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeMemoryIndex.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/CpeMemoryIndex.html
@@ -2,16 +2,16 @@
-
+
-CpeMemoryIndex (Dependency-Check Core 1.2.7 API)
-
+CpeMemoryIndex (Dependency-Check Core 1.2.9 API)
+
@@ -99,8 +99,8 @@
public final class CpeMemoryIndex
extends Object
-An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within
- the NVD CVE data.
+An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within the NVD
+ CVE data.
- Author:
- Jeremy Long
@@ -159,7 +159,7 @@ extends
void
-saveEntry(String vendor,
+saveEntry(String vendor,
String product,
org.apache.lucene.index.IndexWriter indexWriter)
Saves a CPE IndexEntry into the Lucene index.
@@ -167,14 +167,14 @@ extends
org.apache.lucene.search.TopDocs
-search(org.apache.lucene.search.Query query,
+search(org.apache.lucene.search.Query query,
int maxQueryResults)
Searches the index using the given query.
org.apache.lucene.search.TopDocs
-search(String searchString,
+search(String searchString,
int maxQueryResults)
Searches the index using the given search string.
@@ -185,7 +185,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -394,6 +394,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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 300ab46d2..809aa0b94 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,16 +2,16 @@
-
+
-Fields (Dependency-Check Core 1.2.7 API)
-
+Fields (Dependency-Check Core 1.2.9 API)
+
@@ -152,7 +152,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -268,6 +268,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 f6f9652f6..3c0f5e0d5 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,16 +2,16 @@
-
+
-IndexEntry (Dependency-Check Core 1.2.7 API)
-
+IndexEntry (Dependency-Check Core 1.2.9 API)
+
@@ -222,7 +222,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -475,6 +475,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexException.html
index 54528e364..cbb9791c0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/IndexException.html
@@ -2,16 +2,16 @@
-
+
-IndexException (Dependency-Check Core 1.2.7 API)
-
+IndexException (Dependency-Check Core 1.2.9 API)
+
@@ -145,7 +145,7 @@ extends
-IndexException(String msg,
+IndexException(String msg,
Throwable ex)
Creates a new IndexException.
@@ -176,7 +176,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -303,6 +303,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeMemoryIndex.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeMemoryIndex.html
index 77a688c91..438e29dfb 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeMemoryIndex.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/CpeMemoryIndex.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cpe.CpeMemoryIndex (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.cpe.CpeMemoryIndex (Dependency-Check Core 1.2.9 API)
+
@@ -161,6 +161,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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 812102cad..6f4517b88 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cpe.Fields (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.cpe.Fields (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 933e82ee0..b1bce84c3 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cpe.IndexEntry (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.cpe.IndexEntry (Dependency-Check Core 1.2.9 API)
+
@@ -117,7 +117,7 @@
protected List<IndexEntry>
-CPEAnalyzer.searchCPE(String vendor,
+CPEAnalyzer.searchCPE(String vendor,
String product,
Set<String> vendorWeightings,
Set<String> productWeightings)
@@ -198,6 +198,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexException.html
index c67192683..72a788269 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/cpe/class-use/IndexException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cpe.IndexException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.cpe.IndexException (Dependency-Check Core 1.2.9 API)
+
@@ -161,6 +161,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 4f1f2f4d6..c91c03a3d 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.2.9 API)
+
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 5b4fdc68b..a10e6c473 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.2.9 API)
+
@@ -88,8 +88,8 @@
CpeMemoryIndex
-An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within
- the NVD CVE data.
+An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within the NVD
+ CVE data.
@@ -183,6 +183,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 395a68164..b3215f1dd 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.cpe Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.cpe Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -136,6 +136,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 041c4f6e4..c24282592 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.cpe (Dependency-Check Core 1.2.9 API)
+
@@ -141,8 +141,8 @@
CpeMemoryIndex
-An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within
- the NVD CVE data.
+An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within the NVD
+ CVE data.
@@ -217,6 +217,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e76cfcff4..b1faf3bfd 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,16 +2,16 @@
-
+
-CweDB (Dependency-Check Core 1.2.7 API)
-
+CweDB (Dependency-Check Core 1.2.9 API)
+
@@ -132,7 +132,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -228,6 +228,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 ddca53360..8c627130f 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,16 +2,16 @@
-
+
-CweHandler (Dependency-Check Core 1.2.7 API)
-
+CweHandler (Dependency-Check Core 1.2.9 API)
+
@@ -154,7 +154,7 @@ extends
void
-startElement(String uri,
+startElement(String uri,
String localName,
String qName,
Attributes attributes)
@@ -172,7 +172,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -229,9 +229,9 @@ extends SAXException
- Specified by:
-startElement in interface ContentHandler
+startElement in interface ContentHandler
- Overrides:
-startElement in class org.xml.sax.helpers.DefaultHandler
+startElement in class org.xml.sax.helpers.DefaultHandler
- Throws:
SAXException
@@ -303,6 +303,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e45780cfb..97f0aa95b 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cwe.CweDB (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.cwe.CweDB (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 07dc40445..e221256b0 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.cwe.CweHandler (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.cwe.CweHandler (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 6988c0651..d74cdfd7f 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.2.9 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 8e2d907c1..52e41bded 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.2.9 API)
+
@@ -157,6 +157,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 a765dbc1c..90bc49894 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.cwe Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.cwe Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -130,6 +130,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 1119f3578..84986f6f1 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.cwe (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 c7debef0b..de7dac30e 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,16 +2,16 @@
-
+
-AbstractTokenizingFilter (Dependency-Check Core 1.2.7 API)
-
+AbstractTokenizingFilter (Dependency-Check Core 1.2.9 API)
+
@@ -116,7 +116,7 @@
- Direct Known Subclasses:
-- UrlTokenizingFilter, VersionTokenizingFilter
+- UrlTokenizingFilter
@@ -230,14 +230,14 @@ extends org.apache.lucene.analysis.TokenFilter
Methods inherited from class org.apache.lucene.util.AttributeSource
-addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState
+addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState, toString
-
Methods inherited from class java.lang.Object
-clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -372,6 +372,6 @@ extends org.apache.lucene.analysis.TokenFilter
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 ad80fb153..cc8f26808 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,16 +2,16 @@
-
+
-AlphaNumericTokenizer (Dependency-Check Core 1.2.7 API)
-
+AlphaNumericTokenizer (Dependency-Check Core 1.2.9 API)
+
@@ -174,14 +174,14 @@ extends org.apache.lucene.analysis.util.CharTokenizer
Constructor and Description
-AlphaNumericTokenizer(org.apache.lucene.util.Version matchVersion,
+AlphaNumericTokenizer(org.apache.lucene.util.Version matchVersion,
org.apache.lucene.util.AttributeSource.AttributeFactory factory,
Reader in)
Constructs a new AlphaNumericTokenizer.
-AlphaNumericTokenizer(org.apache.lucene.util.Version matchVersion,
+AlphaNumericTokenizer(org.apache.lucene.util.Version matchVersion,
Reader in)
Constructs a new AlphaNumericTokenizer.
@@ -227,14 +227,14 @@ extends org.apache.lucene.analysis.util.CharTokenizer
Methods inherited from class org.apache.lucene.util.AttributeSource
-addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState
+addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState, toString
-
Methods inherited from class java.lang.Object
-clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -365,6 +365,6 @@ extends org.apache.lucene.analysis.util.CharTokenizer
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 44f80184c..18314a233 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,16 +2,16 @@
-
+
-DependencySimilarity (Dependency-Check Core 1.2.7 API)
-
+DependencySimilarity (Dependency-Check Core 1.2.9 API)
+
@@ -183,7 +183,7 @@ extends org.apache.lucene.search.similarities.DefaultSimilarity
float
-idf(long docFreq,
+idf(long docFreq,
long numDocs)
Override the default idf implementation so that frequency within all document is ignored.
@@ -209,7 +209,7 @@ extends org.apache.lucene.search.similarities.DefaultSimilarity
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -328,6 +328,6 @@ extends org.apache.lucene.search.similarities.DefaultSimilarity
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 0643b0e86..820da5e3f 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,16 +2,16 @@
-
+
-FieldAnalyzer (Dependency-Check Core 1.2.7 API)
-
+FieldAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -109,8 +109,8 @@
public class FieldAnalyzer
extends org.apache.lucene.analysis.Analyzer
- A Lucene Analyzer that utilizes the WhitespaceTokenizer, WordDelimiterFilter, LowerCaseFilter, and StopFilter. The
- intended purpose of this Analyzer is to index the CPE fields vendor and product.
+ A Lucene Analyzer that utilizes the WhitespaceTokenizer, WordDelimiterFilter, LowerCaseFilter, and StopFilter. The intended
+ purpose of this Analyzer is to index the CPE fields vendor and product.
- Author:
- Jeremy Long
@@ -182,7 +182,7 @@ extends org.apache.lucene.analysis.Analyzer
protected org.apache.lucene.analysis.Analyzer.TokenStreamComponents
-createComponents(String fieldName,
+createComponents(String fieldName,
Reader reader)
Creates the TokenStreamComponents
@@ -200,7 +200,7 @@ extends org.apache.lucene.analysis.Analyzer
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -318,6 +318,6 @@ extends org.apache.lucene.analysis.Analyzer
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 847be5492..a8c8356ce 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,16 +2,16 @@
-
+
-LuceneUtils (Dependency-Check Core 1.2.7 API)
-
+LuceneUtils (Dependency-Check Core 1.2.9 API)
+
@@ -144,7 +144,7 @@ extends
static void
-appendEscapedLuceneQuery(StringBuilder buf,
+appendEscapedLuceneQuery(StringBuilder buf,
CharSequence text)
Appends the text to the supplied StringBuilder escaping Lucene control characters in the process.
@@ -161,7 +161,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -184,8 +184,8 @@ extends
CURRENT_VERSION
public static final org.apache.lucene.util.Version CURRENT_VERSION
-The current version of Lucene being used. Declaring this one place so an upgrade doesn't require hunting through
- the code base.
+The current version of Lucene being used. Declaring this one place so an upgrade doesn't require hunting through the code
+ base.
@@ -287,6 +287,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 b37db692a..ddff56cee 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,16 +2,16 @@
-
+
-SearchFieldAnalyzer (Dependency-Check Core 1.2.7 API)
-
+SearchFieldAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -38,7 +38,7 @@
protected org.apache.lucene.analysis.Analyzer.TokenStreamComponents
-createComponents(String fieldName,
+createComponents(String fieldName,
Reader reader)
Creates a the TokenStreamComponents used to analyze the stream.
@@ -206,7 +205,7 @@ extends org.apache.lucene.analysis.Analyzer
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -265,8 +264,7 @@ extends org.apache.lucene.analysis.Analyzer
clear
public void clear()
- Resets the analyzer and clears any internal state data that may have been left-over from previous uses of the
- analyzer.
+ Resets the analyzer and clears any internal state data that may have been left-over from previous uses of the analyzer.
If this analyzer is re-used this method must be called between uses.
@@ -298,7 +296,7 @@ extends org.apache.lucene.analysis.Analyzer
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 456b01f02..9c56f3a72 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,16 +2,16 @@
-
+
-TokenPairConcatenatingFilter (Dependency-Check Core 1.2.7 API)
-
+TokenPairConcatenatingFilter (Dependency-Check Core 1.2.9 API)
+
@@ -37,7 +37,7 @@
@@ -353,7 +353,7 @@ extends org.apache.lucene.analysis.TokenFilter
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 c6ecc78a0..941e20e35 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,16 +2,16 @@
-
+
-UrlTokenizingFilter (Dependency-Check Core 1.2.7 API)
-
+UrlTokenizingFilter (Dependency-Check Core 1.2.9 API)
+
@@ -38,7 +38,7 @@
-
-class
-VersionTokenizingFilter
-Deprecated.
-version information is no longer stored in lucene
-
-
-
@@ -170,6 +162,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 038c0a672..d5b510089 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 960aac644..009556bb7 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.DependencySimilarity (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.lucene.DependencySimilarity (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 c57410303..ab2887cfb 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.FieldAnalyzer (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.lucene.FieldAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 8ac2dcabd..efa45a029 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.LuceneUtils (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.lucene.LuceneUtils (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 a05a8761a..d1471ed68 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 17d031bf6..dfbcbb1b5 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 bca17ffb9..acee33cf1 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e85a0b149..35d853078 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.2.9 API)
+
@@ -19,11 +19,8 @@
FieldAnalyzer
LuceneUtils
SearchFieldAnalyzer
-SearchVersionAnalyzer
TokenPairConcatenatingFilter
UrlTokenizingFilter
-VersionAnalyzer
-VersionTokenizingFilter
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 b7deba467..368d900ee 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.2.9 API)
+
@@ -122,37 +122,19 @@
-SearchVersionAnalyzer
-Deprecated
-version information is no longer stored in lucene
-
-
-
TokenPairConcatenatingFilter
Takes a TokenStream and adds additional tokens by concatenating pairs of words.
-
+
UrlTokenizingFilter
Takes a TokenStream and splits or adds tokens to correctly index version numbers.
-
-VersionAnalyzer
-Deprecated
-version information is no longer stored in lucene
-
-
-
-VersionTokenizingFilter
-Deprecated
-version information is no longer stored in lucene
-
-
@@ -215,6 +197,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 ececff6d5..800f27706 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.lucene Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.lucene Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -79,8 +79,6 @@
- org.owasp.dependencycheck.data.lucene.FieldAnalyzer
- org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer
-- org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer
-- org.owasp.dependencycheck.data.lucene.VersionAnalyzer
org.apache.lucene.util.AttributeSource
@@ -92,7 +90,6 @@
org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter
- org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter
-- org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter
org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter
@@ -174,6 +171,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d2c727e3d..2bd286605 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.lucene (Dependency-Check Core 1.2.9 API)
+
@@ -154,6 +154,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/MavenArtifact.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/MavenArtifact.html
index e42594971..25dd6ce76 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/MavenArtifact.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/MavenArtifact.html
@@ -2,16 +2,16 @@
-
+
-MavenArtifact (Dependency-Check Core 1.2.7 API)
-
+MavenArtifact (Dependency-Check Core 1.2.9 API)
+
@@ -125,14 +125,23 @@ extends
-MavenArtifact(String groupId,
+MavenArtifact(String groupId,
String artifactId,
String version)
Creates a MavenArtifact with the given attributes.
-MavenArtifact(String groupId,
+MavenArtifact(String groupId,
+ String artifactId,
+ String version,
+ boolean jarAvailable,
+ boolean pomAvailable)
+Creates a MavenArtifact with the given attributes.
+
+
+
+MavenArtifact(String groupId,
String artifactId,
String version,
String url)
@@ -174,28 +183,40 @@ extends
String
+getPomUrl()
+Get the value of pomUrl.
+
+
+
+String
getVersion()
Gets the version.
-
+
void
setArtifactId(String artifactId)
Sets the artifactId.
-
+
void
setArtifactUrl(String artifactUrl)
Sets the artifactUrl.
-
+
void
setGroupId(String groupId)
Sets the groupId.
+
+void
+setPomUrl(String pomUrl)
+Set the value of pomUrl.
+
+
void
setVersion(String version)
@@ -214,7 +235,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -253,6 +274,21 @@ extends Parameters:groupId - the groupIdartifactId - the artifactIdversion - the version
+
+
+
+
+-
+
MavenArtifact
+public MavenArtifact(String groupId,
+ String artifactId,
+ String version,
+ boolean jarAvailable,
+ boolean pomAvailable)
+Creates a MavenArtifact with the given attributes.
+- Parameters:
groupId - the groupIdartifactId - the artifactIdversion - the versionjarAvailable - if the jar file is available from centralpomAvailable - if the pom file is available from central
+
+
@@ -369,7 +405,7 @@ extends
-
+
-
getArtifactUrl
public String getArtifactUrl()
@@ -377,6 +413,28 @@ extends Returns:- the artifactUrl
+
+
+
+
+-
+
getPomUrl
+public String getPomUrl()
+Get the value of pomUrl.
+- Returns:
- the value of pomUrl
+
+
+
+
+
+
+-
+
setPomUrl
+public void setPomUrl(String pomUrl)
+Set the value of pomUrl.
+- Parameters:
pomUrl - new value of pomUrl
+
+
@@ -444,6 +502,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/NexusSearch.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/NexusSearch.html
index 76095811a..db27f1b5f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/NexusSearch.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/NexusSearch.html
@@ -2,16 +2,16 @@
-
+
-NexusSearch (Dependency-Check Core 1.2.7 API)
-
+NexusSearch (Dependency-Check Core 1.2.9 API)
+
@@ -157,7 +157,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -181,8 +181,8 @@ extends URL rootURL)
Creates a NexusSearch for the given repository URL.
-- Parameters:
rootURL - the root URL of the repository on which searches should execute. full URL's are calculated
- relative to this URL, so it should end with a /
+- Parameters:
rootURL - the root URL of the repository on which searches should execute. full URL's are calculated relative to this
+ URL, so it should end with a /
@@ -201,13 +201,12 @@ extends MavenArtifact searchSha1(String sha1)
throws IOException
-Searches the configured Nexus repository for the given sha1 hash. If the artifact is found, a
- MavenArtifact is populated with the coordinate information.
+Searches the configured Nexus repository for the given sha1 hash. If the artifact is found, a MavenArtifact is
+ populated with the coordinate information.
- Parameters:
sha1 - The SHA-1 hash string for which to search
- Returns:
- the populated Maven coordinates
- Throws:
-IOException - if it's unable to connect to the specified repository or if the specified artifact is not
- found.
+IOException - if it's unable to connect to the specified repository or if the specified artifact is not found.
@@ -288,6 +287,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/MavenArtifact.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/MavenArtifact.html
index 2f2fb1788..14ed4354c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/MavenArtifact.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/MavenArtifact.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nexus.MavenArtifact (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nexus.MavenArtifact (Dependency-Check Core 1.2.9 API)
+
@@ -165,7 +165,7 @@
void
-Dependency.addAsEvidence(String source,
+Dependency.addAsEvidence(String source,
MavenArtifact mavenArtifact,
Confidence confidence)
Adds the maven artifact as evidence.
@@ -223,6 +223,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/NexusSearch.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/NexusSearch.html
index 36d8c641b..f43c5c660 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/NexusSearch.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/class-use/NexusSearch.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nexus.NexusSearch (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nexus.NexusSearch (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-frame.html
index 72beba007..02c199752 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.nexus (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nexus (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-summary.html
index c5516374e..ba6387c44 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.nexus (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nexus (Dependency-Check Core 1.2.9 API)
+
@@ -161,6 +161,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-tree.html
index 7e34bf410..78cf6f699 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.nexus Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nexus Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -126,6 +126,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-use.html
index 5403fe26f..99cac8b1d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nexus/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.nexus (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.nexus (Dependency-Check Core 1.2.9 API)
+
@@ -208,6 +208,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NugetPackage.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NugetPackage.html
index 4b407442a..cb22b668e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NugetPackage.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NugetPackage.html
@@ -2,16 +2,16 @@
-
+
-NugetPackage (Dependency-Check Core 1.2.7 API)
-
+NugetPackage (Dependency-Check Core 1.2.9 API)
+
@@ -225,7 +225,7 @@ extends Object
-clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
@@ -484,6 +484,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParseException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParseException.html
index e0c2afeb4..c76917f68 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParseException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParseException.html
@@ -2,16 +2,16 @@
-
+
-NuspecParseException (Dependency-Check Core 1.2.7 API)
-
+NuspecParseException (Dependency-Check Core 1.2.9 API)
+
@@ -145,7 +145,7 @@ extends
- NuspecParseException(String message,
+NuspecParseException(String message,
Throwable cause)
Constructs a new exception with the specified detail message and cause.
@@ -171,7 +171,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -297,6 +297,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParser.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParser.html
index 359c11b0d..6b5d2ea32 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParser.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/NuspecParser.html
@@ -2,16 +2,16 @@
-
+
-NuspecParser (Dependency-Check Core 1.2.7 API)
-
+NuspecParser (Dependency-Check Core 1.2.9 API)
+
@@ -218,6 +218,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/XPathNuspecParser.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/XPathNuspecParser.html
index 8ecaa6147..3e43f7fe9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/XPathNuspecParser.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/XPathNuspecParser.html
@@ -2,16 +2,16 @@
-
+
-XPathNuspecParser (Dependency-Check Core 1.2.7 API)
-
+XPathNuspecParser (Dependency-Check Core 1.2.9 API)
+
@@ -154,7 +154,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -272,6 +272,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NugetPackage.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NugetPackage.html
index c2803ea70..d3a183680 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NugetPackage.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NugetPackage.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nuget.NugetPackage (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nuget.NugetPackage (Dependency-Check Core 1.2.9 API)
+
@@ -166,6 +166,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParseException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParseException.html
index 4b88db972..ba3b64bb6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParseException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParseException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nuget.NuspecParseException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nuget.NuspecParseException (Dependency-Check Core 1.2.9 API)
+
@@ -166,6 +166,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParser.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParser.html
index 7130d9601..5e1e952c3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParser.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/NuspecParser.html
@@ -2,16 +2,16 @@
-
+
-Uses of Interface org.owasp.dependencycheck.data.nuget.NuspecParser (Dependency-Check Core 1.2.7 API)
-
+Uses of Interface org.owasp.dependencycheck.data.nuget.NuspecParser (Dependency-Check Core 1.2.9 API)
+
@@ -160,6 +160,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/XPathNuspecParser.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/XPathNuspecParser.html
index f94168123..860e879f9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/XPathNuspecParser.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/class-use/XPathNuspecParser.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nuget.XPathNuspecParser (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nuget.XPathNuspecParser (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-frame.html
index 74d3fd4ed..8296d4fc7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.nuget (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nuget (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-summary.html
index 1b06c0023..1cca6a991 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.nuget (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nuget (Dependency-Check Core 1.2.9 API)
+
@@ -196,6 +196,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-tree.html
index 69d6725f3..c34cfc00a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.nuget Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nuget Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -139,6 +139,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-use.html
index f10e8cfb4..a3b24b3ad 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nuget/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.nuget (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.nuget (Dependency-Check Core 1.2.9 API)
+
@@ -163,6 +163,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.html
index 3c4f1d77e..d44b26550 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/ConnectionFactory.html
@@ -2,16 +2,16 @@
-
+
-ConnectionFactory (Dependency-Check Core 1.2.7 API)
-
+ConnectionFactory (Dependency-Check Core 1.2.9 API)
+
@@ -173,7 +173,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -325,6 +325,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 ac8776f07..79a16cf12 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,16 +2,16 @@
-
+
-CveDB (Dependency-Check Core 1.2.7 API)
-
+CveDB (Dependency-Check Core 1.2.9 API)
+
@@ -177,7 +177,7 @@ extends
Set<VulnerableSoftware>
-getCPEs(String vendor,
+getCPEs(String vendor,
String product)
Searches the CPE entries in the database and retrieves all entries for a given vendor and product combination.
@@ -201,28 +201,18 @@ extends
-protected boolean
-isAffected(String vendor,
- String product,
- DependencyVersion identifiedVersion,
- String cpeId,
- String previous)
-Determines if the given identifiedVersion is affected by the given cpeId and previous version flag.
-
-
-
boolean
isOpen()
Returns whether the database connection is open or closed.
-
+
void
open()
Opens the database connection.
-
+
void
updateVulnerability(Vulnerability vuln)
Updates the vulnerability within the database.
@@ -234,7 +224,7 @@ extends Object
-clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -258,8 +248,8 @@ extends DatabaseException
-Creates a new CveDB object and opens the database connection. Note, the connection must be closed by the caller
- by calling the close method.
+Creates a new CveDB object and opens the database connection. Note, the connection must be closed by the caller by calling
+ the close method.
- Throws:
DatabaseException - thrown if there is an exception opening the database.
@@ -365,8 +355,8 @@ extends Set<VulnerableSoftware> getCPEs(String vendor,
String product)
-Searches the CPE entries in the database and retrieves all entries for a given vendor and product combination.
- The returned list will include all versions of the product that are registered in the NVD CVE data.
+Searches the CPE entries in the database and retrieves all entries for a given vendor and product combination. The returned
+ list will include all versions of the product that are registered in the NVD CVE data.
- Parameters:
vendor - the identified vendor name of the dependency being analyzedproduct - the identified name of the product of the dependency being analyzed
- Returns:
- a set of vulnerable software
@@ -428,29 +418,12 @@ extends
-
+
-
cleanupDatabase
public void cleanupDatabase()
-It is possible that orphaned rows may be generated during database updates. This should be called after all
- updates have been completed to ensure orphan entries are removed.
-
-
-
-
-
-
--
-
isAffected
-protected boolean isAffected(String vendor,
- String product,
- DependencyVersion identifiedVersion,
- String cpeId,
- String previous)
-Determines if the given identifiedVersion is affected by the given cpeId and previous version flag. A non-null,
- non-empty string passed to the previous version argument indicates that all previous versions are affected.
-- Parameters:
vendor - the vendor of the dependency being analyzedproduct - the product name of the dependency being analyzedidentifiedVersion - the identified version of the dependency being analyzedcpeId - the cpe identifier of software that has a known vulnerabilityprevious - a flag indicating if previous versions of the product are vulnerable
-- Returns:
- true if the identified version is affected, otherwise false
+It is possible that orphaned rows may be generated during database updates. This should be called after all updates have
+ been completed to ensure orphan entries are removed.
@@ -520,6 +493,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 165152bf0..2528c9afc 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,16 +2,16 @@
-
+
-DatabaseException (Dependency-Check Core 1.2.7 API)
-
+DatabaseException (Dependency-Check Core 1.2.9 API)
+
@@ -140,7 +140,7 @@ extends
-DatabaseException(String msg,
+DatabaseException(String msg,
Throwable ex)
Creates an DatabaseException.
@@ -171,7 +171,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -288,6 +288,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.html
index c75c0535a..5be90128d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DatabaseProperties.html
@@ -2,16 +2,16 @@
-
+
-DatabaseProperties (Dependency-Check Core 1.2.7 API)
-
+DatabaseProperties (Dependency-Check Core 1.2.9 API)
+
@@ -174,7 +174,7 @@ extends
String
-getProperty(String key,
+getProperty(String key,
String defaultValue)
Returns the property value for the given key.
@@ -193,7 +193,7 @@ extends
void
-save(String key,
+save(String key,
String value)
Saves the key value pair to the properties store.
@@ -204,7 +204,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -421,6 +421,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoadException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoadException.html
index f670ccdb1..0a7a95226 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoadException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoadException.html
@@ -2,16 +2,16 @@
-
+
-DriverLoadException (Dependency-Check Core 1.2.7 API)
-
+DriverLoadException (Dependency-Check Core 1.2.9 API)
+
@@ -140,7 +140,7 @@ extends
-DriverLoadException(String msg,
+DriverLoadException(String msg,
Throwable ex)
Creates an DriverLoadException.
@@ -171,7 +171,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -288,6 +288,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoader.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoader.html
index 58d9c4216..3a501b8ef 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoader.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/DriverLoader.html
@@ -2,16 +2,16 @@
-
+
-DriverLoader (Dependency-Check Core 1.2.7 API)
-
+DriverLoader (Dependency-Check Core 1.2.9 API)
+
@@ -128,7 +128,7 @@ extends
static Driver
-load(String className,
+load(String className,
String pathToDriver)
Loads the specified class by registering the supplied paths to the class loader and then registers the driver
with the driver manager.
@@ -140,7 +140,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -259,6 +259,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/ConnectionFactory.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/ConnectionFactory.html
index 3d5e5b50d..52f283685 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/ConnectionFactory.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/ConnectionFactory.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.ConnectionFactory (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nvdcve.ConnectionFactory (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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 121e3edba..61cd03b6f 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.CveDB (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nvdcve.CveDB (Dependency-Check Core 1.2.9 API)
+
@@ -143,7 +143,7 @@
-DownloadTask(NvdCveInfo nvdCveInfo,
+DownloadTask(NvdCveInfo nvdCveInfo,
ExecutorService processor,
CveDB cveDB,
Settings settings)
@@ -151,7 +151,7 @@
-ProcessTask(CveDB cveDB,
+ProcessTask(CveDB cveDB,
DownloadTask filePair,
Settings settings)
Constructs a new ProcessTask used to process an NVD CVE update.
@@ -229,6 +229,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 f777de53f..72dc667b7 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseException (Dependency-Check Core 1.2.9 API)
+
@@ -306,7 +306,7 @@
protected void
-ProcessTask.importXML(File file,
+ProcessTask.importXML(File file,
File oldVersion)
Imports the NVD CVE XML File into the Lucene Index.
@@ -383,6 +383,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseProperties.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseProperties.html
index 3baa428e4..90faa576b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseProperties.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DatabaseProperties.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseProperties (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nvdcve.DatabaseProperties (Dependency-Check Core 1.2.9 API)
+
@@ -146,7 +146,7 @@
protected boolean
-EngineVersionCheck.shouldUpdate(long lastChecked,
+EngineVersionCheck.shouldUpdate(long lastChecked,
long now,
DatabaseProperties properties,
String currentVersion)
@@ -167,7 +167,7 @@
-ReportGenerator(String applicationName,
+ReportGenerator(String applicationName,
List<Dependency> dependencies,
List<Analyzer> analyzers,
DatabaseProperties properties)
@@ -226,6 +226,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoadException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoadException.html
index c0f7246e5..5e6df0169 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoadException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoadException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.DriverLoadException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nvdcve.DriverLoadException (Dependency-Check Core 1.2.9 API)
+
@@ -111,7 +111,7 @@
static Driver
-DriverLoader.load(String className,
+DriverLoader.load(String className,
String pathToDriver)
Loads the specified class by registering the supplied paths to the class loader and then registers the driver
with the driver manager.
@@ -169,6 +169,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoader.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoader.html
index 9c803b264..b2f3631c7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoader.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/nvdcve/class-use/DriverLoader.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.nvdcve.DriverLoader (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.nvdcve.DriverLoader (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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 e3f9782ff..7bd0e02f4 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.2.9 API)
+
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 f49815f34..e45e600b3 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.2.9 API)
+
@@ -194,6 +194,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 48cb3f19c..0d87302b4 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.nvdcve Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.nvdcve Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -138,6 +138,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 f2548ddc1..7036d8781 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.nvdcve (Dependency-Check Core 1.2.9 API)
+
@@ -396,6 +396,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/CachedWebDataSource.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/CachedWebDataSource.html
index 8325ff859..bd57c2bf1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/CachedWebDataSource.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/CachedWebDataSource.html
@@ -2,16 +2,16 @@
-
+
-CachedWebDataSource (Dependency-Check Core 1.2.7 API)
-
+CachedWebDataSource (Dependency-Check Core 1.2.9 API)
+
@@ -219,6 +219,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/EngineVersionCheck.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/EngineVersionCheck.html
index ab1934033..1cb9792dd 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/EngineVersionCheck.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/EngineVersionCheck.html
@@ -2,16 +2,16 @@
-
+
-EngineVersionCheck (Dependency-Check Core 1.2.7 API)
-
+EngineVersionCheck (Dependency-Check Core 1.2.9 API)
+
@@ -200,7 +200,7 @@ implements
protected boolean
-shouldUpdate(long lastChecked,
+shouldUpdate(long lastChecked,
long now,
DatabaseProperties properties,
String currentVersion)
@@ -220,7 +220,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -443,6 +443,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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
index 791009e19..b76ce17a6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveInfo.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveInfo.html
@@ -2,16 +2,16 @@
-
+
-NvdCveInfo (Dependency-Check Core 1.2.7 API)
-
+NvdCveInfo (Dependency-Check Core 1.2.9 API)
+
@@ -203,7 +203,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -413,6 +413,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveUpdater.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveUpdater.html
index 46e3068d8..582b8ee0f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveUpdater.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/NvdCveUpdater.html
@@ -2,16 +2,16 @@
-
+
-NvdCveUpdater (Dependency-Check Core 1.2.7 API)
-
+NvdCveUpdater (Dependency-Check Core 1.2.9 API)
+
@@ -155,7 +155,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -272,6 +272,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/StandardUpdate.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/StandardUpdate.html
index f6d1545b8..323c28bc9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/StandardUpdate.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/StandardUpdate.html
@@ -2,16 +2,16 @@
-
+
-StandardUpdate (Dependency-Check Core 1.2.7 API)
-
+StandardUpdate (Dependency-Check Core 1.2.9 API)
+
@@ -197,7 +197,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -391,6 +391,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateService.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateService.html
index 6d98c9933..19dabc3d9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateService.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateService.html
@@ -2,16 +2,16 @@
-
+
-UpdateService (Dependency-Check Core 1.2.7 API)
-
+UpdateService (Dependency-Check Core 1.2.9 API)
+
@@ -152,7 +152,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -265,6 +265,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateableNvdCve.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateableNvdCve.html
index 4a92c6624..71bcbcd88 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateableNvdCve.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/UpdateableNvdCve.html
@@ -2,16 +2,16 @@
-
+
-UpdateableNvdCve (Dependency-Check Core 1.2.7 API)
-
+UpdateableNvdCve (Dependency-Check Core 1.2.9 API)
+
@@ -145,7 +145,7 @@ implements
void
-add(String id,
+add(String id,
String url,
String oldUrl)
Adds a new entry of updateable information to the contained collection.
@@ -153,7 +153,7 @@ implements
void
-add(String id,
+add(String id,
String url,
String oldUrl,
boolean needsUpdate)
@@ -222,7 +222,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -486,6 +486,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/CachedWebDataSource.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/CachedWebDataSource.html
index b1d19918a..edf115c85 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/CachedWebDataSource.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/CachedWebDataSource.html
@@ -2,16 +2,16 @@
-
+
-Uses of Interface org.owasp.dependencycheck.data.update.CachedWebDataSource (Dependency-Check Core 1.2.7 API)
-
+Uses of Interface org.owasp.dependencycheck.data.update.CachedWebDataSource (Dependency-Check Core 1.2.9 API)
+
@@ -179,6 +179,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/EngineVersionCheck.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/EngineVersionCheck.html
index 8c68f6155..db858a9a1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/EngineVersionCheck.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/EngineVersionCheck.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.EngineVersionCheck (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.EngineVersionCheck (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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
index 391888f03..1662d67f2 100644
--- 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
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.NvdCveInfo (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.NvdCveInfo (Dependency-Check Core 1.2.9 API)
+
@@ -216,7 +216,7 @@
-DownloadTask(NvdCveInfo nvdCveInfo,
+DownloadTask(NvdCveInfo nvdCveInfo,
ExecutorService processor,
CveDB cveDB,
Settings settings)
@@ -275,6 +275,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/NvdCveUpdater.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/NvdCveUpdater.html
index 3b344cea5..f6e8a285b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/NvdCveUpdater.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/NvdCveUpdater.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.NvdCveUpdater (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.NvdCveUpdater (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/StandardUpdate.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/StandardUpdate.html
index 146855f0f..721578ad0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/StandardUpdate.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/StandardUpdate.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.StandardUpdate (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.StandardUpdate (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateService.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateService.html
index dd671637f..34402eb98 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateService.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateService.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.UpdateService (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.UpdateService (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateableNvdCve.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateableNvdCve.html
index a138b4257..dd2f37e2b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateableNvdCve.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/class-use/UpdateableNvdCve.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.UpdateableNvdCve (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.UpdateableNvdCve (Dependency-Check Core 1.2.9 API)
+
@@ -160,6 +160,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/InvalidDataException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/InvalidDataException.html
index a2e495975..5304181cf 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/InvalidDataException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/InvalidDataException.html
@@ -2,16 +2,16 @@
-
+
-InvalidDataException (Dependency-Check Core 1.2.7 API)
-
+InvalidDataException (Dependency-Check Core 1.2.9 API)
+
@@ -140,7 +140,7 @@ extends
-InvalidDataException(String msg,
+InvalidDataException(String msg,
Exception ex)
Creates an InvalidDataException.
@@ -166,7 +166,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -272,6 +272,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/UpdateException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/UpdateException.html
index 347c29b7e..37f0f6f9c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/UpdateException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/UpdateException.html
@@ -2,16 +2,16 @@
-
+
-UpdateException (Dependency-Check Core 1.2.7 API)
-
+UpdateException (Dependency-Check Core 1.2.9 API)
+
@@ -150,7 +150,7 @@ extends
-UpdateException(String msg,
+UpdateException(String msg,
Throwable ex)
Creates a new UpdateException.
@@ -181,7 +181,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -308,6 +308,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/InvalidDataException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/InvalidDataException.html
index 3ab110882..20f05c27f 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/InvalidDataException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/InvalidDataException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.exception.InvalidDataException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.exception.InvalidDataException (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/UpdateException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/UpdateException.html
index e1ffcf8de..947b3efeb 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/UpdateException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/class-use/UpdateException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.exception.UpdateException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.exception.UpdateException (Dependency-Check Core 1.2.9 API)
+
@@ -131,7 +131,7 @@
void
-DatabaseProperties.save(String key,
+DatabaseProperties.save(String key,
String value)
Saves the key value pair to the properties store.
@@ -158,7 +158,7 @@
protected boolean
-EngineVersionCheck.shouldUpdate(long lastChecked,
+EngineVersionCheck.shouldUpdate(long lastChecked,
long now,
DatabaseProperties properties,
String currentVersion)
@@ -253,7 +253,7 @@
-DownloadTask(NvdCveInfo nvdCveInfo,
+DownloadTask(NvdCveInfo nvdCveInfo,
ExecutorService processor,
CveDB cveDB,
Settings settings)
@@ -312,6 +312,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-frame.html
index 1e30cd3a4..af50b7472 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.update.exception (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.exception (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-summary.html
index e8598fa1f..b4b29c73c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update.exception (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.exception (Dependency-Check Core 1.2.9 API)
+
@@ -158,6 +158,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-tree.html
index 8b43d3098..6b5c153a5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update.exception Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.exception Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -138,6 +138,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-use.html
index a5e945ee8..dbef7d2d0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/exception/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.update.exception (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.update.exception (Dependency-Check Core 1.2.9 API)
+
@@ -208,6 +208,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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
index 9c5a069f5..13b1145cc 100644
--- 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
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.update (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update (Dependency-Check Core 1.2.9 API)
+
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
index 384b262cd..d8eb8cbe1 100644
--- 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
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update (Dependency-Check Core 1.2.9 API)
+
@@ -201,6 +201,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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
index ce082e800..9d87e76a8 100644
--- 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
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -134,6 +134,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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
index d1d548d40..229cc8ee7 100644
--- 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
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.update (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.update (Dependency-Check Core 1.2.9 API)
+
@@ -218,6 +218,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/DownloadTask.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/DownloadTask.html
index 261235fd4..4800446c1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/DownloadTask.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/DownloadTask.html
@@ -2,16 +2,16 @@
-
+
-DownloadTask (Dependency-Check Core 1.2.7 API)
-
+DownloadTask (Dependency-Check Core 1.2.9 API)
+
@@ -125,7 +125,7 @@ implements Constructor and Description
-DownloadTask(NvdCveInfo nvdCveInfo,
+DownloadTask(NvdCveInfo nvdCveInfo,
ExecutorService processor,
CveDB cveDB,
Settings settings)
@@ -211,7 +211,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -433,6 +433,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/ProcessTask.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/ProcessTask.html
index a5dba5fcc..c2e1a7456 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/ProcessTask.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/ProcessTask.html
@@ -2,16 +2,16 @@
-
+
-ProcessTask (Dependency-Check Core 1.2.7 API)
-
+ProcessTask (Dependency-Check Core 1.2.9 API)
+
@@ -125,7 +125,7 @@ implements Constructor and Description
-ProcessTask(CveDB cveDB,
+ProcessTask(CveDB cveDB,
DownloadTask filePair,
Settings settings)
Constructs a new ProcessTask used to process an NVD CVE update.
@@ -160,7 +160,7 @@ implements
protected void
-importXML(File file,
+importXML(File file,
File oldVersion)
Imports the NVD CVE XML File into the Lucene Index.
@@ -177,7 +177,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -347,6 +347,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/DownloadTask.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/DownloadTask.html
index f1d28f881..a25c13d47 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/DownloadTask.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/DownloadTask.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.task.DownloadTask (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.task.DownloadTask (Dependency-Check Core 1.2.9 API)
+
@@ -102,7 +102,7 @@
-ProcessTask(CveDB cveDB,
+ProcessTask(CveDB cveDB,
DownloadTask filePair,
Settings settings)
Constructs a new ProcessTask used to process an NVD CVE update.
@@ -160,6 +160,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/ProcessTask.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/ProcessTask.html
index ac8f933a8..ae4b1988b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/ProcessTask.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/class-use/ProcessTask.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.task.ProcessTask (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.task.ProcessTask (Dependency-Check Core 1.2.9 API)
+
@@ -173,6 +173,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-frame.html
index 9f7b6fad2..275a4edf8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.update.task (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.task (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-summary.html
index 5e6bbe117..789e93f84 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update.task (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.task (Dependency-Check Core 1.2.9 API)
+
@@ -159,6 +159,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-tree.html
index 6d3bd901e..d5abd1297 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update.task Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.task Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -126,6 +126,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-use.html
index a8e86fc59..0a0f46c24 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/task/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.update.task (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.update.task (Dependency-Check Core 1.2.9 API)
+
@@ -158,6 +158,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.Element.html
index 6e5660675..e0ec8d79e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.Element.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.Element.html
@@ -2,16 +2,16 @@
-
+
-NvdCve12Handler.Element (Dependency-Check Core 1.2.7 API)
-
+NvdCve12Handler.Element (Dependency-Check Core 1.2.9 API)
+
@@ -234,7 +234,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -474,6 +474,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.html
index bb8952eeb..dbd81d3ff 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve12Handler.html
@@ -2,16 +2,16 @@
-
+
-NvdCve12Handler (Dependency-Check Core 1.2.7 API)
-
+NvdCve12Handler (Dependency-Check Core 1.2.9 API)
+
@@ -171,7 +171,7 @@ extends
void
-endElement(String uri,
+endElement(String uri,
String localName,
String qName)
@@ -183,7 +183,7 @@ extends
void
-startElement(String uri,
+startElement(String uri,
String localName,
String qName,
Attributes attributes)
@@ -201,7 +201,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -258,9 +258,9 @@ extends SAXException
- Specified by:
-startElement in interface ContentHandler
+startElement in interface ContentHandler
- Overrides:
-startElement in class org.xml.sax.helpers.DefaultHandler
+startElement in class org.xml.sax.helpers.DefaultHandler
- Throws:
SAXException
@@ -277,9 +277,9 @@ extends SAXException
- Specified by:
-endElement in interface ContentHandler
+endElement in interface ContentHandler
- Overrides:
-endElement in class org.xml.sax.helpers.DefaultHandler
+endElement in class org.xml.sax.helpers.DefaultHandler
- Throws:
SAXException
@@ -351,6 +351,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.Element.html
index 634b5f388..9d7984dac 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.Element.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.Element.html
@@ -2,16 +2,16 @@
-
+
-NvdCve20Handler.Element (Dependency-Check Core 1.2.7 API)
-
+NvdCve20Handler.Element (Dependency-Check Core 1.2.9 API)
+
@@ -354,7 +354,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -814,6 +814,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.html
index 32e3e802c..9e4ae882d 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/NvdCve20Handler.html
@@ -2,16 +2,16 @@
-
+
-NvdCve20Handler (Dependency-Check Core 1.2.7 API)
-
+NvdCve20Handler (Dependency-Check Core 1.2.9 API)
+
@@ -169,13 +169,13 @@ extends
void
-characters(char[] ch,
+characters(char[] ch,
int start,
int length)
void
-endElement(String uri,
+endElement(String uri,
String localName,
String qName)
@@ -205,7 +205,7 @@ extends
void
-startElement(String uri,
+startElement(String uri,
String localName,
String qName,
Attributes attributes)
@@ -223,7 +223,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -291,9 +291,9 @@ extends SAXException
- Specified by:
-startElement in interface ContentHandler
+startElement in interface ContentHandler
- Overrides:
-startElement in class org.xml.sax.helpers.DefaultHandler
+startElement in class org.xml.sax.helpers.DefaultHandler
- Throws:
SAXException
@@ -310,9 +310,9 @@ extends SAXException
- Specified by:
-characters in interface ContentHandler
+characters in interface ContentHandler
- Overrides:
-characters in class org.xml.sax.helpers.DefaultHandler
+characters in class org.xml.sax.helpers.DefaultHandler
- Throws:
SAXException
@@ -329,9 +329,9 @@ extends SAXException
- Specified by:
-endElement in interface ContentHandler
+endElement in interface ContentHandler
- Overrides:
-endElement in class org.xml.sax.helpers.DefaultHandler
+endElement in class org.xml.sax.helpers.DefaultHandler
- Throws:
SAXException
@@ -425,6 +425,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.Element.html
index 26686d92c..5875a3d79 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.Element.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.Element.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve12Handler.Element (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve12Handler.Element (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.html
index 8f9040c99..562f8b143 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve12Handler.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve12Handler (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve12Handler (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.Element.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.Element.html
index 7260174d5..8fd9f2b8c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.Element.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.Element.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.Element (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve20Handler.Element (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.html
index 5fc5b0644..cf17db547 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/class-use/NvdCve20Handler.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve20Handler (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.data.update.xml.NvdCve20Handler (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-frame.html
index 432a27736..e42dcea17 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.data.update.xml (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.xml (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-summary.html
index 8c4046185..54c3f382c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update.xml (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.xml (Dependency-Check Core 1.2.9 API)
+
@@ -175,6 +175,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-tree.html
index 63a0c0c5f..c017b7b76 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.data.update.xml Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.data.update.xml Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -132,6 +132,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-use.html
index dc568c152..29203b4eb 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/data/update/xml/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.data.update.xml (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.data.update.xml (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Confidence.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Confidence.html
index 9a9d568f0..91eb53d21 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Confidence.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Confidence.html
@@ -2,16 +2,16 @@
-
+
-Confidence (Dependency-Check Core 1.2.7 API)
-
+Confidence (Dependency-Check Core 1.2.9 API)
+
@@ -182,14 +182,14 @@ the order they are declared.
Methods inherited from class java.lang.Enum
-clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Methods inherited from class java.lang.Object
-getClass, notify, notifyAll, wait, wait, wait
+getClass, notify, notifyAll, wait, wait, wait
@@ -267,8 +267,7 @@ over the constants as follows:
for (Confidence c : Confidence.values())
System.out.println(c);
-- Returns:
- an array containing the constants of this enum type, in
-the order they are declared
+- Returns:
- an array containing the constants of this enum type, in the order they are declared
@@ -285,8 +284,7 @@ not permitted.)
- Parameters:
name - the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
-IllegalArgumentException - if this enum type has no constant
-with the specified name
+IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null
@@ -357,6 +355,6 @@ with the specified name
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. 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 728b28f1d..55c7f62a1 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Dependency.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Dependency.html
@@ -2,16 +2,16 @@
-
+
-Dependency (Dependency-Check Core 1.2.7 API)
-
+Dependency (Dependency-Check Core 1.2.9 API)
+
@@ -104,9 +104,9 @@
public class Dependency
extends Object
implements Serializable, Comparable<Dependency>
-A program dependency. This object is one of the core components within DependencyCheck. It is used to collect
- information about the dependency in the form of evidence. The Evidence is then used to determine if there are any
- known, published, vulnerabilities associated with the program dependency.
+A program dependency. This object is one of the core components within DependencyCheck. It is used to collect information about
+ the dependency in the form of evidence. The Evidence is then used to determine if there are any known, published,
+ vulnerabilities associated with the program dependency.
- Author:
- Jeremy Long
- See Also:
- Serialized Form
@@ -154,12 +154,24 @@ implements
void
-addAsEvidence(String source,
+addAllProjectReferences(Set<String> projectReferences)
+Add a collection of project reference.
+
+
+
+void
+addAsEvidence(String source,
MavenArtifact mavenArtifact,
Confidence confidence)
Adds the maven artifact as evidence.
+
+void
+addAvailableVersion(String version)
+Adds a version to the available version list.
+
+
void
addIdentifier(Identifier identifier)
@@ -168,7 +180,7 @@ implements
void
-addIdentifier(String type,
+addIdentifier(String type,
String value,
String url)
Adds an entry to the list of detected Identifiers for the dependency file.
@@ -176,7 +188,7 @@ implements
void
-addIdentifier(String type,
+addIdentifier(String type,
String value,
String url,
Confidence confidence)
@@ -185,52 +197,64 @@ implements
void
+addProjectReference(String projectReference)
+Adds a project reference.
+
+
+
+void
addRelatedDependency(Dependency dependency)
Adds a related dependency.
-
+
void
addSuppressedIdentifier(Identifier identifier)
Adds an identifier to the list of suppressed identifiers.
-
+
void
addSuppressedVulnerability(Vulnerability vulnerability)
Adds a vulnerability to the set of suppressed vulnerabilities.
-
+
void
addVulnerability(Vulnerability vulnerability)
Adds a vulnerability to the dependency.
-
+
int
compareTo(Dependency o)
Implementation of the Comparable interface.
-
+
boolean
equals(Object obj)
Implementation of the equals method.
-
+
File
getActualFile()
Gets a reference to the File object.
-
+
String
getActualFilePath()
Gets the file path of the dependency.
+
+List<String>
+getAvailableVersions()
+Get the value of availableVersions.
+
+
String
getDescription()
@@ -240,8 +264,7 @@ implements
String
getDisplayFileName()
-Returns the file name to display in reports; if no display file name has been set it will default to the actual
- file name.
+Returns the file name to display in reports; if no display file name has been set it will default to the actual file name.
@@ -312,59 +335,71 @@ implements
+Set<String>
+getProjectReferences()
+Get the value of projectReferences.
+
+
+
Set<Dependency>
getRelatedDependencies()
Get the value of relatedDependencies.
-
+
String
getSha1sum()
Returns the SHA1 Checksum of the dependency.
-
+
Set<Identifier>
getSuppressedIdentifiers()
Get the value of suppressedIdentifiers.
-
+
SortedSet<Vulnerability>
getSuppressedVulnerabilities()
Get the value of suppressedVulnerabilities.
-
+
EvidenceCollection
getVendorEvidence()
Gets the Vendor Evidence.
-
+
EvidenceCollection
getVersionEvidence()
Gets the Version Evidence.
-
+
SortedSet<Vulnerability>
getVulnerabilities()
Get the list of vulnerabilities.
-
+
int
hashCode()
Generates the HashCode.
-
+
void
setActualFilePath(String actualFilePath)
Sets the actual file path of the dependency on disk.
+
+void
+setAvailableVersions(List<String> availableVersions)
+Set the value of availableVersions.
+
+
void
setDescription(String description)
@@ -415,35 +450,41 @@ implements
void
+setProjectReferences(Set<String> projectReferences)
+Set the value of projectReferences.
+
+
+
+void
setRelatedDependencies(Set<Dependency> relatedDependencies)
Set the value of relatedDependencies.
-
+
void
setSha1sum(String sha1sum)
Sets the SHA1 Checksum of the dependency.
-
+
void
setSuppressedIdentifiers(Set<Identifier> suppressedIdentifiers)
Set the value of suppressedIdentifiers.
-
+
void
setSuppressedVulnerabilities(SortedSet<Vulnerability> suppressedVulnerabilities)
Set the value of suppressedVulnerabilities.
-
+
void
setVulnerabilities(SortedSet<Vulnerability> vulnerabilities)
Set the value of vulnerabilities.
-
+
String
toString()
Standard toString() implementation showing the filename, actualFilePath, and filePath.
@@ -455,7 +496,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -518,8 +559,8 @@ implements
getFileNameForJavaScript
public String getFileNameForJavaScript()
-Returns the file name of the dependency with the backslash escaped for use in JavaScript. This is a complete hack
- as I could not get the replace to work in the template itself.
+Returns the file name of the dependency with the backslash escaped for use in JavaScript. This is a complete hack as I
+ could not get the replace to work in the template itself.
- Returns:
- the file name of the dependency with the backslash escaped for use in JavaScript
@@ -596,8 +637,7 @@ implements
getDisplayFileName
public String getDisplayFileName()
-Returns the file name to display in reports; if no display file name has been set it will default to the actual
- file name.
+Returns the file name to display in reports; if no display file name has been set it will default to the actual file name.
- Returns:
- the file name to display
@@ -611,8 +651,8 @@ implements
Gets the file path of the dependency.
- NOTE: This may not be the actual path of the file on disk. The actual path of the file on disk can be
- obtained via the getActualFilePath().
+ NOTE: This may not be the actual path of the file on disk. The actual path of the file on disk can be obtained via
+ the getActualFilePath().
- Returns:
- the file path of the dependency
@@ -975,6 +1015,50 @@ implements Returns:the value of relatedDependencies
+
+
+
+
+-
+
getProjectReferences
+public Set<String> getProjectReferences()
+Get the value of projectReferences.
+- Returns:
- the value of projectReferences
+
+
+
+
+
+
+-
+
setProjectReferences
+public void setProjectReferences(Set<String> projectReferences)
+Set the value of projectReferences.
+- Parameters:
projectReferences - new value of projectReferences
+
+
+
+
+
+
+-
+
addProjectReference
+public void addProjectReference(String projectReference)
+Adds a project reference.
+- Parameters:
projectReference - a project reference
+
+
+
+
+
+
+-
+
addAllProjectReferences
+public void addAllProjectReferences(Set<String> projectReferences)
+Add a collection of project reference.
+- Parameters:
projectReferences - a set of project references
+
+
@@ -997,6 +1081,39 @@ implements Parameters:dependency - a reference to the related dependency
+
+
+
+
+-
+
getAvailableVersions
+public List<String> getAvailableVersions()
+Get the value of availableVersions.
+- Returns:
- the value of availableVersions
+
+
+
+
+
+
+-
+
setAvailableVersions
+public void setAvailableVersions(List<String> availableVersions)
+Set the value of availableVersions.
+- Parameters:
availableVersions - new value of availableVersions
+
+
+
+
+
+
+-
+
addAvailableVersion
+public void addAvailableVersion(String version)
+Adds a version to the available version list.
+- Parameters:
version - the version to add to the list
+
+
@@ -1122,6 +1239,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 26d9fa543..722eb05cf 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Evidence.html
@@ -2,16 +2,16 @@
-
+
-Evidence (Dependency-Check Core 1.2.7 API)
-
+Evidence (Dependency-Check Core 1.2.9 API)
+
@@ -131,7 +131,7 @@ implements
-Evidence(String source,
+Evidence(String source,
String name,
String value,
Confidence confidence)
@@ -243,7 +243,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
@@ -524,6 +524,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e227323b9..aa513e4d7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/EvidenceCollection.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/EvidenceCollection.html
@@ -2,16 +2,16 @@
-
+
-EvidenceCollection (Dependency-Check Core 1.2.7 API)
-
+EvidenceCollection (Dependency-Check Core 1.2.9 API)
+
@@ -153,7 +153,7 @@ implements
void
-addEvidence(String source,
+addEvidence(String source,
String name,
String value,
Confidence confidence)
@@ -198,7 +198,7 @@ implements
Set<Evidence>
-getEvidence(String source,
+getEvidence(String source,
String name)
Returns the set of evidence from a given source and name.
@@ -258,7 +258,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -572,6 +572,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 318007130..c90d573b9 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Identifier.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Identifier.html
@@ -2,16 +2,16 @@
-
+
-Identifier (Dependency-Check Core 1.2.7 API)
-
+Identifier (Dependency-Check Core 1.2.9 API)
+
@@ -130,14 +130,14 @@ implements
-Identifier(String type,
+Identifier(String type,
String value,
String url)
Constructs a new Identifier with the specified data.
-Identifier(String type,
+Identifier(String type,
String value,
String url,
String description)
@@ -246,7 +246,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -544,6 +544,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 79ec73d1d..69bd45712 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Reference.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Reference.html
@@ -2,16 +2,16 @@
-
+
-Reference (Dependency-Check Core 1.2.7 API)
-
+Reference (Dependency-Check Core 1.2.9 API)
+
@@ -199,7 +199,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
@@ -406,6 +406,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 89211d820..c9919b6a3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Vulnerability.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/Vulnerability.html
@@ -2,16 +2,16 @@
-
+
-Vulnerability (Dependency-Check Core 1.2.7 API)
-
+Vulnerability (Dependency-Check Core 1.2.9 API)
+
@@ -151,7 +151,7 @@ implements
void
-addReference(String referenceSource,
+addReference(String referenceSource,
String referenceName,
String referenceUrl)
Adds a reference.
@@ -165,7 +165,7 @@ implements
boolean
-addVulnerableSoftware(String cpe,
+addVulnerableSoftware(String cpe,
String previousVersion)
Adds an entry for vulnerable software.
@@ -330,7 +330,7 @@ implements
void
-setMatchedCPE(String cpeId,
+setMatchedCPE(String cpeId,
String previous)
Sets the CPE that caused this vulnerability to be flagged.
@@ -365,7 +365,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
@@ -878,6 +878,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 4346a0244..75d3a06a0 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerabilityComparator.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerabilityComparator.html
@@ -2,16 +2,16 @@
-
+
-VulnerabilityComparator (Dependency-Check Core 1.2.7 API)
-
+VulnerabilityComparator (Dependency-Check Core 1.2.9 API)
+
@@ -145,7 +145,7 @@ implements
int
-compare(Vulnerability o1,
+compare(Vulnerability o1,
Vulnerability o2)
Implements the comparison of vulnerabilities.
@@ -156,7 +156,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
@@ -207,7 +207,7 @@ implements Implements the comparison of vulnerabilities.
- Specified by:
-compare in interface Comparator<Vulnerability>
+compare in interface Comparator<Vulnerability>
- Parameters:
o1 - a vulnerabilityo2 - a second vulnerability
- Returns:
- the comparison
@@ -279,6 +279,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 981baa251..c7bd049aa 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/VulnerableSoftware.html
@@ -2,16 +2,16 @@
-
+
-VulnerableSoftware (Dependency-Check Core 1.2.7 API)
-
+VulnerableSoftware (Dependency-Check Core 1.2.9 API)
+
@@ -265,7 +265,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -581,6 +581,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Confidence.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Confidence.html
index d7e90c356..7b7849c27 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Confidence.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/class-use/Confidence.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Confidence (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.Confidence (Dependency-Check Core 1.2.9 API)
+
@@ -117,7 +117,7 @@
protected boolean
-CPEAnalyzer.determineIdentifiers(Dependency dependency,
+CPEAnalyzer.determineIdentifiers(Dependency dependency,
String vendor,
String product,
Confidence currentConfidence)
@@ -174,7 +174,7 @@ the order they are declared.
void
-Dependency.addAsEvidence(String source,
+Dependency.addAsEvidence(String source,
MavenArtifact mavenArtifact,
Confidence confidence)
Adds the maven artifact as evidence.
@@ -182,7 +182,7 @@ the order they are declared.
void
-EvidenceCollection.addEvidence(String source,
+EvidenceCollection.addEvidence(String source,
String name,
String value,
Confidence confidence)
@@ -191,7 +191,7 @@ the order they are declared.
void
-Dependency.addIdentifier(String type,
+Dependency.addIdentifier(String type,
String value,
String url,
Confidence confidence)
@@ -231,7 +231,7 @@ the order they are declared.
-Evidence(String source,
+Evidence(String source,
String name,
String value,
Confidence confidence)
@@ -290,6 +290,6 @@ the order they are declared.
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 757a2c045..27ad64c1b 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Dependency (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.Dependency (Dependency-Check Core 1.2.9 API)
+
@@ -124,6 +124,17 @@
+org.owasp.dependencycheck.jaxb.pom
+
+
+
+ org.owasp.dependencycheck.analyzer.pom
+
+
+ This package contains utility classes used to parse pom.xml files.
+
+
+
org.owasp.dependencycheck.reporting
@@ -134,7 +145,7 @@
Contains classes used to generate reports.
-
+
org.owasp.dependencycheck.suppression
@@ -235,7 +246,9 @@
void
-Engine.setDependencies(List<Dependency> dependencies)
+Engine.setDependencies(List<Dependency> dependencies)
+Sets the dependencies.
+
@@ -287,166 +300,183 @@
-void
-VulnerabilitySuppressionAnalyzer.analyze(Dependency dependency,
- Engine engine)
+static String
+JarAnalyzer.addDescription(Dependency dependency,
+ String description,
+ String source,
+ String key)
+Adds a description to the given dependency.
+
void
-NvdCveAnalyzer.analyze(Dependency dependency,
+VulnerabilitySuppressionAnalyzer.analyze(Dependency dependency,
+ Engine engine)
+
+
+void
+NvdCveAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
-
-void
-HintAnalyzer.analyze(Dependency dependency,
- Engine engine)
-The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of
- identifiers or vulnerabilities.
-
-
void
-FileNameAnalyzer.analyze(Dependency dependency,
+HintAnalyzer.analyze(Dependency dependency,
+ Engine engine)
+The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of identifiers
+ or vulnerabilities.
+
+
+
+void
+FileNameAnalyzer.analyze(Dependency dependency,
Engine engine)
Collects information about the file name.
-
+
void
-FalsePositiveAnalyzer.analyze(Dependency dependency,
+FalsePositiveAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes the dependencies and removes bad/incorrect CPE associations based on various heuristics.
-
+
void
-DependencyBundlingAnalyzer.analyze(Dependency ignore,
+DependencyBundlingAnalyzer.analyze(Dependency ignore,
Engine engine)
Analyzes a set of dependencies.
-
-void
-CpeSuppressionAnalyzer.analyze(Dependency dependency,
- Engine engine)
-
void
-CPEAnalyzer.analyze(Dependency dependency,
+CpeSuppressionAnalyzer.analyze(Dependency dependency,
+ Engine engine)
+
+
+void
+CPEAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
-
+
void
-Analyzer.analyze(Dependency dependency,
+Analyzer.analyze(Dependency dependency,
Engine engine)
Analyzes the given dependency.
-
+
void
-AbstractFileTypeAnalyzer.analyze(Dependency dependency,
+AbstractFileTypeAnalyzer.analyze(Dependency dependency,
Engine engine)
Analyzes a given dependency.
+
+void
+NuspecAnalyzer.analyzeFileType(Dependency dependency,
+ Engine engine)
+Performs the analysis.
+
+
void
-NuspecAnalyzer.analyzeFileType(Dependency dependency,
+NexusAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
void
-NexusAnalyzer.analyzeFileType(Dependency dependency,
- Engine engine)
-Performs the analysis.
-
-
-
-void
-JavaScriptAnalyzer.analyzeFileType(Dependency dependency,
+JavaScriptAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Loads a specified JavaScript file and collects information from the copyright information contained within.
-
+
void
-JarAnalyzer.analyzeFileType(Dependency dependency,
+JarAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Loads a specified JAR file and collects information from the manifest and checksums to identify the correct CPE
information.
-
+
void
-CentralAnalyzer.analyzeFileType(Dependency dependency,
+CentralAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis.
-
+
void
-AssemblyAnalyzer.analyzeFileType(Dependency dependency,
+AssemblyAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Performs the analysis on a single Dependency.
-
+
void
-ArchiveAnalyzer.analyzeFileType(Dependency dependency,
+ArchiveAnalyzer.analyzeFileType(Dependency dependency,
+ Engine engine)
+Analyzes a given dependency.
+
+
+
+protected abstract void
+AbstractFileTypeAnalyzer.analyzeFileType(Dependency dependency,
Engine engine)
Analyzes a given dependency.
-protected abstract void
-AbstractFileTypeAnalyzer.analyzeFileType(Dependency dependency,
- Engine engine)
-Analyzes a given dependency.
-
-
-
protected void
-JarAnalyzer.analyzePackageNames(ArrayList<JarAnalyzer.ClassNameInformation> classNames,
+JarAnalyzer.analyzePackageNames(List<JarAnalyzer.ClassNameInformation> classNames,
Dependency dependency,
boolean addPackagesAsEvidence)
-Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible
- vendor or product names.
+Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible vendor or
+ product names.
-
+
protected boolean
-JarAnalyzer.analyzePOM(Dependency dependency,
- ArrayList<JarAnalyzer.ClassNameInformation> classes,
+JarAnalyzer.analyzePOM(Dependency dependency,
+ List<JarAnalyzer.ClassNameInformation> classes,
Engine engine)
Attempts to find a pom.xml within the JAR file.
-
+
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.
+Searches the data store of CPE entries, trying to identify the CPE for the given dependency based on the evidence contained
+ within.
-
+
protected boolean
-CPEAnalyzer.determineIdentifiers(Dependency dependency,
+CPEAnalyzer.determineIdentifiers(Dependency dependency,
String vendor,
String product,
Confidence currentConfidence)
Retrieves a list of CPE values from the CveDB based on the vendor and product passed in.
+
+static void
+JarAnalyzer.extractLicense(Model pom,
+ Properties pomProperties,
+ Dependency dependency)
+Extracts the license information from the pom and adds it to the dependency.
+
+
protected boolean
-JarAnalyzer.parseManifest(Dependency dependency,
- ArrayList<JarAnalyzer.ClassNameInformation> classInformation)
+ JarAnalyzer.parseManifest(Dependency dependency,
+ List<JarAnalyzer.ClassNameInformation> classInformation)
Reads the manifest from the JAR file and collects the entries.
@@ -510,6 +540,27 @@
+
+
+
+Uses of Dependency in org.owasp.dependencycheck.jaxb.pom
+
+Methods in org.owasp.dependencycheck.jaxb.pom with parameters of type Dependency
+
+Modifier and Type
+Method and Description
+
+
+
+void
+PomUtils.analyzePOM(Dependency dependency,
+ File pomFile)
+Reads in the pom file and adds elements as evidence to the given dependency.
+
+
+
+
+
@@ -521,7 +572,7 @@
-ReportGenerator(String applicationName,
+ReportGenerator(String applicationName,
List<Dependency> dependencies,
List<Analyzer> analyzers,
DatabaseProperties properties)
@@ -600,6 +651,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 5f3fbda47..44fb6825f 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Evidence (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.Evidence (Dependency-Check Core 1.2.9 API)
+
@@ -117,7 +117,7 @@
Set<Evidence>
-EvidenceCollection.getEvidence(String source,
+EvidenceCollection.getEvidence(String source,
String name)
Returns the set of evidence from a given source and name.
@@ -219,6 +219,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 5cddc591e..b085b7a41 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.EvidenceCollection (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.EvidenceCollection (Dependency-Check Core 1.2.9 API)
+
@@ -224,6 +224,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d222beac1..e25c46803 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Identifier (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.Identifier (Dependency-Check Core 1.2.9 API)
+
@@ -215,6 +215,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 2143f5727..df63ead09 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Reference (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.Reference (Dependency-Check Core 1.2.9 API)
+
@@ -197,6 +197,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 edeacaec4..94290f0a4 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.Vulnerability (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.Vulnerability (Dependency-Check Core 1.2.9 API)
+
@@ -184,7 +184,7 @@
int
-VulnerabilityComparator.compare(Vulnerability o1,
+VulnerabilityComparator.compare(Vulnerability o1,
Vulnerability o2)
Implements the comparison of vulnerabilities.
@@ -268,6 +268,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 9538c0151..3587f8439 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.VulnerabilityComparator (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.VulnerabilityComparator (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 a07ca2728..d949afd45 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.dependency.VulnerableSoftware (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.dependency.VulnerableSoftware (Dependency-Check Core 1.2.9 API)
+
@@ -126,7 +126,7 @@
Set<VulnerableSoftware>
-CveDB.getCPEs(String vendor,
+CveDB.getCPEs(String vendor,
String product)
Searches the CPE entries in the database and retrieves all entries for a given vendor and product combination.
@@ -274,6 +274,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-frame.html
index c41a57c14..866e430d6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.dependency (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.dependency (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-summary.html
index 50b363dfb..ab08282ca 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.dependency (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.dependency (Dependency-Check Core 1.2.9 API)
+
@@ -210,6 +210,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-tree.html
index db141bdc2..f12156d7e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.dependency Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.dependency Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -148,6 +148,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-use.html
index cbb23f4f2..0ce525546 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/dependency/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.dependency (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.dependency (Dependency-Check Core 1.2.9 API)
+
@@ -145,6 +145,17 @@
+org.owasp.dependencycheck.jaxb.pom
+
+
+
+ org.owasp.dependencycheck.analyzer.pom
+
+
+ This package contains utility classes used to parse pom.xml files.
+
+
+
org.owasp.dependencycheck.reporting
@@ -155,7 +166,7 @@
Contains classes used to generate reports.
-
+
org.owasp.dependencycheck.suppression
@@ -314,6 +325,23 @@
+
+
+
+
+Classes in org.owasp.dependencycheck.dependency used by org.owasp.dependencycheck.jaxb.pom
+
+Class and Description
+
+
+
+Dependency
+A program dependency.
+
+
+
+
+
@@ -395,6 +423,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/NoDataException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/NoDataException.html
index 6f1704bfd..f174a91b5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/NoDataException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/NoDataException.html
@@ -2,16 +2,16 @@
-
+
-NoDataException (Dependency-Check Core 1.2.7 API)
-
+NoDataException (Dependency-Check Core 1.2.9 API)
+
@@ -150,7 +150,7 @@ extends
-NoDataException(String msg,
+NoDataException(String msg,
Throwable ex)
Creates a new NoDataException.
@@ -181,7 +181,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -308,6 +308,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/ScanAgentException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/ScanAgentException.html
index 054da4de0..da4f3790b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/ScanAgentException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/ScanAgentException.html
@@ -2,16 +2,16 @@
-
+
-ScanAgentException (Dependency-Check Core 1.2.7 API)
-
+ScanAgentException (Dependency-Check Core 1.2.9 API)
+
@@ -150,7 +150,7 @@ extends
-ScanAgentException(String msg,
+ScanAgentException(String msg,
Throwable ex)
Creates a new ScanAgentException.
@@ -181,7 +181,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -308,6 +308,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/NoDataException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/NoDataException.html
index 2153cb999..f84930b0e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/NoDataException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/NoDataException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.exception.NoDataException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.exception.NoDataException (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/ScanAgentException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/ScanAgentException.html
index 684eb30ec..f842f43bb 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/ScanAgentException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/class-use/ScanAgentException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.exception.ScanAgentException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.exception.ScanAgentException (Dependency-Check Core 1.2.9 API)
+
@@ -163,6 +163,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-frame.html
index 207bdebcf..04712cadb 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.exception (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.exception (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-summary.html
index 3aba46cfe..4a09b671a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.exception (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.exception (Dependency-Check Core 1.2.9 API)
+
@@ -158,6 +158,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-tree.html
index 94f98e8c0..dd141d36b 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.exception Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.exception Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -138,6 +138,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-use.html
index a57e82314..5fc06f273 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/exception/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.exception (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.exception (Dependency-Check Core 1.2.9 API)
+
@@ -156,6 +156,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 989c6896b..7f63c8b44 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,16 +2,16 @@
-
+
-MavenNamespaceFilter (Dependency-Check Core 1.2.7 API)
-
+MavenNamespaceFilter (Dependency-Check Core 1.2.9 API)
+
@@ -38,7 +38,7 @@
+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.jaxb.pom
+
+
+
+ org.owasp.dependencycheck.analyzer.pom
+
+
+ This package contains utility classes used to parse pom.xml files.
+
+
+
org.owasp.dependencycheck.jaxb.pom.generated
@@ -85,6 +108,54 @@
+-
+
+
+
Uses of Model in org.owasp.dependencycheck.analyzer
+
+Methods in org.owasp.dependencycheck.analyzer with parameters of type Model
+
+Modifier and Type
+Method and Description
+
+
+
+static void
+JarAnalyzer.extractLicense(Model pom,
+ Properties pomProperties,
+ Dependency dependency)
+Extracts the license information from the pom and adds it to the dependency.
+
+
+
+
+
+-
+
+
+
Uses of Model in org.owasp.dependencycheck.jaxb.pom
+
+Methods in org.owasp.dependencycheck.jaxb.pom that return Model
+
+Modifier and Type
+Method and Description
+
+
+
+Model
+PomUtils.readPom(File file)
+Reads in the specified POM and converts it to a Model.
+
+
+
+Model
+PomUtils.readPom(SAXSource source)
+Retrieves the specified POM from a jar file and converts it to a Model.
+
+
+
+
+
-
@@ -184,6 +255,6 @@
-
Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 0241ebd4d..2f4e0cc84 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier.Configuration (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 a75ad4c90..e7a9ecc2a 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Notifier (Dependency-Check Core 1.2.9 API)
+
@@ -182,6 +182,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 b3273ba37..f61f7d2ba 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ObjectFactory (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 f7d25953e..70a741dd8 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Organization (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Organization (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d657c4461..b9a6355b6 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Parent (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Parent (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e54f24822..36230e497 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Configuration (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 c3e4c42ae..7a46f1f36 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Dependencies (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 efbf8874b..f5ee63890 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Executions (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 cc0c64777..1b1581325 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin.Goals (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 784aed401..91949495e 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Plugin (Dependency-Check Core 1.2.9 API)
+
@@ -202,6 +202,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 31abd844e..0833745e8 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Configuration (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 092a1f5ff..c9545ec00 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution.Goals (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e44843354..cf2f9d62b 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginExecution (Dependency-Check Core 1.2.9 API)
+
@@ -182,6 +182,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 872ec09b6..edbd185bc 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement.Plugins (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 84c9b1ada..005cf18f1 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.PluginManagement (Dependency-Check Core 1.2.9 API)
+
@@ -204,6 +204,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 6f76db97f..243417c1c 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 df7472aa2..ca6fc8087 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Dependencies (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 16d674c8e..65d50abb4 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Modules (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 80593cdbf..34eb60b12 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.PluginRepositories (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e72ac18c7..d952244bc 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Properties (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 a9ab03c73..422a2fcaa 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Reports (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 9b92b748e..b6e83a49c 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile.Repositories (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 4338fa707..3bb485d44 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Profile (Dependency-Check Core 1.2.9 API)
+
@@ -182,6 +182,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d9aa1798d..c3e1fa327 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Relocation (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Relocation (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e1782cbbd..cccb5f72c 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configuration (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.Configuration (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 fb797c452..9a8571f89 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSets (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin.ReportSets (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 c14727ce4..76f9f7374 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportPlugin (Dependency-Check Core 1.2.9 API)
+
@@ -182,6 +182,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d6d3c8a73..575c88fa6 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configuration (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Configuration (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 ff366424f..a65eb1ec8 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet.Reports (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 b89d9bb0f..e6c553506 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.ReportSet (Dependency-Check Core 1.2.9 API)
+
@@ -182,6 +182,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 ca734d811..4887723d8 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting.Plugins (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 3547d78e7..dcb67e8c6 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Reporting (Dependency-Check Core 1.2.9 API)
+
@@ -204,6 +204,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 7beaabcb7..f3da75666 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Repository (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Repository (Dependency-Check Core 1.2.9 API)
+
@@ -212,6 +212,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 3ac66590d..2af977ed1 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.RepositoryPolicy (Dependency-Check Core 1.2.9 API)
+
@@ -204,6 +204,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 64038e087..d51129360 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Excludes (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d4c947bf0..3d6b99e63 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource.Includes (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 4e8115cd4..64d6bff88 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Resource (Dependency-Check Core 1.2.9 API)
+
@@ -212,6 +212,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 aae6ea325..9e133794d 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Scm (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Scm (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 12c423ca9..dfcccba44 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Site (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.jaxb.pom.generated.Site (Dependency-Check Core 1.2.9 API)
+
@@ -188,6 +188,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 704afbad6..87b7925b5 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.2.9 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 4b6ac8047..64e129509 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.2.9 API)
+
@@ -660,6 +660,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 6d3201a83..5c9fc408f 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.jaxb.pom.generated Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.jaxb.pom.generated Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -210,6 +210,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 f206eb498..038732bc2 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.jaxb.pom.generated (Dependency-Check Core 1.2.9 API)
+
@@ -77,12 +77,69 @@
+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.jaxb.pom
+
+
+
+ org.owasp.dependencycheck.analyzer.pom
+
+
+ This package contains utility classes used to parse pom.xml files.
+
+
+
org.owasp.dependencycheck.jaxb.pom.generated
+-
+
+
+
+Classes in org.owasp.dependencycheck.jaxb.pom.generated used by org.owasp.dependencycheck.analyzer
+
+Class and Description
+
+
+
+Model
+The <project> element is the root of the descriptor.
+
+
+
+
+
+-
+
+
+
+Classes in org.owasp.dependencycheck.jaxb.pom.generated used by org.owasp.dependencycheck.jaxb.pom
+
+Class and Description
+
+
+
+Model
+The <project> element is the root of the descriptor.
+
+
+
+
+
-
@@ -583,6 +640,6 @@
-
Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d35e04953..532b25dab 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.2.9 API)
+
@@ -14,6 +14,7 @@
Classes
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 3c1e29b46..a3c18b280 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.2.9 API)
+
@@ -91,6 +91,10 @@
This filter is used when parsing POM documents.
+
+PomUtils
+
+
@@ -153,6 +157,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 7f7fac2b6..97aad6b0a 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.jaxb.pom Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.jaxb.pom Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -75,6 +75,7 @@
- java.lang.Object
+- org.owasp.dependencycheck.jaxb.pom.PomUtils
- org.xml.sax.helpers.XMLFilterImpl (implements org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.XMLFilter)
- org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter
@@ -129,6 +130,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 18c4251c5..48bc56612 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.jaxb.pom (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 eb4b25fa9..ecedbb618 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck (Dependency-Check Core 1.2.9 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 aa1751f1b..8c8918e13 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck (Dependency-Check Core 1.2.9 API)
+
@@ -153,6 +153,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 d49980b5a..50b32e141 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -125,6 +125,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 7de7c987e..95f83e824 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck (Dependency-Check Core 1.2.9 API)
+
@@ -183,6 +183,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/EscapeTool.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/EscapeTool.html
index 30e245db4..bea543d61 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/EscapeTool.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/EscapeTool.html
@@ -2,16 +2,16 @@
-
+
-EscapeTool (Dependency-Check Core 1.2.7 API)
-
+EscapeTool (Dependency-Check Core 1.2.9 API)
+
@@ -162,7 +162,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -298,6 +298,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 fed9dfe3a..05cdda413 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,16 +2,16 @@
-
+
-ReportGenerator.Format (Dependency-Check Core 1.2.7 API)
-
+ReportGenerator.Format (Dependency-Check Core 1.2.9 API)
+
@@ -184,14 +184,14 @@ the order they are declared.
Methods inherited from class java.lang.Enum
-clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
Methods inherited from class java.lang.Object
-getClass, notify, notifyAll, wait, wait, wait
+getClass, notify, notifyAll, wait, wait, wait
@@ -269,8 +269,7 @@ over the constants as follows:
for (ReportGenerator.Format c : ReportGenerator.Format.values())
System.out.println(c);
-- Returns:
- an array containing the constants of this enum type, in
-the order they are declared
+- Returns:
- an array containing the constants of this enum type, in the order they are declared
@@ -287,8 +286,7 @@ not permitted.)
- Parameters:
name - the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
-IllegalArgumentException - if this enum type has no constant
-with the specified name
+IllegalArgumentException - if this enum type has no constant with the specified name
NullPointerException - if the argument is null
@@ -359,6 +357,6 @@ with the specified name
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e2a4a1c1c..62918d174 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/ReportGenerator.html
@@ -2,16 +2,16 @@
-
+
-ReportGenerator (Dependency-Check Core 1.2.7 API)
-
+ReportGenerator (Dependency-Check Core 1.2.9 API)
+
@@ -142,7 +142,7 @@ extends Constructor and Description
-ReportGenerator(String applicationName,
+ReportGenerator(String applicationName,
List<Dependency> dependencies,
List<Analyzer> analyzers,
DatabaseProperties properties)
@@ -166,35 +166,35 @@ extends
protected void
-generateReport(String templateName,
+generateReport(String templateName,
OutputStream outputStream)
Generates a report from a given Velocity Template.
protected void
-generateReport(String templateName,
+generateReport(String templateName,
String outFileName)
Generates a report from a given Velocity Template.
void
-generateReports(OutputStream outputStream,
+generateReports(OutputStream outputStream,
ReportGenerator.Format format)
Generates the Dependency Reports for the identified dependencies.
void
-generateReports(String outputDir,
+generateReports(String outputDir,
ReportGenerator.Format format)
Generates the Dependency Reports for the identified dependencies.
void
-generateReports(String outputDir,
+generateReports(String outputDir,
String outputFormat)
Generates the Dependency Reports for the identified dependencies.
@@ -205,7 +205,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -398,6 +398,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 6d67820b3..2297f3ad7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/VelocityLoggerRedirect.html
@@ -2,16 +2,16 @@
-
+
-VelocityLoggerRedirect (Dependency-Check Core 1.2.7 API)
-
+VelocityLoggerRedirect (Dependency-Check Core 1.2.9 API)
+
@@ -178,7 +178,7 @@ implements org.apache.velocity.runtime.log.LogChute
void
-log(int level,
+log(int level,
String message)
Given a Velocity log level and message, this method will call the appropriate Logger level and log the specified
values.
@@ -186,7 +186,7 @@ implements org.apache.velocity.runtime.log.LogChute
void
-log(int level,
+log(int level,
String message,
Throwable t)
Given a Velocity log level, message and Throwable, this method will call the appropriate Logger level and log the
@@ -199,7 +199,7 @@ implements org.apache.velocity.runtime.log.LogChute
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -361,6 +361,6 @@ implements org.apache.velocity.runtime.log.LogChute
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/EscapeTool.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/EscapeTool.html
index 20fad5fce..7ccd141b6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/EscapeTool.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/reporting/class-use/EscapeTool.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.reporting.EscapeTool (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.reporting.EscapeTool (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 3c28191bb..f1f1902e0 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator.Format (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator.Format (Dependency-Check Core 1.2.9 API)
+
@@ -175,14 +175,14 @@ the order they are declared.
void
-ReportGenerator.generateReports(OutputStream outputStream,
+ReportGenerator.generateReports(OutputStream outputStream,
ReportGenerator.Format format)
Generates the Dependency Reports for the identified dependencies.
void
-ReportGenerator.generateReports(String outputDir,
+ReportGenerator.generateReports(String outputDir,
ReportGenerator.Format format)
Generates the Dependency Reports for the identified dependencies.
@@ -239,6 +239,6 @@ the order they are declared.
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 1f894b937..2808c4c2e 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.reporting.ReportGenerator (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 f57dca6bf..ada33d5b7 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.reporting.VelocityLoggerRedirect (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.reporting.VelocityLoggerRedirect (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 c893b652b..7ef8e99a5 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.reporting (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.reporting (Dependency-Check Core 1.2.9 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 c6b0807a2..05ebe11f7 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.reporting (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.reporting (Dependency-Check Core 1.2.9 API)
+
@@ -184,6 +184,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 02f36fa29..7255b6a67 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.reporting Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.reporting Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -139,6 +139,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 3b5e51ab9..a1139c9a3 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.reporting (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.reporting (Dependency-Check Core 1.2.9 API)
+
@@ -184,6 +184,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/PropertyType.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/PropertyType.html
index c3c692513..1277247c8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/PropertyType.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/PropertyType.html
@@ -2,16 +2,16 @@
-
+
-PropertyType (Dependency-Check Core 1.2.7 API)
-
+PropertyType (Dependency-Check Core 1.2.9 API)
+
@@ -204,7 +204,7 @@ extends Object
-clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -425,6 +425,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionErrorHandler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionErrorHandler.html
index 86ef77529..4bf6a1969 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionErrorHandler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionErrorHandler.html
@@ -2,16 +2,16 @@
-
+
-SuppressionErrorHandler (Dependency-Check Core 1.2.7 API)
-
+SuppressionErrorHandler (Dependency-Check Core 1.2.9 API)
+
@@ -166,7 +166,7 @@ implements Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -317,6 +317,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionHandler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionHandler.html
index f26ddb2d5..76cdc422a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionHandler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionHandler.html
@@ -2,16 +2,16 @@
-
+
-SuppressionHandler (Dependency-Check Core 1.2.7 API)
-
+SuppressionHandler (Dependency-Check Core 1.2.9 API)
+
@@ -211,7 +211,7 @@ extends
void
-characters(char[] ch,
+characters(char[] ch,
int start,
int length)
Collects the body text of the node being processed.
@@ -219,7 +219,7 @@ extends
void
-endElement(String uri,
+endElement(String uri,
String localName,
String qName)
Handles the end element event.
@@ -233,7 +233,7 @@ extends
void
-startElement(String uri,
+startElement(String uri,
String localName,
String qName,
Attributes attributes)
@@ -253,7 +253,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -407,9 +407,9 @@ extends Handles the start element event.
- Specified by:
-startElement in interface ContentHandler
+startElement in interface ContentHandler
- Overrides:
-startElement in class org.xml.sax.helpers.DefaultHandler
+startElement in class org.xml.sax.helpers.DefaultHandler
- Parameters:
uri - the uri of the element being processedlocalName - the local name of the element being processedqName - the qName of the element being processedattributes - the attributes of the element being processed
- Throws:
SAXException - thrown if there is an exception processing
@@ -428,9 +428,9 @@ extends Handles the end element event.
- Specified by:
-endElement in interface ContentHandler
+endElement in interface ContentHandler
- Overrides:
-endElement in class org.xml.sax.helpers.DefaultHandler
+endElement in class org.xml.sax.helpers.DefaultHandler
- Parameters:
uri - the URI of the elementlocalName - the local name of the elementqName - the qName of the element
- Throws:
SAXException - thrown if there is an exception processing
@@ -449,9 +449,9 @@ extends Collects the body text of the node being processed.
- Specified by:
-characters in interface ContentHandler
+characters in interface ContentHandler
- Overrides:
-characters in class org.xml.sax.helpers.DefaultHandler
+characters in class org.xml.sax.helpers.DefaultHandler
- Parameters:
ch - the char array of textstart - the start position to copy text from in the char arraylength - the number of characters to copy from the char array
- Throws:
SAXException - thrown if there is a parsing exception
@@ -524,6 +524,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParseException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParseException.html
index c1821457b..d79aa1140 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParseException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParseException.html
@@ -2,16 +2,16 @@
-
+
-SuppressionParseException (Dependency-Check Core 1.2.7 API)
-
+SuppressionParseException (Dependency-Check Core 1.2.9 API)
+
@@ -150,7 +150,7 @@ extends
-SuppressionParseException(String msg,
+SuppressionParseException(String msg,
Throwable ex)
Creates a new SuppressionParseException.
@@ -181,7 +181,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -308,6 +308,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParser.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParser.html
index 2351b8e41..5a6d32fa2 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParser.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionParser.html
@@ -2,16 +2,16 @@
-
+
-SuppressionParser (Dependency-Check Core 1.2.7 API)
-
+SuppressionParser (Dependency-Check Core 1.2.9 API)
+
@@ -188,7 +188,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -359,6 +359,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionRule.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionRule.html
index db6dd2444..e5a22c77e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionRule.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/SuppressionRule.html
@@ -2,16 +2,16 @@
-
+
-SuppressionRule (Dependency-Check Core 1.2.7 API)
-
+SuppressionRule (Dependency-Check Core 1.2.9 API)
+
@@ -304,7 +304,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
@@ -705,6 +705,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/PropertyType.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/PropertyType.html
index af0724872..42844c9e6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/PropertyType.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/PropertyType.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.suppression.PropertyType (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.suppression.PropertyType (Dependency-Check Core 1.2.9 API)
+
@@ -224,6 +224,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionErrorHandler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionErrorHandler.html
index 42a1a134b..bdede6ee7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionErrorHandler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionErrorHandler.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.suppression.SuppressionErrorHandler (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.suppression.SuppressionErrorHandler (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionHandler.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionHandler.html
index b47267e80..8b1b54cf5 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionHandler.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionHandler.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.suppression.SuppressionHandler (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.suppression.SuppressionHandler (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParseException.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParseException.html
index 25751d58e..b6d7bf1ef 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParseException.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParseException.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.suppression.SuppressionParseException (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.suppression.SuppressionParseException (Dependency-Check Core 1.2.9 API)
+
@@ -167,6 +167,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParser.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParser.html
index 11aa156e2..6e3233c63 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParser.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionParser.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.suppression.SuppressionParser (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.suppression.SuppressionParser (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionRule.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionRule.html
index 231d0d57f..82111a7a7 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionRule.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/class-use/SuppressionRule.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.suppression.SuppressionRule (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.suppression.SuppressionRule (Dependency-Check Core 1.2.9 API)
+
@@ -220,6 +220,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-frame.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-frame.html
index 8aab98da4..ec7df968c 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-frame.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-frame.html
@@ -2,10 +2,10 @@
-
+
-org.owasp.dependencycheck.suppression (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.suppression (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-summary.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-summary.html
index 6d89c4a2d..6def769a4 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-summary.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-summary.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.suppression (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.suppression (Dependency-Check Core 1.2.9 API)
+
@@ -193,6 +193,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-tree.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-tree.html
index a4e1166b9..731df4146 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-tree.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-tree.html
@@ -2,16 +2,16 @@
-
+
-org.owasp.dependencycheck.suppression Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.suppression Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -146,6 +146,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-use.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-use.html
index 63cc80ec4..3a6c99ab6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-use.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/suppression/package-use.html
@@ -2,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.suppression (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.suppression (Dependency-Check Core 1.2.9 API)
+
@@ -190,6 +190,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DBUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DBUtils.html
index 88a175565..2badb63d6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DBUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DBUtils.html
@@ -2,16 +2,16 @@
-
+
-DBUtils (Dependency-Check Core 1.2.7 API)
-
+DBUtils (Dependency-Check Core 1.2.9 API)
+
@@ -143,7 +143,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -263,6 +263,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DateUtil.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DateUtil.html
index 34844d8ae..b4238b93a 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DateUtil.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DateUtil.html
@@ -2,16 +2,16 @@
-
+
-DateUtil (Dependency-Check Core 1.2.7 API)
-
+DateUtil (Dependency-Check Core 1.2.9 API)
+
@@ -121,7 +121,7 @@ extends
static boolean
-withinDateRange(long date,
+withinDateRange(long date,
long compareTo,
int range)
Determines if the epoch date is within the range specified of the compareTo epoch time.
@@ -133,7 +133,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -232,6 +232,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 80d9839f7..2aa01c9e6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersion.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersion.html
@@ -2,16 +2,16 @@
-
+
-DependencyVersion (Dependency-Check Core 1.2.7 API)
-
+DependencyVersion (Dependency-Check Core 1.2.9 API)
+
@@ -215,7 +215,7 @@ implements Object
-clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, wait, wait, wait
@@ -446,6 +446,6 @@ implements Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 15e990a39..9e4a69d89 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersionUtil.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/DependencyVersionUtil.html
@@ -2,16 +2,16 @@
-
+
-DependencyVersionUtil (Dependency-Check Core 1.2.7 API)
-
+DependencyVersionUtil (Dependency-Check Core 1.2.9 API)
+
@@ -137,7 +137,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -236,6 +236,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/ExtractionUtil.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/ExtractionUtil.html
index 7c4da3d62..cb890fb1e 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/ExtractionUtil.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/ExtractionUtil.html
@@ -2,16 +2,16 @@
-
+
-ExtractionUtil (Dependency-Check Core 1.2.7 API)
-
+ExtractionUtil (Dependency-Check Core 1.2.9 API)
+
@@ -121,14 +121,14 @@ extends
static void
-extractFiles(File archive,
+extractFiles(File archive,
File extractTo)
Extracts the contents of an archive into the specified directory.
static void
-extractFiles(File archive,
+extractFiles(File archive,
File extractTo,
Engine engine)
Extracts the contents of an archive into the specified directory.
@@ -140,7 +140,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -256,6 +256,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 3ee41ed6c..4c84873bf 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Filter.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Filter.html
@@ -2,16 +2,16 @@
-
+
-Filter (Dependency-Check Core 1.2.7 API)
-
+Filter (Dependency-Check Core 1.2.9 API)
+
@@ -152,7 +152,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -281,6 +281,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 a353fdfd7..c60dc21a3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/NonClosingStream.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/NonClosingStream.html
@@ -2,16 +2,16 @@
-
+
-NonClosingStream (Dependency-Check Core 1.2.7 API)
-
+NonClosingStream (Dependency-Check Core 1.2.9 API)
+
@@ -181,14 +181,14 @@ extends FilterInputStream
-available, mark, markSupported, read, read, read, reset, skip
+available, mark, markSupported, read, read, read, reset, skip
-
Methods inherited from class java.lang.Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -308,6 +308,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Pair.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Pair.html
index 7c738f14d..e047a36e3 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Pair.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/Pair.html
@@ -2,16 +2,16 @@
-
+
-Pair (Dependency-Check Core 1.2.7 API)
-
+Pair (Dependency-Check Core 1.2.9 API)
+
@@ -126,7 +126,7 @@ extends
-Pair(L left,
+Pair(L left,
R right)
Constructs a new Pair with the given left and right values.
@@ -188,7 +188,7 @@ extends Object
-clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
@@ -380,6 +380,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 2aa127f43..dd256e6b8 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/UrlStringUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/UrlStringUtils.html
@@ -2,16 +2,16 @@
-
+
-UrlStringUtils (Dependency-Check Core 1.2.7 API)
-
+UrlStringUtils (Dependency-Check Core 1.2.9 API)
+
@@ -144,7 +144,7 @@ extends Object
-clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
@@ -274,6 +274,6 @@ extends Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DBUtils.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DBUtils.html
index b4d12f5f2..8f6f2d644 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DBUtils.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DBUtils.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.DBUtils (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.DBUtils (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DateUtil.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DateUtil.html
index e099428ad..2786b8698 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DateUtil.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/DateUtil.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.DateUtil (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.DateUtil (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 625afca93..3400cdd28 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.DependencyVersion (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.DependencyVersion (Dependency-Check Core 1.2.9 API)
+
@@ -77,17 +77,6 @@
-org.owasp.dependencycheck.data.nvdcve
-
-
-
- org.owasp.dependencycheck.data.nvdcve
-
-
- Contains classes used to work with the NVD CVE data.
-
-
-
org.owasp.dependencycheck.dependency
@@ -98,7 +87,7 @@
Contains the core Dependency implementation.
-
+
org.owasp.dependencycheck.utils
@@ -114,30 +103,6 @@
--
-
-
-
Uses of DependencyVersion in org.owasp.dependencycheck.data.nvdcve
-
-Methods in org.owasp.dependencycheck.data.nvdcve with parameters of type DependencyVersion
-
-Modifier and Type
-Method and Description
-
-
-
-protected boolean
-CveDB.isAffected(String vendor,
- String product,
- DependencyVersion identifiedVersion,
- String cpeId,
- String previous)
-Determines if the given identifiedVersion is affected by the given cpeId and previous version flag.
-
-
-
-
-
-
@@ -250,6 +215,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 da0ddce4f..a2056b187 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.DependencyVersionUtil (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.DependencyVersionUtil (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionUtil.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionUtil.html
index 7266312a3..492fc67b6 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionUtil.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/ExtractionUtil.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.ExtractionUtil (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.ExtractionUtil (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 e755ff8ce..a3d37513c 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.Filter (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.Filter (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 14a899734..18f263606 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.NonClosingStream (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.NonClosingStream (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Pair.html b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Pair.html
index 226709035..22bcbd046 100644
--- a/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Pair.html
+++ b/dependency-check-core/apidocs/org/owasp/dependencycheck/utils/class-use/Pair.html
@@ -2,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.Pair (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.Pair (Dependency-Check Core 1.2.9 API)
+
@@ -161,6 +161,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 475b51b89..2751e004d 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,16 +2,16 @@
-
+
-Uses of Class org.owasp.dependencycheck.utils.UrlStringUtils (Dependency-Check Core 1.2.7 API)
-
+Uses of Class org.owasp.dependencycheck.utils.UrlStringUtils (Dependency-Check Core 1.2.9 API)
+
@@ -112,6 +112,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 38cc1d785..d045b22c1 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,10 +2,10 @@
-
+
-org.owasp.dependencycheck.utils (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.utils (Dependency-Check Core 1.2.9 API)
+
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 a57fd264f..7f0b3aac3 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.utils (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.utils (Dependency-Check Core 1.2.9 API)
+
@@ -193,6 +193,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 72125f9de..5ed8ce192 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,16 +2,16 @@
-
+
-org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+org.owasp.dependencycheck.utils Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -141,6 +141,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
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 9a7b28e5d..a9eea2d28 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,16 +2,16 @@
-
+
-Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Core 1.2.7 API)
-
+Uses of Package org.owasp.dependencycheck.utils (Dependency-Check Core 1.2.9 API)
+
@@ -122,12 +122,6 @@
-DependencyVersion
-
- Simple object to track the parts of a version number.
-
-
-
Pair
A generic pair of elements.
@@ -218,6 +212,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/overview-frame.html b/dependency-check-core/apidocs/overview-frame.html
index dc55b1221..55d336075 100644
--- a/dependency-check-core/apidocs/overview-frame.html
+++ b/dependency-check-core/apidocs/overview-frame.html
@@ -2,10 +2,10 @@
-
+
-Overview List (Dependency-Check Core 1.2.7 API)
-
+Overview List (Dependency-Check Core 1.2.9 API)
+
diff --git a/dependency-check-core/apidocs/overview-summary.html b/dependency-check-core/apidocs/overview-summary.html
index 8b7be3e8c..76a1d13ea 100644
--- a/dependency-check-core/apidocs/overview-summary.html
+++ b/dependency-check-core/apidocs/overview-summary.html
@@ -2,16 +2,16 @@
-
+
-Overview (Dependency-Check Core 1.2.7 API)
-
+Overview (Dependency-Check Core 1.2.9 API)
+
@@ -64,7 +64,7 @@
-Dependency-Check Core 1.2.7 API
+Dependency-Check Core 1.2.9 API
@@ -351,6 +351,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/overview-tree.html b/dependency-check-core/apidocs/overview-tree.html
index 4b1f3fd2e..2595d662b 100644
--- a/dependency-check-core/apidocs/overview-tree.html
+++ b/dependency-check-core/apidocs/overview-tree.html
@@ -2,16 +2,16 @@
-
+
-Class Hierarchy (Dependency-Check Core 1.2.7 API)
-
+Class Hierarchy (Dependency-Check Core 1.2.9 API)
+
@@ -129,8 +129,6 @@
- org.owasp.dependencycheck.data.lucene.FieldAnalyzer
- org.owasp.dependencycheck.data.lucene.SearchFieldAnalyzer
-- org.owasp.dependencycheck.data.lucene.SearchVersionAnalyzer
-- org.owasp.dependencycheck.data.lucene.VersionAnalyzer
org.owasp.dependencycheck.analyzer.AnalyzerService
@@ -143,7 +141,6 @@
org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter
- org.owasp.dependencycheck.data.lucene.UrlTokenizingFilter
-- org.owasp.dependencycheck.data.lucene.VersionTokenizingFilter
org.owasp.dependencycheck.data.lucene.TokenPairConcatenatingFilter
@@ -277,6 +274,7 @@
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.PomUtils
org.owasp.dependencycheck.jaxb.pom.generated.Prerequisites
org.owasp.dependencycheck.data.update.task.ProcessTask (implements java.util.concurrent.Callable<V>)
org.owasp.dependencycheck.jaxb.pom.generated.Profile
@@ -430,6 +428,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/apidocs/serialized-form.html b/dependency-check-core/apidocs/serialized-form.html
index cf0cf5443..e808d0908 100644
--- a/dependency-check-core/apidocs/serialized-form.html
+++ b/dependency-check-core/apidocs/serialized-form.html
@@ -2,16 +2,16 @@
-
+
-Serialized Form (Dependency-Check Core 1.2.7 API)
-
+Serialized Form (Dependency-Check Core 1.2.9 API)
+
@@ -296,11 +296,21 @@
SortedSet<E> vulnerabilities
A list of vulnerabilities for this dependency.
-
+
relatedDependencies
Set<E> relatedDependencies
A collection of related dependencies.
+
+projectReferences
+Set<E> projectReferences
+A list of projects that reference this dependency.
+
+
+availableVersions
+List<E> availableVersions
+A list of available versions.
+
@@ -703,6 +713,6 @@
-Copyright© 2012-14 Jeremy Long. All Rights Reserved.
+Copyright© 2012-15 Jeremy Long. All Rights Reserved.
diff --git a/dependency-check-core/checkstyle.html b/dependency-check-core/checkstyle.html
index 3a3337a21..c03bf6302 100644
--- a/dependency-check-core/checkstyle.html
+++ b/dependency-check-core/checkstyle.html
@@ -1,13 +1,13 @@
-
+
dependency-check-core - Checkstyle Results
@@ -54,7 +54,7 @@
-
+
/
@@ -67,9 +67,9 @@
- | Last Published: 2014-12-07
+ | Last Published: 2015-03-06
- Version: 1.2.7
+ Version: 1.2.9
@@ -83,14 +83,14 @@
@@ -249,43 +242,10 @@
Warnings 
Errors 
-207
+232
0
0
-7
-
-Files
-
-
-Files
-I 
-W 
-E 
-
-org/owasp/dependencycheck/agent/DependencyCheckScanAgent.java
-0
-0
-1
-
-org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java
-0
-0
-2
-
-org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java
-0
-0
-2
-
-org/owasp/dependencycheck/data/update/task/DownloadTask.java
-0
-0
-1
-
-org/owasp/dependencycheck/dependency/Dependency.java
-0
-0
-1
+6
Details
@@ -330,17 +290,6 @@
Variable 'sb' should be declared final.
116
-org/owasp/dependencycheck/data/update/task/DownloadTask.java
-
-
-Violation
-Message
-Line
-
-
-Variable 'gzip' should be declared final.
-264
-
org/owasp/dependencycheck/dependency/Dependency.java
@@ -349,8 +298,8 @@
Line

-Total number of methods is 49 (max allowed is 40).
-40
+Total number of methods is 56 (max allowed is 40).
+43
@@ -360,7 +309,7 @@
- Copyright © 2012–2014
+
Copyright © 2012–2015
OWASP.
All rights reserved.
diff --git a/dependency-check-core/checkstyle.rss b/dependency-check-core/checkstyle.rss
index 1d0ed9941..ef3021819 100644
--- a/dependency-check-core/checkstyle.rss
+++ b/dependency-check-core/checkstyle.rss
@@ -23,10 +23,10 @@ under the License.
https://github.com/jeremylong/DependencyCheck.git/dependency-check-core
Dependency-Check Core - Checkstyle report
en-us
- ©2012 - 2014 OWASP
+ ©2012 - 2015 OWASP
-
-
File: 207,
- Errors: 7,
+ File: 232,
+ Errors: 6,
Warnings: 0,
Infos: 0
@@ -365,6 +365,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -505,6 +519,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_ru.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -713,7 +741,7 @@ under the License.
0
- 1
+ 0
@@ -827,6 +855,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_it.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1051,6 +1093,34 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_gl.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ org/owasp/dependencycheck/jaxb/pom/PomUtils.java
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1079,6 +1149,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_hu.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1107,6 +1191,34 @@ under the License.
0
+
+
+
+ dependency-check-maven/src/test/resources/mojo.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_ko.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1163,6 +1275,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_de.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1306,7 +1432,21 @@ under the License.
- org/owasp/dependencycheck/data/lucene/VersionTokenizingFilter.java
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_sv.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_da.properties
0
@@ -1331,6 +1471,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_zh_CN.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1387,6 +1541,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_pt_BR.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1415,20 +1583,6 @@ under the License.
0
-
-
-
- dependency-check-maven/src/main/resources/log.properties
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -1443,6 +1597,20 @@ under the License.
2
+
+
+
+ dependency-check-maven/src/main/resources/log.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1653,6 +1821,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_nl.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -1765,6 +1947,34 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_ca.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_sk.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2017,6 +2227,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_en.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2087,20 +2311,6 @@ under the License.
0
-
-
-
- org/owasp/dependencycheck/data/lucene/VersionAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -2157,6 +2367,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_tr.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2269,6 +2493,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_ja.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2283,6 +2521,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_pt.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2311,6 +2563,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_zh_TW.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2437,6 +2703,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_fr.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2451,6 +2731,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_pl.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2479,6 +2773,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_cs.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2689,6 +2997,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/test-classes/mojo.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2745,20 +3067,6 @@ under the License.
0
-
-
-
- org/owasp/dependencycheck/data/lucene/SearchVersionAnalyzer.java
-
-
- 0
-
-
- 0
-
-
- 0
-
@@ -2899,6 +3207,34 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_es.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_no.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
@@ -2941,6 +3277,20 @@ under the License.
0
+
+
+
+ dependency-check-maven/target/maven-plugin-plugin-sources/org.apache.maven.plugins/maven-site-plugin/3.4/sources/site-plugin_lt.properties
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.exception.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.exception.html
index d7900d0d9..b324ea9c4 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.exception.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.analyzer.exception.html
@@ -15,10 +15,10 @@ org.owasp.dependencycheck.analyzer.exception
-AnalysisException (N/A)
+AnalysisException (25%)
-ArchiveExtractionException (N/A)
+ArchiveExtractionException (0%)
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 cec66b54e..7ee707e77 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
@@ -18,10 +18,10 @@ org.owasp.dependencycheck.analyzer
AbstractAnalyzer (100%)
-AbstractFileTypeAnalyzer (74%)
+AbstractFileTypeAnalyzer (69%)
-AbstractSuppressionAnalyzer (82%)
+AbstractSuppressionAnalyzer (80%)
AnalysisPhase (100%)
@@ -33,25 +33,25 @@ org.owasp.dependencycheck.analyzer
AnalyzerService (100%)
-ArchiveAnalyzer (30%)
+ArchiveAnalyzer (31%)
-AssemblyAnalyzer (66%)
+AssemblyAnalyzer (67%)
-CPEAnalyzer (74%)
+CPEAnalyzer (73%)
-CentralAnalyzer (73%)
+CentralAnalyzer (26%)
-CpeSuppressionAnalyzer (88%)
+CpeSuppressionAnalyzer (90%)
-DependencyBundlingAnalyzer (42%)
+DependencyBundlingAnalyzer (41%)
-FalsePositiveAnalyzer (51%)
+FalsePositiveAnalyzer (49%)
FileNameAnalyzer (85%)
@@ -60,25 +60,25 @@ org.owasp.dependencycheck.analyzer
FileTypeAnalyzer (N/A)
-HintAnalyzer (76%)
+HintAnalyzer (78%)
-JarAnalyzer (56%)
+JarAnalyzer (59%)
-JavaScriptAnalyzer (26%)
+JavaScriptAnalyzer (29%)
-NexusAnalyzer (28%)
+NexusAnalyzer (20%)
-NuspecAnalyzer (20%)
+NuspecAnalyzer (22%)
-NvdCveAnalyzer (67%)
+NvdCveAnalyzer (68%)
-VulnerabilitySuppressionAnalyzer (88%)
+VulnerabilitySuppressionAnalyzer (90%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.central.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.central.html
index a3cfebc7b..ff7613482 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.central.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.central.html
@@ -15,7 +15,7 @@ org.owasp.dependencycheck.data.central
-CentralSearch (80%)
+CentralSearch (83%)
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 09f33b14a..61022bef1 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,16 @@ org.owasp.dependencycheck.data.cpe
-CpeMemoryIndex (71%)
+CpeMemoryIndex (72%)
-Fields (N/A)
+Fields (0%)
-IndexEntry (58%)
+IndexEntry (66%)
-IndexException (N/A)
+IndexException (0%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cwe.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cwe.html
index 1f4659420..8dbdaa951 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cwe.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.cwe.html
@@ -15,7 +15,7 @@ org.owasp.dependencycheck.data.cwe
-CweDB (56%)
+CweDB (52%)
CweHandler (0%)
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 85d25c1f2..822986e99 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
@@ -18,7 +18,7 @@ org.owasp.dependencycheck.data.lucene
AbstractTokenizingFilter (100%)
-AlphaNumericTokenizer (100%)
+AlphaNumericTokenizer (60%)
DependencySimilarity (0%)
@@ -27,25 +27,16 @@ org.owasp.dependencycheck.data.lucene
FieldAnalyzer (100%)
-LuceneUtils (100%)
+LuceneUtils (88%)
SearchFieldAnalyzer (100%)
-SearchVersionAnalyzer (0%)
-
-
TokenPairConcatenatingFilter (100%)
-UrlTokenizingFilter (78%)
-
-
-VersionAnalyzer (0%)
-
-
-VersionTokenizingFilter (0%)
+UrlTokenizingFilter (80%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html
index d7d3e2b00..60521dd75 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nexus.html
@@ -15,10 +15,10 @@ org.owasp.dependencycheck.data.nexus
-MavenArtifact (58%)
+MavenArtifact (52%)
-NexusSearch (70%)
+NexusSearch (0%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nuget.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nuget.html
index 86b4737fd..2915eaff1 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nuget.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.nuget.html
@@ -15,10 +15,10 @@ org.owasp.dependencycheck.data.nuget
-NugetPackage (0%)
+NugetPackage (58%)
-NuspecParseException (N/A)
+NuspecParseException (66%)
NuspecParser (N/A)
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 5287c72fc..04d0b4849 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
@@ -15,25 +15,28 @@ org.owasp.dependencycheck.data.nvdcve
-ConnectionFactory (43%)
+ConnectionFactory (42%)
-CorruptDatabaseException (N/A)
+CorruptDatabaseException (0%)
-DatabaseException (N/A)
+CveDB (45%)
+
+
+DatabaseException (0%)
DatabaseProperties (20%)
-DriverLoadException (N/A)
+DriverLoadException (33%)
-DriverLoader (59%)
+DriverLoader (56%)
-DriverShim (9%)
+DriverShim (17%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.exception.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.exception.html
index 011cd25b3..f570e387b 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.exception.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.exception.html
@@ -15,10 +15,10 @@ org.owasp.dependencycheck.data.update.exception
-InvalidDataException (N/A)
+InvalidDataException (0%)
-UpdateException (N/A)
+UpdateException (0%)
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
index 76ee5a224..533df9a78 100644
--- 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
@@ -18,10 +18,10 @@ org.owasp.dependencycheck.data.update
CachedWebDataSource (N/A)
-EngineVersionCheck (44%)
+EngineVersionCheck (47%)
-NvdCveInfo (N/A)
+NvdCveInfo (100%)
NvdCveUpdater (0%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.task.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.task.html
index 3ee5b8425..20da5683e 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.task.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.task.html
@@ -15,6 +15,9 @@ org.owasp.dependencycheck.data.update.task
+DownloadTask (52%)
+
+
ProcessTask (0%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.xml.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.xml.html
index 2847f58b9..44036ab06 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.xml.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.data.update.xml.html
@@ -15,10 +15,10 @@ org.owasp.dependencycheck.data.update.xml
-NvdCve12Handler (94%)
+NvdCve12Handler (93%)
-NvdCve20Handler (85%)
+NvdCve20Handler (81%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html
index 914d4ea05..8e93bc145 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.dependency.html
@@ -18,28 +18,28 @@ org.owasp.dependencycheck.dependency
Confidence (100%)
-Dependency (61%)
+Dependency (58%)
-Evidence (66%)
+Evidence (60%)
-EvidenceCollection (72%)
+EvidenceCollection (73%)
-Identifier (31%)
+Identifier (36%)
-Reference (28%)
+Reference (38%)
-Vulnerability (69%)
+Vulnerability (64%)
VulnerabilityComparator (100%)
-VulnerableSoftware (75%)
+VulnerableSoftware (68%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.exception.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.exception.html
index bcd7ae741..0c63c2ce4 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.exception.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.exception.html
@@ -15,10 +15,10 @@ org.owasp.dependencycheck.exception
-NoDataException (N/A)
+NoDataException (0%)
-ScanAgentException (N/A)
+ScanAgentException (0%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.html
index 0a4463e7e..08d5226ba 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.html
@@ -15,7 +15,7 @@ org.owasp.dependencycheck
-Engine (53%)
+Engine (52%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.generated.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.generated.html
index 472817a1c..b1f4b1a28 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.generated.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.generated.html
@@ -15,22 +15,22 @@ org.owasp.dependencycheck.jaxb.pom.generated
-Activation (N/A)
+Activation (6%)
-ActivationFile (N/A)
+ActivationFile (0%)
-ActivationOS (N/A)
+ActivationOS (0%)
-ActivationProperty (N/A)
+ActivationProperty (14%)
-Build (0%)
+Build (4%)
-BuildBase (0%)
+BuildBase (7%)
CiManagement (0%)
@@ -39,37 +39,37 @@ org.owasp.dependencycheck.jaxb.pom.generated
Contributor (0%)
-Dependency (0%)
+Dependency (9%)
DependencyManagement (0%)
-DeploymentRepository (N/A)
+DeploymentRepository (0%)
Developer (0%)
-DistributionManagement (N/A)
+DistributionManagement (0%)
-Exclusion (N/A)
+Exclusion (14%)
-Extension (N/A)
+Extension (0%)
-IssueManagement (N/A)
+IssueManagement (0%)
-License (N/A)
+License (0%)
MailingList (0%)
-Model (0%)
+Model (8%)
Notifier (0%)
@@ -78,52 +78,52 @@ org.owasp.dependencycheck.jaxb.pom.generated
ObjectFactory (0%)
-Organization (N/A)
+Organization (0%)
-Parent (N/A)
+Parent (30%)
-Plugin (0%)
+Plugin (8%)
-PluginExecution (0%)
+PluginExecution (16%)
PluginManagement (0%)
-Prerequisites (N/A)
+Prerequisites (0%)
-Profile (0%)
+Profile (4%)
-Relocation (N/A)
+Relocation (0%)
-ReportPlugin (0%)
+ReportPlugin (10%)
ReportSet (0%)
-Reporting (0%)
+Reporting (20%)
-Repository (N/A)
+Repository (0%)
-RepositoryPolicy (N/A)
+RepositoryPolicy (0%)
Resource (0%)
-Scm (N/A)
+Scm (7%)
-Site (N/A)
+Site (0%)
package-info (N/A)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.html
index df673c5a8..91c6b81e2 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.jaxb.pom.html
@@ -15,7 +15,10 @@ org.owasp.dependencycheck.jaxb.pom
-MavenNamespaceFilter (0%)
+MavenNamespaceFilter (15%)
+
+
+PomUtils (15%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html
index 80041ce8a..d51c7a0dd 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles-org.owasp.dependencycheck.suppression.html
@@ -15,22 +15,22 @@ org.owasp.dependencycheck.suppression
-PropertyType (57%)
+PropertyType (70%)
-SuppressionErrorHandler (6%)
+SuppressionErrorHandler (11%)
SuppressionHandler (95%)
-SuppressionParseException (N/A)
+SuppressionParseException (50%)
-SuppressionParser (64%)
+SuppressionParser (65%)
-SuppressionRule (71%)
+SuppressionRule (75%)
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 d0cbda10b..847d73701 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
@@ -15,31 +15,31 @@ org.owasp.dependencycheck.utils
-DBUtils (37%)
+DBUtils (34%)
-DateUtil (100%)
+DateUtil (50%)
DependencyVersion (90%)
-DependencyVersionUtil (95%)
+DependencyVersionUtil (88%)
ExtractionUtil (0%)
-Filter (91%)
+Filter (92%)
NonClosingStream (100%)
-Pair (28%)
+Pair (42%)
-UrlStringUtils (95%)
+UrlStringUtils (86%)
diff --git a/dependency-check-core/cobertura/frame-sourcefiles.html b/dependency-check-core/cobertura/frame-sourcefiles.html
index 7f84ec364..4fec32827 100644
--- a/dependency-check-core/cobertura/frame-sourcefiles.html
+++ b/dependency-check-core/cobertura/frame-sourcefiles.html
@@ -18,31 +18,31 @@ All Packages
AbstractAnalyzer (100%)
-AbstractFileTypeAnalyzer (74%)
+AbstractFileTypeAnalyzer (69%)
-AbstractSuppressionAnalyzer (82%)
+AbstractSuppressionAnalyzer (80%)
AbstractTokenizingFilter (100%)
-Activation (N/A)
+Activation (6%)
-ActivationFile (N/A)
+ActivationFile (0%)
-ActivationOS (N/A)
+ActivationOS (0%)
-ActivationProperty (N/A)
+ActivationProperty (14%)
-AlphaNumericTokenizer (100%)
+AlphaNumericTokenizer (60%)
-AnalysisException (N/A)
+AnalysisException (25%)
AnalysisPhase (100%)
@@ -54,31 +54,31 @@ All Packages
AnalyzerService (100%)
-ArchiveAnalyzer (30%)
+ArchiveAnalyzer (31%)
-ArchiveExtractionException (N/A)
+ArchiveExtractionException (0%)
-AssemblyAnalyzer (66%)
+AssemblyAnalyzer (67%)
-Build (0%)
+Build (4%)
-BuildBase (0%)
+BuildBase (7%)
-CPEAnalyzer (74%)
+CPEAnalyzer (73%)
CachedWebDataSource (N/A)
-CentralAnalyzer (73%)
+CentralAnalyzer (26%)
-CentralSearch (80%)
+CentralSearch (83%)
CiManagement (0%)
@@ -87,46 +87,49 @@ All Packages
Confidence (100%)
-ConnectionFactory (43%)
+ConnectionFactory (42%)
Contributor (0%)
-CorruptDatabaseException (N/A)
+CorruptDatabaseException (0%)
-CpeMemoryIndex (71%)
+CpeMemoryIndex (72%)
-CpeSuppressionAnalyzer (88%)
+CpeSuppressionAnalyzer (90%)
-CweDB (56%)
+CveDB (45%)
+
+
+CweDB (52%)
CweHandler (0%)
-DBUtils (37%)
+DBUtils (34%)
-DatabaseException (N/A)
+DatabaseException (0%)
DatabaseProperties (20%)
-DateUtil (100%)
+DateUtil (50%)
-Dependency (61%)
+Dependency (58%)
-Dependency (0%)
+Dependency (9%)
-DependencyBundlingAnalyzer (42%)
+DependencyBundlingAnalyzer (41%)
DependencyCheckScanAgent (0%)
@@ -141,58 +144,61 @@ All Packages
DependencyVersion (90%)
-DependencyVersionUtil (95%)
+DependencyVersionUtil (88%)
-DeploymentRepository (N/A)
+DeploymentRepository (0%)
Developer (0%)
-DistributionManagement (N/A)
+DistributionManagement (0%)
-DriverLoadException (N/A)
+DownloadTask (52%)
-DriverLoader (59%)
+DriverLoadException (33%)
-DriverShim (9%)
+DriverLoader (56%)
-Engine (53%)
+DriverShim (17%)
-EngineVersionCheck (44%)
+Engine (52%)
+
+
+EngineVersionCheck (47%)
EscapeTool (0%)
-Evidence (66%)
+Evidence (60%)
-EvidenceCollection (72%)
+EvidenceCollection (73%)
-Exclusion (N/A)
+Exclusion (14%)
-Extension (N/A)
+Extension (0%)
ExtractionUtil (0%)
-FalsePositiveAnalyzer (51%)
+FalsePositiveAnalyzer (49%)
FieldAnalyzer (100%)
-Fields (N/A)
+Fields (0%)
FileNameAnalyzer (85%)
@@ -201,58 +207,58 @@ All Packages
FileTypeAnalyzer (N/A)
-Filter (91%)
+Filter (92%)
-HintAnalyzer (76%)
+HintAnalyzer (78%)
-Identifier (31%)
+Identifier (36%)
-IndexEntry (58%)
+IndexEntry (66%)
-IndexException (N/A)
+IndexException (0%)
-InvalidDataException (N/A)
+InvalidDataException (0%)
-IssueManagement (N/A)
+IssueManagement (0%)
-JarAnalyzer (56%)
+JarAnalyzer (59%)
-JavaScriptAnalyzer (26%)
+JavaScriptAnalyzer (29%)
-License (N/A)
+License (0%)
-LuceneUtils (100%)
+LuceneUtils (88%)
MailingList (0%)
-MavenArtifact (58%)
+MavenArtifact (52%)
-MavenNamespaceFilter (0%)
+MavenNamespaceFilter (15%)
-Model (0%)
+Model (8%)
-NexusAnalyzer (28%)
+NexusAnalyzer (20%)
-NexusSearch (70%)
+NexusSearch (0%)
-NoDataException (N/A)
+NoDataException (0%)
NonClosingStream (100%)
@@ -261,28 +267,28 @@ All Packages
Notifier (0%)
-NugetPackage (0%)
+NugetPackage (58%)
-NuspecAnalyzer (20%)
+NuspecAnalyzer (22%)
-NuspecParseException (N/A)
+NuspecParseException (66%)
NuspecParser (N/A)
-NvdCve12Handler (94%)
+NvdCve12Handler (93%)
-NvdCve20Handler (85%)
+NvdCve20Handler (81%)
-NvdCveAnalyzer (67%)
+NvdCveAnalyzer (68%)
-NvdCveInfo (N/A)
+NvdCveInfo (100%)
NvdCveUpdater (0%)
@@ -291,100 +297,100 @@ All Packages
ObjectFactory (0%)
-Organization (N/A)
+Organization (0%)
-Pair (28%)
+Pair (42%)
-Parent (N/A)
+Parent (30%)
-Plugin (0%)
+Plugin (8%)
-PluginExecution (0%)
+PluginExecution (16%)
PluginManagement (0%)
-Prerequisites (N/A)
+PomUtils (15%)
+
+
+Prerequisites (0%)
ProcessTask (0%)
-Profile (0%)
+Profile (4%)
-PropertyType (57%)
+PropertyType (70%)
-Reference (28%)
+Reference (38%)
-Relocation (N/A)
+Relocation (0%)
ReportGenerator (0%)
-ReportPlugin (0%)
+ReportPlugin (10%)
ReportSet (0%)
-Reporting (0%)
+Reporting (20%)
-Repository (N/A)
+Repository (0%)
-RepositoryPolicy (N/A)
+RepositoryPolicy (0%)
Resource (0%)
-ScanAgentException (N/A)
+ScanAgentException (0%)
-Scm (N/A)
+Scm (7%)
SearchFieldAnalyzer (100%)
-SearchVersionAnalyzer (0%)
-
-
-Site (N/A)
+Site (0%)
StandardUpdate (0%)
-SuppressionErrorHandler (6%)
+SuppressionErrorHandler (11%)
SuppressionHandler (95%)
-SuppressionParseException (N/A)
+SuppressionParseException (50%)
-SuppressionParser (64%)
+SuppressionParser (65%)
-SuppressionRule (71%)
+SuppressionRule (75%)
TokenPairConcatenatingFilter (100%)
-UpdateException (N/A)
+UpdateException (0%)
UpdateService (0%)
@@ -393,31 +399,25 @@ All Packages
UpdateableNvdCve (93%)
-UrlStringUtils (95%)
+UrlStringUtils (86%)
-UrlTokenizingFilter (78%)
+UrlTokenizingFilter (80%)
VelocityLoggerRedirect (0%)
-VersionAnalyzer (0%)
-
-
-VersionTokenizingFilter (0%)
-
-
-Vulnerability (69%)
+Vulnerability (64%)
VulnerabilityComparator (100%)
-VulnerabilitySuppressionAnalyzer (88%)
+VulnerabilitySuppressionAnalyzer (90%)
-VulnerableSoftware (75%)
+VulnerableSoftware (68%)
XPathNuspecParser (94%)
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.html
index 5a3614d03..f5812a606 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.agent.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.agent 1 0%
0%
1.8571428571428572;1.857
+ org.owasp.dependencycheck.agent 1 0%
0%
1.8571428571428572;1.857
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.exception.html
index 6b3e87ed0..bebf6edc2 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.exception.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.analyzer.exception.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.analyzer.exception 2 N/A
N/A
1.0;1
+ org.owasp.dependencycheck.analyzer.exception 2 12%
N/A
1.0;1
-
+
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 6da79ce97..3ed602ef7 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,8 +16,8 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.analyzer 25 56%
43%
5.021621621621621;5.022
- org.owasp.dependencycheck.analyzer.exception 2 N/A
N/A
1.0;1
+ org.owasp.dependencycheck.analyzer 25 54%
41%
5.037837837837838;5.038
+ org.owasp.dependencycheck.analyzer.exception 2 12%
N/A
1.0;1
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.central.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.central.html
index cf0ba8147..3499e0888 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.central.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.central.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.central 1 80%
78%
7.5;7.5
+ org.owasp.dependencycheck.data.central 1 83%
85%
9.0;9
-
+
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 b7caefaea..fbee826c0 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 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.cpe 4 68%
35%
2.4516129032258065;2.452
+ org.owasp.dependencycheck.data.cpe 4 65%
37%
2.4516129032258065;2.452
-
+
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 31e731152..3e399d830 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
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.cwe 2 43%
14%
2.8;2.8
+ org.owasp.dependencycheck.data.cwe 2 39%
25%
2.8;2.8
-
+
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 7fa0de7d2..245eaa4f7 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 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.lucene 11 71%
70%
2.5;2.5
+ org.owasp.dependencycheck.data.lucene 8 90%
92%
2.6956521739130435;2.696
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html
index d51c7fd4d..49d45bad5 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nexus.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.nexus 2 68%
62%
2.2666666666666666;2.267
+ org.owasp.dependencycheck.data.nexus 2 21%
7%
2.388888888888889;2.389
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html
index 64a459fcf..250310a96 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.nuget.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.nuget 4 51%
15%
2.238095238095238;2.238
+ org.owasp.dependencycheck.data.nuget 4 70%
15%
2.238095238095238;2.238
-
+
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 c090f0ea1..ff9f59652 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,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.nvdcve 8 39%
27%
3.025;3.025
+ org.owasp.dependencycheck.data.nvdcve 9 42%
45%
3.9508196721311477;3.951
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html
index 1ac4046d6..447f76890 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.exception.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.update.exception 2 N/A
N/A
1.0;1
+ org.owasp.dependencycheck.data.update.exception 2 0%
N/A
1.0;1
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
index fe439c8a3..2dac6ef53 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.html
@@ -16,10 +16,10 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.update 7 22%
17%
2.925;2.925
- org.owasp.dependencycheck.data.update.exception 2 N/A
N/A
1.0;1
- org.owasp.dependencycheck.data.update.task 1 0%
N/A
3.5;3.5
- org.owasp.dependencycheck.data.update.xml 4 88%
88%
2.914285714285714;2.914
+ org.owasp.dependencycheck.data.update 7 28%
20%
2.925;2.925
+ org.owasp.dependencycheck.data.update.exception 2 0%
N/A
1.0;1
+ org.owasp.dependencycheck.data.update.task 2 34%
22%
3.5555555555555554;3.556
+ org.owasp.dependencycheck.data.update.xml 4 85%
88%
2.914285714285714;2.914
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html
index 69fc25118..1ee0ba837 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.task.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.update.task 1 0%
N/A
3.5;3.5
+ org.owasp.dependencycheck.data.update.task 2 34%
22%
3.5555555555555554;3.556
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html
index b769674eb..9cf42440c 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.data.update.xml.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.data.update.xml 4 88%
88%
2.914285714285714;2.914
+ org.owasp.dependencycheck.data.update.xml 4 85%
88%
2.914285714285714;2.914
-
+
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 174800684..82d08a178 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.dependency.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.dependency 14 65%
38%
2.49438202247191;2.494
+ org.owasp.dependencycheck.dependency 14 61%
37%
2.497297297297297;2.497
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html
index 020854fbb..e9b4eed26 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.exception.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.exception 2 N/A
N/A
1.0;1
+ org.owasp.dependencycheck.exception 2 0%
N/A
1.0;1
-
+
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 3610cca9e..05290bef0 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.html
@@ -16,28 +16,28 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck 1 53%
55%
3.347826086956522;3.348
- org.owasp.dependencycheck.agent 1 0%
0%
1.8571428571428572;1.857
- org.owasp.dependencycheck.analyzer 25 56%
43%
5.021621621621621;5.022
- org.owasp.dependencycheck.analyzer.exception 2 N/A
N/A
1.0;1
- org.owasp.dependencycheck.data.central 1 80%
78%
7.5;7.5
- org.owasp.dependencycheck.data.cpe 4 68%
35%
2.4516129032258065;2.452
- org.owasp.dependencycheck.data.cwe 2 43%
14%
2.8;2.8
- org.owasp.dependencycheck.data.lucene 11 71%
70%
2.5;2.5
- org.owasp.dependencycheck.data.nexus 2 68%
62%
2.2666666666666666;2.267
- org.owasp.dependencycheck.data.nuget 4 51%
15%
2.238095238095238;2.238
- org.owasp.dependencycheck.data.nvdcve 8 39%
27%
3.025;3.025
- org.owasp.dependencycheck.data.update 7 22%
17%
2.925;2.925
- org.owasp.dependencycheck.data.update.exception 2 N/A
N/A
1.0;1
- org.owasp.dependencycheck.data.update.task 1 0%
N/A
3.5;3.5
- org.owasp.dependencycheck.data.update.xml 4 88%
88%
2.914285714285714;2.914
- org.owasp.dependencycheck.dependency 14 65%
38%
2.49438202247191;2.494
- org.owasp.dependencycheck.exception 2 N/A
N/A
1.0;1
- org.owasp.dependencycheck.jaxb.pom 1 0%
0%
1.25;1.25
- org.owasp.dependencycheck.jaxb.pom.generated 87 0%
0%
1.0907407407407408;1.091
- org.owasp.dependencycheck.reporting 4 0%
0%
4.1875;4.188
- org.owasp.dependencycheck.suppression 6 69%
62%
3.0727272727272728;3.073
- org.owasp.dependencycheck.utils 11 62%
57%
3.5555555555555554;3.556
+ org.owasp.dependencycheck 1 52%
55%
3.25;3.25
+ org.owasp.dependencycheck.agent 1 0%
0%
1.8571428571428572;1.857
+ org.owasp.dependencycheck.analyzer 25 54%
41%
5.037837837837838;5.038
+ org.owasp.dependencycheck.analyzer.exception 2 12%
N/A
1.0;1
+ org.owasp.dependencycheck.data.central 1 83%
85%
9.0;9
+ org.owasp.dependencycheck.data.cpe 4 65%
37%
2.4516129032258065;2.452
+ org.owasp.dependencycheck.data.cwe 2 39%
25%
2.8;2.8
+ org.owasp.dependencycheck.data.lucene 8 90%
92%
2.6956521739130435;2.696
+ org.owasp.dependencycheck.data.nexus 2 21%
7%
2.388888888888889;2.389
+ org.owasp.dependencycheck.data.nuget 4 70%
15%
2.238095238095238;2.238
+ org.owasp.dependencycheck.data.nvdcve 9 42%
45%
3.9508196721311477;3.951
+ org.owasp.dependencycheck.data.update 7 28%
20%
2.925;2.925
+ org.owasp.dependencycheck.data.update.exception 2 0%
N/A
1.0;1
+ org.owasp.dependencycheck.data.update.task 2 34%
22%
3.5555555555555554;3.556
+ org.owasp.dependencycheck.data.update.xml 4 85%
88%
2.914285714285714;2.914
+ org.owasp.dependencycheck.dependency 14 61%
37%
2.497297297297297;2.497
+ org.owasp.dependencycheck.exception 2 0%
N/A
1.0;1
+ org.owasp.dependencycheck.jaxb.pom 2 15%
0%
8.25;8.25
+ org.owasp.dependencycheck.jaxb.pom.generated 87 4%
0%
1.0907407407407408;1.091
+ org.owasp.dependencycheck.reporting 4 0%
0%
4.25;4.25
+ org.owasp.dependencycheck.suppression 6 72%
62%
3.0727272727272728;3.073
+ org.owasp.dependencycheck.utils 11 61%
58%
3.5555555555555554;3.556
-
+
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 901331ce5..940b2366a 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
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.jaxb.pom.generated 87 0%
0%
1.0907407407407408;1.091
+ org.owasp.dependencycheck.jaxb.pom.generated 87 4%
0%
1.0907407407407408;1.091
-
+
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 94819e396..91fcc6a3d 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
@@ -16,8 +16,8 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.jaxb.pom 1 0%
0%
1.25;1.25
- org.owasp.dependencycheck.jaxb.pom.generated 87 0%
0%
1.0907407407407408;1.091
+ org.owasp.dependencycheck.jaxb.pom 2 15%
0%
8.25;8.25
+ org.owasp.dependencycheck.jaxb.pom.generated 87 4%
0%
1.0907407407407408;1.091
-
+
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 72640cfce..90ffb22b6 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.reporting.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.reporting 4 0%
0%
4.1875;4.188
+ org.owasp.dependencycheck.reporting 4 0%
0%
4.25;4.25
-
+
diff --git a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html
index 823720104..120429604 100644
--- a/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html
+++ b/dependency-check-core/cobertura/frame-summary-org.owasp.dependencycheck.suppression.html
@@ -16,7 +16,7 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.suppression 6 69%
62%
3.0727272727272728;3.073
+ org.owasp.dependencycheck.suppression 6 72%
62%
3.0727272727272728;3.073
-
+
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 0eaa4f7f3..fe5f05479 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 @@
Package # Classes Line Coverage Branch Coverage Complexity
- org.owasp.dependencycheck.utils 11 62%
57%
3.5555555555555554;3.556
+ org.owasp.dependencycheck.utils 11 61%
58%
3.5555555555555554;3.556
-
+
diff --git a/dependency-check-core/cobertura/frame-summary.html b/dependency-check-core/cobertura/frame-summary.html
index adff91a71..253a971be 100644
--- a/dependency-check-core/cobertura/frame-summary.html
+++ b/dependency-check-core/cobertura/frame-summary.html
@@ -16,29 +16,29 @@
Package # Classes Line Coverage Branch Coverage Complexity
- All Packages 200 50%
41%
2.3580337490829053;2.358
- org.owasp.dependencycheck 1 53%
55%
3.347826086956522;3.348
- org.owasp.dependencycheck.agent 1 0%
0%
1.8571428571428572;1.857
- org.owasp.dependencycheck.analyzer 25 56%
43%
5.021621621621621;5.022
- org.owasp.dependencycheck.analyzer.exception 2 N/A
N/A
1.0;1
- org.owasp.dependencycheck.data.central 1 80%
78%
7.5;7.5
- org.owasp.dependencycheck.data.cpe 4 68%
35%
2.4516129032258065;2.452
- org.owasp.dependencycheck.data.cwe 2 43%
14%
2.8;2.8
- org.owasp.dependencycheck.data.lucene 11 71%
70%
2.5;2.5
- org.owasp.dependencycheck.data.nexus 2 68%
62%
2.2666666666666666;2.267
- org.owasp.dependencycheck.data.nuget 4 51%
15%
2.238095238095238;2.238
- org.owasp.dependencycheck.data.nvdcve 8 39%
27%
3.025;3.025
- org.owasp.dependencycheck.data.update 7 22%
17%
2.925;2.925
- org.owasp.dependencycheck.data.update.exception 2 N/A
N/A
1.0;1
- org.owasp.dependencycheck.data.update.task 1 0%
N/A
3.5;3.5
- org.owasp.dependencycheck.data.update.xml 4 88%
88%
2.914285714285714;2.914
- org.owasp.dependencycheck.dependency 14 65%
38%
2.49438202247191;2.494
- org.owasp.dependencycheck.exception 2 N/A
N/A
1.0;1
- org.owasp.dependencycheck.jaxb.pom 1 0%
0%
1.25;1.25
- org.owasp.dependencycheck.jaxb.pom.generated 87 0%
0%
1.0907407407407408;1.091
- org.owasp.dependencycheck.reporting 4 0%
0%
4.1875;4.188
- org.owasp.dependencycheck.suppression 6 69%
62%
3.0727272727272728;3.073
- org.owasp.dependencycheck.utils 11 62%
57%
3.5555555555555554;3.556
+ All Packages 200 44%
39%
2.4643874643874644;2.464
+ org.owasp.dependencycheck 1 52%
55%
3.25;3.25
+ org.owasp.dependencycheck.agent 1 0%
0%
1.8571428571428572;1.857
+ org.owasp.dependencycheck.analyzer 25 54%
41%
5.037837837837838;5.038
+ org.owasp.dependencycheck.analyzer.exception 2 12%
N/A
1.0;1
+ org.owasp.dependencycheck.data.central 1 83%
85%
9.0;9
+ org.owasp.dependencycheck.data.cpe 4 65%
37%
2.4516129032258065;2.452
+ org.owasp.dependencycheck.data.cwe 2 39%
25%
2.8;2.8
+ org.owasp.dependencycheck.data.lucene 8 90%
92%
2.6956521739130435;2.696
+ org.owasp.dependencycheck.data.nexus 2 21%
7%
2.388888888888889;2.389
+ org.owasp.dependencycheck.data.nuget 4 70%
15%
2.238095238095238;2.238
+ org.owasp.dependencycheck.data.nvdcve 9 42%
45%
3.9508196721311477;3.951
+ org.owasp.dependencycheck.data.update 7 28%
20%
2.925;2.925
+ org.owasp.dependencycheck.data.update.exception 2 0%
N/A
1.0;1
+ org.owasp.dependencycheck.data.update.task 2 34%
22%
3.5555555555555554;3.556
+ org.owasp.dependencycheck.data.update.xml 4 85%
88%
2.914285714285714;2.914
+ org.owasp.dependencycheck.dependency 14 61%
37%
2.497297297297297;2.497
+ org.owasp.dependencycheck.exception 2 0%
N/A
1.0;1
+ org.owasp.dependencycheck.jaxb.pom 2 15%
0%
8.25;8.25
+ org.owasp.dependencycheck.jaxb.pom.generated 87 4%
0%
1.0907407407407408;1.091
+ org.owasp.dependencycheck.reporting 4 0%
0%
4.25;4.25
+ org.owasp.dependencycheck.suppression 6 72%
62%
3.0727272727272728;3.073
+ org.owasp.dependencycheck.utils 11 61%
58%
3.5555555555555554;3.556
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
index bc69af31f..45e999962 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.Engine.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- Engine 53%
55%
3.347826086956522;3.348
+ Engine 52%
55%
3.25;3.25
@@ -236,7 +236,7 @@
*/
118
private void loadAnalyzers() {
- 119 1 if (analyzers.size() > 0) {
+ 119 1 if (!analyzers.isEmpty()) {
120 0 return;
121
}
@@ -290,597 +290,621 @@
*/
152
public List<Dependency> getDependencies() {
- 153
- return dependencies;
+ 153 10 return dependencies;
154
}
155
156
- public void setDependencies(List<Dependency> dependencies) {
+ /**
157
- this.dependencies = dependencies;
+ * Sets the dependencies.
158
- }
+ *
159
-
+ * @param dependencies the dependencies
160
- /**
+ */
161
- * Scans an array of files or directories. If a directory is specified, it will be scanned recursively. Any
- 162
- * dependencies identified are added to the dependency collection.
- 163
- *
+ public void setDependencies(List<Dependency> dependencies) {
+ 162 0 this.dependencies = dependencies;
+ 163 0 }
164
- * @param paths an array of paths to files or directories to be analyzed
+
165
- * @return the list of dependencies scanned
+ /**
166
- *
- 167
- * @since v0.3.2.5
- 168
- */
- 169
- public List<Dependency> scan(String[] paths) {
- 170 0 final List<Dependency> deps = new ArrayList<Dependency>();
- 171 0 for (String path : paths) {
- 172 0 final File file = new File(path);
- 173 0 final List<Dependency> d = scan(file);
- 174 0 if (d != null) {
- 175 0 deps.addAll(d);
- 176
- }
- 177
- }
- 178 0 return deps;
- 179
- }
- 180
-
- 181
- /**
- 182
- * Scans a given file or directory. If a directory is specified, it will be scanned recursively. Any dependencies
- 183
- * identified are added to the dependency collection.
- 184
- *
- 185
- * @param path the path to a file or directory to be analyzed
- 186
- * @return the list of dependencies scanned
- 187
- */
- 188
- public List<Dependency> scan(String path) {
- 189 0 final File file = new File(path);
- 190 0 return scan(file);
- 191
- }
- 192
-
- 193
- /**
- 194
* Scans an array of files or directories. If a directory is specified, it will be scanned recursively. Any
- 195
+ 167
* dependencies identified are added to the dependency collection.
- 196
+ 168
*
- 197
- * @param files an array of paths to files or directories to be analyzed.
- 198
- * @return the list of dependencies
- 199
+ 169
+ * @param paths an array of paths to files or directories to be analyzed
+ 170
+ * @return the list of dependencies scanned
+ 171
*
- 200
+ 172
* @since v0.3.2.5
- 201
+ 173
*/
- 202
- public List<Dependency> scan(File[] files) {
- 203 0 final List<Dependency> deps = new ArrayList<Dependency>();
- 204 0 for (File file : files) {
- 205 0 final List<Dependency> d = scan(file);
- 206 0 if (d != null) {
- 207 0 deps.addAll(d);
- 208
+ 174
+ public List<Dependency> scan(String[] paths) {
+ 175 0 final List<Dependency> deps = new ArrayList<Dependency>();
+ 176 0 for (String path : paths) {
+ 177 0 final File file = new File(path);
+ 178 0 final List<Dependency> d = scan(file);
+ 179 0 if (d != null) {
+ 180 0 deps.addAll(d);
+ 181
}
- 209
+ 182
}
- 210 0 return deps;
- 211
+ 183 0 return deps;
+ 184
}
- 212
+ 185
- 213
+ 186
/**
- 214
- * Scans a list of files or directories. If a directory is specified, it will be scanned recursively. Any
- 215
- * dependencies identified are added to the dependency collection.
- 216
- *
- 217
- * @param files a set of paths to files or directories to be analyzed
- 218
- * @return the list of dependencies scanned
- 219
- *
- 220
- * @since v0.3.2.5
- 221
- */
- 222
- public List<Dependency> scan(Set<File> files) {
- 223 0 final List<Dependency> deps = new ArrayList<Dependency>();
- 224 0 for (File file : files) {
- 225 0 final List<Dependency> d = scan(file);
- 226 0 if (d != null) {
- 227 0 deps.addAll(d);
- 228
- }
- 229 0 }
- 230 0 return deps;
- 231
- }
- 232
-
- 233
- /**
- 234
- * Scans a list of files or directories. If a directory is specified, it will be scanned recursively. Any
- 235
- * dependencies identified are added to the dependency collection.
- 236
- *
- 237
- * @param files a set of paths to files or directories to be analyzed
- 238
- * @return the list of dependencies scanned
- 239
- *
- 240
- * @since v0.3.2.5
- 241
- */
- 242
- public List<Dependency> scan(List<File> files) {
- 243 0 final List<Dependency> deps = new ArrayList<Dependency>();
- 244 0 for (File file : files) {
- 245 0 final List<Dependency> d = scan(file);
- 246 0 if (d != null) {
- 247 0 deps.addAll(d);
- 248
- }
- 249 0 }
- 250 0 return deps;
- 251
- }
- 252
-
- 253
- /**
- 254
+ 187
* Scans a given file or directory. If a directory is specified, it will be scanned recursively. Any dependencies
- 255
+ 188
* identified are added to the dependency collection.
- 256
+ 189
*
- 257
- * @param file the path to a file or directory to be analyzed
- 258
+ 190
+ * @param path the path to a file or directory to be analyzed
+ 191
* @return the list of dependencies scanned
- 259
+ 192
+ */
+ 193
+ public List<Dependency> scan(String path) {
+ 194 0 final File file = new File(path);
+ 195 0 return scan(file);
+ 196
+ }
+ 197
+
+ 198
+ /**
+ 199
+ * Scans an array of files or directories. If a directory is specified, it will be scanned recursively. Any
+ 200
+ * dependencies identified are added to the dependency collection.
+ 201
*
+ 202
+ * @param files an array of paths to files or directories to be analyzed.
+ 203
+ * @return the list of dependencies
+ 204
+ *
+ 205
+ * @since v0.3.2.5
+ 206
+ */
+ 207
+ public List<Dependency> scan(File[] files) {
+ 208 0 final List<Dependency> deps = new ArrayList<Dependency>();
+ 209 0 for (File file : files) {
+ 210 0 final List<Dependency> d = scan(file);
+ 211 0 if (d != null) {
+ 212 0 deps.addAll(d);
+ 213
+ }
+ 214
+ }
+ 215 0 return deps;
+ 216
+ }
+ 217
+
+ 218
+ /**
+ 219
+ * Scans a list of files or directories. If a directory is specified, it will be scanned recursively. Any
+ 220
+ * dependencies identified are added to the dependency collection.
+ 221
+ *
+ 222
+ * @param files a set of paths to files or directories to be analyzed
+ 223
+ * @return the list of dependencies scanned
+ 224
+ *
+ 225
+ * @since v0.3.2.5
+ 226
+ */
+ 227
+ public List<Dependency> scan(Set<File> files) {
+ 228 0 final List<Dependency> deps = new ArrayList<Dependency>();
+ 229 0 for (File file : files) {
+ 230 0 final List<Dependency> d = scan(file);
+ 231 0 if (d != null) {
+ 232 0 deps.addAll(d);
+ 233
+ }
+ 234 0 }
+ 235 0 return deps;
+ 236
+ }
+ 237
+
+ 238
+ /**
+ 239
+ * Scans a list of files or directories. If a directory is specified, it will be scanned recursively. Any
+ 240
+ * dependencies identified are added to the dependency collection.
+ 241
+ *
+ 242
+ * @param files a set of paths to files or directories to be analyzed
+ 243
+ * @return the list of dependencies scanned
+ 244
+ *
+ 245
+ * @since v0.3.2.5
+ 246
+ */
+ 247
+ public List<Dependency> scan(List<File> files) {
+ 248 0 final List<Dependency> deps = new ArrayList<Dependency>();
+ 249 0 for (File file : files) {
+ 250 0 final List<Dependency> d = scan(file);
+ 251 0 if (d != null) {
+ 252 0 deps.addAll(d);
+ 253
+ }
+ 254 0 }
+ 255 0 return deps;
+ 256
+ }
+ 257
+
+ 258
+ /**
+ 259
+ * Scans a given file or directory. If a directory is specified, it will be scanned recursively. Any dependencies
260
- * @since v0.3.2.4
+ * identified are added to the dependency collection.
261
*
262
- */
+ * @param file the path to a file or directory to be analyzed
263
- public List<Dependency> scan(File file) {
- 264 4 if (file.exists()) {
- 265 4 if (file.isDirectory()) {
- 266 2 return scanDirectory(file);
+ * @return the list of dependencies scanned
+ 264
+ *
+ 265
+ * @since v0.3.2.4
+ 266
+ *
267
+ */
+ 268
+ public List<Dependency> scan(File file) {
+ 269 4 if (file.exists()) {
+ 270 4 if (file.isDirectory()) {
+ 271 2 return scanDirectory(file);
+ 272
} else {
- 268 2 final Dependency d = scanFile(file);
- 269 2 if (d != null) {
- 270 2 final List<Dependency> deps = new ArrayList<Dependency>();
- 271 2 deps.add(d);
- 272 2 return deps;
- 273
- }
- 274
- }
- 275
- }
- 276 0 return null;
- 277
- }
+ 273 2 final Dependency d = scanFile(file);
+ 274 2 if (d != null) {
+ 275 2 final List<Dependency> deps = new ArrayList<Dependency>();
+ 276 2 deps.add(d);
+ 277 2 return deps;
278
-
- 279
- /**
- 280
- * Recursively scans files and directories. Any dependencies identified are added to the dependency collection.
- 281
- *
- 282
- * @param dir the directory to scan
- 283
- * @return the list of Dependency objects scanned
- 284
- */
- 285
- protected List<Dependency> scanDirectory(File dir) {
- 286 38 final File[] files = dir.listFiles();
- 287 38 final List<Dependency> deps = new ArrayList<Dependency>();
- 288 38 if (files != null) {
- 289 74 for (File f : files) {
- 290 36 if (f.isDirectory()) {
- 291 36 final List<Dependency> d = scanDirectory(f);
- 292 36 if (d != null) {
- 293 36 deps.addAll(d);
- 294
- }
- 295 36 } else {
- 296 0 final Dependency d = scanFile(f);
- 297 0 deps.add(d);
- 298
}
- 299
+ 279
}
- 300
+ 280
}
- 301 38 return deps;
- 302
+ 281 0 return null;
+ 282
}
- 303
+ 283
- 304
+ 284
/**
- 305
- * Scans a specified file. If a dependency is identified it is added to the dependency collection.
- 306
+ 285
+ * Recursively scans files and directories. Any dependencies identified are added to the dependency collection.
+ 286
*
- 307
- * @param file The file to scan
- 308
- * @return the scanned dependency
- 309
+ 287
+ * @param dir the directory to scan
+ 288
+ * @return the list of Dependency objects scanned
+ 289
*/
- 310
- protected Dependency scanFile(File file) {
- 311 2 if (!file.isFile()) {
- 312 0 final String msg = String.format("Path passed to scanFile(File) is not a file: %s. Skipping the file.", file.toString());
- 313 0 LOGGER.log(Level.FINE, msg);
- 314 0 return null;
- 315
- }
- 316 2 final String fileName = file.getName();
- 317 2 final String extension = FileUtils.getFileExtension(fileName);
- 318 2 Dependency dependency = null;
- 319 2 if (extension != null) {
- 320 2 if (supportsExtension(extension)) {
- 321 2 dependency = new Dependency(file);
- 322 2 dependencies.add(dependency);
- 323
+ 290
+ protected List<Dependency> scanDirectory(File dir) {
+ 291 38 final File[] files = dir.listFiles();
+ 292 38 final List<Dependency> deps = new ArrayList<Dependency>();
+ 293 38 if (files != null) {
+ 294 74 for (File f : files) {
+ 295 36 if (f.isDirectory()) {
+ 296 36 final List<Dependency> d = scanDirectory(f);
+ 297 36 if (d != null) {
+ 298 36 deps.addAll(d);
+ 299
+ }
+ 300 36 } else {
+ 301 0 final Dependency d = scanFile(f);
+ 302 0 deps.add(d);
+ 303
+ }
+ 304
}
- 324
- } else {
- 325 0 final String msg = String.format("No file extension found on file '%s'. The file was not analyzed.", file.toString());
- 326 0 LOGGER.log(Level.FINEST, msg);
- 327
+ 305
}
- 328 2 return dependency;
- 329
+ 306 38 return deps;
+ 307
}
- 330
+ 308
- 331
+ 309
/**
- 332
- * Runs the analyzers against all of the dependencies.
- 333
+ 310
+ * Scans a specified file. If a dependency is identified it is added to the dependency collection.
+ 311
+ *
+ 312
+ * @param file The file to scan
+ 313
+ * @return the scanned dependency
+ 314
*/
- 334
- public void analyzeDependencies() {
- 335 1 boolean autoUpdate = true;
- 336
- try {
- 337 1 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
- 338 0 } catch (InvalidSettingException ex) {
- 339 0 LOGGER.log(Level.FINE, "Invalid setting for auto-update; using true.");
- 340 1 }
- 341 1 if (autoUpdate) {
- 342 0 doUpdates();
- 343
+ 315
+ protected Dependency scanFile(File file) {
+ 316 2 if (!file.isFile()) {
+ 317 0 final String msg = String.format("Path passed to scanFile(File) is not a file: %s. Skipping the file.", file.toString());
+ 318 0 LOGGER.log(Level.FINE, msg);
+ 319 0 return null;
+ 320
}
- 344
+ 321 2 final String fileName = file.getName();
+ 322 2 final String extension = FileUtils.getFileExtension(fileName);
+ 323 2 Dependency dependency = null;
+ 324 2 if (extension != null) {
+ 325 2 if (supportsExtension(extension)) {
+ 326 2 dependency = new Dependency(file);
+ 327 2 dependencies.add(dependency);
+ 328
+ }
+ 329
+ } else {
+ 330 0 final String msg = String.format("No file extension found on file '%s'. The file was not analyzed.", file.toString());
+ 331 0 LOGGER.log(Level.FINE, msg);
+ 332
+ }
+ 333 2 return dependency;
+ 334
+ }
+ 335
- 345
- //need to ensure that data exists
- 346
+ 336
+ /**
+ 337
+ * Runs the analyzers against all of the dependencies.
+ 338
+ */
+ 339
+ public void analyzeDependencies() {
+ 340 1 boolean autoUpdate = true;
+ 341
try {
- 347 1 ensureDataExists();
- 348 0 } catch (NoDataException ex) {
- 349 0 final String msg = String.format("%s%n%nUnable to continue dependency-check analysis.", ex.getMessage());
- 350 0 LOGGER.log(Level.SEVERE, msg);
- 351 0 LOGGER.log(Level.FINE, null, ex);
- 352 0 return;
- 353 0 } catch (DatabaseException ex) {
+ 342 1 autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE);
+ 343 0 } catch (InvalidSettingException ex) {
+ 344 0 LOGGER.log(Level.FINE, "Invalid setting for auto-update; using true.");
+ 345 1 }
+ 346 1 if (autoUpdate) {
+ 347 0 doUpdates();
+ 348
+ }
+ 349
+
+ 350
+ //need to ensure that data exists
+ 351
+ try {
+ 352 1 ensureDataExists();
+ 353 0 } catch (NoDataException ex) {
354 0 final String msg = String.format("%s%n%nUnable to continue dependency-check analysis.", ex.getMessage());
355 0 LOGGER.log(Level.SEVERE, msg);
356 0 LOGGER.log(Level.FINE, null, ex);
357 0 return;
- 358
-
- 359 1 }
- 360
-
- 361 1 final String logHeader = String.format("%n"
- 362
- + "----------------------------------------------------%n"
+ 358 0 } catch (DatabaseException ex) {
+ 359 0 final String msg = String.format("%s%n%nUnable to continue dependency-check analysis.", ex.getMessage());
+ 360 0 LOGGER.log(Level.SEVERE, msg);
+ 361 0 LOGGER.log(Level.FINE, null, ex);
+ 362 0 return;
363
- + "BEGIN ANALYSIS%n"
- 364
- + "----------------------------------------------------");
- 365 1 LOGGER.log(Level.FINE, logHeader);
- 366 1 LOGGER.log(Level.INFO, "Analysis Starting");
+
+ 364 1 }
+ 365
+
+ 366 1 final String logHeader = String.format("%n"
367
-
+ + "----------------------------------------------------%n"
368
+ + "BEGIN ANALYSIS%n"
+ 369
+ + "----------------------------------------------------");
+ 370 1 LOGGER.log(Level.FINE, logHeader);
+ 371 1 LOGGER.log(Level.INFO, "Analysis Starting");
+ 372
+
+ 373
// analysis phases
- 369 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 370 9 final List<Analyzer> analyzerList = analyzers.get(phase);
- 371
-
- 372 9 for (Analyzer a : analyzerList) {
- 373 14 a = initializeAnalyzer(a);
- 374
-
- 375
- /* need to create a copy of the collection because some of the
+ 374 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 375 9 final List<Analyzer> analyzerList = analyzers.get(phase);
376
- * analyzers may modify it. This prevents ConcurrentModificationExceptions.
- 377
- * This is okay for adds/deletes because it happens per analyzer.
- 378
- */
- 379 14 final String msg = String.format("Begin Analyzer '%s'", a.getName());
- 380 14 LOGGER.log(Level.FINE, msg);
- 381 14 final Set<Dependency> dependencySet = new HashSet<Dependency>();
- 382 14 dependencySet.addAll(dependencies);
- 383 14 for (Dependency d : dependencySet) {
- 384 28 boolean shouldAnalyze = true;
- 385 28 if (a instanceof FileTypeAnalyzer) {
- 386 12 final FileTypeAnalyzer fAnalyzer = (FileTypeAnalyzer) a;
- 387 12 shouldAnalyze = fAnalyzer.supportsExtension(d.getFileExtension());
- 388
- }
- 389 28 if (shouldAnalyze) {
- 390 22 final String msgFile = String.format("Begin Analysis of '%s'", d.getActualFilePath());
- 391 22 LOGGER.log(Level.FINE, msgFile);
- 392
- try {
- 393 22 a.analyze(d, this);
- 394 0 } catch (AnalysisException ex) {
- 395 0 final String exMsg = String.format("An error occurred while analyzing '%s'.", d.getActualFilePath());
- 396 0 LOGGER.log(Level.WARNING, exMsg);
- 397 0 LOGGER.log(Level.FINE, "", ex);
- 398 0 } catch (Throwable ex) {
- 399 0 final String axMsg = String.format("An unexpected error occurred during analysis of '%s'", d.getActualFilePath());
- 400
- //final AnalysisException ax = new AnalysisException(axMsg, ex);
- 401 0 LOGGER.log(Level.WARNING, axMsg);
- 402 0 LOGGER.log(Level.FINE, "", ex);
- 403 22 }
- 404
- }
- 405 28 }
- 406 14 }
- 407
- }
- 408 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 409 9 final List<Analyzer> analyzerList = analyzers.get(phase);
- 410
- 411 9 for (Analyzer a : analyzerList) {
- 412 14 closeAnalyzer(a);
- 413 14 }
- 414
+ 377 9 for (Analyzer a : analyzerList) {
+ 378 14 a = initializeAnalyzer(a);
+ 379
+
+ 380
+ /* need to create a copy of the collection because some of the
+ 381
+ * analyzers may modify it. This prevents ConcurrentModificationExceptions.
+ 382
+ * This is okay for adds/deletes because it happens per analyzer.
+ 383
+ */
+ 384 14 final String msg = String.format("Begin Analyzer '%s'", a.getName());
+ 385 14 LOGGER.log(Level.FINE, msg);
+ 386 14 final Set<Dependency> dependencySet = new HashSet<Dependency>();
+ 387 14 dependencySet.addAll(dependencies);
+ 388 14 for (Dependency d : dependencySet) {
+ 389 28 boolean shouldAnalyze = true;
+ 390 28 if (a instanceof FileTypeAnalyzer) {
+ 391 12 final FileTypeAnalyzer fAnalyzer = (FileTypeAnalyzer) a;
+ 392 12 shouldAnalyze = fAnalyzer.supportsExtension(d.getFileExtension());
+ 393
+ }
+ 394 28 if (shouldAnalyze) {
+ 395 20 final String msgFile = String.format("Begin Analysis of '%s'", d.getActualFilePath());
+ 396 20 LOGGER.log(Level.FINE, msgFile);
+ 397
+ try {
+ 398 20 a.analyze(d, this);
+ 399 0 } catch (AnalysisException ex) {
+ 400 0 final String exMsg = String.format("An error occurred while analyzing '%s'.", d.getActualFilePath());
+ 401 0 LOGGER.log(Level.WARNING, exMsg);
+ 402 0 LOGGER.log(Level.FINE, "", ex);
+ 403 0 } catch (Throwable ex) {
+ 404 0 final String axMsg = String.format("An unexpected error occurred during analysis of '%s'", d.getActualFilePath());
+ 405
+ //final AnalysisException ax = new AnalysisException(axMsg, ex);
+ 406 0 LOGGER.log(Level.WARNING, axMsg);
+ 407 0 LOGGER.log(Level.FINE, "", ex);
+ 408 20 }
+ 409
+ }
+ 410 28 }
+ 411 14 }
+ 412
}
+ 413 10 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 414 9 final List<Analyzer> analyzerList = analyzers.get(phase);
415
- 416 1 final String logFooter = String.format("%n"
- 417
- + "----------------------------------------------------%n"
- 418
- + "END ANALYSIS%n"
+ 416 9 for (Analyzer a : analyzerList) {
+ 417 14 closeAnalyzer(a);
+ 418 14 }
419
- + "----------------------------------------------------");
- 420 1 LOGGER.log(Level.FINE, logFooter);
- 421 1 LOGGER.log(Level.INFO, "Analysis Complete");
- 422 1 }
+ }
+ 420
+
+ 421 1 final String logFooter = String.format("%n"
+ 422
+ + "----------------------------------------------------%n"
423
-
+ + "END ANALYSIS%n"
424
- /**
- 425
- * Initializes the given analyzer.
- 426
- *
- 427
- * @param analyzer the analyzer to initialize
+ + "----------------------------------------------------");
+ 425 1 LOGGER.log(Level.FINE, logFooter);
+ 426 1 LOGGER.log(Level.INFO, "Analysis Complete");
+ 427 1 }
428
- * @return the initialized analyzer
+
429
- */
+ /**
430
- protected Analyzer initializeAnalyzer(Analyzer analyzer) {
+ * Initializes the given analyzer.
431
- try {
- 432 14 final String msg = String.format("Initializing %s", analyzer.getName());
- 433 14 LOGGER.log(Level.FINE, msg);
- 434 14 analyzer.initialize();
- 435 0 } catch (Throwable ex) {
- 436 0 final String msg = String.format("Exception occurred initializing %s.", analyzer.getName());
- 437 0 LOGGER.log(Level.SEVERE, msg);
- 438 0 LOGGER.log(Level.FINE, null, ex);
- 439
- try {
- 440 0 analyzer.close();
- 441 0 } catch (Throwable ex1) {
- 442 0 LOGGER.log(Level.FINEST, null, ex1);
- 443 0 }
- 444 14 }
- 445 14 return analyzer;
- 446
- }
- 447
-
- 448
- /**
- 449
- * Closes the given analyzer.
- 450
*
+ 432
+ * @param analyzer the analyzer to initialize
+ 433
+ * @return the initialized analyzer
+ 434
+ */
+ 435
+ protected Analyzer initializeAnalyzer(Analyzer analyzer) {
+ 436
+ try {
+ 437 14 final String msg = String.format("Initializing %s", analyzer.getName());
+ 438 14 LOGGER.log(Level.FINE, msg);
+ 439 14 analyzer.initialize();
+ 440 0 } catch (Throwable ex) {
+ 441 0 final String msg = String.format("Exception occurred initializing %s.", analyzer.getName());
+ 442 0 LOGGER.log(Level.SEVERE, msg);
+ 443 0 LOGGER.log(Level.FINE, null, ex);
+ 444
+ try {
+ 445 0 analyzer.close();
+ 446 0 } catch (Throwable ex1) {
+ 447 0 LOGGER.log(Level.FINEST, null, ex1);
+ 448 0 }
+ 449 14 }
+ 450 14 return analyzer;
451
- * @param analyzer the analyzer to close
+ }
452
- */
+
453
- protected void closeAnalyzer(Analyzer analyzer) {
- 454 14 final String msg = String.format("Closing Analyzer '%s'", analyzer.getName());
- 455 14 LOGGER.log(Level.FINE, msg);
+ /**
+ 454
+ * Closes the given analyzer.
+ 455
+ *
456
+ * @param analyzer the analyzer to close
+ 457
+ */
+ 458
+ protected void closeAnalyzer(Analyzer analyzer) {
+ 459 14 final String msg = String.format("Closing Analyzer '%s'", analyzer.getName());
+ 460 14 LOGGER.log(Level.FINE, msg);
+ 461
try {
- 457 14 analyzer.close();
- 458 0 } catch (Throwable ex) {
- 459 0 LOGGER.log(Level.FINEST, null, ex);
- 460 14 }
- 461 14 }
- 462
+ 462 14 analyzer.close();
+ 463 0 } catch (Throwable ex) {
+ 464 0 LOGGER.log(Level.FINEST, null, ex);
+ 465 14 }
+ 466 14 }
+ 467
- 463
+ 468
/**
- 464
+ 469
* Cycles through the cached web data sources and calls update on all of them.
- 465
+ 470
*/
- 466
+ 471
private void doUpdates() {
- 467 0 LOGGER.info("Checking for updates");
- 468 0 final UpdateService service = new UpdateService(serviceClassLoader);
- 469 0 final Iterator<CachedWebDataSource> iterator = service.getDataSources();
- 470 0 while (iterator.hasNext()) {
- 471 0 final CachedWebDataSource source = iterator.next();
- 472
+ 472 0 LOGGER.info("Checking for updates");
+ 473 0 final UpdateService service = new UpdateService(serviceClassLoader);
+ 474 0 final Iterator<CachedWebDataSource> iterator = service.getDataSources();
+ 475 0 while (iterator.hasNext()) {
+ 476 0 final CachedWebDataSource source = iterator.next();
+ 477
try {
- 473 0 source.update();
- 474 0 } catch (UpdateException ex) {
- 475 0 LOGGER.log(Level.WARNING,
- 476
+ 478 0 source.update();
+ 479 0 } catch (UpdateException ex) {
+ 480 0 LOGGER.log(Level.WARNING,
+ 481
"Unable to update Cached Web DataSource, using local data instead. Results may not include recent vulnerabilities.");
- 477 0 LOGGER.log(Level.FINE, String.format("Unable to update details for %s", source.getClass().getName()), ex);
- 478 0 }
- 479 0 }
- 480 0 LOGGER.info("Check for updates complete");
- 481 0 }
- 482
-
- 483
- /**
- 484
- * Returns a full list of all of the analyzers. This is useful for reporting which analyzers where used.
- 485
- *
- 486
- * @return a list of Analyzers
+ 482 0 LOGGER.log(Level.FINE, String.format("Unable to update details for %s", source.getClass().getName()), ex);
+ 483 0 }
+ 484 0 }
+ 485 0 LOGGER.info("Check for updates complete");
+ 486 0 }
487
- */
+
488
- public List<Analyzer> getAnalyzers() {
- 489 0 final List<Analyzer> ret = new ArrayList<Analyzer>();
- 490 0 for (AnalysisPhase phase : AnalysisPhase.values()) {
- 491 0 final List<Analyzer> analyzerList = analyzers.get(phase);
- 492 0 ret.addAll(analyzerList);
+ /**
+ 489
+ * Returns a full list of all of the analyzers. This is useful for reporting which analyzers where used.
+ 490
+ *
+ 491
+ * @return a list of Analyzers
+ 492
+ */
493
- }
- 494 0 return ret;
- 495
- }
- 496
-
- 497
- /**
+ public List<Analyzer> getAnalyzers() {
+ 494 0 final List<Analyzer> ret = new ArrayList<Analyzer>();
+ 495 0 for (AnalysisPhase phase : AnalysisPhase.values()) {
+ 496 0 final List<Analyzer> analyzerList = analyzers.get(phase);
+ 497 0 ret.addAll(analyzerList);
498
- * Checks all analyzers to see if an extension is supported.
- 499
- *
- 500
- * @param ext a file extension
- 501
- * @return true or false depending on whether or not the file extension is supported
- 502
- */
- 503
- public boolean supportsExtension(String ext) {
- 504 851 if (ext == null) {
- 505 3 return false;
- 506
}
- 507 848 boolean scan = false;
- 508 848 for (FileTypeAnalyzer a : this.fileTypeAnalyzers) {
- 509
- /* note, we can't break early on this loop as the analyzers need to know if
- 510
- they have files to work on prior to initialization */
- 511 5088 scan |= a.supportsExtension(ext);
- 512 5088 }
- 513 848 return scan;
- 514
+ 499 0 return ret;
+ 500
}
- 515
+ 501
- 516
+ 502
/**
- 517
- * Checks the CPE Index to ensure documents exists. If none exist a NoDataException is thrown.
- 518
+ 503
+ * Checks all analyzers to see if an extension is supported.
+ 504
*
- 519
- * @throws NoDataException thrown if no data exists in the CPE Index
- 520
- * @throws DatabaseException thrown if there is an exception opening the database
- 521
+ 505
+ * @param ext a file extension
+ 506
+ * @return true or false depending on whether or not the file extension is supported
+ 507
*/
+ 508
+ public boolean supportsExtension(String ext) {
+ 509 851 if (ext == null) {
+ 510 3 return false;
+ 511
+ }
+ 512 848 boolean scan = false;
+ 513 848 for (FileTypeAnalyzer a : this.fileTypeAnalyzers) {
+ 514
+ /* note, we can't break early on this loop as the analyzers need to know if
+ 515
+ they have files to work on prior to initialization */
+ 516 5088 scan |= a.supportsExtension(ext);
+ 517 5088 }
+ 518 848 return scan;
+ 519
+ }
+ 520
+
+ 521
+ /**
522
- private void ensureDataExists() throws NoDataException, DatabaseException {
- 523 1 final CveDB cve = new CveDB();
+ * Returns the set of file type analyzers.
+ 523
+ *
524
- try {
- 525 1 cve.open();
- 526 1 if (!cve.dataExists()) {
- 527 0 throw new NoDataException("No documents exist");
+ * @return the set of file type analyzers
+ 525
+ */
+ 526
+ public Set<FileTypeAnalyzer> getFileTypeAnalyzers() {
+ 527 0 return this.fileTypeAnalyzers;
528
- }
- 529 0 } catch (DatabaseException ex) {
- 530 0 throw new NoDataException(ex.getMessage(), ex);
+ }
+ 529
+
+ 530
+ /**
531
- } finally {
- 532 1 cve.close();
- 533 1 }
- 534 1 }
+ * Checks the CPE Index to ensure documents exists. If none exist a NoDataException is thrown.
+ 532
+ *
+ 533
+ * @throws NoDataException thrown if no data exists in the CPE Index
+ 534
+ * @throws DatabaseException thrown if there is an exception opening the database
535
+ */
+ 536
+ private void ensureDataExists() throws NoDataException, DatabaseException {
+ 537 1 final CveDB cve = new CveDB();
+ 538
+ try {
+ 539 1 cve.open();
+ 540 1 if (!cve.dataExists()) {
+ 541 0 throw new NoDataException("No documents exist");
+ 542
+ }
+ 543 0 } catch (DatabaseException ex) {
+ 544 0 throw new NoDataException(ex.getMessage(), ex);
+ 545
+ } finally {
+ 546 1 cve.close();
+ 547 1 }
+ 548 1 }
+ 549
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html
index 14a1e2962..c0c9d67c1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.agent.DependencyCheckScanAgent.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- DependencyCheckScanAgent 0%
0%
1.8571428571428572;1.857
+ DependencyCheckScanAgent 0%
0%
1.8571428571428572;1.857
@@ -175,8 +175,7 @@
*/
81
public String getApplicationName() {
- 82
- return applicationName;
+ 82 0 return applicationName;
83
}
84
@@ -193,10 +192,8 @@
*/
90
public void setApplicationName(String applicationName) {
- 91
- this.applicationName = applicationName;
- 92
- }
+ 91 0 this.applicationName = applicationName;
+ 92 0 }
93
94
@@ -221,8 +218,7 @@
*/
104
public List<Dependency> getDependencies() {
- 105
- return dependencies;
+ 105 0 return dependencies;
106
}
107
@@ -239,10 +235,8 @@
*/
113
public void setDependencies(List<Dependency> dependencies) {
- 114
- this.dependencies = dependencies;
- 115
- }
+ 114 0 this.dependencies = dependencies;
+ 115 0 }
116
117
@@ -266,8 +260,7 @@
*/
127
public String getDataDirectory() {
- 128
- return dataDirectory;
+ 128 0 return dataDirectory;
129
}
130
@@ -284,10 +277,8 @@
*/
136
public void setDataDirectory(String dataDirectory) {
- 137
- this.dataDirectory = dataDirectory;
- 138
- }
+ 137 0 this.dataDirectory = dataDirectory;
+ 138 0 }
139
140
@@ -312,8 +303,7 @@
*/
150
public String getReportOutputDirectory() {
- 151
- return reportOutputDirectory;
+ 151 0 return reportOutputDirectory;
152
}
153
@@ -330,10 +320,8 @@
*/
159
public void setReportOutputDirectory(String reportOutputDirectory) {
- 160
- this.reportOutputDirectory = reportOutputDirectory;
- 161
- }
+ 160 0 this.reportOutputDirectory = reportOutputDirectory;
+ 161 0 }
162
163
@@ -361,8 +349,7 @@
*/
175
public float getFailBuildOnCVSS() {
- 176
- return failBuildOnCVSS;
+ 176 0 return failBuildOnCVSS;
177
}
178
@@ -379,10 +366,8 @@
*/
184
public void setFailBuildOnCVSS(float failBuildOnCVSS) {
- 185
- this.failBuildOnCVSS = failBuildOnCVSS;
- 186
- }
+ 185 0 this.failBuildOnCVSS = failBuildOnCVSS;
+ 186 0 }
187
188
@@ -408,8 +393,7 @@
*/
199
public boolean isAutoUpdate() {
- 200
- return autoUpdate;
+ 200 0 return autoUpdate;
201
}
202
@@ -426,10 +410,8 @@
*/
208
public void setAutoUpdate(boolean autoUpdate) {
- 209
- this.autoUpdate = autoUpdate;
- 210
- }
+ 209 0 this.autoUpdate = autoUpdate;
+ 210 0 }
211
212
@@ -455,8 +437,7 @@
*/
223
public ReportGenerator.Format getReportFormat() {
- 224
- return reportFormat;
+ 224 0 return reportFormat;
225
}
226
@@ -473,10 +454,8 @@
*/
232
public void setReportFormat(ReportGenerator.Format reportFormat) {
- 233
- this.reportFormat = reportFormat;
- 234
- }
+ 233 0 this.reportFormat = reportFormat;
+ 234 0 }
235
236
@@ -501,8 +480,7 @@
*/
246
public String getProxyServer() {
- 247
- return proxyServer;
+ 247 0 return proxyServer;
248
}
249
@@ -519,10 +497,8 @@
*/
255
public void setProxyServer(String proxyServer) {
- 256
- this.proxyServer = proxyServer;
- 257
- }
+ 256 0 this.proxyServer = proxyServer;
+ 257 0 }
258
259
@@ -541,8 +517,7 @@
@Deprecated
266
public String getProxyUrl() {
- 267
- return proxyServer;
+ 267 0 return proxyServer;
268
}
269
@@ -565,10 +540,8 @@
@Deprecated
278
public void setProxyUrl(String proxyUrl) {
- 279
- this.proxyServer = proxyUrl;
- 280
- }
+ 279 0 this.proxyServer = proxyUrl;
+ 280 0 }
281
282
@@ -593,8 +566,7 @@
*/
292
public String getProxyPort() {
- 293
- return proxyPort;
+ 293 0 return proxyPort;
294
}
295
@@ -611,10 +583,8 @@
*/
301
public void setProxyPort(String proxyPort) {
- 302
- this.proxyPort = proxyPort;
- 303
- }
+ 302 0 this.proxyPort = proxyPort;
+ 303 0 }
304
305
@@ -639,8 +609,7 @@
*/
315
public String getProxyUsername() {
- 316
- return proxyUsername;
+ 316 0 return proxyUsername;
317
}
318
@@ -657,10 +626,8 @@
*/
324
public void setProxyUsername(String proxyUsername) {
- 325
- this.proxyUsername = proxyUsername;
- 326
- }
+ 325 0 this.proxyUsername = proxyUsername;
+ 326 0 }
327
328
@@ -685,8 +652,7 @@
*/
338
public String getProxyPassword() {
- 339
- return proxyPassword;
+ 339 0 return proxyPassword;
340
}
341
@@ -703,10 +669,8 @@
*/
347
public void setProxyPassword(String proxyPassword) {
- 348
- this.proxyPassword = proxyPassword;
- 349
- }
+ 348 0 this.proxyPassword = proxyPassword;
+ 349 0 }
350
351
@@ -731,8 +695,7 @@
*/
361
public String getConnectionTimeout() {
- 362
- return connectionTimeout;
+ 362 0 return connectionTimeout;
363
}
364
@@ -749,10 +712,8 @@
*/
370
public void setConnectionTimeout(String connectionTimeout) {
- 371
- this.connectionTimeout = connectionTimeout;
- 372
- }
+ 371 0 this.connectionTimeout = connectionTimeout;
+ 372 0 }
373
374
@@ -776,8 +737,7 @@
*/
384
public String getLogFile() {
- 385
- return logFile;
+ 385 0 return logFile;
386
}
387
@@ -794,10 +754,8 @@
*/
393
public void setLogFile(String logFile) {
- 394
- this.logFile = logFile;
- 395
- }
+ 394 0 this.logFile = logFile;
+ 395 0 }
396
397
@@ -822,8 +780,7 @@
*/
407
public String getSuppressionFile() {
- 408
- return suppressionFile;
+ 408 0 return suppressionFile;
409
}
410
@@ -840,10 +797,8 @@
*/
416
public void setSuppressionFile(String suppressionFile) {
- 417
- this.suppressionFile = suppressionFile;
- 418
- }
+ 417 0 this.suppressionFile = suppressionFile;
+ 418 0 }
419
420
@@ -867,8 +822,7 @@
*/
430
public boolean isShowSummary() {
- 431
- return showSummary;
+ 431 0 return showSummary;
432
}
433
@@ -885,10 +839,8 @@
*/
439
public void setShowSummary(boolean showSummary) {
- 440
- this.showSummary = showSummary;
- 441
- }
+ 440 0 this.showSummary = showSummary;
+ 441 0 }
442
443
@@ -912,8 +864,7 @@
*/
453
public boolean isCentralAnalyzerEnabled() {
- 454
- return centralAnalyzerEnabled;
+ 454 0 return centralAnalyzerEnabled;
455
}
456
@@ -930,10 +881,8 @@
*/
462
public void setCentralAnalyzerEnabled(boolean centralAnalyzerEnabled) {
- 463
- this.centralAnalyzerEnabled = centralAnalyzerEnabled;
- 464
- }
+ 463 0 this.centralAnalyzerEnabled = centralAnalyzerEnabled;
+ 464 0 }
465
466
@@ -958,8 +907,7 @@
*/
476
public String getCentralUrl() {
- 477
- return centralUrl;
+ 477 0 return centralUrl;
478
}
479
@@ -976,10 +924,8 @@
*/
485
public void setCentralUrl(String centralUrl) {
- 486
- this.centralUrl = centralUrl;
- 487
- }
+ 486 0 this.centralUrl = centralUrl;
+ 487 0 }
488
489
@@ -1003,8 +949,7 @@
*/
499
public boolean isNexusAnalyzerEnabled() {
- 500
- return nexusAnalyzerEnabled;
+ 500 0 return nexusAnalyzerEnabled;
501
}
502
@@ -1021,10 +966,8 @@
*/
508
public void setNexusAnalyzerEnabled(boolean nexusAnalyzerEnabled) {
- 509
- this.nexusAnalyzerEnabled = nexusAnalyzerEnabled;
- 510
- }
+ 509 0 this.nexusAnalyzerEnabled = nexusAnalyzerEnabled;
+ 510 0 }
511
512
@@ -1049,8 +992,7 @@
*/
522
public String getNexusUrl() {
- 523
- return nexusUrl;
+ 523 0 return nexusUrl;
524
}
525
@@ -1067,10 +1009,8 @@
*/
531
public void setNexusUrl(String nexusUrl) {
- 532
- this.nexusUrl = nexusUrl;
- 533
- }
+ 532 0 this.nexusUrl = nexusUrl;
+ 533 0 }
534
535
@@ -1094,8 +1034,7 @@
*/
545
public boolean isNexusUsesProxy() {
- 546
- return nexusUsesProxy;
+ 546 0 return nexusUsesProxy;
547
}
548
@@ -1112,10 +1051,8 @@
*/
554
public void setNexusUsesProxy(boolean nexusUsesProxy) {
- 555
- this.nexusUsesProxy = nexusUsesProxy;
- 556
- }
+ 555 0 this.nexusUsesProxy = nexusUsesProxy;
+ 556 0 }
557
558
@@ -1140,8 +1077,7 @@
*/
568
public String getDatabaseDriverName() {
- 569
- return databaseDriverName;
+ 569 0 return databaseDriverName;
570
}
571
@@ -1158,10 +1094,8 @@
*/
577
public void setDatabaseDriverName(String databaseDriverName) {
- 578
- this.databaseDriverName = databaseDriverName;
- 579
- }
+ 578 0 this.databaseDriverName = databaseDriverName;
+ 579 0 }
580
581
@@ -1186,8 +1120,7 @@
*/
591
public String getDatabaseDriverPath() {
- 592
- return databaseDriverPath;
+ 592 0 return databaseDriverPath;
593
}
594
@@ -1204,10 +1137,8 @@
*/
600
public void setDatabaseDriverPath(String databaseDriverPath) {
- 601
- this.databaseDriverPath = databaseDriverPath;
- 602
- }
+ 601 0 this.databaseDriverPath = databaseDriverPath;
+ 602 0 }
603
604
@@ -1232,8 +1163,7 @@
*/
614
public String getConnectionString() {
- 615
- return connectionString;
+ 615 0 return connectionString;
616
}
617
@@ -1250,10 +1180,8 @@
*/
623
public void setConnectionString(String connectionString) {
- 624
- this.connectionString = connectionString;
- 625
- }
+ 624 0 this.connectionString = connectionString;
+ 625 0 }
626
627
@@ -1278,8 +1206,7 @@
*/
637
public String getDatabaseUser() {
- 638
- return databaseUser;
+ 638 0 return databaseUser;
639
}
640
@@ -1296,10 +1223,8 @@
*/
646
public void setDatabaseUser(String databaseUser) {
- 647
- this.databaseUser = databaseUser;
- 648
- }
+ 647 0 this.databaseUser = databaseUser;
+ 648 0 }
649
650
@@ -1324,8 +1249,7 @@
*/
660
public String getDatabasePassword() {
- 661
- return databasePassword;
+ 661 0 return databasePassword;
662
}
663
@@ -1342,10 +1266,8 @@
*/
669
public void setDatabasePassword(String databasePassword) {
- 670
- this.databasePassword = databasePassword;
- 671
- }
+ 670 0 this.databasePassword = databasePassword;
+ 671 0 }
672
673
@@ -1372,8 +1294,7 @@
*/
684
public String getZipExtensions() {
- 685
- return zipExtensions;
+ 685 0 return zipExtensions;
686
}
687
@@ -1390,10 +1311,8 @@
*/
693
public void setZipExtensions(String zipExtensions) {
- 694
- this.zipExtensions = zipExtensions;
- 695
- }
+ 694 0 this.zipExtensions = zipExtensions;
+ 695 0 }
696
697
@@ -1418,8 +1337,7 @@
*/
707
public String getCveUrl12Modified() {
- 708
- return cveUrl12Modified;
+ 708 0 return cveUrl12Modified;
709
}
710
@@ -1436,10 +1354,8 @@
*/
716
public void setCveUrl12Modified(String cveUrl12Modified) {
- 717
- this.cveUrl12Modified = cveUrl12Modified;
- 718
- }
+ 717 0 this.cveUrl12Modified = cveUrl12Modified;
+ 718 0 }
719
720
@@ -1464,8 +1380,7 @@
*/
730
public String getCveUrl20Modified() {
- 731
- return cveUrl20Modified;
+ 731 0 return cveUrl20Modified;
732
}
733
@@ -1482,10 +1397,8 @@
*/
739
public void setCveUrl20Modified(String cveUrl20Modified) {
- 740
- this.cveUrl20Modified = cveUrl20Modified;
- 741
- }
+ 740 0 this.cveUrl20Modified = cveUrl20Modified;
+ 741 0 }
742
743
@@ -1510,8 +1423,7 @@
*/
753
public String getCveUrl12Base() {
- 754
- return cveUrl12Base;
+ 754 0 return cveUrl12Base;
755
}
756
@@ -1528,10 +1440,8 @@
*/
762
public void setCveUrl12Base(String cveUrl12Base) {
- 763
- this.cveUrl12Base = cveUrl12Base;
- 764
- }
+ 763 0 this.cveUrl12Base = cveUrl12Base;
+ 764 0 }
765
766
@@ -1556,8 +1466,7 @@
*/
776
public String getCveUrl20Base() {
- 777
- return cveUrl20Base;
+ 777 0 return cveUrl20Base;
778
}
779
@@ -1574,10 +1483,8 @@
*/
785
public void setCveUrl20Base(String cveUrl20Base) {
- 786
- this.cveUrl20Base = cveUrl20Base;
- 787
- }
+ 786 0 this.cveUrl20Base = cveUrl20Base;
+ 787 0 }
788
789
@@ -1602,8 +1509,7 @@
*/
799
public String getPathToMono() {
- 800
- return pathToMono;
+ 800 0 return pathToMono;
801
}
802
@@ -1620,10 +1526,8 @@
*/
808
public void setPathToMono(String pathToMono) {
- 809
- this.pathToMono = pathToMono;
- 810
- }
+ 809 0 this.pathToMono = pathToMono;
+ 810 0 }
811
812
@@ -1677,7 +1581,7 @@
842 0 LOGGER.log(Level.FINE, "Unable to retrieve DB Properties", ex);
843
} finally {
- 844 0 if (cve != null) {
+ 844 0 if (cve != null) {
845 0 cve.close();
846
}
@@ -1845,7 +1749,7 @@
963
} finally {
964 0 Settings.cleanup(true);
- 965 0 if (engine != null) {
+ 965 0 if (engine != null) {
966 0 engine.cleanup();
967
}
@@ -1963,6 +1867,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
index 24544f395..727375ce9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- AbstractAnalyzer 100%
N/A
1.0;1
+ AbstractAnalyzer 100%
N/A
1.0;1
@@ -63,8 +63,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
23
*/
- 24
- public abstract class AbstractAnalyzer implements Analyzer {
+ 24 62 public abstract class AbstractAnalyzer implements Analyzer {
25
26
@@ -107,6 +106,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html
index 10310a5ae..c22a5a380 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractFileTypeAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- AbstractFileTypeAnalyzer 74%
80%
1.6153846153846154;1.615
+ AbstractFileTypeAnalyzer 69%
80%
1.5714285714285714;1.571
@@ -102,346 +102,354 @@
42
*/
43 31 public AbstractFileTypeAnalyzer() {
- 44 31 final String key = getAnalyzerEnabledSettingKey();
- 45
- try {
- 46 31 enabled = Settings.getBoolean(key, true);
- 47 0 } catch (InvalidSettingException ex) {
- 48 0 String msg = String.format("Invalid setting for property '%s'", key);
- 49 0 LOGGER.log(Level.WARNING, msg);
- 50 0 LOGGER.log(Level.FINE, "", ex);
- 51 0 msg = String.format("%s has been disabled", getName());
- 52 0 LOGGER.log(Level.WARNING, msg);
- 53 31 }
- 54 31 }
- 55
+ 44 31 reset();
+ 45 31 }
+ 46
//</editor-fold>
- 56
+ 47
- 57
+ 48
//<editor-fold defaultstate="collapsed" desc="Field definitions">
+ 49
+ /**
+ 50
+ * The logger.
+ 51
+ */
+ 52 1 private static final Logger LOGGER = Logger.getLogger(AbstractFileTypeAnalyzer.class.getName());
+ 53
+ /**
+ 54
+ * Whether the file type analyzer detected any files it needs to analyze.
+ 55
+ */
+ 56 31 private boolean filesMatched = false;
+ 57
+
58
/**
59
- * The logger.
+ * Get the value of filesMatched. A flag indicating whether the scan included any file types this analyzer supports.
60
- */
- 61 1 private static final Logger LOGGER = Logger.getLogger(AbstractFileTypeAnalyzer.class.getName());
+ *
+ 61
+ * @return the value of filesMatched
62
- /**
- 63
- * Whether the file type analyzer detected any files it needs to analyze.
- 64
*/
- 65 31 private boolean filesMatched = false;
+ 63
+ protected boolean isFilesMatched() {
+ 64 0 return filesMatched;
+ 65
+ }
66
67
/**
68
- * Get the value of filesMatched. A flag indicating whether the scan included any file types this analyzer supports.
+ * Set the value of filesMatched. A flag indicating whether the scan included any file types this analyzer supports.
69
*
70
- * @return the value of filesMatched
+ * @param filesMatched new value of filesMatched
71
*/
72
- protected boolean isFilesMatched() {
- 73
- return filesMatched;
- 74
- }
+ protected void setFilesMatched(boolean filesMatched) {
+ 73 0 this.filesMatched = filesMatched;
+ 74 0 }
75
76
/**
77
- * Set the value of filesMatched. A flag indicating whether the scan included any file types this analyzer supports.
- 78
- *
- 79
- * @param filesMatched new value of filesMatched
- 80
- */
- 81
- protected void setFilesMatched(boolean filesMatched) {
- 82
- this.filesMatched = filesMatched;
- 83
- }
- 84
-
- 85
- /**
- 86
* A flag indicating whether or not the analyzer is enabled.
- 87
+ 78
*/
- 88 31 private boolean enabled = true;
+ 79 31 private boolean enabled = true;
+ 80
+
+ 81
+ /**
+ 82
+ * Get the value of enabled.
+ 83
+ *
+ 84
+ * @return the value of enabled
+ 85
+ */
+ 86
+ public boolean isEnabled() {
+ 87 0 return enabled;
+ 88
+ }
89
90
/**
91
- * Get the value of enabled.
+ * Set the value of enabled.
92
*
93
- * @return the value of enabled
+ * @param enabled new value of enabled
94
*/
95
- public boolean isEnabled() {
- 96
- return enabled;
- 97
- }
- 98
-
- 99
- /**
- 100
- * Set the value of enabled.
- 101
- *
- 102
- * @param enabled new value of enabled
- 103
- */
- 104
public void setEnabled(boolean enabled) {
- 105
- this.enabled = enabled;
- 106
- }
- 107
+ 96 4 this.enabled = enabled;
+ 97 4 }
+ 98
//</editor-fold>
- 108
+ 99
- 109
+ 100
//<editor-fold defaultstate="collapsed" desc="Abstract methods children must implement">
- 110
+ 101
/**
+ 102
+ * <p>
+ 103
+ * Returns a list of supported file extensions. An example would be an analyzer that inspected java jar files. The
+ 104
+ * getSupportedExtensions function would return a set with a single element "jar".</p>
+ 105
+ *
+ 106
+ * <p>
+ 107
+ * <b>Note:</b> when implementing this the extensions returned MUST be lowercase.</p>
+ 108
+ *
+ 109
+ * @return The file extensions supported by this analyzer.
+ 110
+ *
111
* <p>
112
- * Returns a list of supported file extensions. An example would be an analyzer that inspected java jar files. The
+ * If the analyzer returns null it will not cause additional files to be analyzed but will be executed against every
113
- * getSupportedExtensions function would return a set with a single element "jar".</p>
+ * file loaded</p>
114
- *
+ */
115
- * <p>
+ protected abstract Set<String> getSupportedExtensions();
116
- * <b>Note:</b> when implementing this the extensions returned MUST be lowercase.</p>
+
117
- *
+ /**
118
- * @return The file extensions supported by this analyzer.
+ * Initializes the file type analyzer.
119
*
120
- * <p>
- 121
- * If the analyzer returns null it will not cause additional files to be analyzed but will be executed against every
- 122
- * file loaded</p>
- 123
- */
- 124
- protected abstract Set<String> getSupportedExtensions();
- 125
-
- 126
- /**
- 127
- * Initializes the file type analyzer.
- 128
- *
- 129
* @throws Exception thrown if there is an exception during initialization
- 130
+ 121
*/
- 131
+ 122
protected abstract void initializeFileTypeAnalyzer() throws Exception;
- 132
+ 123
- 133
+ 124
/**
- 134
+ 125
* Analyzes a given dependency. If the dependency is an archive, such as a WAR or EAR, the contents are extracted,
- 135
+ 126
* scanned, and added to the list of dependencies within the engine.
- 136
+ 127
*
- 137
+ 128
* @param dependency the dependency to analyze
- 138
+ 129
* @param engine the engine scanning
- 139
+ 130
* @throws AnalysisException thrown if there is an analysis exception
- 140
+ 131
*/
- 141
+ 132
protected abstract void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException;
- 142
+ 133
- 143
+ 134
/**
- 144
+ 135
* <p>
- 145
+ 136
* Returns the setting key to determine if the analyzer is enabled.</p>
+ 137
+ *
+ 138
+ * @return the key for the analyzer's enabled property
+ 139
+ */
+ 140
+ protected abstract String getAnalyzerEnabledSettingKey();
+ 141
+
+ 142
+ //</editor-fold>
+ 143
+ //<editor-fold defaultstate="collapsed" desc="Final implementations for the Analyzer interface">
+ 144
+ /**
+ 145
+ * Initializes the analyzer.
146
*
147
- * @return the key for the analyzer's enabled property
+ * @throws Exception thrown if there is an exception during initialization
148
*/
149
- protected abstract String getAnalyzerEnabledSettingKey();
+ @Override
150
-
- 151
- //</editor-fold>
- 152
- //<editor-fold defaultstate="collapsed" desc="Final implementations for the Analyzer interface">
- 153
- /**
- 154
- * Initializes the analyzer.
- 155
- *
- 156
- * @throws Exception thrown if there is an exception during initialization
- 157
- */
- 158
- @Override
- 159
public final void initialize() throws Exception {
- 160 11 if (filesMatched) {
- 161 8 initializeFileTypeAnalyzer();
+ 151 11 if (filesMatched) {
+ 152 7 initializeFileTypeAnalyzer();
+ 153
+ } else {
+ 154 4 enabled = false;
+ 155
+ }
+ 156 11 }
+ 157
+
+ 158
+ /**
+ 159
+ * Resets the enabled flag on the analyzer.
+ 160
+ */
+ 161
+ @Override
162
- } else {
- 163 3 enabled = false;
+ public final void reset() {
+ 163 31 final String key = getAnalyzerEnabledSettingKey();
164
- }
- 165 11 }
- 166
-
- 167
- /**
- 168
- * Analyzes a given dependency. If the dependency is an archive, such as a WAR or EAR, the contents are extracted,
- 169
- * scanned, and added to the list of dependencies within the engine.
- 170
- *
- 171
- * @param dependency the dependency to analyze
- 172
- * @param engine the engine scanning
- 173
- * @throws AnalysisException thrown if there is an analysis exception
+ try {
+ 165 31 enabled = Settings.getBoolean(key, true);
+ 166 0 } catch (InvalidSettingException ex) {
+ 167 0 String msg = String.format("Invalid setting for property '%s'", key);
+ 168 0 LOGGER.log(Level.WARNING, msg);
+ 169 0 LOGGER.log(Level.FINE, "", ex);
+ 170 0 msg = String.format("%s has been disabled", getName());
+ 171 0 LOGGER.log(Level.WARNING, msg);
+ 172 31 }
+ 173 31 }
174
- */
+
175
- @Override
+ /**
176
- public final void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 177 12 if (enabled) {
- 178 12 analyzeFileType(dependency, engine);
+ * Analyzes a given dependency. If the dependency is an archive, such as a WAR or EAR, the contents are extracted,
+ 177
+ * scanned, and added to the list of dependencies within the engine.
+ 178
+ *
179
- }
- 180 11 }
+ * @param dependency the dependency to analyze
+ 180
+ * @param engine the engine scanning
181
-
+ * @throws AnalysisException thrown if there is an analysis exception
182
- /**
+ */
183
- * Returns whether or not this analyzer can process the given extension.
- 184
- *
- 185
- * @param extension the file extension to test for support.
- 186
- * @return whether or not the specified file extension is supported by this analyzer.
- 187
- */
- 188
@Override
+ 184
+ public final void analyze(Dependency dependency, Engine engine) throws AnalysisException {
+ 185 10 if (enabled) {
+ 186 10 analyzeFileType(dependency, engine);
+ 187
+ }
+ 188 9 }
189
- public final boolean supportsExtension(String extension) {
- 190 5109 if (!enabled) {
- 191 854 return false;
- 192
- }
- 193 4255 final Set<String> ext = getSupportedExtensions();
- 194 4255 if (ext == null) {
- 195 0 final String msg = String.format("The '%s' analyzer is misconfigured and does not have any file extensions;"
- 196
- + " it will be disabled", getName());
- 197 0 LOGGER.log(Level.SEVERE, msg);
- 198 0 return false;
- 199
- } else {
- 200 4255 final boolean match = ext.contains(extension);
- 201 4255 if (match) {
- 202 20 filesMatched = match;
- 203
- }
- 204 4255 return match;
- 205
- }
- 206
- }
- 207
- //</editor-fold>
- 208
- 209
- //<editor-fold defaultstate="collapsed" desc="Static utility methods">
- 210
+ 190
/**
- 211
- * <p>
- 212
- * Utility method to help in the creation of the extensions set. This constructs a new Set that can be used in a
- 213
- * final static declaration.</p>
- 214
+ 191
+ * Returns whether or not this analyzer can process the given extension.
+ 192
*
- 215
- * <p>
- 216
- * This implementation was copied from
- 217
- * http://stackoverflow.com/questions/2041778/initialize-java-hashset-values-by-construction</p>
- 218
- *
- 219
- * @param strings a list of strings to add to the set.
- 220
- * @return a Set of strings.
- 221
+ 193
+ * @param extension the file extension to test for support.
+ 194
+ * @return whether or not the specified file extension is supported by this analyzer.
+ 195
*/
- 222
- protected static Set<String> newHashSet(String... strings) {
- 223 12 final Set<String> set = new HashSet<String>();
- 224
-
- 225 12 Collections.addAll(set, strings);
- 226 12 return set;
- 227
+ 196
+ @Override
+ 197
+ public final boolean supportsExtension(String extension) {
+ 198 5109 if (!enabled) {
+ 199 1704 return false;
+ 200
+ }
+ 201 3405 final Set<String> ext = getSupportedExtensions();
+ 202 3405 if (ext == null) {
+ 203 0 final String msg = String.format("The '%s' analyzer is misconfigured and does not have any file extensions;"
+ 204
+ + " it will be disabled", getName());
+ 205 0 LOGGER.log(Level.SEVERE, msg);
+ 206 0 return false;
+ 207
+ } else {
+ 208 3405 final boolean match = ext.contains(extension);
+ 209 3405 if (match) {
+ 210 16 filesMatched = match;
+ 211
+ }
+ 212 3405 return match;
+ 213
+ }
+ 214
}
- 228
+ 215
//</editor-fold>
+ 216
+
+ 217
+ //<editor-fold defaultstate="collapsed" desc="Static utility methods">
+ 218
+ /**
+ 219
+ * <p>
+ 220
+ * Utility method to help in the creation of the extensions set. This constructs a new Set that can be used in a
+ 221
+ * final static declaration.</p>
+ 222
+ *
+ 223
+ * <p>
+ 224
+ * This implementation was copied from
+ 225
+ * http://stackoverflow.com/questions/2041778/initialize-java-hashset-values-by-construction</p>
+ 226
+ *
+ 227
+ * @param strings a list of strings to add to the set.
+ 228
+ * @return a Set of strings.
229
+ */
+ 230
+ protected static Set<String> newHashSet(String... strings) {
+ 231 12 final Set<String> set = new HashSet<String>();
+ 232
+
+ 233 12 Collections.addAll(set, strings);
+ 234 12 return set;
+ 235
+ }
+ 236
+ //</editor-fold>
+ 237
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
index ce1cf31f5..ff85fd6a2 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AbstractSuppressionAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- AbstractSuppressionAnalyzer 82%
36%
3.8333333333333335;3.833
+ AbstractSuppressionAnalyzer 80%
71%
3.8333333333333335;3.833
@@ -101,8 +101,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
42
*/
- 43
- public abstract class AbstractSuppressionAnalyzer extends AbstractAnalyzer {
+ 43 8 public abstract class AbstractSuppressionAnalyzer extends AbstractAnalyzer {
44
45
@@ -128,8 +127,7 @@
*/
56
public Set<String> getSupportedExtensions() {
- 57
- return null;
+ 57 1 return null;
58
}
59
@@ -177,8 +175,7 @@
*/
82
public List<SuppressionRule> getRules() {
- 83
- return rules;
+ 83 14 return rules;
84
}
85
@@ -195,10 +192,8 @@
*/
91
public void setRules(List<SuppressionRule> rules) {
- 92
- this.rules = rules;
- 93
- }
+ 92 0 this.rules = rules;
+ 93 0 }
94
95
@@ -285,7 +280,7 @@
158 1 throwSuppressionParseException("Unable to create temp file for suppressions", ex);
159
} finally {
- 160 3 if (deleteTempFile && file != null) {
+ 160 3 if (deleteTempFile && file != null) {
161 2 FileUtils.delete(file);
162
}
@@ -319,6 +314,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 c87892b99..155e986d1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalysisPhase.html
@@ -65,7 +65,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
24
*/
- 25 5 public enum AnalysisPhase {
+ 25 14 public enum AnalysisPhase {
26
27
@@ -135,6 +135,6 @@
}
-
+
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 70d0ffc0a..6c38de2e3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.Analyzer.html
@@ -161,6 +161,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
index b11aec2f0..83d26268f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AnalyzerService.html
@@ -121,6 +121,6 @@
}
-
+
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 ff9c555be..0ddd2496c 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 @@
Classes in this File Line Coverage Branch Coverage Complexity
- ArchiveAnalyzer 30%
20%
7.25;7.25
+ ArchiveAnalyzer 31%
22%
7.25;7.25
@@ -133,8 +133,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
58
*/
- 59
- public class ArchiveAnalyzer extends AbstractFileTypeAnalyzer {
+ 59 2 public class ArchiveAnalyzer extends AbstractFileTypeAnalyzer {
60
61
@@ -165,8 +164,7 @@
* The parent directory for the individual directories per archive.
75
*/
- 76
- private File tempFileLocation = null;
+ 76 2 private File tempFileLocation = null;
77
/**
78
@@ -180,8 +178,7 @@
* Tracks the current scan/extraction depth for nested archives.
83
*/
- 84
- private int scanDepth = 0;
+ 84 2 private int scanDepth = 0;
85
86
@@ -232,7 +229,7 @@
static {
111 1 final String additionalZipExt = Settings.getString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS);
112 1 if (additionalZipExt != null) {
- 113 0 final HashSet<String> ext = new HashSet<String>(Arrays.asList(additionalZipExt));
+ 113 0 final Set<String> ext = new HashSet<String>(Arrays.asList(additionalZipExt));
114 0 ZIPPABLES.addAll(ext);
115
}
@@ -643,7 +640,7 @@
383 0 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
384
int count;
- 385 0 final byte data[] = new byte[BUFFER_SIZE];
+ 385 0 final byte[] data = new byte[BUFFER_SIZE];
386 0 while ((count = input.read(data, 0, BUFFER_SIZE)) != -1) {
387 0 bos.write(data, 0, count);
388
@@ -659,7 +656,7 @@
397 0 throw new AnalysisException(msg, ex);
398
} finally {
- 399 0 if (bos != null) {
+ 399 0 if (bos != null) {
400
try {
401 0 bos.close();
@@ -668,7 +665,7 @@
404 0 }
405
}
- 406 0 if (fos != null) {
+ 406 0 if (fos != null) {
407
try {
408 0 fos.close();
@@ -690,7 +687,7 @@
420 0 throw new ArchiveExtractionException(ex);
421
} finally {
- 422 2 if (input != null) {
+ 422 2 if (input != null) {
423
try {
424 2 input.close();
@@ -740,7 +737,7 @@
455 0 throw new ArchiveExtractionException(ex);
456
} finally {
- 457 0 if (out != null) {
+ 457 0 if (out != null) {
458
try {
459 0 out.close();
@@ -806,6 +803,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html
index 3ca0a9f04..e38382ef1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.AssemblyAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- AssemblyAnalyzer 66%
41%
6.875;6.875
+ AssemblyAnalyzer 67%
50%
6.875;6.875
@@ -117,8 +117,7 @@
*
50
*/
- 51
- public class AssemblyAnalyzer extends AbstractFileTypeAnalyzer {
+ 51 7 public class AssemblyAnalyzer extends AbstractFileTypeAnalyzer {
52
53
@@ -149,8 +148,7 @@
* The temp value for GrokAssembly.exe
67
*/
- 68
- private File grokAssemblyExe = null;
+ 68 7 private File grokAssemblyExe = null;
69
/**
70
@@ -318,7 +316,7 @@
175 0 throw new AnalysisException(xpe);
176
} finally {
- 177 3 if (rdr != null) {
+ 177 3 if (rdr != null) {
178
try {
179 3 rdr.close();
@@ -370,7 +368,7 @@
212 0 throw new AnalysisException("Could not extract GrokAssembly.exe", ioe);
213
} finally {
- 214 5 if (fos != null) {
+ 214 5 if (fos != null) {
215
try {
216 5 fos.close();
@@ -379,7 +377,7 @@
219 5 }
220
}
- 221 5 if (is != null) {
+ 221 5 if (is != null) {
222
try {
223 5 is.close();
@@ -436,7 +434,7 @@
}
262
} finally {
- 263 5 if (rdr != null) {
+ 263 5 if (rdr != null) {
264
try {
265 5 rdr.close();
@@ -546,6 +544,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
index 7bd2cf944..7ea1b3398 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CPEAnalyzer.html
@@ -12,9 +12,9 @@
Classes in this File Line Coverage Branch Coverage Complexity
- CPEAnalyzer 78%
72%
4.592592592592593;4.593
+ CPEAnalyzer 79%
72%
4.592592592592593;4.593
CPEAnalyzer$IdentifierConfidence 100%
N/A
4.592592592592593;4.593
- CPEAnalyzer$IdentifierMatch 40%
16%
4.592592592592593;4.593
+ CPEAnalyzer$IdentifierMatch 38%
16%
4.592592592592593;4.593
@@ -126,17 +126,16 @@
53
/**
54
- * CPEAnalyzer is a utility class that takes a project dependency and attempts to discern if there is an associated CPE.
+ * CPEAnalyzer is a utility class that takes a project dependency and attempts to discern if there is an associated CPE. It uses
55
- * It uses the evidence contained within the dependency to search the Lucene index.
+ * the evidence contained within the dependency to search the Lucene index.
56
*
57
* @author Jeremy Long <jeremy.long@owasp.org>
58
*/
- 59
- public class CPEAnalyzer implements Analyzer {
+ 59 2 public class CPEAnalyzer implements Analyzer {
60
61
@@ -279,9 +278,9 @@
132
* @throws IOException when the Lucene directory to be queried does not exist or is corrupt.
133
- * @throws DatabaseException when the database throws an exception. This usually occurs when the database is in use
+ * @throws DatabaseException when the database throws an exception. This usually occurs when the database is in use by another
134
- * by another process.
+ * process.
135
*/
136
@@ -325,9 +324,9 @@
163
/**
164
- * Searches the data store of CPE entries, trying to identify the CPE for the given dependency based on the evidence
+ * Searches the data store of CPE entries, trying to identify the CPE for the given dependency based on the evidence contained
165
- * contained within. The dependency passed in is updated with any identified CPE values.
+ * within. The dependency passed in is updated with any identified CPE values.
166
*
167
@@ -349,977 +348,944 @@
176 7 for (Confidence confidence : Confidence.values()) {
177 6 if (dependency.getVendorEvidence().contains(confidence)) {
178 6 vendors = addEvidenceWithoutDuplicateTerms(vendors, dependency.getVendorEvidence(), confidence);
- 179
+ 179 6 LOGGER.fine(String.format("vendor search: %s", vendors));
+ 180
}
- 180 6 if (dependency.getProductEvidence().contains(confidence)) {
- 181 5 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);
- 182
- }
- 183
- /* bug fix for #40 - version evidence is not showing up as "used" in the reports if there is no
+ 181 6 if (dependency.getProductEvidence().contains(confidence)) {
+ 182 5 products = addEvidenceWithoutDuplicateTerms(products, dependency.getProductEvidence(), confidence);
+ 183 5 LOGGER.fine(String.format("product search: %s", products));
184
- * CPE identified. As such, we are "using" the evidence and ignoring the results. */
- 185
- // if (dependency.getVersionEvidence().contains(confidence)) {
- 186
- // addEvidenceWithoutDuplicateTerms("", dependency.getVersionEvidence(), confidence);
+ }
+ 185 6 if (!vendors.isEmpty() && !products.isEmpty()) {
+ 186 6 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
187
- // }
- 188 6 if (!vendors.isEmpty() && !products.isEmpty()) {
- 189 6 final List<IndexEntry> entries = searchCPE(vendors, products, dependency.getProductEvidence().getWeighting(),
- 190
dependency.getVendorEvidence().getWeighting());
- 191 6 if (entries == null) {
- 192 0 continue;
- 193
+ 188 6 if (entries == null) {
+ 189 0 continue;
+ 190
}
- 194 6 boolean identifierAdded = false;
- 195 6 for (IndexEntry e : entries) {
- 196 27 if (verifyEntry(e, dependency)) {
- 197 2 final String vendor = e.getVendor();
- 198 2 final String product = e.getProduct();
- 199 2 identifierAdded |= determineIdentifiers(dependency, vendor, product, confidence);
- 200
+ 191 6 boolean identifierAdded = false;
+ 192 6 for (IndexEntry e : entries) {
+ 193 43 LOGGER.fine(String.format("Verifying entry: %s", e.toString()));
+ 194 43 if (verifyEntry(e, dependency)) {
+ 195 2 final String vendor = e.getVendor();
+ 196 2 final String product = e.getProduct();
+ 197 2 LOGGER.fine(String.format("identified vendor/product: %s/%s", vendor, product));
+ 198 2 identifierAdded |= determineIdentifiers(dependency, vendor, product, confidence);
+ 199
}
- 201 27 }
- 202 6 if (identifierAdded) {
- 203 1 break;
+ 200 43 }
+ 201 6 if (identifierAdded) {
+ 202 1 break;
+ 203
+ }
204
- }
+ }
205
- }
- 206
}
- 207 2 }
+ 206 2 }
+ 207
+
208
-
+ /**
209
- /**
+ * Returns the text created by concatenating the text and the values from the EvidenceCollection (filtered for a specific
210
- * Returns the text created by concatenating the text and the values from the EvidenceCollection (filtered for a
+ * confidence). This attempts to prevent duplicate terms from being added.<br/<br/> Note, if the evidence is longer then 200
211
- * specific confidence). This attempts to prevent duplicate terms from being added.<br/<br/> Note, if the evidence
+ * characters it will be truncated.
212
- * is longer then 200 characters it will be truncated.
+ *
213
- *
- 214
* @param text the base text.
- 215
+ 214
* @param ec an EvidenceCollection
- 216
+ 215
* @param confidenceFilter a Confidence level to filter the evidence by.
- 217
+ 216
* @return the new evidence text
+ 217
+ */
218
- */
- 219
private String addEvidenceWithoutDuplicateTerms(final String text, final EvidenceCollection ec, Confidence confidenceFilter) {
- 220 11 final String txt = (text == null) ? "" : text;
- 221 11 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
- 222 11 sb.append(' ').append(txt).append(' ');
- 223 11 for (Evidence e : ec.iterator(confidenceFilter)) {
- 224 43 String value = e.getValue();
+ 219 11 final String txt = (text == null) ? "" : text;
+ 220 11 final StringBuilder sb = new StringBuilder(txt.length() + (20 * ec.size()));
+ 221 11 sb.append(' ').append(txt).append(' ');
+ 222 11 for (Evidence e : ec.iterator(confidenceFilter)) {
+ 223 40 String value = e.getValue();
+ 224
+
225
-
- 226
//hack to get around the fact that lucene does a really good job of recognizing domains and not
- 227
+ 226
// splitting them. TODO - put together a better lucene analyzer specific to the domain.
- 228 43 if (value.startsWith("http://")) {
- 229 2 value = value.substring(7).replaceAll("\\.", " ");
- 230
+ 227 40 if (value.startsWith("http://")) {
+ 228 2 value = value.substring(7).replaceAll("\\.", " ");
+ 229
}
- 231 43 if (value.startsWith("https://")) {
- 232 0 value = value.substring(8).replaceAll("\\.", " ");
- 233
+ 230 40 if (value.startsWith("https://")) {
+ 231 0 value = value.substring(8).replaceAll("\\.", " ");
+ 232
}
- 234 43 if (sb.indexOf(" " + value + " ") < 0) {
- 235 36 sb.append(value).append(' ');
- 236
+ 233 40 if (sb.indexOf(" " + value + " ") < 0) {
+ 234 35 sb.append(value).append(' ');
+ 235
}
- 237 43 }
- 238 11 return sb.toString().trim();
+ 236 40 }
+ 237 11 return sb.toString().trim();
+ 238
+ }
239
- }
+
240
-
+ /**
241
- /**
+ * <p>
242
- * <p>
- 243
* Searches the Lucene CPE index to identify possible CPE entries associated with the supplied vendor, product, and
- 244
+ 243
* version.</p>
+ 244
+ *
245
- *
+ * <p>
246
- * <p>
+ * If either the vendorWeightings or productWeightings lists have been populated this data is used to add weighting factors to
247
- * If either the vendorWeightings or productWeightings lists have been populated this data is used to add weighting
+ * the search.</p>
248
- * factors to the search.</p>
+ *
249
- *
- 250
* @param vendor the text used to search the vendor field
- 251
+ 250
* @param product the text used to search the product field
- 252
+ 251
* @param vendorWeightings a list of strings to use to add weighting factors to the vendor field
- 253
+ 252
* @param productWeightings Adds a list of strings that will be used to add weighting factors to the product search
- 254
+ 253
* @return a list of possible CPE values
+ 254
+ */
255
- */
- 256
protected List<IndexEntry> searchCPE(String vendor, String product,
- 257
+ 256
Set<String> vendorWeightings, Set<String> productWeightings) {
- 258
+ 257
- 259 6 final ArrayList<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
- 260
+ 258 6 final List<IndexEntry> ret = new ArrayList<IndexEntry>(MAX_QUERY_RESULTS);
+ 259
- 261 6 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
- 262 6 if (searchString == null) {
- 263 0 return ret;
+ 260 6 final String searchString = buildSearch(vendor, product, vendorWeightings, productWeightings);
+ 261 6 if (searchString == null) {
+ 262 0 return ret;
+ 263
+ }
264
- }
- 265
try {
- 266 6 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
- 267 156 for (ScoreDoc d : docs.scoreDocs) {
- 268 150 if (d.score >= 0.08) {
- 269 27 final Document doc = cpe.getDocument(d.doc);
- 270 27 final IndexEntry entry = new IndexEntry();
- 271 27 entry.setVendor(doc.get(Fields.VENDOR));
- 272 27 entry.setProduct(doc.get(Fields.PRODUCT));
- 273
- // if (d.score < 0.08) {
- 274
- // System.out.print(entry.getVendor());
+ 265 6 final TopDocs docs = cpe.search(searchString, MAX_QUERY_RESULTS);
+ 266 156 for (ScoreDoc d : docs.scoreDocs) {
+ 267 150 if (d.score >= 0.08) {
+ 268 43 final Document doc = cpe.getDocument(d.doc);
+ 269 43 final IndexEntry entry = new IndexEntry();
+ 270 43 entry.setVendor(doc.get(Fields.VENDOR));
+ 271 43 entry.setProduct(doc.get(Fields.PRODUCT));
+ 272 43 entry.setSearchScore(d.score);
+ 273 43 if (!ret.contains(entry)) {
+ 274 43 ret.add(entry);
275
- // System.out.print(":");
+ }
276
- // System.out.print(entry.getProduct());
+ }
277
- // System.out.print(":");
- 278
- // System.out.println(d.score);
- 279
- // }
- 280 27 entry.setSearchScore(d.score);
- 281 27 if (!ret.contains(entry)) {
- 282 27 ret.add(entry);
- 283
- }
- 284
- }
- 285
}
- 286 6 return ret;
- 287 0 } catch (ParseException ex) {
- 288 0 final String msg = String.format("Unable to parse: %s", searchString);
- 289 0 LOGGER.log(Level.WARNING, "An error occured querying the CPE data. See the log for more details.");
- 290 0 LOGGER.log(Level.INFO, msg, ex);
- 291 0 } catch (IOException ex) {
- 292 0 final String msg = String.format("IO Error with search string: %s", searchString);
- 293 0 LOGGER.log(Level.WARNING, "An error occured reading CPE data. See the log for more details.");
- 294 0 LOGGER.log(Level.INFO, msg, ex);
- 295 0 }
- 296 0 return null;
- 297
+ 278 6 return ret;
+ 279 0 } catch (ParseException ex) {
+ 280 0 final String msg = String.format("Unable to parse: %s", searchString);
+ 281 0 LOGGER.log(Level.WARNING, "An error occured querying the CPE data. See the log for more details.");
+ 282 0 LOGGER.log(Level.INFO, msg, ex);
+ 283 0 } catch (IOException ex) {
+ 284 0 final String msg = String.format("IO Error with search string: %s", searchString);
+ 285 0 LOGGER.log(Level.WARNING, "An error occured reading CPE data. See the log for more details.");
+ 286 0 LOGGER.log(Level.INFO, msg, ex);
+ 287 0 }
+ 288 0 return null;
+ 289
}
- 298
+ 290
- 299
+ 291
/**
- 300
+ 292
* <p>
- 301
+ 293
* Builds a Lucene search string by properly escaping data and constructing a valid search query.</p>
- 302
+ 294
*
- 303
+ 295
* <p>
- 304
- * If either the possibleVendor or possibleProducts lists have been populated this data is used to add weighting
- 305
- * factors to the search string generated.</p>
- 306
+ 296
+ * If either the possibleVendor or possibleProducts lists have been populated this data is used to add weighting factors to
+ 297
+ * the search string generated.</p>
+ 298
*
- 307
+ 299
* @param vendor text to search the vendor field
- 308
+ 300
* @param product text to search the product field
- 309
+ 301
* @param vendorWeighting a list of strings to apply to the vendor to boost the terms weight
- 310
+ 302
* @param productWeightings a list of strings to apply to the product to boost the terms weight
- 311
+ 303
* @return the Lucene query
- 312
+ 304
*/
- 313
+ 305
protected String buildSearch(String vendor, String product,
- 314
+ 306
Set<String> vendorWeighting, Set<String> productWeightings) {
- 315 6 final String v = vendor; //.replaceAll("[^\\w\\d]", " ");
- 316 6 final String p = product; //.replaceAll("[^\\w\\d]", " ");
- 317 6 final StringBuilder sb = new StringBuilder(v.length() + p.length()
- 318
+ 307 6 final String v = vendor; //.replaceAll("[^\\w\\d]", " ");
+ 308 6 final String p = product; //.replaceAll("[^\\w\\d]", " ");
+ 309 6 final StringBuilder sb = new StringBuilder(v.length() + p.length()
+ 310
+ Fields.PRODUCT.length() + Fields.VENDOR.length() + STRING_BUILDER_BUFFER);
- 319
+ 311
+
+ 312 6 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
+ 313 0 return null;
+ 314
+ }
+ 315 6 sb.append(" AND ");
+ 316 6 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
+ 317 0 return null;
+ 318
+ }
+ 319 6 return sb.toString();
+ 320
+ }
+ 321
- 320 6 if (!appendWeightedSearch(sb, Fields.PRODUCT, p, productWeightings)) {
- 321 0 return null;
322
- }
- 323 6 sb.append(" AND ");
- 324 6 if (!appendWeightedSearch(sb, Fields.VENDOR, v, vendorWeighting)) {
- 325 0 return null;
+ /**
+ 323
+ * This method constructs a Lucene query for a given field. The searchText is split into separate words and if the word is
+ 324
+ * within the list of weighted words then an additional weighting is applied to the term as it is appended into the query.
+ 325
+ *
326
- }
- 327 6 return sb.toString();
- 328
- }
- 329
-
- 330
- /**
- 331
- * This method constructs a Lucene query for a given field. The searchText is split into separate words and if the
- 332
- * word is within the list of weighted words then an additional weighting is applied to the term as it is appended
- 333
- * into the query.
- 334
- *
- 335
* @param sb a StringBuilder that the query text will be appended to.
- 336
+ 327
* @param field the field within the Lucene index that the query is searching.
- 337
+ 328
* @param searchText text used to construct the query.
- 338
+ 329
* @param weightedText a list of terms that will be considered higher importance when searching.
- 339
+ 330
* @return if the append was successful.
- 340
+ 331
*/
- 341
+ 332
private boolean appendWeightedSearch(StringBuilder sb, String field, String searchText, Set<String> weightedText) {
- 342 12 sb.append(" ").append(field).append(":( ");
+ 333 12 sb.append(" ").append(field).append(":( ");
+ 334
+
+ 335 12 final String cleanText = cleanseText(searchText);
+ 336
+
+ 337 12 if ("".equals(cleanText)) {
+ 338 0 return false;
+ 339
+ }
+ 340
+
+ 341 12 if (weightedText == null || weightedText.isEmpty()) {
+ 342 0 LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);
343
-
- 344 12 final String cleanText = cleanseText(searchText);
- 345
-
- 346 12 if ("".equals(cleanText)) {
- 347 0 return false;
- 348
- }
- 349
-
- 350 12 if (weightedText == null || weightedText.isEmpty()) {
- 351 0 LuceneUtils.appendEscapedLuceneQuery(sb, cleanText);
- 352
} else {
- 353 12 final StringTokenizer tokens = new StringTokenizer(cleanText);
- 354 114 while (tokens.hasMoreElements()) {
- 355 102 final String word = tokens.nextToken();
- 356 102 String temp = null;
- 357 102 for (String weighted : weightedText) {
- 358 225 final String weightedStr = cleanseText(weighted);
- 359 225 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
- 360 22 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
- 361 22 if (!word.equalsIgnoreCase(weightedStr)) {
- 362 0 temp += " " + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;
- 363
+ 344 12 final StringTokenizer tokens = new StringTokenizer(cleanText);
+ 345 111 while (tokens.hasMoreElements()) {
+ 346 99 final String word = tokens.nextToken();
+ 347 99 String temp = null;
+ 348 99 for (String weighted : weightedText) {
+ 349 221 final String weightedStr = cleanseText(weighted);
+ 350 221 if (equalsIgnoreCaseAndNonAlpha(word, weightedStr)) {
+ 351 22 temp = LuceneUtils.escapeLuceneQuery(word) + WEIGHTING_BOOST;
+ 352 22 if (!word.equalsIgnoreCase(weightedStr)) {
+ 353 0 temp += " " + LuceneUtils.escapeLuceneQuery(weightedStr) + WEIGHTING_BOOST;
+ 354
}
- 364
+ 355
}
- 365 225 }
- 366 102 if (temp == null) {
- 367 80 temp = LuceneUtils.escapeLuceneQuery(word);
- 368
+ 356 221 }
+ 357 99 if (temp == null) {
+ 358 77 temp = LuceneUtils.escapeLuceneQuery(word);
+ 359
}
- 369 102 sb.append(" ").append(temp);
- 370 102 }
- 371
+ 360 99 sb.append(" ").append(temp);
+ 361 99 }
+ 362
}
- 372 12 sb.append(" ) ");
- 373 12 return true;
- 374
+ 363 12 sb.append(" ) ");
+ 364 12 return true;
+ 365
}
- 375
+ 366
- 376
+ 367
/**
- 377
+ 368
* Removes characters from the input text that are not used within the CPE index.
- 378
+ 369
*
- 379
+ 370
* @param text is the text to remove the characters from.
- 380
+ 371
* @return the text having removed some characters.
- 381
+ 372
*/
- 382
+ 373
private String cleanseText(String text) {
- 383 237 return text.replaceAll(CLEANSE_CHARACTER_RX, " ");
- 384
+ 374 233 return text.replaceAll(CLEANSE_CHARACTER_RX, " ");
+ 375
}
- 385
+ 376
- 386
+ 377
/**
- 387
+ 378
* Compares two strings after lower casing them and removing the non-alpha characters.
- 388
+ 379
*
- 389
+ 380
* @param l string one to compare.
- 390
+ 381
* @param r string two to compare.
- 391
+ 382
* @return whether or not the two strings are similar.
- 392
+ 383
*/
- 393
+ 384
private boolean equalsIgnoreCaseAndNonAlpha(String l, String r) {
- 394 225 if (l == null || r == null) {
- 395 0 return false;
- 396
+ 385 221 if (l == null || r == null) {
+ 386 0 return false;
+ 387
}
- 397
+ 388
- 398 225 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "");
- 399 225 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "");
- 400 225 return left.equalsIgnoreCase(right);
- 401
+ 389 221 final String left = l.replaceAll(CLEANSE_NONALPHA_RX, "");
+ 390 221 final String right = r.replaceAll(CLEANSE_NONALPHA_RX, "");
+ 391 221 return left.equalsIgnoreCase(right);
+ 392
}
- 402
+ 393
- 403
+ 394
/**
- 404
- * Ensures that the CPE Identified matches the dependency. This validates that the product, vendor, and version
- 405
- * information for the CPE are contained within the dependencies evidence.
- 406
+ 395
+ * Ensures that the CPE Identified matches the dependency. This validates that the product, vendor, and version information
+ 396
+ * for the CPE are contained within the dependencies evidence.
+ 397
*
- 407
+ 398
* @param entry a CPE entry.
- 408
+ 399
* @param dependency the dependency that the CPE entries could be for.
- 409
+ 400
* @return whether or not the entry is valid.
- 410
+ 401
*/
- 411
+ 402
private boolean verifyEntry(final IndexEntry entry, final Dependency dependency) {
- 412 27 boolean isValid = false;
- 413
+ 403 43 boolean isValid = false;
+ 404
- 414 27 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
- 415
+ 405 43 if (collectionContainsString(dependency.getProductEvidence(), entry.getProduct())
+ 406
&& collectionContainsString(dependency.getVendorEvidence(), entry.getVendor())) {
- 416
+ 407
//&& collectionContainsVersion(dependency.getVersionEvidence(), entry.getVersion())
- 417 2 isValid = true;
- 418
+ 408 2 isValid = true;
+ 409
}
- 419 27 return isValid;
- 420
+ 410 43 return isValid;
+ 411
}
+ 412
+
+ 413
+ /**
+ 414
+ * Used to determine if the EvidenceCollection contains a specific string.
+ 415
+ *
+ 416
+ * @param ec an EvidenceCollection
+ 417
+ * @param text the text to search for
+ 418
+ * @return whether or not the EvidenceCollection contains the string
+ 419
+ */
+ 420
+ private boolean collectionContainsString(EvidenceCollection ec, String text) {
421
422
- /**
- 423
- * Used to determine if the EvidenceCollection contains a specific string.
- 424
- *
- 425
- * @param ec an EvidenceCollection
- 426
- * @param text the text to search for
- 427
- * @return whether or not the EvidenceCollection contains the string
- 428
- */
- 429
- private boolean collectionContainsString(EvidenceCollection ec, String text) {
- 430
-
- 431
//<editor-fold defaultstate="collapsed" desc="This code fold contains an old version of the code, delete once more testing is done">
- 432
+ 423
// String[] splitText = text.split("[\\s_-]");
- 433
+ 424
//
- 434
+ 425
// for (String search : splitText) {
- 435
+ 426
// //final String search = text.replaceAll("[\\s_-]", "").toLowerCase();
- 436
+ 427
// if (ec.containsUsedString(search)) {
- 437
+ 428
// return true;
- 438
+ 429
// }
- 439
+ 430
// }
- 440
+ 431
//</editor-fold>
- 441
+ 432
//TODO - likely need to change the split... not sure if this will work for CPE with special chars
- 442 29 if (text == null) {
- 443 0 return false;
- 444
+ 433 45 if (text == null) {
+ 434 0 return false;
+ 435
}
- 445 29 final String[] words = text.split("[\\s_-]");
- 446 29 final List<String> list = new ArrayList<String>();
- 447 29 String tempWord = null;
- 448 99 for (String word : words) {
- 449
+ 436 45 final String[] words = text.split("[\\s_-]");
+ 437 45 final List<String> list = new ArrayList<String>();
+ 438 45 String tempWord = null;
+ 439 167 for (String word : words) {
+ 440
/*
- 450
+ 441
single letter words should be concatenated with the next word.
- 451
+ 442
so { "m", "core", "sample" } -> { "mcore", "sample" }
- 452
+ 443
*/
- 453 70 if (tempWord != null) {
- 454 2 list.add(tempWord + word);
- 455 2 tempWord = null;
- 456 68 } else if (word.length() <= 2) {
- 457 2 tempWord = word;
- 458
+ 444 122 if (tempWord != null) {
+ 445 2 list.add(tempWord + word);
+ 446 2 tempWord = null;
+ 447 120 } else if (word.length() <= 2) {
+ 448 2 tempWord = word;
+ 449
} else {
- 459 66 list.add(word);
- 460
+ 450 118 list.add(word);
+ 451
}
- 461
+ 452
}
- 462 29 if (tempWord != null && !list.isEmpty()) {
- 463 0 final String tmp = list.get(list.size() - 1) + tempWord;
- 464 0 list.add(tmp);
- 465
+ 453 45 if (tempWord != null && !list.isEmpty()) {
+ 454 0 final String tmp = list.get(list.size() - 1) + tempWord;
+ 455 0 list.add(tmp);
+ 456
}
- 466 29 boolean contains = true;
- 467 29 for (String word : list) {
- 468 68 contains &= ec.containsUsedString(word);
- 469 68 }
- 470 29 return contains;
- 471
+ 457 45 boolean contains = true;
+ 458 45 for (String word : list) {
+ 459 120 contains &= ec.containsUsedString(word);
+ 460 120 }
+ 461 45 return contains;
+ 462
}
- 472
+ 463
- 473
+ 464
/**
- 474
+ 465
* Analyzes a dependency and attempts to determine if there are any CPE identifiers for this dependency.
- 475
+ 466
*
- 476
+ 467
* @param dependency The Dependency to analyze.
- 477
+ 468
* @param engine The analysis engine
- 478
+ 469
* @throws AnalysisException is thrown if there is an issue analyzing the dependency.
- 479
+ 470
*/
- 480
+ 471
@Override
- 481
+ 472
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 482
+ 473
try {
- 483 2 determineCPE(dependency);
- 484 0 } catch (CorruptIndexException ex) {
- 485 0 throw new AnalysisException("CPE Index is corrupt.", ex);
- 486 0 } catch (IOException ex) {
- 487 0 throw new AnalysisException("Failure opening the CPE Index.", ex);
- 488 0 } catch (ParseException ex) {
- 489 0 throw new AnalysisException("Unable to parse the generated Lucene query for this dependency.", ex);
- 490 2 }
- 491 2 }
- 492
+ 474 2 determineCPE(dependency);
+ 475 0 } catch (CorruptIndexException ex) {
+ 476 0 throw new AnalysisException("CPE Index is corrupt.", ex);
+ 477 0 } catch (IOException ex) {
+ 478 0 throw new AnalysisException("Failure opening the CPE Index.", ex);
+ 479 0 } catch (ParseException ex) {
+ 480 0 throw new AnalysisException("Unable to parse the generated Lucene query for this dependency.", ex);
+ 481 2 }
+ 482 2 }
+ 483
- 493
+ 484
/**
- 494
- * Retrieves a list of CPE values from the CveDB based on the vendor and product passed in. The list is then
- 495
- * validated to find only CPEs that are valid for the given dependency. It is possible that the CPE identified is a
- 496
- * best effort "guess" based on the vendor, product, and version information.
- 497
+ 485
+ * Retrieves a list of CPE values from the CveDB based on the vendor and product passed in. The list is then validated to find
+ 486
+ * only CPEs that are valid for the given dependency. It is possible that the CPE identified is a best effort "guess" based on
+ 487
+ * the vendor, product, and version information.
+ 488
*
- 498
+ 489
* @param dependency the Dependency being analyzed
- 499
+ 490
* @param vendor the vendor for the CPE being analyzed
- 500
+ 491
* @param product the product for the CPE being analyzed
- 501
+ 492
* @param currentConfidence the current confidence being used during analysis
- 502
+ 493
* @return <code>true</code> if an identifier was added to the dependency; otherwise <code>false</code>
- 503
+ 494
* @throws UnsupportedEncodingException is thrown if UTF-8 is not supported
- 504
+ 495
*/
- 505
+ 496
protected boolean determineIdentifiers(Dependency dependency, String vendor, String product,
- 506
+ 497
Confidence currentConfidence) throws UnsupportedEncodingException {
- 507 2 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
- 508 2 DependencyVersion bestGuess = new DependencyVersion("-");
- 509 2 Confidence bestGuessConf = null;
- 510 2 boolean hasBroadMatch = false;
- 511 2 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
- 512 10 for (Confidence conf : Confidence.values()) {
- 513
+ 498 2 final Set<VulnerableSoftware> cpes = cve.getCPEs(vendor, product);
+ 499 2 DependencyVersion bestGuess = new DependencyVersion("-");
+ 500 2 Confidence bestGuessConf = null;
+ 501 2 boolean hasBroadMatch = false;
+ 502 2 final List<IdentifierMatch> collected = new ArrayList<IdentifierMatch>();
+ 503 10 for (Confidence conf : Confidence.values()) {
+ 504
// if (conf.compareTo(currentConfidence) > 0) {
- 514
+ 505
// break;
- 515
+ 506
// }
- 516 8 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
- 517 10 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
- 518 10 if (evVer == null) {
- 519 0 continue;
- 520
+ 507 8 for (Evidence evidence : dependency.getVersionEvidence().iterator(conf)) {
+ 508 8 final DependencyVersion evVer = DependencyVersionUtil.parseVersion(evidence.getValue());
+ 509 8 if (evVer == null) {
+ 510 0 continue;
+ 511
}
- 521 10 for (VulnerableSoftware vs : cpes) {
- 522
+ 512 8 for (VulnerableSoftware vs : cpes) {
+ 513
DependencyVersion dbVer;
- 523 390 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
- 524 160 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
- 525
+ 514 312 if (vs.getRevision() != null && !vs.getRevision().isEmpty()) {
+ 515 128 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion() + "." + vs.getRevision());
+ 516
} else {
- 526 230 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
- 527
+ 517 184 dbVer = DependencyVersionUtil.parseVersion(vs.getVersion());
+ 518
}
- 528 390 if (dbVer == null) { //special case, no version specified - everything is vulnerable
- 529 0 hasBroadMatch = true;
- 530 0 final String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), "UTF-8"));
- 531 0 final IdentifierMatch match = new IdentifierMatch("cpe", vs.getName(), url, IdentifierConfidence.BROAD_MATCH, conf);
- 532 0 collected.add(match);
- 533 0 } else if (evVer.equals(dbVer)) { //yeah! exact match
- 534 10 final String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), "UTF-8"));
- 535 10 final IdentifierMatch match = new IdentifierMatch("cpe", vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
- 536 10 collected.add(match);
- 537 10 } else {
- 538
+ 519 312 if (dbVer == null) { //special case, no version specified - everything is vulnerable
+ 520 0 hasBroadMatch = true;
+ 521 0 final String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), "UTF-8"));
+ 522 0 final IdentifierMatch match = new IdentifierMatch("cpe", vs.getName(), url, IdentifierConfidence.BROAD_MATCH, conf);
+ 523 0 collected.add(match);
+ 524 0 } else if (evVer.equals(dbVer)) { //yeah! exact match
+ 525 8 final String url = String.format(NVD_SEARCH_URL, URLEncoder.encode(vs.getName(), "UTF-8"));
+ 526 8 final IdentifierMatch match = new IdentifierMatch("cpe", vs.getName(), url, IdentifierConfidence.EXACT_MATCH, conf);
+ 527 8 collected.add(match);
+ 528 8 } else {
+ 529
//TODO the following isn't quite right is it? need to think about this guessing game a bit more.
- 539 380 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
- 540
+ 530 304 if (evVer.getVersionParts().size() <= dbVer.getVersionParts().size()
+ 531
&& evVer.matchesAtLeastThreeLevels(dbVer)) {
- 541 80 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
- 542 2 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
- 543 2 bestGuess = dbVer;
- 544 2 bestGuessConf = conf;
- 545
+ 532 64 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 533 2 if (bestGuess.getVersionParts().size() < dbVer.getVersionParts().size()) {
+ 534 2 bestGuess = dbVer;
+ 535 2 bestGuessConf = conf;
+ 536
}
- 546
+ 537
}
- 547
+ 538
}
- 548
+ 539
}
- 549 390 }
- 550 10 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
- 551 0 if (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {
- 552 0 bestGuess = evVer;
- 553 0 bestGuessConf = conf;
- 554
+ 540 312 }
+ 541 8 if (bestGuessConf == null || bestGuessConf.compareTo(conf) > 0) {
+ 542 0 if (bestGuess.getVersionParts().size() < evVer.getVersionParts().size()) {
+ 543 0 bestGuess = evVer;
+ 544 0 bestGuessConf = conf;
+ 545
}
- 555
+ 546
}
- 556 10 }
+ 547 8 }
+ 548
+ }
+ 549 2 final String cpeName = String.format("cpe:/a:%s:%s:%s", vendor, product, bestGuess.toString());
+ 550 2 String url = null;
+ 551 2 if (hasBroadMatch) { //if we have a broad match we can add the URL to the best guess.
+ 552 0 final String cpeUrlName = String.format("cpe:/a:%s:%s", vendor, product);
+ 553 0 url = String.format(NVD_SEARCH_URL, URLEncoder.encode(cpeUrlName, "UTF-8"));
+ 554
+ }
+ 555 2 if (bestGuessConf == null) {
+ 556 0 bestGuessConf = Confidence.LOW;
557
}
- 558 2 final String cpeName = String.format("cpe:/a:%s:%s:%s", vendor, product, bestGuess.toString());
- 559 2 String url = null;
- 560 2 if (hasBroadMatch) { //if we have a broad match we can add the URL to the best guess.
- 561 0 final String cpeUrlName = String.format("cpe:/a:%s:%s", vendor, product);
- 562 0 url = String.format(NVD_SEARCH_URL, URLEncoder.encode(cpeUrlName, "UTF-8"));
- 563
- }
- 564 2 if (bestGuessConf == null) {
- 565 0 bestGuessConf = Confidence.LOW;
- 566
- }
- 567 2 final IdentifierMatch match = new IdentifierMatch("cpe", cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
- 568 2 collected.add(match);
- 569
+ 558 2 final IdentifierMatch match = new IdentifierMatch("cpe", cpeName, url, IdentifierConfidence.BEST_GUESS, bestGuessConf);
+ 559 2 collected.add(match);
+ 560
- 570 2 Collections.sort(collected);
- 571 2 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
- 572 2 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
- 573 2 boolean identifierAdded = false;
- 574 2 for (IdentifierMatch m : collected) {
- 575 12 if (bestIdentifierQuality.equals(m.getConfidence())
- 576
+ 561 2 Collections.sort(collected);
+ 562 2 final IdentifierConfidence bestIdentifierQuality = collected.get(0).getConfidence();
+ 563 2 final Confidence bestEvidenceQuality = collected.get(0).getEvidenceConfidence();
+ 564 2 boolean identifierAdded = false;
+ 565 2 for (IdentifierMatch m : collected) {
+ 566 10 if (bestIdentifierQuality.equals(m.getConfidence())
+ 567
&& bestEvidenceQuality.equals(m.getEvidenceConfidence())) {
- 577 4 final Identifier i = m.getIdentifier();
- 578 4 if (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {
- 579 0 i.setConfidence(Confidence.LOW);
- 580
+ 568 2 final Identifier i = m.getIdentifier();
+ 569 2 if (bestIdentifierQuality == IdentifierConfidence.BEST_GUESS) {
+ 570 0 i.setConfidence(Confidence.LOW);
+ 571
} else {
- 581 4 i.setConfidence(bestEvidenceQuality);
- 582
+ 572 2 i.setConfidence(bestEvidenceQuality);
+ 573
}
- 583 4 dependency.addIdentifier(i);
- 584 4 identifierAdded = true;
- 585
+ 574 2 dependency.addIdentifier(i);
+ 575 2 identifierAdded = true;
+ 576
}
- 586 12 }
- 587 2 return identifierAdded;
- 588
+ 577 10 }
+ 578 2 return identifierAdded;
+ 579
}
- 589
+ 580
- 590
+ 581
/**
- 591
+ 582
* The confidence whether the identifier is an exact match, or a best guess.
- 592
+ 583
*/
- 593 1 private enum IdentifierConfidence {
- 594
+ 584 4 private enum IdentifierConfidence {
+ 585
- 595
+ 586
/**
- 596
+ 587
* An exact match for the CPE.
+ 588
+ */
+ 589 1 EXACT_MATCH,
+ 590
+ /**
+ 591
+ * A best guess for the CPE.
+ 592
+ */
+ 593 1 BEST_GUESS,
+ 594
+ /**
+ 595
+ * The entire vendor/product group must be added (without a guess at version) because there is a CVE with a VS that only
+ 596
+ * specifies vendor/product.
597
*/
- 598 1 EXACT_MATCH,
+ 598 1 BROAD_MATCH
599
- /**
- 600
- * A best guess for the CPE.
- 601
- */
- 602 1 BEST_GUESS,
- 603
- /**
- 604
- * The entire vendor/product group must be added (without a guess at version) because there is a CVE with a VS
- 605
- * that only specifies vendor/product.
- 606
- */
- 607 1 BROAD_MATCH
- 608
}
- 609
+ 600
- 610
+ 601
/**
- 611
+ 602
* A simple object to hold an identifier and carry information about the confidence in the identifier.
- 612
+ 603
*/
- 613 10 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
- 614
+ 604 8 private static class IdentifierMatch implements Comparable<IdentifierMatch> {
+ 605
- 615
+ 606
/**
- 616
+ 607
* Constructs an IdentifierMatch.
- 617
+ 608
*
- 618
+ 609
* @param type the type of identifier (such as CPE)
- 619
+ 610
* @param value the value of the identifier
- 620
+ 611
* @param url the URL of the identifier
- 621
+ 612
* @param identifierConfidence the confidence in the identifier: best guess or exact match
- 622
+ 613
* @param evidenceConfidence the confidence of the evidence used to find the identifier
+ 614
+ */
+ 615 10 IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
+ 616 10 this.identifier = new Identifier(type, value, url);
+ 617 10 this.confidence = identifierConfidence;
+ 618 10 this.evidenceConfidence = evidenceConfidence;
+ 619 10 }
+ 620
+ //<editor-fold defaultstate="collapsed" desc="Property implementations: evidenceConfidence, confidence, identifier">
+ 621
+ /**
+ 622
+ * The confidence in the evidence used to identify this match.
623
*/
- 624 12 IdentifierMatch(String type, String value, String url, IdentifierConfidence identifierConfidence, Confidence evidenceConfidence) {
- 625 12 this.identifier = new Identifier(type, value, url);
- 626 12 this.confidence = identifierConfidence;
- 627 12 this.evidenceConfidence = evidenceConfidence;
- 628 12 }
- 629
- //<editor-fold defaultstate="collapsed" desc="Property implementations: evidenceConfidence, confidence, identifier">
- 630
- /**
- 631
- * The confidence in the evidence used to identify this match.
- 632
- */
- 633
+ 624
private Confidence evidenceConfidence;
+ 625
+
+ 626
+ /**
+ 627
+ * Get the value of evidenceConfidence
+ 628
+ *
+ 629
+ * @return the value of evidenceConfidence
+ 630
+ */
+ 631
+ public Confidence getEvidenceConfidence() {
+ 632 10 return evidenceConfidence;
+ 633
+ }
634
635
/**
636
- * Get the value of evidenceConfidence
+ * Set the value of evidenceConfidence
637
*
638
- * @return the value of evidenceConfidence
+ * @param evidenceConfidence new value of evidenceConfidence
639
*/
640
- public Confidence getEvidenceConfidence() {
- 641
- return evidenceConfidence;
- 642
- }
- 643
-
- 644
- /**
- 645
- * Set the value of evidenceConfidence
- 646
- *
- 647
- * @param evidenceConfidence new value of evidenceConfidence
- 648
- */
- 649
public void setEvidenceConfidence(Confidence evidenceConfidence) {
- 650
- this.evidenceConfidence = evidenceConfidence;
- 651
- }
- 652
+ 641 0 this.evidenceConfidence = evidenceConfidence;
+ 642 0 }
+ 643
/**
- 653
+ 644
* The confidence whether this is an exact match, or a best guess.
- 654
+ 645
*/
- 655
+ 646
private IdentifierConfidence confidence;
+ 647
+
+ 648
+ /**
+ 649
+ * Get the value of confidence.
+ 650
+ *
+ 651
+ * @return the value of confidence
+ 652
+ */
+ 653
+ public IdentifierConfidence getConfidence() {
+ 654 12 return confidence;
+ 655
+ }
656
657
/**
658
- * Get the value of confidence.
+ * Set the value of confidence.
659
*
660
- * @return the value of confidence
+ * @param confidence new value of confidence
661
*/
662
- public IdentifierConfidence getConfidence() {
- 663
- return confidence;
- 664
- }
- 665
-
- 666
- /**
- 667
- * Set the value of confidence.
- 668
- *
- 669
- * @param confidence new value of confidence
- 670
- */
- 671
public void setConfidence(IdentifierConfidence confidence) {
- 672
- this.confidence = confidence;
- 673
- }
- 674
+ 663 0 this.confidence = confidence;
+ 664 0 }
+ 665
/**
- 675
+ 666
* The CPE identifier.
- 676
+ 667
*/
- 677
+ 668
private Identifier identifier;
+ 669
+
+ 670
+ /**
+ 671
+ * Get the value of identifier.
+ 672
+ *
+ 673
+ * @return the value of identifier
+ 674
+ */
+ 675
+ public Identifier getIdentifier() {
+ 676 2 return identifier;
+ 677
+ }
678
679
/**
680
- * Get the value of identifier.
+ * Set the value of identifier.
681
*
682
- * @return the value of identifier
+ * @param identifier new value of identifier
683
*/
684
- public Identifier getIdentifier() {
- 685
- return identifier;
- 686
- }
- 687
-
- 688
- /**
- 689
- * Set the value of identifier.
- 690
- *
- 691
- * @param identifier new value of identifier
- 692
- */
- 693
public void setIdentifier(Identifier identifier) {
- 694
- this.identifier = identifier;
- 695
- }
- 696
+ 685 0 this.identifier = identifier;
+ 686 0 }
+ 687
//</editor-fold>
- 697
+ 688
//<editor-fold defaultstate="collapsed" desc="Standard implementations of toString, hashCode, and equals">
- 698
+ 689
- 699
+ 690
/**
- 700
+ 691
* Standard toString() implementation.
- 701
+ 692
*
- 702
+ 693
* @return the string representation of the object
- 703
+ 694
*/
- 704
+ 695
@Override
- 705
+ 696
public String toString() {
- 706 0 return "IdentifierMatch{" + "evidenceConfidence=" + evidenceConfidence
- 707
+ 697 0 return "IdentifierMatch{" + "evidenceConfidence=" + evidenceConfidence
+ 698
+ ", confidence=" + confidence + ", identifier=" + identifier + '}';
- 708
+ 699
}
- 709
+ 700
- 710
+ 701
/**
- 711
+ 702
* Standard hashCode() implementation.
- 712
+ 703
*
- 713
+ 704
* @return the hashCode
- 714
+ 705
*/
- 715
+ 706
@Override
- 716
+ 707
public int hashCode() {
- 717 0 int hash = 5;
- 718 0 hash = 97 * hash + (this.evidenceConfidence != null ? this.evidenceConfidence.hashCode() : 0);
- 719 0 hash = 97 * hash + (this.confidence != null ? this.confidence.hashCode() : 0);
- 720 0 hash = 97 * hash + (this.identifier != null ? this.identifier.hashCode() : 0);
- 721 0 return hash;
- 722
+ 708 0 int hash = 5;
+ 709 0 hash = 97 * hash + (this.evidenceConfidence != null ? this.evidenceConfidence.hashCode() : 0);
+ 710 0 hash = 97 * hash + (this.confidence != null ? this.confidence.hashCode() : 0);
+ 711 0 hash = 97 * hash + (this.identifier != null ? this.identifier.hashCode() : 0);
+ 712 0 return hash;
+ 713
}
- 723
+ 714
- 724
+ 715
/**
- 725
+ 716
* Standard equals implementation.
- 726
+ 717
*
- 727
+ 718
* @param obj the object to compare
- 728
+ 719
* @return true if the objects are equal, otherwise false
- 729
+ 720
*/
- 730
+ 721
@Override
- 731
+ 722
public boolean equals(Object obj) {
- 732 0 if (obj == null) {
- 733 0 return false;
- 734
+ 723 0 if (obj == null) {
+ 724 0 return false;
+ 725
}
- 735 0 if (getClass() != obj.getClass()) {
- 736 0 return false;
- 737
+ 726 0 if (getClass() != obj.getClass()) {
+ 727 0 return false;
+ 728
}
- 738 0 final IdentifierMatch other = (IdentifierMatch) obj;
- 739 0 if (this.evidenceConfidence != other.evidenceConfidence) {
- 740 0 return false;
+ 729 0 final IdentifierMatch other = (IdentifierMatch) obj;
+ 730 0 if (this.evidenceConfidence != other.evidenceConfidence) {
+ 731 0 return false;
+ 732
+ }
+ 733 0 if (this.confidence != other.confidence) {
+ 734 0 return false;
+ 735
+ }
+ 736 0 if (this.identifier != other.identifier && (this.identifier == null || !this.identifier.equals(other.identifier))) {
+ 737 0 return false;
+ 738
+ }
+ 739 0 return true;
+ 740
+ }
741
- }
- 742 0 if (this.confidence != other.confidence) {
- 743 0 return false;
- 744
- }
- 745 0 if (this.identifier != other.identifier && (this.identifier == null || !this.identifier.equals(other.identifier))) {
- 746 0 return false;
- 747
- }
- 748 0 return true;
- 749
- }
- 750
//</editor-fold>
- 751
+ 742
- 752
+ 743
/**
- 753
- * Standard implementation of compareTo that compares identifier confidence, evidence confidence, and then the
- 754
- * identifier.
- 755
+ 744
+ * Standard implementation of compareTo that compares identifier confidence, evidence confidence, and then the identifier.
+ 745
*
- 756
+ 746
* @param o the IdentifierMatch to compare to
- 757
+ 747
* @return the natural ordering of IdentifierMatch
- 758
+ 748
*/
- 759
+ 749
@Override
- 760
+ 750
public int compareTo(IdentifierMatch o) {
- 761 10 int conf = this.confidence.compareTo(o.confidence);
- 762 10 if (conf == 0) {
- 763 8 conf = this.evidenceConfidence.compareTo(o.evidenceConfidence);
- 764 8 if (conf == 0) {
- 765 4 conf = identifier.compareTo(o.identifier);
- 766
+ 751 8 int conf = this.confidence.compareTo(o.confidence);
+ 752 8 if (conf == 0) {
+ 753 6 conf = this.evidenceConfidence.compareTo(o.evidenceConfidence);
+ 754 6 if (conf == 0) {
+ 755 2 conf = identifier.compareTo(o.identifier);
+ 756
}
- 767
+ 757
}
- 768 10 return conf;
- 769
+ 758 8 return conf;
+ 759
}
- 770
+ 760
}
- 771
+ 761
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CentralAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CentralAnalyzer.html
index c2d71b687..195702b54 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CentralAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CentralAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- CentralAnalyzer 73%
62%
2.625;2.625
+ CentralAnalyzer 26%
13%
3.625;3.625
@@ -56,326 +56,386 @@
19
20
- import java.io.FileNotFoundException;
+ import java.io.File;
21
- import java.io.IOException;
+ import java.io.FileNotFoundException;
22
- import java.net.URL;
+ import java.io.IOException;
23
- import java.util.List;
+ import java.net.URL;
24
- import java.util.Set;
+ import java.util.List;
25
- import java.util.logging.Level;
+ import java.util.Set;
26
- import java.util.logging.Logger;
+ import java.util.logging.Level;
27
- import org.owasp.dependencycheck.Engine;
+ import java.util.logging.Logger;
28
- import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
+ import org.apache.commons.io.FileUtils;
29
- import org.owasp.dependencycheck.data.central.CentralSearch;
+ import org.owasp.dependencycheck.Engine;
30
- import org.owasp.dependencycheck.data.nexus.MavenArtifact;
+ import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
31
- import org.owasp.dependencycheck.dependency.Confidence;
+ import org.owasp.dependencycheck.data.central.CentralSearch;
32
- import org.owasp.dependencycheck.dependency.Dependency;
+ import org.owasp.dependencycheck.data.nexus.MavenArtifact;
33
- import org.owasp.dependencycheck.utils.InvalidSettingException;
+ import org.owasp.dependencycheck.dependency.Confidence;
34
- import org.owasp.dependencycheck.utils.Settings;
+ import org.owasp.dependencycheck.dependency.Dependency;
35
-
+ import org.owasp.dependencycheck.dependency.Evidence;
36
- /**
+ import org.owasp.dependencycheck.jaxb.pom.PomUtils;
37
- * Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's
+ import org.owasp.dependencycheck.utils.DownloadFailedException;
38
- * SHA-1 digest.
+ import org.owasp.dependencycheck.utils.Downloader;
39
- *
+ import org.owasp.dependencycheck.utils.InvalidSettingException;
40
- * @author colezlaw
+ import org.owasp.dependencycheck.utils.Settings;
41
- */
- 42 2 public class CentralAnalyzer extends AbstractFileTypeAnalyzer {
+
+ 42
+ /**
43
-
+ * Analyzer which will attempt to locate a dependency, and the GAV information, by querying Central for the dependency's SHA-1
44
- /**
+ * digest.
45
- * The logger.
+ *
46
- */
- 47 1 private static final Logger LOGGER = Logger.getLogger(CentralAnalyzer.class.getName());
- 48
-
+ * @author colezlaw
+ 47
+ */
+ 48 2 public class CentralAnalyzer extends AbstractFileTypeAnalyzer {
49
- /**
+
50
- * The name of the analyzer.
+ /**
51
- */
+ * The logger.
52
- private static final String ANALYZER_NAME = "Central Analyzer";
- 53
-
+ */
+ 53 1 private static final Logger LOGGER = Logger.getLogger(CentralAnalyzer.class.getName());
54
- /**
+
55
- * The phase in which this analyzer runs.
+ /**
56
+ * The name of the analyzer.
+ 57
*/
- 57 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
58
-
+ private static final String ANALYZER_NAME = "Central Analyzer";
59
- /**
- 60
- * The types of files on which this will work.
- 61
- */
- 62 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar");
- 63
- 64
+ 60
/**
+ 61
+ * The phase in which this analyzer runs.
+ 62
+ */
+ 63 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 64
+
65
- * The analyzer should be disabled if there are errors, so this is a flag to determine if such an error has
+ /**
66
- * occurred.
+ * The types of files on which this will work.
67
*/
- 68 2 private boolean errorFlag = false;
+ 68 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar");
69
70
/**
71
- * The searcher itself.
+ * The analyzer should be disabled if there are errors, so this is a flag to determine if such an error has occurred.
72
*/
- 73
- private CentralSearch searcher;
+ 73 2 private boolean errorFlag = false;
74
75
/**
76
- * Field indicating if the analyzer is enabled.
+ * The searcher itself.
77
*/
- 78 2 private final boolean enabled = checkEnabled();
+ 78
+ private CentralSearch searcher;
79
-
+ /**
80
- /**
+ * Utility to read POM files.
81
- * Determine whether to enable this analyzer or not.
- 82
- *
+ */
+ 82 2 private PomUtils pomUtil = new PomUtils();
83
- * @return whether the analyzer should be enabled
- 84
- */
- 85
- @Override
- 86
- public boolean isEnabled() {
- 87
- return enabled;
- 88
- }
- 89
-
- 90
/**
- 91
- * Determines if this analyzer is enabled.
- 92
- *
- 93
- * @return <code>true</code> if the analyzer is enabled; otherwise <code>false</code>
- 94
+ 84
+ * Field indicating if the analyzer is enabled.
+ 85
*/
- 95
- private boolean checkEnabled() {
- 96 2 boolean retval = false;
+ 86 2 private final boolean enabled = checkEnabled();
+ 87
+
+ 88
+ /**
+ 89
+ * Determine whether to enable this analyzer or not.
+ 90
+ *
+ 91
+ * @return whether the analyzer should be enabled
+ 92
+ */
+ 93
+ @Override
+ 94
+ public boolean isEnabled() {
+ 95 0 return enabled;
+ 96
+ }
97
98
- try {
- 99 2 if (Settings.getBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED)) {
- 100 2 if (!Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED)
+ /**
+ 99
+ * Determines if this analyzer is enabled.
+ 100
+ *
101
- || NexusAnalyzer.DEFAULT_URL.equals(Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL))) {
- 102 2 LOGGER.fine("Enabling the Central analyzer");
- 103 2 retval = true;
- 104
- } else {
- 105 0 LOGGER.info("Nexus analyzer is enabled, disabling the Central Analyzer");
+ * @return <code>true</code> if the analyzer is enabled; otherwise <code>false</code>
+ 102
+ */
+ 103
+ private boolean checkEnabled() {
+ 104 2 boolean retval = false;
+ 105
+
106
- }
- 107
- } else {
- 108 0 LOGGER.info("Central analyzer disabled");
- 109
- }
- 110 0 } catch (InvalidSettingException ise) {
- 111 0 LOGGER.warning("Invalid setting. Disabling the Central analyzer");
- 112 2 }
- 113 2 return retval;
- 114
- }
- 115
-
- 116
- /**
- 117
- * Initializes the analyzer once before any analysis is performed.
- 118
- *
- 119
- * @throws Exception if there's an error during initialization
- 120
- */
- 121
- @Override
- 122
- public void initializeFileTypeAnalyzer() throws Exception {
- 123 1 LOGGER.fine("Initializing Central analyzer");
- 124 1 LOGGER.fine(String.format("Central analyzer enabled: %s", isEnabled()));
- 125 1 if (isEnabled()) {
- 126 1 final String searchUrl = Settings.getString(Settings.KEYS.ANALYZER_CENTRAL_URL);
- 127 1 LOGGER.fine(String.format("Central Analyzer URL: %s", searchUrl));
- 128 1 searcher = new CentralSearch(new URL(searchUrl));
- 129
- }
- 130 1 }
- 131
-
- 132
- /**
- 133
- * Returns the analyzer's name.
- 134
- *
- 135
- * @return the name of the analyzer
- 136
- */
- 137
- @Override
- 138
- public String getName() {
- 139 4 return ANALYZER_NAME;
- 140
- }
- 141
-
- 142
- /**
- 143
- * Returns the key used in the properties file to to reference the analyzer's enabled property.
- 144
- *
- 145
- * @return the analyzer's enabled property setting key.
- 146
- */
- 147
- @Override
- 148
- protected String getAnalyzerEnabledSettingKey() {
- 149 2 return Settings.KEYS.ANALYZER_CENTRAL_ENABLED;
- 150
- }
- 151
-
- 152
- /**
- 153
- * Returns the analysis phase under which the analyzer runs.
- 154
- *
- 155
- * @return the phase under which the analyzer runs
- 156
- */
- 157
- @Override
- 158
- public AnalysisPhase getAnalysisPhase() {
- 159 1 return ANALYSIS_PHASE;
- 160
- }
- 161
-
- 162
- /**
- 163
- * Returns the extensions for which this Analyzer runs.
- 164
- *
- 165
- * @return the extensions for which this Analyzer runs
- 166
- */
- 167
- @Override
- 168
- public Set<String> getSupportedExtensions() {
- 169 850 return SUPPORTED_EXTENSIONS;
- 170
- }
- 171
-
- 172
- /**
- 173
- * Performs the analysis.
- 174
- *
- 175
- * @param dependency the dependency to analyze
- 176
- * @param engine the engine
- 177
- * @throws AnalysisException when there's an exception during analysis
- 178
- */
- 179
- @Override
- 180
- public void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException {
- 181 2 if (errorFlag || !isEnabled()) {
- 182 0 return;
- 183
- }
- 184
-
- 185
try {
- 186 2 final List<MavenArtifact> mas = searcher.searchSha1(dependency.getSha1sum());
- 187 2 final Confidence confidence = mas.size() > 1 ? Confidence.HIGH : Confidence.HIGHEST;
- 188 2 for (MavenArtifact ma : mas) {
- 189 2 LOGGER.fine(String.format("Central analyzer found artifact (%s) for dependency (%s)", ma.toString(), dependency.getFileName()));
- 190 2 dependency.addAsEvidence("central", ma, confidence);
- 191 2 }
- 192 0 } catch (IllegalArgumentException iae) {
- 193 0 LOGGER.info(String.format("invalid sha1-hash on %s", dependency.getFileName()));
- 194 0 } catch (FileNotFoundException fnfe) {
- 195 0 LOGGER.fine(String.format("Artifact not found in repository: '%s", dependency.getFileName()));
- 196 0 } catch (IOException ioe) {
- 197 0 LOGGER.log(Level.FINE, "Could not connect to Central search", ioe);
- 198 0 errorFlag = true;
- 199 2 }
- 200 2 }
- 201
+ 107 2 if (Settings.getBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED)) {
+ 108 1 if (!Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED)
+ 109
+ || NexusAnalyzer.DEFAULT_URL.equals(Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL))) {
+ 110 1 LOGGER.fine("Enabling the Central analyzer");
+ 111 1 retval = true;
+ 112
+ } else {
+ 113 0 LOGGER.info("Nexus analyzer is enabled, disabling the Central Analyzer");
+ 114
+ }
+ 115
+ } else {
+ 116 1 LOGGER.info("Central analyzer disabled");
+ 117
+ }
+ 118 0 } catch (InvalidSettingException ise) {
+ 119 0 LOGGER.warning("Invalid setting. Disabling the Central analyzer");
+ 120 2 }
+ 121 2 return retval;
+ 122
+ }
+ 123
+
+ 124
+ /**
+ 125
+ * Initializes the analyzer once before any analysis is performed.
+ 126
+ *
+ 127
+ * @throws Exception if there's an error during initialization
+ 128
+ */
+ 129
+ @Override
+ 130
+ public void initializeFileTypeAnalyzer() throws Exception {
+ 131 0 LOGGER.fine("Initializing Central analyzer");
+ 132 0 LOGGER.fine(String.format("Central analyzer enabled: %s", isEnabled()));
+ 133 0 if (isEnabled()) {
+ 134 0 final String searchUrl = Settings.getString(Settings.KEYS.ANALYZER_CENTRAL_URL);
+ 135 0 LOGGER.fine(String.format("Central Analyzer URL: %s", searchUrl));
+ 136 0 searcher = new CentralSearch(new URL(searchUrl));
+ 137
+ }
+ 138 0 }
+ 139
+
+ 140
+ /**
+ 141
+ * Returns the analyzer's name.
+ 142
+ *
+ 143
+ * @return the name of the analyzer
+ 144
+ */
+ 145
+ @Override
+ 146
+ public String getName() {
+ 147 4 return ANALYZER_NAME;
+ 148
+ }
+ 149
+
+ 150
+ /**
+ 151
+ * Returns the key used in the properties file to to reference the analyzer's enabled property.
+ 152
+ *
+ 153
+ * @return the analyzer's enabled property setting key.
+ 154
+ */
+ 155
+ @Override
+ 156
+ protected String getAnalyzerEnabledSettingKey() {
+ 157 2 return Settings.KEYS.ANALYZER_CENTRAL_ENABLED;
+ 158
+ }
+ 159
+
+ 160
+ /**
+ 161
+ * Returns the analysis phase under which the analyzer runs.
+ 162
+ *
+ 163
+ * @return the phase under which the analyzer runs
+ 164
+ */
+ 165
+ @Override
+ 166
+ public AnalysisPhase getAnalysisPhase() {
+ 167 1 return ANALYSIS_PHASE;
+ 168
+ }
+ 169
+
+ 170
+ /**
+ 171
+ * Returns the extensions for which this Analyzer runs.
+ 172
+ *
+ 173
+ * @return the extensions for which this Analyzer runs
+ 174
+ */
+ 175
+ @Override
+ 176
+ public Set<String> getSupportedExtensions() {
+ 177 0 return SUPPORTED_EXTENSIONS;
+ 178
+ }
+ 179
+
+ 180
+ /**
+ 181
+ * Performs the analysis.
+ 182
+ *
+ 183
+ * @param dependency the dependency to analyze
+ 184
+ * @param engine the engine
+ 185
+ * @throws AnalysisException when there's an exception during analysis
+ 186
+ */
+ 187
+ @Override
+ 188
+ public void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException {
+ 189 0 if (errorFlag || !isEnabled()) {
+ 190 0 return;
+ 191
+ }
+ 192
+
+ 193
+ try {
+ 194 0 final List<MavenArtifact> mas = searcher.searchSha1(dependency.getSha1sum());
+ 195 0 final Confidence confidence = mas.size() > 1 ? Confidence.HIGH : Confidence.HIGHEST;
+ 196 0 for (MavenArtifact ma : mas) {
+ 197 0 LOGGER.fine(String.format("Central analyzer found artifact (%s) for dependency (%s)", ma.toString(), dependency.getFileName()));
+ 198 0 dependency.addAsEvidence("central", ma, confidence);
+ 199 0 boolean pomAnalyzed = false;
+ 200 0 for (Evidence e : dependency.getVendorEvidence()) {
+ 201 0 if ("pom".equals(e.getSource())) {
+ 202 0 pomAnalyzed = true;
+ 203 0 break;
+ 204
+ }
+ 205 0 }
+ 206 0 if (!pomAnalyzed && ma.getPomUrl() != null) {
+ 207 0 File pomFile = null;
+ 208
+ try {
+ 209 0 final File baseDir = Settings.getTempDirectory();
+ 210 0 pomFile = File.createTempFile("pom", ".xml", baseDir);
+ 211 0 if (!pomFile.delete()) {
+ 212 0 final String msg = String.format("Unable to fetch pom.xml for %s from Central; "
+ 213
+ + "this could result in undetected CPE/CVEs.", dependency.getFileName());
+ 214 0 LOGGER.warning(msg);
+ 215 0 LOGGER.fine("Unable to delete temp file");
+ 216
+ }
+ 217 0 LOGGER.fine(String.format("Downloading %s", ma.getPomUrl()));
+ 218 0 Downloader.fetchFile(new URL(ma.getPomUrl()), pomFile);
+ 219 0 pomUtil.analyzePOM(dependency, pomFile);
+ 220
+
+ 221 0 } catch (DownloadFailedException ex) {
+ 222 0 final String msg = String.format("Unable to download pom.xml for %s from Central; "
+ 223
+ + "this could result in undetected CPE/CVEs.", dependency.getFileName());
+ 224 0 LOGGER.warning(msg);
+ 225
+ } finally {
+ 226 0 if (pomFile != null && !FileUtils.deleteQuietly(pomFile)) {
+ 227 0 pomFile.deleteOnExit();
+ 228
+ }
+ 229
+ }
+ 230
+ }
+ 231
+
+ 232 0 }
+ 233 0 } catch (IllegalArgumentException iae) {
+ 234 0 LOGGER.info(String.format("invalid sha1-hash on %s", dependency.getFileName()));
+ 235 0 } catch (FileNotFoundException fnfe) {
+ 236 0 LOGGER.fine(String.format("Artifact not found in repository: '%s", dependency.getFileName()));
+ 237 0 } catch (IOException ioe) {
+ 238 0 LOGGER.log(Level.FINE, "Could not connect to Central search", ioe);
+ 239 0 errorFlag = true;
+ 240 0 }
+ 241 0 }
+ 242
+
+ 243
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
index 4ec3d05ae..04ef95b4c 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.CpeSuppressionAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- CpeSuppressionAnalyzer 88%
66%
2.3333333333333335;2.333
+ CpeSuppressionAnalyzer 90%
66%
2.3333333333333335;2.333
@@ -77,8 +77,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
30
*/
- 31
- public class CpeSuppressionAnalyzer extends AbstractSuppressionAnalyzer {
+ 31 2 public class CpeSuppressionAnalyzer extends AbstractSuppressionAnalyzer {
32
33
@@ -153,13 +152,13 @@
70
71 2 for (final SuppressionRule rule : getRules()) {
- 72 16 rule.process(dependency);
- 73 16 }
+ 72 22 rule.process(dependency);
+ 73 22 }
74 2 }
75
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
index 403b62560..671523be4 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.DependencyBundlingAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- DependencyBundlingAnalyzer 42%
35%
7.846153846153846;7.846
+ DependencyBundlingAnalyzer 41%
33%
7.923076923076923;7.923
@@ -94,11 +94,11 @@
38
* <p>
39
- * This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are
+ * This analyzer ensures dependencies that should be grouped together, to remove excess noise from the report, are grouped. An
40
- * grouped. An example would be Spring, Spring Beans, Spring MVC, etc. If they are all for the same version and have the
+ * example would be Spring, Spring Beans, Spring MVC, etc. If they are all for the same version and have the same relative path
41
- * same relative path then these should be grouped into a single dependency under the core/main library.</p>
+ * then these should be grouped into a single dependency under the core/main library.</p>
42
* <p>
43
@@ -109,8 +109,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
46
*/
- 47
- public class DependencyBundlingAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 47 6 public class DependencyBundlingAnalyzer extends AbstractAnalyzer implements Analyzer {
48
49
@@ -137,8 +136,7 @@
* a flag indicating if this analyzer has run. This analyzer only runs once.
61
*/
- 62
- private boolean analyzed = false;
+ 62 6 private boolean analyzed = false;
63
//</editor-fold>
64
@@ -199,9 +197,9 @@
93
/**
94
- * Analyzes a set of dependencies. If they have been found to have the same base path and the same set of
+ * Analyzes a set of dependencies. If they have been found to have the same base path and the same set of identifiers they are
95
- * identifiers they are likely related. The related dependencies are bundled into a single reportable item.
+ * likely related. The related dependencies are bundled into a single reportable item.
96
*
97
@@ -253,374 +251,369 @@
&& hasSameBasePath(dependency, nextDependency)
132
&& fileNameMatch(dependency, nextDependency)) {
- 133
-
- 134 0 if (isCore(dependency, nextDependency)) {
- 135 0 mergeDependencies(dependency, nextDependency, dependenciesToRemove);
- 136
+ 133 0 if (isCore(dependency, nextDependency)) {
+ 134 0 mergeDependencies(dependency, nextDependency, dependenciesToRemove);
+ 135
} else {
- 137 0 mergeDependencies(nextDependency, dependency, dependenciesToRemove);
- 138 0 break; //since we merged into the next dependency - skip forward to the next in mainIterator
- 139
+ 136 0 mergeDependencies(nextDependency, dependency, dependenciesToRemove);
+ 137 0 break; //since we merged into the next dependency - skip forward to the next in mainIterator
+ 138
}
- 140
+ 139
}
- 141 1 }
- 142
+ 140 1 }
+ 141
}
- 143 2 }
- 144
+ 142 2 }
+ 143
//removing dependencies here as ensuring correctness and avoiding ConcurrentUpdateExceptions
- 145
+ 144
// was difficult because of the inner iterator.
- 146 1 engine.getDependencies().removeAll(dependenciesToRemove);
- 147
+ 145 1 engine.getDependencies().removeAll(dependenciesToRemove);
+ 146
}
- 148 2 }
+ 147 2 }
+ 148
+
149
-
+ /**
150
- /**
- 151
* Adds the relatedDependency to the dependency's related dependencies.
+ 151
+ *
152
- *
- 153
* @param dependency the main dependency
+ 153
+ * @param relatedDependency a collection of dependencies to be removed from the main analysis loop, this is the source of
154
- * @param relatedDependency a collection of dependencies to be removed from the main analysis loop, this is the
+ * dependencies to remove
155
- * source of dependencies to remove
+ * @param dependenciesToRemove a collection of dependencies that will be removed from the main analysis loop, this function
156
- * @param dependenciesToRemove a collection of dependencies that will be removed from the main analysis loop, this
+ * adds to this collection
157
- * function adds to this collection
+ */
158
- */
- 159
private void mergeDependencies(final Dependency dependency, final Dependency relatedDependency, final Set<Dependency> dependenciesToRemove) {
- 160 0 dependency.addRelatedDependency(relatedDependency);
- 161 0 final Iterator<Dependency> i = relatedDependency.getRelatedDependencies().iterator();
- 162 0 while (i.hasNext()) {
- 163 0 dependency.addRelatedDependency(i.next());
- 164 0 i.remove();
- 165
+ 159 0 dependency.addRelatedDependency(relatedDependency);
+ 160 0 final Iterator<Dependency> i = relatedDependency.getRelatedDependencies().iterator();
+ 161 0 while (i.hasNext()) {
+ 162 0 dependency.addRelatedDependency(i.next());
+ 163 0 i.remove();
+ 164
}
- 166 0 dependenciesToRemove.add(relatedDependency);
- 167 0 }
- 168
-
- 169
- /**
+ 165 0 if (dependency.getSha1sum().equals(relatedDependency.getSha1sum())) {
+ 166 0 dependency.addAllProjectReferences(relatedDependency.getProjectReferences());
+ 167
+ }
+ 168 0 dependenciesToRemove.add(relatedDependency);
+ 169 0 }
170
- * Attempts to trim a maven repo to a common base path. This is typically
+
171
- * [drive]\[repo_location]\repository\[path1]\[path2].
+ /**
172
- *
+ * Attempts to trim a maven repo to a common base path. This is typically [drive]\[repo_location]\repository\[path1]\[path2].
173
- * @param path the path to trim
+ *
174
- * @return a string representing the base path.
+ * @param path the path to trim
175
- */
+ * @return a string representing the base path.
176
+ */
+ 177
private String getBaseRepoPath(final String path) {
- 177 0 int pos = path.indexOf("repository" + File.separator) + 11;
- 178 0 if (pos < 0) {
- 179 0 return path;
- 180
+ 178 0 int pos = path.indexOf("repository" + File.separator) + 11;
+ 179 0 if (pos < 0) {
+ 180 0 return path;
+ 181
}
- 181 0 int tmp = path.indexOf(File.separator, pos);
- 182 0 if (tmp <= 0) {
- 183 0 return path;
- 184
+ 182 0 int tmp = path.indexOf(File.separator, pos);
+ 183 0 if (tmp <= 0) {
+ 184 0 return path;
+ 185
}
- 185 0 if (tmp > 0) {
- 186 0 pos = tmp + 1;
- 187
+ 186 0 if (tmp > 0) {
+ 187 0 pos = tmp + 1;
+ 188
}
- 188 0 tmp = path.indexOf(File.separator, pos);
- 189 0 if (tmp > 0) {
- 190 0 pos = tmp + 1;
- 191
+ 189 0 tmp = path.indexOf(File.separator, pos);
+ 190 0 if (tmp > 0) {
+ 191 0 pos = tmp + 1;
+ 192
}
- 192 0 return path.substring(0, pos);
- 193
- }
+ 193 0 return path.substring(0, pos);
194
-
- 195
- /**
- 196
- * Returns true if the file names (and version if it exists) of the two dependencies are sufficiently similar.
- 197
- *
- 198
- * @param dependency1 a dependency2 to compare
- 199
- * @param dependency2 a dependency2 to compare
- 200
- * @return true if the identifiers in the two supplied dependencies are equal
- 201
- */
- 202
- private boolean fileNameMatch(Dependency dependency1, Dependency dependency2) {
- 203 0 if (dependency1 == null || dependency1.getFileName() == null
- 204
- || dependency2 == null || dependency2.getFileName() == null) {
- 205 0 return false;
- 206
- }
- 207 0 final String fileName1 = dependency1.getActualFile().getName();
- 208 0 final String fileName2 = dependency2.getActualFile().getName();
- 209
-
- 210
- // //REMOVED because this is attempting to duplicate what is in the hasSameBasePath function.
- 211
- // final File one = new File(fileName1);
- 212
- // final File two = new File(fileName2);
- 213
- // final String oneParent = one.getParent();
- 214
- // final String twoParent = two.getParent();
- 215
- // if (oneParent != null) {
- 216
- // if (oneParent.equals(twoParent)) {
- 217
- // fileName1 = one.getName();
- 218
- // fileName2 = two.getName();
- 219
- // } else {
- 220
- // return false;
- 221
- // }
- 222
- // } else if (twoParent != null) {
- 223
- // return false;
- 224
- // }
- 225
- //version check
- 226 0 final DependencyVersion version1 = DependencyVersionUtil.parseVersion(fileName1);
- 227 0 final DependencyVersion version2 = DependencyVersionUtil.parseVersion(fileName2);
- 228 0 if (version1 != null && version2 != null) {
- 229 0 if (!version1.equals(version2)) {
- 230 0 return false;
- 231
- }
- 232
- }
- 233
-
- 234
- //filename check
- 235 0 final Matcher match1 = STARTING_TEXT_PATTERN.matcher(fileName1);
- 236 0 final Matcher match2 = STARTING_TEXT_PATTERN.matcher(fileName2);
- 237 0 if (match1.find() && match2.find()) {
- 238 0 return match1.group().equals(match2.group());
- 239
- }
- 240
-
- 241 0 return false;
- 242
}
- 243
+ 195
- 244
+ 196
/**
- 245
- * Returns true if the CPE identifiers in the two supplied dependencies are equal.
- 246
+ 197
+ * Returns true if the file names (and version if it exists) of the two dependencies are sufficiently similar.
+ 198
*
- 247
+ 199
* @param dependency1 a dependency2 to compare
- 248
+ 200
* @param dependency2 a dependency2 to compare
- 249
+ 201
* @return true if the identifiers in the two supplied dependencies are equal
- 250
+ 202
*/
- 251
+ 203
+ private boolean fileNameMatch(Dependency dependency1, Dependency dependency2) {
+ 204 0 if (dependency1 == null || dependency1.getFileName() == null
+ 205
+ || dependency2 == null || dependency2.getFileName() == null) {
+ 206 0 return false;
+ 207
+ }
+ 208 0 final String fileName1 = dependency1.getActualFile().getName();
+ 209 0 final String fileName2 = dependency2.getActualFile().getName();
+ 210
+
+ 211
+ //version check
+ 212 0 final DependencyVersion version1 = DependencyVersionUtil.parseVersion(fileName1);
+ 213 0 final DependencyVersion version2 = DependencyVersionUtil.parseVersion(fileName2);
+ 214 0 if (version1 != null && version2 != null) {
+ 215 0 if (!version1.equals(version2)) {
+ 216 0 return false;
+ 217
+ }
+ 218
+ }
+ 219
+
+ 220
+ //filename check
+ 221 0 final Matcher match1 = STARTING_TEXT_PATTERN.matcher(fileName1);
+ 222 0 final Matcher match2 = STARTING_TEXT_PATTERN.matcher(fileName2);
+ 223 0 if (match1.find() && match2.find()) {
+ 224 0 return match1.group().equals(match2.group());
+ 225
+ }
+ 226
+
+ 227 0 return false;
+ 228
+ }
+ 229
+
+ 230
+ /**
+ 231
+ * Returns true if the CPE identifiers in the two supplied dependencies are equal.
+ 232
+ *
+ 233
+ * @param dependency1 a dependency2 to compare
+ 234
+ * @param dependency2 a dependency2 to compare
+ 235
+ * @return true if the identifiers in the two supplied dependencies are equal
+ 236
+ */
+ 237
private boolean cpeIdentifiersMatch(Dependency dependency1, Dependency dependency2) {
- 252 1 if (dependency1 == null || dependency1.getIdentifiers() == null
- 253
+ 238 1 if (dependency1 == null || dependency1.getIdentifiers() == null
+ 239
|| dependency2 == null || dependency2.getIdentifiers() == null) {
- 254 0 return false;
- 255
+ 240 0 return false;
+ 241
}
- 256 1 boolean matches = false;
- 257 1 int cpeCount1 = 0;
- 258 1 int cpeCount2 = 0;
- 259 1 for (Identifier i : dependency1.getIdentifiers()) {
- 260 1 if ("cpe".equals(i.getType())) {
- 261 0 cpeCount1 += 1;
- 262
+ 242 1 boolean matches = false;
+ 243 1 int cpeCount1 = 0;
+ 244 1 int cpeCount2 = 0;
+ 245 1 for (Identifier i : dependency1.getIdentifiers()) {
+ 246 0 if ("cpe".equals(i.getType())) {
+ 247 0 cpeCount1 += 1;
+ 248
}
- 263 1 }
- 264 1 for (Identifier i : dependency2.getIdentifiers()) {
- 265 3 if ("cpe".equals(i.getType())) {
- 266 2 cpeCount2 += 1;
- 267
+ 249 0 }
+ 250 1 for (Identifier i : dependency2.getIdentifiers()) {
+ 251 2 if ("cpe".equals(i.getType())) {
+ 252 2 cpeCount2 += 1;
+ 253
}
- 268 3 }
- 269 1 if (cpeCount1 > 0 && cpeCount1 == cpeCount2) {
- 270 0 for (Identifier i : dependency1.getIdentifiers()) {
- 271 0 if ("cpe".equals(i.getType())) {
- 272 0 matches |= dependency2.getIdentifiers().contains(i);
- 273 0 if (!matches) {
- 274 0 break;
- 275
+ 254 2 }
+ 255 1 if (cpeCount1 > 0 && cpeCount1 == cpeCount2) {
+ 256 0 for (Identifier i : dependency1.getIdentifiers()) {
+ 257 0 if ("cpe".equals(i.getType())) {
+ 258 0 matches |= dependency2.getIdentifiers().contains(i);
+ 259 0 if (!matches) {
+ 260 0 break;
+ 261
}
- 276
+ 262
}
- 277 0 }
- 278
+ 263 0 }
+ 264
}
- 279 1 if (LogUtils.isVerboseLoggingEnabled()) {
- 280 0 final String msg = String.format("IdentifiersMatch=%s (%s, %s)", matches, dependency1.getFileName(), dependency2.getFileName());
- 281 0 LOGGER.log(Level.FINE, msg);
+ 265 1 if (LogUtils.isVerboseLoggingEnabled()) {
+ 266 0 final String msg = String.format("IdentifiersMatch=%s (%s, %s)", matches, dependency1.getFileName(), dependency2.getFileName());
+ 267 0 LOGGER.log(Level.FINE, msg);
+ 268
+ }
+ 269 1 return matches;
+ 270
+ }
+ 271
+
+ 272
+ /**
+ 273
+ * Determines if the two dependencies have the same base path.
+ 274
+ *
+ 275
+ * @param dependency1 a Dependency object
+ 276
+ * @param dependency2 a Dependency object
+ 277
+ * @return true if the base paths of the dependencies are identical
+ 278
+ */
+ 279
+ private boolean hasSameBasePath(Dependency dependency1, Dependency dependency2) {
+ 280 0 if (dependency1 == null || dependency2 == null) {
+ 281 0 return false;
282
}
- 283 1 return matches;
- 284
- }
- 285
-
- 286
- /**
- 287
- * Determines if the two dependencies have the same base path.
- 288
- *
+ 283 0 final File lFile = new File(dependency1.getFilePath());
+ 284 0 String left = lFile.getParent();
+ 285 0 final File rFile = new File(dependency2.getFilePath());
+ 286 0 String right = rFile.getParent();
+ 287 0 if (left == null) {
+ 288 0 return right == null;
289
- * @param dependency1 a Dependency object
- 290
- * @param dependency2 a Dependency object
- 291
- * @return true if the base paths of the dependencies are identical
+ }
+ 290 0 if (left.equalsIgnoreCase(right)) {
+ 291 0 return true;
292
- */
- 293
- private boolean hasSameBasePath(Dependency dependency1, Dependency dependency2) {
- 294 0 if (dependency1 == null || dependency2 == null) {
- 295 0 return false;
+ }
+ 293 0 if (left.matches(".*[/\\\\]repository[/\\\\].*") && right.matches(".*[/\\\\]repository[/\\\\].*")) {
+ 294 0 left = getBaseRepoPath(left);
+ 295 0 right = getBaseRepoPath(right);
296
}
- 297 0 final File lFile = new File(dependency1.getFilePath());
- 298 0 String left = lFile.getParent();
- 299 0 final File rFile = new File(dependency2.getFilePath());
- 300 0 String right = rFile.getParent();
- 301 0 if (left == null) {
- 302 0 return right == null;
- 303
+ 297 0 if (left.equalsIgnoreCase(right)) {
+ 298 0 return true;
+ 299
}
- 304 0 if (left.equalsIgnoreCase(right)) {
- 305 0 return true;
- 306
- }
- 307 0 if (left.matches(".*[/\\\\]repository[/\\\\].*") && right.matches(".*[/\\\\]repository[/\\\\].*")) {
- 308 0 left = getBaseRepoPath(left);
- 309 0 right = getBaseRepoPath(right);
- 310
- }
- 311 0 if (left.equalsIgnoreCase(right)) {
- 312 0 return true;
- 313
- }
- 314
+ 300
//new code
- 315 0 for (Dependency child : dependency2.getRelatedDependencies()) {
- 316 0 if (hasSameBasePath(dependency1, child)) {
- 317 0 return true;
- 318
+ 301 0 for (Dependency child : dependency2.getRelatedDependencies()) {
+ 302 0 if (hasSameBasePath(dependency1, child)) {
+ 303 0 return true;
+ 304
}
- 319 0 }
- 320 0 return false;
- 321
+ 305 0 }
+ 306 0 return false;
+ 307
}
- 322
+ 308
- 323
+ 309
/**
- 324
- * This is likely a very broken attempt at determining if the 'left' dependency is the 'core' library in comparison
- 325
- * to the 'right' library.
- 326
+ 310
+ * This is likely a very broken attempt at determining if the 'left' dependency is the 'core' library in comparison to the
+ 311
+ * 'right' library.
+ 312
*
- 327
+ 313
* @param left the dependency to test
- 328
+ 314
* @param right the dependency to test against
- 329
+ 315
* @return a boolean indicating whether or not the left dependency should be considered the "core" version.
- 330
+ 316
*/
- 331
+ 317
boolean isCore(Dependency left, Dependency right) {
- 332 2 final String leftName = left.getFileName().toLowerCase();
- 333 2 final String rightName = right.getFileName().toLowerCase();
- 334
+ 318 2 final String leftName = left.getFileName().toLowerCase();
+ 319 2 final String rightName = right.getFileName().toLowerCase();
+ 320
- 335
+ 321
final boolean returnVal;
- 336 2 if (!rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+") && leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+")
- 337
+ 322 2 if (!rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+") && leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+")
+ 323
|| rightName.contains("core") && !leftName.contains("core")
- 338
+ 324
|| rightName.contains("kernel") && !leftName.contains("kernel")) {
- 339 0 returnVal = false;
- 340 2 } else if (rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+") && !leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+")
- 341
+ 325 0 returnVal = false;
+ 326 2 } else if (rightName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+") && !leftName.matches(".*\\.(tar|tgz|gz|zip|ear|war).+")
+ 327
|| !rightName.contains("core") && leftName.contains("core")
- 342
+ 328
|| !rightName.contains("kernel") && leftName.contains("kernel")) {
- 343 2 returnVal = true;
- 344
+ 329 2 returnVal = true;
+ 330
// } else if (leftName.matches(".*struts2\\-core.*") && rightName.matches(".*xwork\\-core.*")) {
- 345
+ 331
// returnVal = true;
- 346
+ 332
// } else if (rightName.matches(".*struts2\\-core.*") && leftName.matches(".*xwork\\-core.*")) {
- 347
+ 333
// returnVal = false;
- 348
+ 334
} else {
- 349
+ 335
/*
- 350
+ 336
* considered splitting the names up and comparing the components,
- 351
+ 337
* but decided that the file name length should be sufficient as the
- 352
+ 338
* "core" component, if this follows a normal naming protocol should
- 353
+ 339
* be shorter:
- 354
+ 340
* axis2-saaj-1.4.1.jar
- 355
+ 341
* axis2-1.4.1.jar <-----
- 356
+ 342
* axis2-kernel-1.4.1.jar
- 357
+ 343
*/
- 358 0 returnVal = leftName.length() <= rightName.length();
- 359
+ 344 0 returnVal = leftName.length() <= rightName.length();
+ 345
}
- 360 2 if (LogUtils.isVerboseLoggingEnabled()) {
- 361 0 final String msg = String.format("IsCore=%s (%s, %s)", returnVal, left.getFileName(), right.getFileName());
- 362 0 LOGGER.log(Level.FINE, msg);
+ 346 2 if (LogUtils.isVerboseLoggingEnabled()) {
+ 347 0 final String msg = String.format("IsCore=%s (%s, %s)", returnVal, left.getFileName(), right.getFileName());
+ 348 0 LOGGER.log(Level.FINE, msg);
+ 349
+ }
+ 350 2 return returnVal;
+ 351
+ }
+ 352
+
+ 353
+ /**
+ 354
+ * Compares the SHA1 hashes of two dependencies to determine if they are equal.
+ 355
+ *
+ 356
+ * @param dependency1 a dependency object to compare
+ 357
+ * @param dependency2 a dependency object to compare
+ 358
+ * @return true if the sha1 hashes of the two dependencies match; otherwise false
+ 359
+ */
+ 360
+ private boolean hashesMatch(Dependency dependency1, Dependency dependency2) {
+ 361 1 if (dependency1 == null || dependency2 == null || dependency1.getSha1sum() == null || dependency2.getSha1sum() == null) {
+ 362 0 return false;
363
}
- 364 2 return returnVal;
+ 364 1 return dependency1.getSha1sum().equals(dependency2.getSha1sum());
365
}
366
@@ -628,128 +621,101 @@
367
/**
368
- * Compares the SHA1 hashes of two dependencies to determine if they are equal.
+ * Determines if the jar is shaded and the created pom.xml identified the same CPE as the jar - if so, the pom.xml dependency
369
- *
+ * should be removed.
370
- * @param dependency1 a dependency object to compare
+ *
371
- * @param dependency2 a dependency object to compare
- 372
- * @return true if the sha1 hashes of the two dependencies match; otherwise false
- 373
- */
- 374
- private boolean hashesMatch(Dependency dependency1, Dependency dependency2) {
- 375 1 if (dependency1 == null || dependency2 == null || dependency1.getSha1sum() == null || dependency2.getSha1sum() == null) {
- 376 0 return false;
- 377
- }
- 378 1 return dependency1.getSha1sum().equals(dependency2.getSha1sum());
- 379
- }
- 380
-
- 381
- /**
- 382
- * Determines if the jar is shaded and the created pom.xml identified the same CPE as the jar - if so, the pom.xml
- 383
- * dependency should be removed.
- 384
- *
- 385
* @param dependency a dependency to check
- 386
+ 372
* @param nextDependency another dependency to check
- 387
- * @return true if on of the dependencies is a pom.xml and the identifiers between the two collections match;
- 388
- * otherwise false
- 389
+ 373
+ * @return true if on of the dependencies is a pom.xml and the identifiers between the two collections match; otherwise false
+ 374
*/
- 390
+ 375
private boolean isShadedJar(Dependency dependency, Dependency nextDependency) {
- 391 1 final String mainName = dependency.getFileName().toLowerCase();
- 392 1 final String nextName = nextDependency.getFileName().toLowerCase();
- 393 1 if (mainName.endsWith(".jar") && nextName.endsWith("pom.xml")) {
- 394 0 return dependency.getIdentifiers().containsAll(nextDependency.getIdentifiers());
- 395 1 } else if (nextName.endsWith(".jar") && mainName.endsWith("pom.xml")) {
- 396 0 return nextDependency.getIdentifiers().containsAll(dependency.getIdentifiers());
- 397
+ 376 1 final String mainName = dependency.getFileName().toLowerCase();
+ 377 1 final String nextName = nextDependency.getFileName().toLowerCase();
+ 378 1 if (mainName.endsWith(".jar") && nextName.endsWith("pom.xml")) {
+ 379 0 return dependency.getIdentifiers().containsAll(nextDependency.getIdentifiers());
+ 380 1 } else if (nextName.endsWith(".jar") && mainName.endsWith("pom.xml")) {
+ 381 0 return nextDependency.getIdentifiers().containsAll(dependency.getIdentifiers());
+ 382
}
- 398 1 return false;
- 399
+ 383 1 return false;
+ 384
}
- 400
+ 385
- 401
+ 386
/**
- 402
- * Determines which path is shortest; if path lengths are equal then we use compareTo of the string method to
- 403
- * determine if the first path is smaller.
- 404
+ 387
+ * Determines which path is shortest; if path lengths are equal then we use compareTo of the string method to determine if the
+ 388
+ * first path is smaller.
+ 389
*
- 405
+ 390
* @param left the first path to compare
- 406
+ 391
* @param right the second path to compare
- 407
+ 392
* @return <code>true</code> if the leftPath is the shortest; otherwise <code>false</code>
- 408
+ 393
*/
- 409
+ 394
protected boolean firstPathIsShortest(String left, String right) {
- 410 5 final String leftPath = left.replace('\\', '/');
- 411 5 final String rightPath = right.replace('\\', '/');
- 412
+ 395 5 final String leftPath = left.replace('\\', '/');
+ 396 5 final String rightPath = right.replace('\\', '/');
+ 397
- 413 5 final int leftCount = countChar(leftPath, '/');
- 414 5 final int rightCount = countChar(rightPath, '/');
- 415 5 if (leftCount == rightCount) {
- 416 3 return leftPath.compareTo(rightPath) <= 0;
- 417
+ 398 5 final int leftCount = countChar(leftPath, '/');
+ 399 5 final int rightCount = countChar(rightPath, '/');
+ 400 5 if (leftCount == rightCount) {
+ 401 3 return leftPath.compareTo(rightPath) <= 0;
+ 402
} else {
- 418 2 return leftCount < rightCount;
- 419
+ 403 2 return leftCount < rightCount;
+ 404
}
- 420
+ 405
}
- 421
+ 406
- 422
+ 407
/**
- 423
+ 408
* Counts the number of times the character is present in the string.
- 424
+ 409
*
- 425
+ 410
* @param string the string to count the characters in
- 426
+ 411
* @param c the character to count
- 427
+ 412
* @return the number of times the character is present in the string
- 428
+ 413
*/
- 429
+ 414
private int countChar(String string, char c) {
- 430 10 int count = 0;
- 431 10 final int max = string.length();
- 432 116 for (int i = 0; i < max; i++) {
- 433 106 if (c == string.charAt(i)) {
- 434 28 count++;
- 435
+ 415 10 int count = 0;
+ 416 10 final int max = string.length();
+ 417 116 for (int i = 0; i < max; i++) {
+ 418 106 if (c == string.charAt(i)) {
+ 419 28 count++;
+ 420
}
- 436
+ 421
}
- 437 10 return count;
- 438
+ 422 10 return count;
+ 423
}
- 439
+ 424
}
-
+
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 35c458c47..8728397ac 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 @@
Classes in this File Line Coverage Branch Coverage Complexity
- FalsePositiveAnalyzer 51%
31%
9.692307692307692;9.692
+ FalsePositiveAnalyzer 49%
27%
9.692307692307692;9.692
@@ -101,8 +101,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
42
*/
- 43
- public class FalsePositiveAnalyzer extends AbstractAnalyzer {
+ 43 5 public class FalsePositiveAnalyzer extends AbstractAnalyzer {
44
45
@@ -209,8 +208,8 @@
private void removeBadSpringMatches(Dependency dependency) {
102 3 String mustContain = null;
103 3 for (Identifier i : dependency.getIdentifiers()) {
- 104 4 if ("maven".contains(i.getType())) {
- 105 2 if (i.getValue() != null && i.getValue().startsWith("org.springframework.")) {
+ 104 2 if ("maven".contains(i.getType())) {
+ 105 0 if (i.getValue() != null && i.getValue().startsWith("org.springframework.")) {
106 0 final int endPoint = i.getValue().indexOf(":", 19);
107 0 if (endPoint >= 0) {
108 0 mustContain = i.getValue().substring(19, endPoint).toLowerCase();
@@ -221,7 +220,7 @@
}
112
}
- 113 4 }
+ 113 2 }
114 3 if (mustContain != null) {
115 0 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
116 0 while (itr.hasNext()) {
@@ -288,19 +287,19 @@
150 3 ids.addAll(dependency.getIdentifiers());
151 3 Collections.sort(ids);
152 3 final ListIterator<Identifier> mainItr = ids.listIterator();
- 153 7 while (mainItr.hasNext()) {
- 154 4 final Identifier currentId = mainItr.next();
- 155 4 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
- 156 4 if (currentCpe == null) {
- 157 2 continue;
+ 153 5 while (mainItr.hasNext()) {
+ 154 2 final Identifier currentId = mainItr.next();
+ 155 2 final VulnerableSoftware currentCpe = parseCpe(currentId.getType(), currentId.getValue());
+ 156 2 if (currentCpe == null) {
+ 157 0 continue;
158
}
159 2 final ListIterator<Identifier> subItr = ids.listIterator(mainItr.nextIndex());
- 160 5 while (subItr.hasNext()) {
- 161 3 final Identifier nextId = subItr.next();
- 162 3 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
- 163 3 if (nextCpe == null) {
- 164 2 continue;
+ 160 3 while (subItr.hasNext()) {
+ 161 1 final Identifier nextId = subItr.next();
+ 162 1 final VulnerableSoftware nextCpe = parseCpe(nextId.getType(), nextId.getValue());
+ 163 1 if (nextCpe == null) {
+ 164 0 continue;
165
}
166
@@ -389,21 +388,21 @@
private void removeJreEntries(Dependency dependency) {
219 3 final Set<Identifier> identifiers = dependency.getIdentifiers();
220 3 final Iterator<Identifier> itr = identifiers.iterator();
- 221 8 while (itr.hasNext()) {
- 222 5 final Identifier i = itr.next();
- 223 5 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
- 224 5 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
- 225 5 if (coreCPE.matches() && !coreFiles.matches()) {
+ 221 6 while (itr.hasNext()) {
+ 222 3 final Identifier i = itr.next();
+ 223 3 final Matcher coreCPE = CORE_JAVA.matcher(i.getValue());
+ 224 3 final Matcher coreFiles = CORE_FILES.matcher(dependency.getFileName());
+ 225 3 if (coreCPE.matches() && !coreFiles.matches()) {
226 0 itr.remove();
227
}
- 228 5 final Matcher coreJsfCPE = CORE_JAVA_JSF.matcher(i.getValue());
- 229 5 final Matcher coreJsfFiles = CORE_JSF_FILES.matcher(dependency.getFileName());
- 230 5 if (coreJsfCPE.matches() && !coreJsfFiles.matches()) {
+ 228 3 final Matcher coreJsfCPE = CORE_JAVA_JSF.matcher(i.getValue());
+ 229 3 final Matcher coreJsfFiles = CORE_JSF_FILES.matcher(dependency.getFileName());
+ 230 3 if (coreJsfCPE.matches() && !coreJsfFiles.matches()) {
231 0 itr.remove();
232
}
- 233 5 }
+ 233 3 }
234 3 }
235
@@ -423,8 +422,8 @@
*/
243
private VulnerableSoftware parseCpe(String type, String value) {
- 244 7 if (!"cpe".equals(type)) {
- 245 4 return null;
+ 244 3 if (!"cpe".equals(type)) {
+ 245 0 return null;
246
}
247 3 final VulnerableSoftware cpe = new VulnerableSoftware();
@@ -472,11 +471,11 @@
//Set<Evidence> groupId = dependency.getVendorEvidence().getEvidence("pom", "groupid");
273
//Set<Evidence> artifactId = dependency.getVendorEvidence().getEvidence("pom", "artifactid");
- 274 8 while (itr.hasNext()) {
- 275 5 final Identifier i = itr.next();
+ 274 6 while (itr.hasNext()) {
+ 275 3 final Identifier i = itr.next();
276
//TODO move this startsWith expression to a configuration file?
- 277 5 if ("cpe".equals(i.getType())) {
+ 277 3 if ("cpe".equals(i.getType())) {
278 3 if ((i.getValue().matches(".*c\\+\\+.*")
279
|| i.getValue().startsWith("cpe:/a:file:file")
@@ -549,7 +548,7 @@
}
319
}
- 320 5 }
+ 320 3 }
321 3 }
322
@@ -618,9 +617,9 @@
364
//TODO move this to the hint analyzer
365 3 final Iterator<Identifier> itr = dependency.getIdentifiers().iterator();
- 366 7 while (itr.hasNext()) {
- 367 4 final Identifier i = itr.next();
- 368 4 if ("cpe".equals(i.getType()) && i.getValue() != null
+ 366 5 while (itr.hasNext()) {
+ 367 2 final Identifier i = itr.next();
+ 368 2 if ("cpe".equals(i.getType()) && i.getValue() != null
369
&& (i.getValue().startsWith("cpe:/a:oracle:opensso:")
370
@@ -660,7 +659,7 @@
392 0 }
393
}
- 394 4 }
+ 394 2 }
395 3 }
396
@@ -780,6 +779,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
index 28de5a418..b1b406b14 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileNameAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- FileNameAnalyzer 85%
50%
2.6666666666666665;2.667
+ FileNameAnalyzer 85%
50%
2.6666666666666665;2.667
@@ -83,8 +83,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
33
*/
- 34
- public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
+ 34 7 public class FileNameAnalyzer extends AbstractAnalyzer implements Analyzer {
35
36
@@ -229,6 +228,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html
index 3582cafe5..286a2aabd 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.FileTypeAnalyzer.html
@@ -84,9 +84,19 @@
33
boolean supportsExtension(String extension);
34
+
+ 35
+ /**
+ 36
+ * Resets the analyzers state.
+ 37
+ */
+ 38
+ void reset();
+ 39
}
-
+
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 a0d7b8ab8..09d576f2f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.HintAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- HintAnalyzer 76%
71%
3.3333333333333335;3.333
+ HintAnalyzer 78%
54%
4.666666666666667;4.667
@@ -60,175 +60,204 @@
21
import java.util.Iterator;
22
- import java.util.Set;
+ import java.util.List;
23
- import org.owasp.dependencycheck.Engine;
+ import java.util.Set;
24
- import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
+ import org.owasp.dependencycheck.Engine;
25
- import org.owasp.dependencycheck.dependency.Confidence;
+ import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
26
- import org.owasp.dependencycheck.dependency.Dependency;
+ import org.owasp.dependencycheck.dependency.Confidence;
27
- import org.owasp.dependencycheck.dependency.Evidence;
+ import org.owasp.dependencycheck.dependency.Dependency;
28
-
+ import org.owasp.dependencycheck.dependency.Evidence;
29
- /**
+
30
- *
+ /**
31
- * @author Jeremy Long <jeremy.long@owasp.org>
+ *
32
- */
+ * @author Jeremy Long <jeremy.long@owasp.org>
33
- public class HintAnalyzer extends AbstractAnalyzer implements Analyzer {
- 34
-
+ */
+ 34 5 public class HintAnalyzer extends AbstractAnalyzer implements Analyzer {
35
- //<editor-fold defaultstate="collapsed" desc="All standard implementation details of Analyzer">
+
36
- /**
+ //<editor-fold defaultstate="collapsed" desc="All standard implementation details of Analyzer">
37
- * The name of the analyzer.
+ /**
38
- */
+ * The name of the analyzer.
39
- private static final String ANALYZER_NAME = "Hint Analyzer";
+ */
40
- /**
+ private static final String ANALYZER_NAME = "Hint Analyzer";
41
- * The phase that this analyzer is intended to run in.
+ /**
42
+ * The phase that this analyzer is intended to run in.
+ 43
*/
- 43 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
- 44
-
+ 44 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.PRE_IDENTIFIER_ANALYSIS;
45
- /**
+
46
- * Returns the name of the analyzer.
+ /**
47
- *
+ * Returns the name of the analyzer.
48
- * @return the name of the analyzer.
+ *
49
- */
+ * @return the name of the analyzer.
50
- @Override
+ */
51
+ @Override
+ 52
public String getName() {
- 52 5 return ANALYZER_NAME;
- 53
- }
+ 53 5 return ANALYZER_NAME;
54
-
- 55
- /**
- 56
- * Returns the phase that the analyzer is intended to run in.
- 57
- *
- 58
- * @return the phase that the analyzer is intended to run in.
- 59
- */
- 60
- @Override
- 61
- public AnalysisPhase getAnalysisPhase() {
- 62 2 return ANALYSIS_PHASE;
- 63
}
- 64
- //</editor-fold>
- 65
+ 55
- 66
+ 56
/**
- 67
- * The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of
- 68
- * identifiers or vulnerabilities.
- 69
+ 57
+ * Returns the phase that the analyzer is intended to run in.
+ 58
*
- 70
- * @param dependency The dependency being analyzed
- 71
- * @param engine The scanning engine
- 72
- * @throws AnalysisException is thrown if there is an exception analyzing the dependency.
- 73
+ 59
+ * @return the phase that the analyzer is intended to run in.
+ 60
*/
- 74
+ 61
@Override
+ 62
+ public AnalysisPhase getAnalysisPhase() {
+ 63 2 return ANALYSIS_PHASE;
+ 64
+ }
+ 65
+ //</editor-fold>
+ 66
+
+ 67
+ /**
+ 68
+ * The HintAnalyzer uses knowledge about a dependency to add additional information to help in identification of identifiers
+ 69
+ * or vulnerabilities.
+ 70
+ *
+ 71
+ * @param dependency The dependency being analyzed
+ 72
+ * @param engine The scanning engine
+ 73
+ * @throws AnalysisException is thrown if there is an exception analyzing the dependency.
+ 74
+ */
75
+ @Override
+ 76
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
- 76 2 final Evidence springTest1 = new Evidence("Manifest",
- 77
- "Implementation-Title",
+ 77 2 final Evidence springTest1 = new Evidence("Manifest",
78
- "Spring Framework",
- 79
- Confidence.HIGH);
- 80
-
- 81 2 final Evidence springTest2 = new Evidence("Manifest",
- 82
"Implementation-Title",
+ 79
+ "Spring Framework",
+ 80
+ Confidence.HIGH);
+ 81
+
+ 82 2 final Evidence springTest2 = new Evidence("Manifest",
83
- "org.springframework.core",
+ "Implementation-Title",
84
- Confidence.HIGH);
+ "org.springframework.core",
85
-
- 86 2 final Evidence springTest3 = new Evidence("Manifest",
- 87
- "Bundle-Vendor",
- 88
- "SpringSource",
- 89
Confidence.HIGH);
+ 86
+
+ 87 2 final Evidence springTest3 = new Evidence("Manifest",
+ 88
+ "Implementation-Title",
+ 89
+ "spring-core",
90
+ Confidence.HIGH);
+ 91
- 91 2 Set<Evidence> evidence = dependency.getProductEvidence().getEvidence();
- 92 2 if (evidence.contains(springTest1) || evidence.contains(springTest2)) {
- 93 1 dependency.getProductEvidence().addEvidence("hint analyzer", "product", "springsource_spring_framework", Confidence.HIGH);
- 94 1 dependency.getVendorEvidence().addEvidence("hint analyzer", "vendor", "SpringSource", Confidence.HIGH);
- 95 1 dependency.getVendorEvidence().addEvidence("hint analyzer", "vendor", "vmware", Confidence.HIGH);
+ 92 2 final Evidence springTest4 = new Evidence("Manifest",
+ 93
+ "Bundle-Vendor",
+ 94
+ "SpringSource",
+ 95
+ Confidence.HIGH);
96
- }
- 97
- 98 2 evidence = dependency.getVendorEvidence().getEvidence();
- 99 2 if (evidence.contains(springTest3)) {
- 100 1 dependency.getProductEvidence().addEvidence("hint analyzer", "product", "springsource_spring_framework", Confidence.HIGH);
- 101 1 dependency.getVendorEvidence().addEvidence("hint analyzer", "vendor", "vmware", Confidence.HIGH);
+ 97 2 final Evidence springTest5 = new Evidence("jar",
+ 98
+ "package name",
+ 99
+ "springframework",
+ 100
+ Confidence.LOW);
+ 101
+
102
- }
- 103 2 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
- 104 2 final ArrayList<Evidence> newEntries = new ArrayList<Evidence>();
- 105 29 while (itr.hasNext()) {
- 106 27 final Evidence e = itr.next();
- 107 27 if ("sun".equalsIgnoreCase(e.getValue(false))) {
- 108 0 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)", e.getName(), "oracle", e.getConfidence());
- 109 0 newEntries.add(newEvidence);
- 110 0 } else if ("oracle".equalsIgnoreCase(e.getValue(false))) {
- 111 0 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)", e.getName(), "sun", e.getConfidence());
- 112 0 newEntries.add(newEvidence);
- 113
- }
- 114 27 }
- 115 2 for (Evidence e : newEntries) {
- 116 0 dependency.getVendorEvidence().addEvidence(e);
- 117 0 }
- 118
+ //springsource/vware problem
+ 103 2 final Set<Evidence> product = dependency.getProductEvidence().getEvidence();
+ 104 2 final Set<Evidence> vendor = dependency.getVendorEvidence().getEvidence();
+ 105
- 119 2 }
- 120
+ 106 2 if (product.contains(springTest1) || product.contains(springTest2) || product.contains(springTest3)
+ 107
+ || (dependency.getFileName().contains("spring") && (product.contains(springTest5) || vendor.contains(springTest5)))) {
+ 108 1 dependency.getProductEvidence().addEvidence("hint analyzer", "product", "springsource spring framework", Confidence.HIGH);
+ 109 1 dependency.getVendorEvidence().addEvidence("hint analyzer", "vendor", "SpringSource", Confidence.HIGH);
+ 110 1 dependency.getVendorEvidence().addEvidence("hint analyzer", "vendor", "vmware", Confidence.HIGH);
+ 111
+ }
+ 112
+
+ 113 2 if (vendor.contains(springTest4)) {
+ 114 1 dependency.getProductEvidence().addEvidence("hint analyzer", "product", "springsource_spring_framework", Confidence.HIGH);
+ 115 1 dependency.getVendorEvidence().addEvidence("hint analyzer", "vendor", "vmware", Confidence.HIGH);
+ 116
+ }
+ 117
+
+ 118
+ //sun/oracle problem
+ 119 2 final Iterator<Evidence> itr = dependency.getVendorEvidence().iterator();
+ 120 2 final List<Evidence> newEntries = new ArrayList<Evidence>();
+ 121 27 while (itr.hasNext()) {
+ 122 25 final Evidence e = itr.next();
+ 123 25 if ("sun".equalsIgnoreCase(e.getValue(false))) {
+ 124 0 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)", e.getName(), "oracle", e.getConfidence());
+ 125 0 newEntries.add(newEvidence);
+ 126 0 } else if ("oracle".equalsIgnoreCase(e.getValue(false))) {
+ 127 0 final Evidence newEvidence = new Evidence(e.getSource() + " (hint)", e.getName(), "sun", e.getConfidence());
+ 128 0 newEntries.add(newEvidence);
+ 129
+ }
+ 130 25 }
+ 131 2 for (Evidence e : newEntries) {
+ 132 0 dependency.getVendorEvidence().addEvidence(e);
+ 133 0 }
+ 134
+
+ 135 2 }
+ 136
}
-
+
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 ad079b39f..3595b7f40 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JarAnalyzer.html
@@ -12,8 +12,8 @@
Classes in this File Line Coverage Branch Coverage Complexity
- JarAnalyzer 54%
49%
7.542857142857143;7.543
- JarAnalyzer$ClassNameInformation 94%
80%
7.542857142857143;7.543
+ JarAnalyzer 58%
50%
7.393939393939394;7.394
+ JarAnalyzer$ClassNameInformation 80%
80%
7.393939393939394;7.394
@@ -115,579 +115,577 @@
48
import java.util.zip.ZipEntry;
49
- import javax.xml.bind.JAXBContext;
- 50
- import javax.xml.bind.JAXBElement;
- 51
- import javax.xml.bind.JAXBException;
- 52
- import javax.xml.bind.Unmarshaller;
- 53
- import javax.xml.parsers.ParserConfigurationException;
- 54
- import javax.xml.parsers.SAXParser;
- 55
- import javax.xml.parsers.SAXParserFactory;
- 56
import javax.xml.transform.sax.SAXSource;
- 57
+ 50
import org.jsoup.Jsoup;
- 58
+ 51
import org.owasp.dependencycheck.Engine;
- 59
+ 52
import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
- 60
+ 53
import org.owasp.dependencycheck.dependency.Confidence;
- 61
+ 54
import org.owasp.dependencycheck.dependency.Dependency;
- 62
+ 55
import org.owasp.dependencycheck.dependency.EvidenceCollection;
- 63
- import org.owasp.dependencycheck.jaxb.pom.MavenNamespaceFilter;
- 64
+ 56
+ import org.owasp.dependencycheck.jaxb.pom.PomUtils;
+ 57
import org.owasp.dependencycheck.jaxb.pom.generated.License;
- 65
+ 58
import org.owasp.dependencycheck.jaxb.pom.generated.Model;
- 66
+ 59
import org.owasp.dependencycheck.jaxb.pom.generated.Organization;
- 67
+ 60
import org.owasp.dependencycheck.utils.FileUtils;
- 68
+ 61
import org.owasp.dependencycheck.utils.NonClosingStream;
- 69
+ 62
import org.owasp.dependencycheck.utils.Settings;
- 70
+ 63
import org.xml.sax.InputSource;
- 71
- import org.xml.sax.SAXException;
- 72
- import org.xml.sax.XMLFilter;
- 73
- import org.xml.sax.XMLReader;
- 74
+ 64
- 75
+ 65
/**
- 76
+ 66
* Used to load a JAR file and collect information that can be used to determine the associated CPE.
- 77
+ 67
*
- 78
+ 68
* @author Jeremy Long <jeremy.long@owasp.org>
- 79
+ 69
*/
- 80
+ 70
public class JarAnalyzer extends AbstractFileTypeAnalyzer {
- 81
+ 71
- 82
+ 72
//<editor-fold defaultstate="collapsed" desc="Constants and Member Variables">
- 83
+ 73
/**
- 84
+ 74
* The logger.
- 85
+ 75
*/
- 86 1 private static final Logger LOGGER = Logger.getLogger(JarAnalyzer.class.getName());
- 87
+ 76 1 private static final Logger LOGGER = Logger.getLogger(JarAnalyzer.class.getName());
+ 77
/**
- 88
+ 78
* The buffer size to use when extracting files from the archive.
- 89
+ 79
*/
- 90
+ 80
private static final int BUFFER_SIZE = 4096;
- 91
+ 81
/**
- 92
+ 82
* The count of directories created during analysis. This is used for creating temporary directories.
- 93
+ 83
*/
- 94 1 private static int dirCount = 0;
- 95
+ 84 1 private static int dirCount = 0;
+ 85
/**
- 96
+ 86
* The system independent newline character.
- 97
+ 87
*/
- 98 1 private static final String NEWLINE = System.getProperty("line.separator");
- 99
+ 88 1 private static final String NEWLINE = System.getProperty("line.separator");
+ 89
/**
- 100
+ 90
* A list of values in the manifest to ignore as they only result in false positives.
- 101
+ 91
*/
- 102 1 private static final Set<String> IGNORE_VALUES = newHashSet(
- 103
+ 92 1 private static final Set<String> IGNORE_VALUES = newHashSet(
+ 93
"Sun Java System Application Server");
- 104
+ 94
/**
- 105
+ 95
* A list of elements in the manifest to ignore.
- 106
+ 96
*/
- 107 1 private static final Set<String> IGNORE_KEYS = newHashSet(
- 108
+ 97 1 private static final Set<String> IGNORE_KEYS = newHashSet(
+ 98
"built-by",
- 109
+ 99
"created-by",
- 110
+ 100
"builtby",
- 111
+ 101
"createdby",
- 112
+ 102
"build-jdk",
- 113
+ 103
"buildjdk",
- 114
+ 104
"ant-version",
- 115
+ 105
"antversion",
- 116
+ 106
"dynamicimportpackage",
- 117
+ 107
"dynamicimport-package",
- 118
+ 108
"dynamic-importpackage",
- 119
+ 109
"dynamic-import-package",
- 120
+ 110
"import-package",
- 121
+ 111
"ignore-package",
- 122
+ 112
"export-package",
- 123
+ 113
"importpackage",
- 124
+ 114
"ignorepackage",
- 125
+ 115
"exportpackage",
- 126
+ 116
"sealed",
- 127
+ 117
"manifest-version",
- 128
+ 118
"archiver-version",
- 129
+ 119
"manifestversion",
- 130
+ 120
"archiverversion",
- 131
+ 121
"classpath",
- 132
+ 122
"class-path",
- 133
+ 123
"tool",
- 134
+ 124
"bundle-manifestversion",
- 135
+ 125
"bundlemanifestversion",
- 136
+ 126
"include-resource",
- 137
+ 127
"embed-dependency",
- 138
+ 128
"ipojo-components",
- 139
+ 129
"ipojo-extension",
- 140
+ 130
"eclipse-sourcereferences");
- 141
+ 131
/**
- 142
+ 132
* item in some manifest, should be considered medium confidence.
- 143
+ 133
*/
- 144
+ 134
private static final String BUNDLE_VERSION = "Bundle-Version"; //: 2.1.2
- 145
+ 135
/**
- 146
+ 136
* item in some manifest, should be considered medium confidence.
- 147
+ 137
*/
- 148
+ 138
private static final String BUNDLE_DESCRIPTION = "Bundle-Description"; //: Apache Struts 2
- 149
+ 139
/**
- 150
+ 140
* item in some manifest, should be considered medium confidence.
- 151
+ 141
*/
- 152
+ 142
private static final String BUNDLE_NAME = "Bundle-Name"; //: Struts 2 Core
- 153
+ 143
/**
- 154
+ 144
* item in some manifest, should be considered medium confidence.
- 155
+ 145
*/
- 156
+ 146
private static final String BUNDLE_VENDOR = "Bundle-Vendor"; //: Apache Software Foundation
- 157
+ 147
/**
- 158
+ 148
* A pattern to detect HTML within text.
+ 149
+ */
+ 150 1 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>", Pattern.CASE_INSENSITIVE);
+ 151
+
+ 152
+ /**
+ 153
+ * The POM Utility for parsing POM files.
+ 154
+ */
+ 155 7 private PomUtils pomUtils = null;
+ 156
+ //</editor-fold>
+ 157
+
+ 158
+ /**
159
- */
- 160 1 private static final Pattern HTML_DETECTION_PATTERN = Pattern.compile("\\<[a-z]+.*/?\\>", Pattern.CASE_INSENSITIVE);
- 161
- /**
- 162
- * The unmarshaller used to parse the pom.xml from a JAR file.
- 163
- */
- 164
- private Unmarshaller pomUnmarshaller;
- 165
- //</editor-fold>
- 166
-
- 167
- /**
- 168
* Constructs a new JarAnalyzer.
- 169
+ 160
*/
- 170 7 public JarAnalyzer() {
- 171
- try {
- 172
- //final JAXBContext jaxbContext = JAXBContext.newInstance("org.owasp.dependencycheck.jaxb.pom.generated");
- 173 7 final JAXBContext jaxbContext = JAXBContext.newInstance(Model.class);
- 174 7 pomUnmarshaller = jaxbContext.createUnmarshaller();
- 175 0 } catch (JAXBException ex) { //guess we will just have a null pointer exception later...
- 176 0 LOGGER.log(Level.SEVERE, "Unable to load parser. See the log for more details.");
- 177 0 LOGGER.log(Level.FINE, null, ex);
- 178 7 }
- 179 7 }
- 180
+ 161 7 public JarAnalyzer() {
+ 162 7 pomUtils = new PomUtils();
+ 163 7 }
+ 164
- 181
+ 165
//<editor-fold defaultstate="collapsed" desc="All standard implmentation details of Analyzer">
- 182
+ 166
/**
- 183
+ 167
* The name of the analyzer.
- 184
+ 168
*/
- 185
+ 169
private static final String ANALYZER_NAME = "Jar Analyzer";
- 186
+ 170
/**
- 187
+ 171
* The phase that this analyzer is intended to run in.
- 188
+ 172
*/
- 189 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
- 190
+ 173 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
+ 174
/**
- 191
+ 175
* The set of file extensions supported by this analyzer.
- 192
+ 176
*/
- 193 1 private static final Set<String> EXTENSIONS = newHashSet("jar", "war");
- 194
+ 177 1 private static final Set<String> EXTENSIONS = newHashSet("jar", "war");
+ 178
- 195
+ 179
/**
- 196
+ 180
* Returns a list of file EXTENSIONS supported by this analyzer.
- 197
+ 181
*
- 198
+ 182
* @return a list of file EXTENSIONS supported by this analyzer.
- 199
+ 183
*/
- 200
+ 184
@Override
- 201
+ 185
public Set<String> getSupportedExtensions() {
- 202 852 return EXTENSIONS;
- 203
+ 186 852 return EXTENSIONS;
+ 187
}
- 204
+ 188
- 205
+ 189
/**
- 206
+ 190
* Returns the name of the analyzer.
- 207
+ 191
*
- 208
+ 192
* @return the name of the analyzer.
- 209
+ 193
*/
- 210
+ 194
@Override
- 211
+ 195
public String getName() {
- 212 5 return ANALYZER_NAME;
- 213
+ 196 5 return ANALYZER_NAME;
+ 197
}
- 214
+ 198
- 215
+ 199
/**
- 216
+ 200
* Returns the phase that the analyzer is intended to run in.
- 217
+ 201
*
- 218
+ 202
* @return the phase that the analyzer is intended to run in.
- 219
+ 203
*/
- 220
+ 204
public AnalysisPhase getAnalysisPhase() {
- 221 1 return ANALYSIS_PHASE;
- 222
+ 205 1 return ANALYSIS_PHASE;
+ 206
}
- 223
+ 207
//</editor-fold>
- 224
+ 208
- 225
+ 209
/**
- 226
+ 210
* Returns the key used in the properties file to reference the analyzer's enabled property.
- 227
+ 211
*
- 228
+ 212
* @return the analyzer's enabled property setting key
- 229
+ 213
*/
- 230
+ 214
@Override
- 231
+ 215
protected String getAnalyzerEnabledSettingKey() {
- 232 7 return Settings.KEYS.ANALYZER_JAR_ENABLED;
- 233
+ 216 7 return Settings.KEYS.ANALYZER_JAR_ENABLED;
+ 217
}
- 234
+ 218
- 235
+ 219
/**
- 236
+ 220
* Loads a specified JAR file and collects information from the manifest and checksums to identify the correct CPE
- 237
+ 221
* information.
- 238
+ 222
*
- 239
+ 223
* @param dependency the dependency to analyze.
- 240
+ 224
* @param engine the engine that is scanning the dependencies
- 241
+ 225
* @throws AnalysisException is thrown if there is an error reading the JAR file.
- 242
+ 226
*/
- 243
+ 227
@Override
- 244
+ 228
public void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException {
- 245
+ 229
try {
- 246 5 final ArrayList<ClassNameInformation> classNames = collectClassNames(dependency);
- 247 5 final String fileName = dependency.getFileName().toLowerCase();
- 248 5 if (classNames.isEmpty()
- 249
+ 230 5 final List<ClassNameInformation> classNames = collectClassNames(dependency);
+ 231 5 final String fileName = dependency.getFileName().toLowerCase();
+ 232 5 if (classNames.isEmpty()
+ 233
&& (fileName.endsWith("-sources.jar")
- 250
+ 234
|| fileName.endsWith("-javadoc.jar")
- 251
+ 235
|| fileName.endsWith("-src.jar")
- 252
+ 236
|| fileName.endsWith("-doc.jar"))) {
- 253 0 engine.getDependencies().remove(dependency);
- 254
+ 237 0 engine.getDependencies().remove(dependency);
+ 238
}
- 255 5 final boolean hasManifest = parseManifest(dependency, classNames);
- 256 5 final boolean hasPOM = analyzePOM(dependency, classNames, engine);
- 257 5 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
- 258 5 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
- 259 0 } catch (IOException ex) {
- 260 0 throw new AnalysisException("Exception occurred reading the JAR file.", ex);
- 261 5 }
- 262 5 }
- 263
+ 239 5 final boolean hasManifest = parseManifest(dependency, classNames);
+ 240 5 final boolean hasPOM = analyzePOM(dependency, classNames, engine);
+ 241 5 final boolean addPackagesAsEvidence = !(hasManifest && hasPOM);
+ 242 5 analyzePackageNames(classNames, dependency, addPackagesAsEvidence);
+ 243 0 } catch (IOException ex) {
+ 244 0 throw new AnalysisException("Exception occurred reading the JAR file.", ex);
+ 245 5 }
+ 246 5 }
+ 247
- 264
+ 248
/**
- 265
- * Attempts to find a pom.xml within the JAR file. If found it extracts information and adds it to the evidence.
- 266
- * This will attempt to interpolate the strings contained within the pom.properties if one exists.
- 267
+ 249
+ * Attempts to find a pom.xml within the JAR file. If found it extracts information and adds it to the evidence. This will
+ 250
+ * attempt to interpolate the strings contained within the pom.properties if one exists.
+ 251
*
- 268
+ 252
* @param dependency the dependency being analyzed
- 269
+ 253
* @param classes a collection of class name information
- 270
+ 254
* @param engine the analysis engine, used to add additional dependencies
- 271
+ 255
* @throws AnalysisException is thrown if there is an exception parsing the pom
- 272
+ 256
* @return whether or not evidence was added to the dependency
- 273
+ 257
*/
- 274
- protected boolean analyzePOM(Dependency dependency, ArrayList<ClassNameInformation> classes, Engine engine) throws AnalysisException {
- 275 5 boolean foundSomething = false;
- 276
+ 258
+ protected boolean analyzePOM(Dependency dependency, List<ClassNameInformation> classes, Engine engine) throws AnalysisException {
+ 259 5 boolean foundSomething = false;
+ 260
final JarFile jar;
- 277
+ 261
try {
- 278 5 jar = new JarFile(dependency.getActualFilePath());
- 279 0 } catch (IOException ex) {
- 280 0 final String msg = String.format("Unable to read JarFile '%s'.", dependency.getActualFilePath());
- 281
+ 262 5 jar = new JarFile(dependency.getActualFilePath());
+ 263 0 } catch (IOException ex) {
+ 264 0 final String msg = String.format("Unable to read JarFile '%s'.", dependency.getActualFilePath());
+ 265
//final AnalysisException ax = new AnalysisException(msg, ex);
- 282 0 LOGGER.log(Level.WARNING, msg);
- 283 0 LOGGER.log(Level.FINE, "", ex);
- 284 0 return false;
- 285 5 }
- 286
+ 266 0 LOGGER.log(Level.WARNING, msg);
+ 267 0 LOGGER.log(Level.FINE, "", ex);
+ 268 0 return false;
+ 269 5 }
+ 270
List<String> pomEntries;
- 287
+ 271
try {
- 288 5 pomEntries = retrievePomListing(jar);
- 289 0 } catch (IOException ex) {
- 290 0 final String msg = String.format("Unable to read Jar file entries in '%s'.", dependency.getActualFilePath());
- 291
+ 272 5 pomEntries = retrievePomListing(jar);
+ 273 0 } catch (IOException ex) {
+ 274 0 final String msg = String.format("Unable to read Jar file entries in '%s'.", dependency.getActualFilePath());
+ 275
//final AnalysisException ax = new AnalysisException(msg, ex);
- 292 0 LOGGER.log(Level.WARNING, msg);
- 293 0 LOGGER.log(Level.FINE, msg, ex);
- 294 0 return false;
- 295 5 }
- 296 5 File externalPom = null;
- 297 5 if (pomEntries.isEmpty()) {
- 298 4 if (dependency.getActualFilePath().matches(".*\\.m2.repository\\b.*")) {
- 299 0 String pomPath = dependency.getActualFilePath();
- 300 0 pomPath = pomPath.substring(0, pomPath.lastIndexOf('.')) + ".pom";
- 301 0 externalPom = new File(pomPath);
- 302 0 if (externalPom.isFile()) {
- 303 0 pomEntries.add(pomPath);
- 304
- } else {
- 305 0 return false;
- 306
- }
- 307 0 } else {
- 308 4 return false;
- 309
+ 276 0 LOGGER.log(Level.WARNING, msg);
+ 277 0 LOGGER.log(Level.FINE, msg, ex);
+ 278 0 return false;
+ 279 5 }
+ 280 5 File externalPom = null;
+ 281 5 if (pomEntries.isEmpty()) {
+ 282 4 String pomPath = dependency.getActualFilePath();
+ 283 4 pomPath = pomPath.substring(0, pomPath.lastIndexOf('.')) + ".pom";
+ 284 4 externalPom = new File(pomPath);
+ 285 4 if (externalPom.isFile()) {
+ 286 0 pomEntries.add(pomPath);
+ 287
+ } else {
+ 288 4 return false;
+ 289
}
- 310
+ 290
}
- 311 1 for (String path : pomEntries) {
- 312 1 Properties pomProperties = null;
- 313
+ 291 1 for (String path : pomEntries) {
+ 292 1 Properties pomProperties = null;
+ 293
try {
- 314 1 if (externalPom == null) {
- 315 1 pomProperties = retrievePomProperties(path, jar);
- 316
+ 294 1 if (externalPom == null) {
+ 295 1 pomProperties = retrievePomProperties(path, jar);
+ 296
}
- 317 0 } catch (IOException ex) {
- 318 0 LOGGER.log(Level.FINEST, "ignore this, failed reading a non-existent pom.properties", ex);
- 319 1 }
- 320 1 Model pom = null;
- 321
+ 297 0 } catch (IOException ex) {
+ 298 0 LOGGER.log(Level.FINEST, "ignore this, failed reading a non-existent pom.properties", ex);
+ 299 1 }
+ 300 1 Model pom = null;
+ 301
try {
- 322 1 if (pomEntries.size() > 1) {
- 323
+ 302 1 if (pomEntries.size() > 1) {
+ 303
//extract POM to its own directory and add it as its own dependency
- 324 0 final Dependency newDependency = new Dependency();
- 325 0 pom = extractPom(path, jar, newDependency);
- 326
+ 304 0 final Dependency newDependency = new Dependency();
+ 305 0 pom = extractPom(path, jar, newDependency);
+ 306
- 327 0 final String displayPath = String.format("%s%s%s",
- 328
+ 307 0 final String displayPath = String.format("%s%s%s",
+ 308
dependency.getFilePath(),
- 329
+ 309
File.separator,
- 330
+ 310
path);
- 331 0 final String displayName = String.format("%s%s%s",
- 332
+ 311 0 final String displayName = String.format("%s%s%s",
+ 312
dependency.getFileName(),
- 333
+ 313
File.separator,
- 334
+ 314
path);
- 335
+ 315
- 336 0 newDependency.setFileName(displayName);
- 337 0 newDependency.setFilePath(displayPath);
- 338 0 setPomEvidence(newDependency, pom, pomProperties, null);
- 339 0 engine.getDependencies().add(newDependency);
- 340 0 Collections.sort(engine.getDependencies());
- 341 0 } else {
- 342 1 if (externalPom == null) {
- 343 1 pom = retrievePom(path, jar);
- 344
+ 316 0 newDependency.setFileName(displayName);
+ 317 0 newDependency.setFilePath(displayPath);
+ 318 0 setPomEvidence(newDependency, pom, pomProperties, null);
+ 319 0 engine.getDependencies().add(newDependency);
+ 320 0 Collections.sort(engine.getDependencies());
+ 321 0 } else {
+ 322 1 if (externalPom == null) {
+ 323 1 pom = retrievePom(path, jar);
+ 324
} else {
- 345 0 pom = retrievePom(externalPom);
- 346
+ 325 0 pom = pomUtils.readPom(externalPom);
+ 326
}
- 347 1 foundSomething |= setPomEvidence(dependency, pom, pomProperties, classes);
- 348
+ 327 1 foundSomething |= setPomEvidence(dependency, pom, pomProperties, classes);
+ 328
}
- 349 0 } catch (AnalysisException ex) {
- 350 0 final String msg = String.format("An error occured while analyzing '%s'.", dependency.getActualFilePath());
- 351 0 LOGGER.log(Level.WARNING, msg);
- 352 0 LOGGER.log(Level.FINE, "", ex);
- 353 1 }
- 354 1 }
- 355 1 return foundSomething;
- 356
+ 329 0 } catch (AnalysisException ex) {
+ 330 0 final String msg = String.format("An error occured while analyzing '%s'.", dependency.getActualFilePath());
+ 331 0 LOGGER.log(Level.WARNING, msg);
+ 332 0 LOGGER.log(Level.FINE, "", ex);
+ 333 1 }
+ 334 1 }
+ 335 1 return foundSomething;
+ 336
}
- 357
+ 337
- 358
+ 338
/**
- 359
+ 339
* Given a path to a pom.xml within a JarFile, this method attempts to load a sibling pom.properties if one exists.
- 360
+ 340
*
- 361
+ 341
* @param path the path to the pom.xml within the JarFile
- 362
+ 342
* @param jar the JarFile to load the pom.properties from
- 363
+ 343
* @return a Properties object or null if no pom.properties was found
- 364
+ 344
* @throws IOException thrown if there is an exception reading the pom.properties
- 365
+ 345
*/
- 366
+ 346
private Properties retrievePomProperties(String path, final JarFile jar) throws IOException {
- 367 1 Properties pomProperties = null;
- 368 1 final String propPath = path.substring(0, path.length() - 7) + "pom.properies";
- 369 1 final ZipEntry propEntry = jar.getEntry(propPath);
- 370 1 if (propEntry != null) {
- 371 0 Reader reader = null;
- 372
+ 347 1 Properties pomProperties = null;
+ 348 1 final String propPath = path.substring(0, path.length() - 7) + "pom.properies";
+ 349 1 final ZipEntry propEntry = jar.getEntry(propPath);
+ 350 1 if (propEntry != null) {
+ 351 0 Reader reader = null;
+ 352
try {
- 373 0 reader = new InputStreamReader(jar.getInputStream(propEntry), "UTF-8");
- 374 0 pomProperties = new Properties();
- 375 0 pomProperties.load(reader);
- 376
+ 353 0 reader = new InputStreamReader(jar.getInputStream(propEntry), "UTF-8");
+ 354 0 pomProperties = new Properties();
+ 355 0 pomProperties.load(reader);
+ 356
} finally {
- 377 0 if (reader != null) {
- 378
+ 357 0 if (reader != null) {
+ 358
try {
- 379 0 reader.close();
- 380 0 } catch (IOException ex) {
- 381 0 LOGGER.log(Level.FINEST, "close error", ex);
- 382 0 }
- 383
+ 359 0 reader.close();
+ 360 0 } catch (IOException ex) {
+ 361 0 LOGGER.log(Level.FINEST, "close error", ex);
+ 362 0 }
+ 363
}
+ 364
+ }
+ 365
+ }
+ 366 1 return pomProperties;
+ 367
+ }
+ 368
+
+ 369
+ /**
+ 370
+ * Searches a JarFile for pom.xml entries and returns a listing of these entries.
+ 371
+ *
+ 372
+ * @param jar the JarFile to search
+ 373
+ * @return a list of pom.xml entries
+ 374
+ * @throws IOException thrown if there is an exception reading a JarEntry
+ 375
+ */
+ 376
+ private List<String> retrievePomListing(final JarFile jar) throws IOException {
+ 377 5 final List<String> pomEntries = new ArrayList<String>();
+ 378 5 final Enumeration<JarEntry> entries = jar.entries();
+ 379 1848 while (entries.hasMoreElements()) {
+ 380 1843 final JarEntry entry = entries.nextElement();
+ 381 1843 final String entryName = (new File(entry.getName())).getName().toLowerCase();
+ 382 1843 if (!entry.isDirectory() && "pom.xml".equals(entryName)) {
+ 383 1 pomEntries.add(entry.getName());
384
}
- 385
- }
- 386 1 return pomProperties;
+ 385 1843 }
+ 386 5 return pomEntries;
387
}
388
@@ -695,1513 +693,1383 @@
389
/**
390
- * Searches a JarFile for pom.xml entries and returns a listing of these entries.
+ * Retrieves the specified POM from a jar file and converts it to a Model.
391
*
392
- * @param jar the JarFile to search
+ * @param path the path to the pom.xml file within the jar file
393
- * @return a list of pom.xml entries
+ * @param jar the jar file to extract the pom from
394
- * @throws IOException thrown if there is an exception reading a JarEntry
- 395
- */
- 396
- private List<String> retrievePomListing(final JarFile jar) throws IOException {
- 397 5 final List<String> pomEntries = new ArrayList<String>();
- 398 5 final Enumeration<JarEntry> entries = jar.entries();
- 399 1848 while (entries.hasMoreElements()) {
- 400 1843 final JarEntry entry = entries.nextElement();
- 401 1843 final String entryName = (new File(entry.getName())).getName().toLowerCase();
- 402 1843 if (!entry.isDirectory() && "pom.xml".equals(entryName)) {
- 403 1 pomEntries.add(entry.getName());
- 404
- }
- 405 1843 }
- 406 5 return pomEntries;
- 407
- }
- 408
-
- 409
- /**
- 410
- * Retrieves the specified POM from a jar file and converts it to a Model.
- 411
- *
- 412
- * @param path the path to the pom.xml file within the jar file
- 413
- * @param jar the jar file to extract the pom from
- 414
* @param dependency the dependency being analyzed
- 415
+ 395
* @return returns the POM object
- 416
+ 396
* @throws AnalysisException is thrown if there is an exception extracting or parsing the POM
- 417
+ 397
* {@link org.owasp.dependencycheck.jaxb.pom.generated.Model} object
- 418
+ 398
*/
- 419
+ 399
private Model extractPom(String path, JarFile jar, Dependency dependency) throws AnalysisException {
- 420 0 InputStream input = null;
- 421 0 FileOutputStream fos = null;
- 422 0 BufferedOutputStream bos = null;
- 423 0 final File tmpDir = getNextTempDirectory();
- 424 0 final File file = new File(tmpDir, "pom.xml");
- 425
+ 400 0 InputStream input = null;
+ 401 0 FileOutputStream fos = null;
+ 402 0 BufferedOutputStream bos = null;
+ 403 0 final File tmpDir = getNextTempDirectory();
+ 404 0 final File file = new File(tmpDir, "pom.xml");
+ 405
try {
- 426 0 final ZipEntry entry = jar.getEntry(path);
- 427 0 input = jar.getInputStream(entry);
- 428 0 fos = new FileOutputStream(file);
- 429 0 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
- 430
+ 406 0 final ZipEntry entry = jar.getEntry(path);
+ 407 0 input = jar.getInputStream(entry);
+ 408 0 fos = new FileOutputStream(file);
+ 409 0 bos = new BufferedOutputStream(fos, BUFFER_SIZE);
+ 410
int count;
- 431 0 final byte data[] = new byte[BUFFER_SIZE];
- 432 0 while ((count = input.read(data, 0, BUFFER_SIZE)) != -1) {
- 433 0 bos.write(data, 0, count);
- 434
+ 411 0 final byte[] data = new byte[BUFFER_SIZE];
+ 412 0 while ((count = input.read(data, 0, BUFFER_SIZE)) != -1) {
+ 413 0 bos.write(data, 0, count);
+ 414
}
- 435 0 bos.flush();
- 436 0 dependency.setActualFilePath(file.getAbsolutePath());
- 437 0 } catch (IOException ex) {
- 438 0 final String msg = String.format("An error occurred reading '%s' from '%s'.", path, dependency.getFilePath());
- 439 0 LOGGER.warning(msg);
- 440 0 LOGGER.log(Level.SEVERE, "", ex);
- 441
+ 415 0 bos.flush();
+ 416 0 dependency.setActualFilePath(file.getAbsolutePath());
+ 417 0 } catch (IOException ex) {
+ 418 0 final String msg = String.format("An error occurred reading '%s' from '%s'.", path, dependency.getFilePath());
+ 419 0 LOGGER.warning(msg);
+ 420 0 LOGGER.log(Level.SEVERE, "", ex);
+ 421
} finally {
- 442 0 closeStream(bos);
- 443 0 closeStream(fos);
- 444 0 closeStream(input);
- 445 0 }
- 446 0 Model model = null;
- 447 0 FileInputStream fis = null;
- 448
+ 422 0 closeStream(bos);
+ 423 0 closeStream(fos);
+ 424 0 closeStream(input);
+ 425 0 }
+ 426 0 Model model = null;
+ 427 0 FileInputStream fis = null;
+ 428
try {
- 449 0 fis = new FileInputStream(file);
- 450 0 final InputStreamReader reader = new InputStreamReader(fis, "UTF-8");
- 451 0 final InputSource xml = new InputSource(reader);
- 452 0 final SAXSource source = new SAXSource(xml);
- 453 0 model = readPom(source);
- 454 0 } catch (FileNotFoundException ex) {
- 455 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s' (File Not Found)", path, jar.getName());
- 456 0 LOGGER.log(Level.WARNING, msg);
- 457 0 LOGGER.log(Level.FINE, "", ex);
- 458 0 throw new AnalysisException(ex);
- 459 0 } catch (UnsupportedEncodingException ex) {
- 460 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s' (IO Exception)", path, jar.getName());
- 461 0 LOGGER.log(Level.WARNING, msg);
- 462 0 LOGGER.log(Level.FINE, "", ex);
- 463 0 throw new AnalysisException(ex);
- 464 0 } catch (AnalysisException ex) {
- 465 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'", path, jar.getName());
- 466 0 LOGGER.log(Level.WARNING, msg);
- 467 0 LOGGER.log(Level.FINE, "", ex);
- 468 0 throw ex;
- 469
+ 429 0 fis = new FileInputStream(file);
+ 430 0 final InputStreamReader reader = new InputStreamReader(fis, "UTF-8");
+ 431 0 final InputSource xml = new InputSource(reader);
+ 432 0 final SAXSource source = new SAXSource(xml);
+ 433 0 model = pomUtils.readPom(source);
+ 434 0 } catch (FileNotFoundException ex) {
+ 435 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s' (File Not Found)", path, jar.getName());
+ 436 0 LOGGER.log(Level.WARNING, msg);
+ 437 0 LOGGER.log(Level.FINE, "", ex);
+ 438 0 throw new AnalysisException(ex);
+ 439 0 } catch (UnsupportedEncodingException ex) {
+ 440 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s' (IO Exception)", path, jar.getName());
+ 441 0 LOGGER.log(Level.WARNING, msg);
+ 442 0 LOGGER.log(Level.FINE, "", ex);
+ 443 0 throw new AnalysisException(ex);
+ 444 0 } catch (AnalysisException ex) {
+ 445 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'", path, jar.getName());
+ 446 0 LOGGER.log(Level.WARNING, msg);
+ 447 0 LOGGER.log(Level.FINE, "", ex);
+ 448 0 throw ex;
+ 449
} finally {
- 470 0 closeStream(fis);
- 471 0 }
- 472 0 return model;
- 473
+ 450 0 closeStream(fis);
+ 451 0 }
+ 452 0 return model;
+ 453
}
- 474
+ 454
- 475
+ 455
/**
- 476
+ 456
* Silently closes an input stream ignoring errors.
- 477
+ 457
*
- 478
+ 458
* @param stream an input stream to close
- 479
+ 459
*/
- 480
+ 460
private void closeStream(InputStream stream) {
- 481 0 if (stream != null) {
- 482
+ 461 0 if (stream != null) {
+ 462
try {
- 483 0 stream.close();
- 484 0 } catch (IOException ex) {
- 485 0 LOGGER.log(Level.FINEST, null, ex);
- 486 0 }
- 487
+ 463 0 stream.close();
+ 464 0 } catch (IOException ex) {
+ 465 0 LOGGER.log(Level.FINEST, null, ex);
+ 466 0 }
+ 467
}
- 488 0 }
- 489
+ 468 0 }
+ 469
- 490
+ 470
/**
- 491
+ 471
* Silently closes an output stream ignoring errors.
- 492
+ 472
*
- 493
+ 473
* @param stream an output stream to close
- 494
+ 474
*/
- 495
+ 475
private void closeStream(OutputStream stream) {
- 496 0 if (stream != null) {
- 497
+ 476 0 if (stream != null) {
+ 477
try {
- 498 0 stream.close();
- 499 0 } catch (IOException ex) {
- 500 0 LOGGER.log(Level.FINEST, null, ex);
- 501 0 }
- 502
+ 478 0 stream.close();
+ 479 0 } catch (IOException ex) {
+ 480 0 LOGGER.log(Level.FINEST, null, ex);
+ 481 0 }
+ 482
}
- 503 0 }
- 504
+ 483 0 }
+ 484
- 505
+ 485
/**
- 506
+ 486
* Retrieves the specified POM from a jar file and converts it to a Model.
- 507
+ 487
*
- 508
+ 488
* @param path the path to the pom.xml file within the jar file
- 509
+ 489
* @param jar the jar file to extract the pom from
- 510
+ 490
* @return returns a
- 511
+ 491
* @throws AnalysisException is thrown if there is an exception extracting or parsing the POM
- 512
+ 492
* {@link org.owasp.dependencycheck.jaxb.pom.generated.Model} object
- 513
+ 493
*/
- 514
+ 494
private Model retrievePom(String path, JarFile jar) throws AnalysisException {
- 515 1 final ZipEntry entry = jar.getEntry(path);
- 516 1 Model model = null;
- 517 1 if (entry != null) { //should never be null
- 518
+ 495 1 final ZipEntry entry = jar.getEntry(path);
+ 496 1 Model model = null;
+ 497 1 if (entry != null) { //should never be null
+ 498
try {
- 519 1 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
- 520 1 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8");
- 521 1 final InputSource xml = new InputSource(reader);
- 522 1 final SAXSource source = new SAXSource(xml);
- 523 1 model = readPom(source);
- 524 0 } catch (SecurityException ex) {
- 525 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'; invalid signature", path, jar.getName());
- 526 0 LOGGER.log(Level.WARNING, msg);
- 527 0 LOGGER.log(Level.FINE, null, ex);
- 528 0 throw new AnalysisException(ex);
- 529 0 } catch (IOException ex) {
- 530 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s' (IO Exception)", path, jar.getName());
- 531 0 LOGGER.log(Level.WARNING, msg);
- 532 0 LOGGER.log(Level.FINE, "", ex);
- 533 0 throw new AnalysisException(ex);
- 534 0 } catch (Throwable ex) {
- 535 0 final String msg = String.format("Unexpected error during parsing of the pom '%s' in jar '%s'", path, jar.getName());
- 536 0 LOGGER.log(Level.WARNING, msg);
- 537 0 LOGGER.log(Level.FINE, "", ex);
- 538 0 throw new AnalysisException(ex);
- 539 1 }
- 540
+ 499 1 final NonClosingStream stream = new NonClosingStream(jar.getInputStream(entry));
+ 500 1 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8");
+ 501 1 final InputSource xml = new InputSource(reader);
+ 502 1 final SAXSource source = new SAXSource(xml);
+ 503 1 model = pomUtils.readPom(source);
+ 504 0 } catch (SecurityException ex) {
+ 505 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s'; invalid signature", path, jar.getName());
+ 506 0 LOGGER.log(Level.WARNING, msg);
+ 507 0 LOGGER.log(Level.FINE, null, ex);
+ 508 0 throw new AnalysisException(ex);
+ 509 0 } catch (IOException ex) {
+ 510 0 final String msg = String.format("Unable to parse pom '%s' in jar '%s' (IO Exception)", path, jar.getName());
+ 511 0 LOGGER.log(Level.WARNING, msg);
+ 512 0 LOGGER.log(Level.FINE, "", ex);
+ 513 0 throw new AnalysisException(ex);
+ 514 0 } catch (Throwable ex) {
+ 515 0 final String msg = String.format("Unexpected error during parsing of the pom '%s' in jar '%s'", path, jar.getName());
+ 516 0 LOGGER.log(Level.WARNING, msg);
+ 517 0 LOGGER.log(Level.FINE, "", ex);
+ 518 0 throw new AnalysisException(ex);
+ 519 1 }
+ 520
}
- 541 1 return model;
- 542
+ 521 1 return model;
+ 522
}
- 543
+ 523
- 544
+ 524
/**
- 545
- * Reads in the specified POM and converts it to a Model.
- 546
- *
- 547
- * @param file the pom.xml file
- 548
- * @return returns a
- 549
- * @throws AnalysisException is thrown if there is an exception extracting or parsing the POM
- 550
- * {@link org.owasp.dependencycheck.jaxb.pom.generated.Model} object
- 551
- */
- 552
- private Model retrievePom(File file) throws AnalysisException {
- 553 0 Model model = null;
- 554
- try {
- 555 0 final FileInputStream stream = new FileInputStream(file);
- 556 0 final InputStreamReader reader = new InputStreamReader(stream, "UTF-8");
- 557 0 final InputSource xml = new InputSource(reader);
- 558 0 final SAXSource source = new SAXSource(xml);
- 559 0 model = readPom(source);
- 560 0 } catch (SecurityException ex) {
- 561 0 final String msg = String.format("Unable to parse pom '%s'; invalid signature", file.getPath());
- 562 0 LOGGER.log(Level.WARNING, msg);
- 563 0 LOGGER.log(Level.FINE, null, ex);
- 564 0 throw new AnalysisException(ex);
- 565 0 } catch (IOException ex) {
- 566 0 final String msg = String.format("Unable to parse pom '%s'(IO Exception)", file.getPath());
- 567 0 LOGGER.log(Level.WARNING, msg);
- 568 0 LOGGER.log(Level.FINE, "", ex);
- 569 0 throw new AnalysisException(ex);
- 570 0 } catch (Throwable ex) {
- 571 0 final String msg = String.format("Unexpected error during parsing of the pom '%s'", file.getPath());
- 572 0 LOGGER.log(Level.WARNING, msg);
- 573 0 LOGGER.log(Level.FINE, "", ex);
- 574 0 throw new AnalysisException(ex);
- 575 0 }
- 576 0 return model;
- 577
- }
- 578
-
- 579
- /**
- 580
- * Retrieves the specified POM from a jar file and converts it to a Model.
- 581
- *
- 582
- * @param source the SAXSource input stream to read the POM from
- 583
- * @return returns the POM object
- 584
- * @throws AnalysisException is thrown if there is an exception extracting or parsing the POM
- 585
- * {@link org.owasp.dependencycheck.jaxb.pom.generated.Model} object
- 586
- */
- 587
- private Model readPom(SAXSource source) throws AnalysisException {
- 588 1 Model model = null;
- 589
- try {
- 590 1 final XMLFilter filter = new MavenNamespaceFilter();
- 591 1 final SAXParserFactory spf = SAXParserFactory.newInstance();
- 592 1 final SAXParser sp = spf.newSAXParser();
- 593 1 final XMLReader xr = sp.getXMLReader();
- 594 1 filter.setParent(xr);
- 595 1 final JAXBElement<Model> el = pomUnmarshaller.unmarshal(source, Model.class);
- 596 1 model = el.getValue();
- 597 0 } catch (SecurityException ex) {
- 598 0 throw new AnalysisException(ex);
- 599 0 } catch (ParserConfigurationException ex) {
- 600 0 throw new AnalysisException(ex);
- 601 0 } catch (SAXException ex) {
- 602 0 throw new AnalysisException(ex);
- 603 0 } catch (JAXBException ex) {
- 604 0 throw new AnalysisException(ex);
- 605 0 } catch (Throwable ex) {
- 606 0 throw new AnalysisException(ex);
- 607 1 }
- 608 1 return model;
- 609
- }
- 610
-
- 611
- /**
- 612
+ 525
* Sets evidence from the pom on the supplied dependency.
- 613
+ 526
*
- 614
+ 527
* @param dependency the dependency to set data on
- 615
+ 528
* @param pom the information from the pom
- 616
+ 529
* @param pomProperties the pom properties file (null if none exists)
- 617
- * @param classes a collection of ClassNameInformation - containing data about the fully qualified class names
- 618
- * within the JAR file being analyzed
- 619
+ 530
+ * @param classes a collection of ClassNameInformation - containing data about the fully qualified class names within the JAR
+ 531
+ * file being analyzed
+ 532
* @return true if there was evidence within the pom that we could use; otherwise false
- 620
+ 533
*/
- 621
- private boolean setPomEvidence(Dependency dependency, Model pom, Properties pomProperties, ArrayList<ClassNameInformation> classes) {
- 622 1 boolean foundSomething = false;
- 623 1 boolean addAsIdentifier = true;
- 624 1 if (pom == null) {
- 625 0 return foundSomething;
- 626
+ 534
+ private boolean setPomEvidence(Dependency dependency, Model pom, Properties pomProperties, List<ClassNameInformation> classes) {
+ 535 1 boolean foundSomething = false;
+ 536 1 boolean addAsIdentifier = true;
+ 537 1 if (pom == null) {
+ 538 0 return foundSomething;
+ 539
}
- 627 1 String groupid = interpolateString(pom.getGroupId(), pomProperties);
- 628 1 String parentGroupId = null;
- 629
+ 540 1 String groupid = interpolateString(pom.getGroupId(), pomProperties);
+ 541 1 String parentGroupId = null;
+ 542
- 630 1 if (pom.getParent() != null) {
- 631 1 parentGroupId = interpolateString(pom.getParent().getGroupId(), pomProperties);
- 632 1 if ((groupid == null || groupid.isEmpty()) && parentGroupId != null && !parentGroupId.isEmpty()) {
- 633 0 groupid = parentGroupId;
- 634
+ 543 1 if (pom.getParent() != null) {
+ 544 1 parentGroupId = interpolateString(pom.getParent().getGroupId(), pomProperties);
+ 545 1 if ((groupid == null || groupid.isEmpty()) && parentGroupId != null && !parentGroupId.isEmpty()) {
+ 546 0 groupid = parentGroupId;
+ 547
}
- 635
+ 548
}
- 636 1 final String originalGroupID = groupid;
- 637
+ 549 1 final String originalGroupID = groupid;
+ 550
- 638 1 if (groupid != null && !groupid.isEmpty()) {
- 639 1 foundSomething = true;
- 640 1 dependency.getVendorEvidence().addEvidence("pom", "groupid", groupid, Confidence.HIGHEST);
- 641 1 dependency.getProductEvidence().addEvidence("pom", "groupid", groupid, Confidence.LOW);
- 642 1 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
- 643 1 addMatchingValues(classes, groupid, dependency.getProductEvidence());
- 644 1 if (parentGroupId != null && !parentGroupId.isEmpty() && !parentGroupId.equals(groupid)) {
- 645 0 dependency.getVendorEvidence().addEvidence("pom", "parent-groupid", parentGroupId, Confidence.MEDIUM);
- 646 0 dependency.getProductEvidence().addEvidence("pom", "parent-groupid", parentGroupId, Confidence.LOW);
- 647 0 addMatchingValues(classes, parentGroupId, dependency.getVendorEvidence());
- 648 0 addMatchingValues(classes, parentGroupId, dependency.getProductEvidence());
- 649
+ 551 1 if (groupid != null && !groupid.isEmpty()) {
+ 552 1 foundSomething = true;
+ 553 1 dependency.getVendorEvidence().addEvidence("pom", "groupid", groupid, Confidence.HIGHEST);
+ 554 1 dependency.getProductEvidence().addEvidence("pom", "groupid", groupid, Confidence.LOW);
+ 555 1 addMatchingValues(classes, groupid, dependency.getVendorEvidence());
+ 556 1 addMatchingValues(classes, groupid, dependency.getProductEvidence());
+ 557 1 if (parentGroupId != null && !parentGroupId.isEmpty() && !parentGroupId.equals(groupid)) {
+ 558 0 dependency.getVendorEvidence().addEvidence("pom", "parent-groupid", parentGroupId, Confidence.MEDIUM);
+ 559 0 dependency.getProductEvidence().addEvidence("pom", "parent-groupid", parentGroupId, Confidence.LOW);
+ 560 0 addMatchingValues(classes, parentGroupId, dependency.getVendorEvidence());
+ 561 0 addMatchingValues(classes, parentGroupId, dependency.getProductEvidence());
+ 562
}
- 650
+ 563
} else {
- 651 0 addAsIdentifier = false;
- 652
+ 564 0 addAsIdentifier = false;
+ 565
}
+ 566
+
+ 567 1 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
+ 568 1 String parentArtifactId = null;
+ 569
+
+ 570 1 if (pom.getParent() != null) {
+ 571 1 parentArtifactId = interpolateString(pom.getParent().getArtifactId(), pomProperties);
+ 572 1 if ((artifactid == null || artifactid.isEmpty()) && parentArtifactId != null && !parentArtifactId.isEmpty()) {
+ 573 0 artifactid = parentArtifactId;
+ 574
+ }
+ 575
+ }
+ 576 1 final String originalArtifactID = artifactid;
+ 577 1 if (artifactid != null && !artifactid.isEmpty()) {
+ 578 1 if (artifactid.startsWith("org.") || artifactid.startsWith("com.")) {
+ 579 0 artifactid = artifactid.substring(4);
+ 580
+ }
+ 581 1 foundSomething = true;
+ 582 1 dependency.getProductEvidence().addEvidence("pom", "artifactid", artifactid, Confidence.HIGHEST);
+ 583 1 dependency.getVendorEvidence().addEvidence("pom", "artifactid", artifactid, Confidence.LOW);
+ 584 1 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
+ 585 1 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
+ 586 1 if (parentArtifactId != null && !parentArtifactId.isEmpty() && !parentArtifactId.equals(artifactid)) {
+ 587 1 dependency.getProductEvidence().addEvidence("pom", "parent-artifactid", parentArtifactId, Confidence.MEDIUM);
+ 588 1 dependency.getVendorEvidence().addEvidence("pom", "parent-artifactid", parentArtifactId, Confidence.LOW);
+ 589 1 addMatchingValues(classes, parentArtifactId, dependency.getVendorEvidence());
+ 590 1 addMatchingValues(classes, parentArtifactId, dependency.getProductEvidence());
+ 591
+ }
+ 592
+ } else {
+ 593 0 addAsIdentifier = false;
+ 594
+ }
+ 595
+ //version
+ 596 1 String version = interpolateString(pom.getVersion(), pomProperties);
+ 597 1 String parentVersion = null;
+ 598
+
+ 599 1 if (pom.getParent() != null) {
+ 600 1 parentVersion = interpolateString(pom.getParent().getVersion(), pomProperties);
+ 601 1 if ((version == null || version.isEmpty()) && parentVersion != null && !parentVersion.isEmpty()) {
+ 602 1 version = parentVersion;
+ 603
+ }
+ 604
+ }
+ 605
+
+ 606 1 if (version != null && !version.isEmpty()) {
+ 607 1 foundSomething = true;
+ 608 1 dependency.getVersionEvidence().addEvidence("pom", "version", version, Confidence.HIGHEST);
+ 609 1 if (parentVersion != null && !parentVersion.isEmpty() && !parentVersion.equals(version)) {
+ 610 0 dependency.getVersionEvidence().addEvidence("pom", "parent-version", version, Confidence.LOW);
+ 611
+ }
+ 612
+ } else {
+ 613 0 addAsIdentifier = false;
+ 614
+ }
+ 615
+
+ 616 1 if (addAsIdentifier) {
+ 617 1 dependency.addIdentifier("maven", String.format("%s:%s:%s", originalGroupID, originalArtifactID, version), null, Confidence.LOW);
+ 618
+ }
+ 619
+
+ 620
+ // org name
+ 621 1 final Organization org = pom.getOrganization();
+ 622 1 if (org != null && org.getName() != null) {
+ 623 0 foundSomething = true;
+ 624 0 final String orgName = interpolateString(org.getName(), pomProperties);
+ 625 0 if (orgName != null && !orgName.isEmpty()) {
+ 626 0 dependency.getVendorEvidence().addEvidence("pom", "organization name", orgName, Confidence.HIGH);
+ 627 0 addMatchingValues(classes, orgName, dependency.getVendorEvidence());
+ 628
+ }
+ 629
+ }
+ 630
+ //pom name
+ 631 1 final String pomName = interpolateString(pom.getName(), pomProperties);
+ 632 1 if (pomName != null && !pomName.isEmpty()) {
+ 633 1 foundSomething = true;
+ 634 1 dependency.getProductEvidence().addEvidence("pom", "name", pomName, Confidence.HIGH);
+ 635 1 dependency.getVendorEvidence().addEvidence("pom", "name", pomName, Confidence.HIGH);
+ 636 1 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
+ 637 1 addMatchingValues(classes, pomName, dependency.getProductEvidence());
+ 638
+ }
+ 639
+
+ 640
+ //Description
+ 641 1 if (pom.getDescription() != null) {
+ 642 0 foundSomething = true;
+ 643 0 final String description = interpolateString(pom.getDescription(), pomProperties);
+ 644 0 if (description != null && !description.isEmpty()) {
+ 645 0 final String trimmedDescription = addDescription(dependency, description, "pom", "description");
+ 646 0 addMatchingValues(classes, trimmedDescription, dependency.getVendorEvidence());
+ 647 0 addMatchingValues(classes, trimmedDescription, dependency.getProductEvidence());
+ 648
+ }
+ 649
+ }
+ 650 1 extractLicense(pom, pomProperties, dependency);
+ 651 1 return foundSomething;
+ 652
+ }
653
- 654 1 String artifactid = interpolateString(pom.getArtifactId(), pomProperties);
- 655 1 String parentArtifactId = null;
+ 654
+ /**
+ 655
+ * Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible vendor or
656
-
- 657 1 if (pom.getParent() != null) {
- 658 1 parentArtifactId = interpolateString(pom.getParent().getArtifactId(), pomProperties);
- 659 1 if ((artifactid == null || artifactid.isEmpty()) && parentArtifactId != null && !parentArtifactId.isEmpty()) {
- 660 0 artifactid = parentArtifactId;
+ * product names. If any are found they are stored in the packageVendor and packageProduct hashSets.
+ 657
+ *
+ 658
+ * @param classNames a list of class names
+ 659
+ * @param dependency a dependency to analyze
+ 660
+ * @param addPackagesAsEvidence a flag indicating whether or not package names should be added as evidence.
661
- }
+ */
662
- }
- 663 1 final String originalArtifactID = artifactid;
- 664 1 if (artifactid != null && !artifactid.isEmpty()) {
- 665 1 if (artifactid.startsWith("org.") || artifactid.startsWith("com.")) {
- 666 0 artifactid = artifactid.substring(4);
+ protected void analyzePackageNames(List<ClassNameInformation> classNames,
+ 663
+ Dependency dependency, boolean addPackagesAsEvidence) {
+ 664 5 final Map<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
+ 665 5 final Map<String, Integer> productIdentifiers = new HashMap<String, Integer>();
+ 666 5 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
667
- }
- 668 1 foundSomething = true;
- 669 1 dependency.getProductEvidence().addEvidence("pom", "artifactid", artifactid, Confidence.HIGHEST);
- 670 1 dependency.getVendorEvidence().addEvidence("pom", "artifactid", artifactid, Confidence.LOW);
- 671 1 addMatchingValues(classes, artifactid, dependency.getVendorEvidence());
- 672 1 addMatchingValues(classes, artifactid, dependency.getProductEvidence());
- 673 1 if (parentArtifactId != null && !parentArtifactId.isEmpty() && !parentArtifactId.equals(artifactid)) {
- 674 1 dependency.getProductEvidence().addEvidence("pom", "parent-artifactid", parentArtifactId, Confidence.MEDIUM);
- 675 1 dependency.getVendorEvidence().addEvidence("pom", "parent-artifactid", parentArtifactId, Confidence.LOW);
- 676 1 addMatchingValues(classes, parentArtifactId, dependency.getVendorEvidence());
- 677 1 addMatchingValues(classes, parentArtifactId, dependency.getProductEvidence());
- 678
- }
- 679
- } else {
- 680 0 addAsIdentifier = false;
- 681
- }
- 682
- //version
- 683 1 String version = interpolateString(pom.getVersion(), pomProperties);
- 684 1 String parentVersion = null;
- 685
- 686 1 if (pom.getParent() != null) {
- 687 1 parentVersion = interpolateString(pom.getParent().getVersion(), pomProperties);
- 688 1 if ((version == null || version.isEmpty()) && parentVersion != null && !parentVersion.isEmpty()) {
- 689 1 version = parentVersion;
- 690
+ 668 5 final int classCount = classNames.size();
+ 669 5 final EvidenceCollection vendor = dependency.getVendorEvidence();
+ 670 5 final EvidenceCollection product = dependency.getProductEvidence();
+ 671
+
+ 672 5 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
+ 673 48 final float ratio = entry.getValue() / (float) classCount;
+ 674 48 if (ratio > 0.5) {
+ 675
+ //TODO remove weighting
+ 676 10 vendor.addWeighting(entry.getKey());
+ 677 10 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
+ 678 8 vendor.addEvidence("jar", "package name", entry.getKey(), Confidence.LOW);
+ 679
+ }
+ 680
}
- 691
- }
+ 681 48 }
+ 682 5 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
+ 683 985 final float ratio = entry.getValue() / (float) classCount;
+ 684 985 if (ratio > 0.5) {
+ 685 5 product.addWeighting(entry.getKey());
+ 686 5 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
+ 687 4 product.addEvidence("jar", "package name", entry.getKey(), Confidence.LOW);
+ 688
+ }
+ 689
+ }
+ 690 985 }
+ 691 5 }
692
- 693 1 if (version != null && !version.isEmpty()) {
- 694 1 foundSomething = true;
- 695 1 dependency.getVersionEvidence().addEvidence("pom", "version", version, Confidence.HIGHEST);
- 696 1 if (parentVersion != null && !parentVersion.isEmpty() && !parentVersion.equals(version)) {
- 697 0 dependency.getVersionEvidence().addEvidence("pom", "parent-version", version, Confidence.LOW);
- 698
- }
- 699
- } else {
- 700 0 addAsIdentifier = false;
- 701
- }
- 702
-
- 703 1 if (addAsIdentifier) {
- 704 1 dependency.addIdentifier("maven", String.format("%s:%s:%s", originalGroupID, originalArtifactID, version), null, Confidence.LOW);
- 705
- }
- 706
-
- 707
- // org name
- 708 1 final Organization org = pom.getOrganization();
- 709 1 if (org != null && org.getName() != null) {
- 710 0 foundSomething = true;
- 711 0 final String orgName = interpolateString(org.getName(), pomProperties);
- 712 0 if (orgName != null && !orgName.isEmpty()) {
- 713 0 dependency.getVendorEvidence().addEvidence("pom", "organization name", orgName, Confidence.HIGH);
- 714 0 addMatchingValues(classes, orgName, dependency.getVendorEvidence());
- 715
- }
- 716
- }
- 717
- //pom name
- 718 1 final String pomName = interpolateString(pom.getName(), pomProperties);
- 719 1 if (pomName != null && !pomName.isEmpty()) {
- 720 1 foundSomething = true;
- 721 1 dependency.getProductEvidence().addEvidence("pom", "name", pomName, Confidence.HIGH);
- 722 1 dependency.getVendorEvidence().addEvidence("pom", "name", pomName, Confidence.HIGH);
- 723 1 addMatchingValues(classes, pomName, dependency.getVendorEvidence());
- 724 1 addMatchingValues(classes, pomName, dependency.getProductEvidence());
- 725
- }
- 726
-
- 727
- //Description
- 728 1 if (pom.getDescription() != null) {
- 729 0 foundSomething = true;
- 730 0 final String description = interpolateString(pom.getDescription(), pomProperties);
- 731 0 if (description != null && !description.isEmpty()) {
- 732 0 final String trimmedDescription = addDescription(dependency, description, "pom", "description");
- 733 0 addMatchingValues(classes, trimmedDescription, dependency.getVendorEvidence());
- 734 0 addMatchingValues(classes, trimmedDescription, dependency.getProductEvidence());
- 735
- }
- 736
- }
- 737 1 extractLicense(pom, pomProperties, dependency);
- 738 1 return foundSomething;
- 739
- }
- 740
-
- 741
+ 693
/**
- 742
- * Analyzes the path information of the classes contained within the JarAnalyzer to try and determine possible
- 743
- * vendor or product names. If any are found they are stored in the packageVendor and packageProduct hashSets.
- 744
- *
- 745
- * @param classNames a list of class names
- 746
- * @param dependency a dependency to analyze
- 747
- * @param addPackagesAsEvidence a flag indicating whether or not package names should be added as evidence.
- 748
- */
- 749
- protected void analyzePackageNames(ArrayList<ClassNameInformation> classNames,
- 750
- Dependency dependency, boolean addPackagesAsEvidence) {
- 751 5 final HashMap<String, Integer> vendorIdentifiers = new HashMap<String, Integer>();
- 752 5 final HashMap<String, Integer> productIdentifiers = new HashMap<String, Integer>();
- 753 5 analyzeFullyQualifiedClassNames(classNames, vendorIdentifiers, productIdentifiers);
- 754
-
- 755 5 final int classCount = classNames.size();
- 756 5 final EvidenceCollection vendor = dependency.getVendorEvidence();
- 757 5 final EvidenceCollection product = dependency.getProductEvidence();
- 758
-
- 759 5 for (Map.Entry<String, Integer> entry : vendorIdentifiers.entrySet()) {
- 760 48 final float ratio = entry.getValue() / (float) classCount;
- 761 48 if (ratio > 0.5) {
- 762
- //TODO remove weighting
- 763 10 vendor.addWeighting(entry.getKey());
- 764 10 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
- 765 8 vendor.addEvidence("jar", "package name", entry.getKey(), Confidence.LOW);
- 766
- }
- 767
- }
- 768 48 }
- 769 5 for (Map.Entry<String, Integer> entry : productIdentifiers.entrySet()) {
- 770 985 final float ratio = entry.getValue() / (float) classCount;
- 771 985 if (ratio > 0.5) {
- 772 5 product.addWeighting(entry.getKey());
- 773 5 if (addPackagesAsEvidence && entry.getKey().length() > 1) {
- 774 4 product.addEvidence("jar", "package name", entry.getKey(), Confidence.LOW);
- 775
- }
- 776
- }
- 777 985 }
- 778 5 }
- 779
-
- 780
- /**
- 781
+ 694
* <p>
- 782
+ 695
* Reads the manifest from the JAR file and collects the entries. Some vendorKey entries are:</p>
- 783
+ 696
* <ul><li>Implementation Title</li>
- 784
+ 697
* <li>Implementation Version</li> <li>Implementation Vendor</li>
- 785
+ 698
* <li>Implementation VendorId</li> <li>Bundle Name</li> <li>Bundle Version</li> <li>Bundle Vendor</li> <li>Bundle
- 786
+ 699
* Description</li> <li>Main Class</li> </ul>
- 787
+ 700
* However, all but a handful of specific entries are read in.
- 788
+ 701
*
- 789
+ 702
* @param dependency A reference to the dependency
- 790
+ 703
* @param classInformation a collection of class information
- 791
+ 704
* @return whether evidence was identified parsing the manifest
- 792
+ 705
* @throws IOException if there is an issue reading the JAR file
- 793
+ 706
*/
- 794
- protected boolean parseManifest(Dependency dependency, ArrayList<ClassNameInformation> classInformation) throws IOException {
- 795 5 boolean foundSomething = false;
- 796 5 JarFile jar = null;
- 797
+ 707
+ protected boolean parseManifest(Dependency dependency, List<ClassNameInformation> classInformation) throws IOException {
+ 708 5 boolean foundSomething = false;
+ 709 5 JarFile jar = null;
+ 710
try {
- 798 5 jar = new JarFile(dependency.getActualFilePath());
- 799
+ 711 5 jar = new JarFile(dependency.getActualFilePath());
+ 712
- 800 5 final Manifest manifest = jar.getManifest();
- 801
+ 713 5 final Manifest manifest = jar.getManifest();
+ 714
- 802 5 if (manifest == null) {
- 803
+ 715 5 if (manifest == null) {
+ 716
//don't log this for javadoc or sources jar files
- 804 0 if (!dependency.getFileName().toLowerCase().endsWith("-sources.jar")
- 805
+ 717 0 if (!dependency.getFileName().toLowerCase().endsWith("-sources.jar")
+ 718
&& !dependency.getFileName().toLowerCase().endsWith("-javadoc.jar")
- 806
+ 719
&& !dependency.getFileName().toLowerCase().endsWith("-src.jar")
- 807
+ 720
&& !dependency.getFileName().toLowerCase().endsWith("-doc.jar")) {
- 808 0 LOGGER.log(Level.FINE,
- 809
+ 721 0 LOGGER.log(Level.FINE,
+ 722
String.format("Jar file '%s' does not contain a manifest.",
- 810
+ 723
dependency.getFileName()));
- 811
+ 724
}
- 812 0 return false;
- 813
+ 725 0 return false;
+ 726
}
- 814 5 final Attributes atts = manifest.getMainAttributes();
- 815
+ 727 5 final Attributes atts = manifest.getMainAttributes();
+ 728
- 816 5 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
- 817 5 final EvidenceCollection productEvidence = dependency.getProductEvidence();
- 818 5 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
- 819
+ 729 5 final EvidenceCollection vendorEvidence = dependency.getVendorEvidence();
+ 730 5 final EvidenceCollection productEvidence = dependency.getProductEvidence();
+ 731 5 final EvidenceCollection versionEvidence = dependency.getVersionEvidence();
+ 732
- 820 5 final String source = "Manifest";
- 821
+ 733 5 final String source = "Manifest";
+ 734
- 822 5 for (Entry<Object, Object> entry : atts.entrySet()) {
- 823 65 String key = entry.getKey().toString();
- 824 65 String value = atts.getValue(key);
- 825 65 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
- 826 0 value = Jsoup.parse(value).text();
- 827
+ 735 5 for (Entry<Object, Object> entry : atts.entrySet()) {
+ 736 65 String key = entry.getKey().toString();
+ 737 65 String value = atts.getValue(key);
+ 738 65 if (HTML_DETECTION_PATTERN.matcher(value).find()) {
+ 739 0 value = Jsoup.parse(value).text();
+ 740
}
- 828 65 if (IGNORE_VALUES.contains(value)) {
- 829 0 continue;
- 830 65 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
- 831 1 foundSomething = true;
- 832 1 productEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 833 1 addMatchingValues(classInformation, value, productEvidence);
- 834 64 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
- 835 2 foundSomething = true;
- 836 2 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 837 62 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
- 838 1 foundSomething = true;
- 839 1 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 840 1 addMatchingValues(classInformation, value, vendorEvidence);
- 841 61 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
- 842 0 foundSomething = true;
- 843 0 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 844 0 addMatchingValues(classInformation, value, vendorEvidence);
- 845 61 } else if (key.equalsIgnoreCase(BUNDLE_DESCRIPTION)) {
- 846 2 foundSomething = true;
- 847 2 addDescription(dependency, value, "manifest", key);
- 848
+ 741 65 if (IGNORE_VALUES.contains(value)) {
+ 742 0 continue;
+ 743 65 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_TITLE.toString())) {
+ 744 1 foundSomething = true;
+ 745 1 productEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 746 1 addMatchingValues(classInformation, value, productEvidence);
+ 747 64 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VERSION.toString())) {
+ 748 2 foundSomething = true;
+ 749 2 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 750 62 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR.toString())) {
+ 751 1 foundSomething = true;
+ 752 1 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 753 1 addMatchingValues(classInformation, value, vendorEvidence);
+ 754 61 } else if (key.equalsIgnoreCase(Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString())) {
+ 755 0 foundSomething = true;
+ 756 0 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 757 0 addMatchingValues(classInformation, value, vendorEvidence);
+ 758 61 } else if (key.equalsIgnoreCase(BUNDLE_DESCRIPTION)) {
+ 759 2 foundSomething = true;
+ 760 2 addDescription(dependency, value, "manifest", key);
+ 761
//productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 849 2 addMatchingValues(classInformation, value, productEvidence);
- 850 59 } else if (key.equalsIgnoreCase(BUNDLE_NAME)) {
- 851 3 foundSomething = true;
- 852 3 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 853 3 addMatchingValues(classInformation, value, productEvidence);
- 854 56 } else if (key.equalsIgnoreCase(BUNDLE_VENDOR)) {
- 855 3 foundSomething = true;
- 856 3 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 857 3 addMatchingValues(classInformation, value, vendorEvidence);
- 858 53 } else if (key.equalsIgnoreCase(BUNDLE_VERSION)) {
- 859 3 foundSomething = true;
- 860 3 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
- 861 50 } else if (key.equalsIgnoreCase(Attributes.Name.MAIN_CLASS.toString())) {
- 862 2 continue;
- 863
+ 762 2 addMatchingValues(classInformation, value, productEvidence);
+ 763 59 } else if (key.equalsIgnoreCase(BUNDLE_NAME)) {
+ 764 3 foundSomething = true;
+ 765 3 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 766 3 addMatchingValues(classInformation, value, productEvidence);
+ 767 56 } else if (key.equalsIgnoreCase(BUNDLE_VENDOR)) {
+ 768 3 foundSomething = true;
+ 769 3 vendorEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 770 3 addMatchingValues(classInformation, value, vendorEvidence);
+ 771 53 } else if (key.equalsIgnoreCase(BUNDLE_VERSION)) {
+ 772 3 foundSomething = true;
+ 773 3 versionEvidence.addEvidence(source, key, value, Confidence.HIGH);
+ 774 50 } else if (key.equalsIgnoreCase(Attributes.Name.MAIN_CLASS.toString())) {
+ 775 2 continue;
+ 776
//skipping main class as if this has important information to add
- 864
+ 777
// it will be added during class name analysis... if other fields
- 865
+ 778
// have the information from the class name then they will get added...
- 866
+ 779
// foundSomething = true;
- 867
+ 780
// productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 868
+ 781
// vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 869
+ 782
// addMatchingValues(classInformation, value, vendorEvidence);
- 870
+ 783
// addMatchingValues(classInformation, value, productEvidence);
- 871
+ 784
} else {
- 872 48 key = key.toLowerCase();
- 873
+ 785 48 key = key.toLowerCase();
+ 786
- 874 48 if (!IGNORE_KEYS.contains(key)
- 875
+ 787 48 if (!IGNORE_KEYS.contains(key)
+ 788
&& !key.endsWith("jdk")
- 876
+ 789
&& !key.contains("lastmodified")
- 877
+ 790
&& !key.endsWith("package")
- 878
+ 791
&& !key.endsWith("classpath")
- 879
+ 792
&& !key.endsWith("class-path")
- 880
+ 793
&& !key.endsWith("-scm") //todo change this to a regex?
- 881
+ 794
&& !key.startsWith("scm-")
- 882
+ 795
&& !value.trim().startsWith("scm:")
- 883
+ 796
&& !isImportPackage(key, value)
- 884
+ 797
&& !isPackage(key, value)) {
- 885
+ 798
- 886 14 foundSomething = true;
- 887 14 if (key.contains("version")) {
- 888 1 if (key.contains("specification")) {
- 889 1 versionEvidence.addEvidence(source, key, value, Confidence.LOW);
- 890
+ 799 14 foundSomething = true;
+ 800 14 if (key.contains("version")) {
+ 801 1 if (key.contains("specification")) {
+ 802 1 versionEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 803
} else {
- 891 0 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 892
+ 804 0 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 805
}
- 893 13 } else if ("build-id".equals(key)) {
- 894 0 int pos = value.indexOf('(');
- 895 0 if (pos >= 0) {
- 896 0 value = value.substring(0, pos - 1);
- 897
+ 806 13 } else if ("build-id".equals(key)) {
+ 807 0 int pos = value.indexOf('(');
+ 808 0 if (pos >= 0) {
+ 809 0 value = value.substring(0, pos - 1);
+ 810
}
- 898 0 pos = value.indexOf('[');
- 899 0 if (pos >= 0) {
- 900 0 value = value.substring(0, pos - 1);
- 901
+ 811 0 pos = value.indexOf('[');
+ 812 0 if (pos >= 0) {
+ 813 0 value = value.substring(0, pos - 1);
+ 814
}
- 902 0 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 903 0 } else if (key.contains("title")) {
- 904 1 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 905 1 addMatchingValues(classInformation, value, productEvidence);
- 906 12 } else if (key.contains("vendor")) {
- 907 0 if (key.contains("specification")) {
- 908 0 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
- 909
+ 815 0 versionEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 816 0 } else if (key.contains("title")) {
+ 817 1 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 818 1 addMatchingValues(classInformation, value, productEvidence);
+ 819 12 } else if (key.contains("vendor")) {
+ 820 0 if (key.contains("specification")) {
+ 821 0 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 822
} else {
- 910 0 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 911 0 addMatchingValues(classInformation, value, vendorEvidence);
- 912
+ 823 0 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 824 0 addMatchingValues(classInformation, value, vendorEvidence);
+ 825
}
- 913 12 } else if (key.contains("name")) {
- 914 3 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 915 3 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
- 916 3 addMatchingValues(classInformation, value, vendorEvidence);
- 917 3 addMatchingValues(classInformation, value, productEvidence);
- 918 9 } else if (key.contains("license")) {
- 919 2 addLicense(dependency, value);
- 920
+ 826 12 } else if (key.contains("name")) {
+ 827 3 productEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 828 3 vendorEvidence.addEvidence(source, key, value, Confidence.MEDIUM);
+ 829 3 addMatchingValues(classInformation, value, vendorEvidence);
+ 830 3 addMatchingValues(classInformation, value, productEvidence);
+ 831 9 } else if (key.contains("license")) {
+ 832 2 addLicense(dependency, value);
+ 833
} else {
- 921 7 if (key.contains("description")) {
- 922 0 addDescription(dependency, value, "manifest", key);
- 923
+ 834 7 if (key.contains("description")) {
+ 835 0 addDescription(dependency, value, "manifest", key);
+ 836
} else {
- 924 7 productEvidence.addEvidence(source, key, value, Confidence.LOW);
- 925 7 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
- 926 7 addMatchingValues(classInformation, value, vendorEvidence);
- 927 7 addMatchingValues(classInformation, value, productEvidence);
- 928 7 if (value.matches(".*\\d.*")) {
- 929 3 final StringTokenizer tokenizer = new StringTokenizer(value, " ");
- 930 15 while (tokenizer.hasMoreElements()) {
- 931 12 final String s = tokenizer.nextToken();
- 932 12 if (s.matches("^[0-9.]+$")) {
- 933 1 versionEvidence.addEvidence(source, key, s, Confidence.LOW);
- 934
+ 837 7 productEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 838 7 vendorEvidence.addEvidence(source, key, value, Confidence.LOW);
+ 839 7 addMatchingValues(classInformation, value, vendorEvidence);
+ 840 7 addMatchingValues(classInformation, value, productEvidence);
+ 841 7 if (value.matches(".*\\d.*")) {
+ 842 3 final StringTokenizer tokenizer = new StringTokenizer(value, " ");
+ 843 15 while (tokenizer.hasMoreElements()) {
+ 844 12 final String s = tokenizer.nextToken();
+ 845 12 if (s.matches("^[0-9.]+$")) {
+ 846 1 versionEvidence.addEvidence(source, key, s, Confidence.LOW);
+ 847
}
- 935 12 }
- 936
+ 848 12 }
+ 849
}
- 937
+ 850
}
- 938
+ 851
}
- 939
+ 852
}
- 940
+ 853
}
- 941 63 }
- 942
+ 854 63 }
+ 855
} finally {
- 943 5 if (jar != null) {
- 944 5 jar.close();
- 945
+ 856 5 if (jar != null) {
+ 857 5 jar.close();
+ 858
}
- 946
+ 859
}
- 947 5 return foundSomething;
- 948
+ 860 5 return foundSomething;
+ 861
}
- 949
+ 862
- 950
+ 863
/**
- 951
- * Adds a description to the given dependency. If the description contains one of the following strings beyond 100
- 952
- * characters, then the description used will be trimmed to that position:
- 953
+ 864
+ * Adds a description to the given dependency. If the description contains one of the following strings beyond 100 characters,
+ 865
+ * then the description used will be trimmed to that position:
+ 866
* <ul><li>"such as"</li><li>"like "</li><li>"will use "</li><li>"* uses "</li></ul>
- 954
+ 867
*
- 955
+ 868
* @param dependency a dependency
- 956
+ 869
* @param description the description
- 957
+ 870
* @param source the source of the evidence
- 958
+ 871
* @param key the "name" of the evidence
- 959
- * @return if the description is trimmed, the trimmed version is returned; otherwise the original description is
- 960
- * returned
- 961
+ 872
+ * @return if the description is trimmed, the trimmed version is returned; otherwise the original description is returned
+ 873
*/
- 962
- private String addDescription(Dependency dependency, String description, String source, String key) {
- 963 2 if (dependency.getDescription() == null) {
- 964 2 dependency.setDescription(description);
- 965
+ 874
+ public static String addDescription(Dependency dependency, String description, String source, String key) {
+ 875 2 if (dependency.getDescription() == null) {
+ 876 2 dependency.setDescription(description);
+ 877
}
- 966
+ 878
String desc;
- 967 2 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
- 968 0 desc = Jsoup.parse(description).text();
- 969
+ 879 2 if (HTML_DETECTION_PATTERN.matcher(description).find()) {
+ 880 0 desc = Jsoup.parse(description).text();
+ 881
} else {
- 970 2 desc = description;
- 971
+ 882 2 desc = description;
+ 883
}
- 972 2 dependency.setDescription(desc);
- 973 2 if (desc.length() > 100) {
- 974 0 desc = desc.replaceAll("\\s\\s+", " ");
- 975 0 final int posSuchAs = desc.toLowerCase().indexOf("such as ", 100);
- 976 0 final int posLike = desc.toLowerCase().indexOf("like ", 100);
- 977 0 final int posWillUse = desc.toLowerCase().indexOf("will use ", 100);
- 978 0 final int posUses = desc.toLowerCase().indexOf(" uses ", 100);
- 979 0 int pos = -1;
- 980 0 pos = Math.max(pos, posSuchAs);
- 981 0 if (pos >= 0 && posLike >= 0) {
- 982 0 pos = Math.min(pos, posLike);
- 983
+ 884 2 dependency.setDescription(desc);
+ 885 2 if (desc.length() > 100) {
+ 886 0 desc = desc.replaceAll("\\s\\s+", " ");
+ 887 0 final int posSuchAs = desc.toLowerCase().indexOf("such as ", 100);
+ 888 0 final int posLike = desc.toLowerCase().indexOf("like ", 100);
+ 889 0 final int posWillUse = desc.toLowerCase().indexOf("will use ", 100);
+ 890 0 final int posUses = desc.toLowerCase().indexOf(" uses ", 100);
+ 891 0 int pos = -1;
+ 892 0 pos = Math.max(pos, posSuchAs);
+ 893 0 if (pos >= 0 && posLike >= 0) {
+ 894 0 pos = Math.min(pos, posLike);
+ 895
} else {
- 984 0 pos = Math.max(pos, posLike);
- 985
+ 896 0 pos = Math.max(pos, posLike);
+ 897
}
- 986 0 if (pos >= 0 && posWillUse >= 0) {
- 987 0 pos = Math.min(pos, posWillUse);
- 988
+ 898 0 if (pos >= 0 && posWillUse >= 0) {
+ 899 0 pos = Math.min(pos, posWillUse);
+ 900
} else {
- 989 0 pos = Math.max(pos, posWillUse);
- 990
+ 901 0 pos = Math.max(pos, posWillUse);
+ 902
}
- 991 0 if (pos >= 0 && posUses >= 0) {
- 992 0 pos = Math.min(pos, posUses);
- 993
+ 903 0 if (pos >= 0 && posUses >= 0) {
+ 904 0 pos = Math.min(pos, posUses);
+ 905
} else {
- 994 0 pos = Math.max(pos, posUses);
- 995
+ 906 0 pos = Math.max(pos, posUses);
+ 907
}
- 996
+ 908
- 997 0 if (pos > 0) {
- 998 0 final StringBuilder sb = new StringBuilder(pos + 3);
- 999 0 sb.append(desc.substring(0, pos));
- 1000 0 sb.append("...");
- 1001 0 desc = sb.toString();
- 1002
+ 909 0 if (pos > 0) {
+ 910 0 final StringBuilder sb = new StringBuilder(pos + 3);
+ 911 0 sb.append(desc.substring(0, pos));
+ 912 0 sb.append("...");
+ 913 0 desc = sb.toString();
+ 914
}
- 1003 0 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.LOW);
- 1004 0 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.LOW);
- 1005 0 } else {
- 1006 2 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
- 1007 2 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
- 1008
+ 915 0 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.LOW);
+ 916 0 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.LOW);
+ 917 0 } else {
+ 918 2 dependency.getProductEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
+ 919 2 dependency.getVendorEvidence().addEvidence(source, key, desc, Confidence.MEDIUM);
+ 920
}
- 1009 2 return desc;
- 1010
+ 921 2 return desc;
+ 922
}
+ 923
+
+ 924
+ /**
+ 925
+ * Adds a license to the given dependency.
+ 926
+ *
+ 927
+ * @param d a dependency
+ 928
+ * @param license the license
+ 929
+ */
+ 930
+ private void addLicense(Dependency d, String license) {
+ 931 2 if (d.getLicense() == null) {
+ 932 2 d.setLicense(license);
+ 933 0 } else if (!d.getLicense().contains(license)) {
+ 934 0 d.setLicense(d.getLicense() + NEWLINE + license);
+ 935
+ }
+ 936 2 }
+ 937
+
+ 938
+ /**
+ 939
+ * The parent directory for the individual directories per archive.
+ 940
+ */
+ 941 7 private File tempFileLocation = null;
+ 942
+
+ 943
+ /**
+ 944
+ * Initializes the JarAnalyzer.
+ 945
+ *
+ 946
+ * @throws Exception is thrown if there is an exception creating a temporary directory
+ 947
+ */
+ 948
+ @Override
+ 949
+ public void initializeFileTypeAnalyzer() throws Exception {
+ 950 1 final File baseDir = Settings.getTempDirectory();
+ 951 1 tempFileLocation = File.createTempFile("check", "tmp", baseDir);
+ 952 1 if (!tempFileLocation.delete()) {
+ 953 0 final String msg = String.format("Unable to delete temporary file '%s'.", tempFileLocation.getAbsolutePath());
+ 954 0 throw new AnalysisException(msg);
+ 955
+ }
+ 956 1 if (!tempFileLocation.mkdirs()) {
+ 957 0 final String msg = String.format("Unable to create directory '%s'.", tempFileLocation.getAbsolutePath());
+ 958 0 throw new AnalysisException(msg);
+ 959
+ }
+ 960 1 }
+ 961
+
+ 962
+ /**
+ 963
+ * Deletes any files extracted from the JAR during analysis.
+ 964
+ */
+ 965
+ @Override
+ 966
+ public void close() {
+ 967 1 if (tempFileLocation != null && tempFileLocation.exists()) {
+ 968 1 LOGGER.log(Level.FINE, "Attempting to delete temporary files");
+ 969 1 final boolean success = FileUtils.delete(tempFileLocation);
+ 970 1 if (!success) {
+ 971 0 LOGGER.log(Level.WARNING,
+ 972
+ "Failed to delete some temporary files, see the log for more details");
+ 973
+ }
+ 974
+ }
+ 975 1 }
+ 976
+
+ 977
+ /**
+ 978
+ * <p>
+ 979
+ * A utility function that will interpolate strings based on values given in the properties file. It will also interpolate the
+ 980
+ * strings contained within the properties file so that properties can reference other properties.</p>
+ 981
+ * <p>
+ 982
+ * <b>Note:</b> if there is no property found the reference will be removed. In other words, if the interpolated string will
+ 983
+ * be replaced with an empty string.
+ 984
+ * </p>
+ 985
+ * <p>
+ 986
+ * Example:</p>
+ 987
+ * <code>
+ 988
+ * Properties p = new Properties();
+ 989
+ * p.setProperty("key", "value");
+ 990
+ * String s = interpolateString("'${key}' and '${nothing}'", p);
+ 991
+ * System.out.println(s);
+ 992
+ * </code>
+ 993
+ * <p>
+ 994
+ * Will result in:</p>
+ 995
+ * <code>
+ 996
+ * 'value' and ''
+ 997
+ * </code>
+ 998
+ *
+ 999
+ * @param text the string that contains references to properties.
+ 1000
+ * @param properties a collection of properties that may be referenced within the text.
+ 1001
+ * @return the interpolated text.
+ 1002
+ */
+ 1003
+ public static String interpolateString(String text, Properties properties) {
+ 1004 14 final Properties props = properties;
+ 1005 14 if (text == null) {
+ 1006 1 return text;
+ 1007
+ }
+ 1008 13 if (props == null) {
+ 1009 6 return text;
+ 1010
+ }
1011
- 1012
- /**
- 1013
- * Adds a license to the given dependency.
- 1014
- *
+ 1012 7 final int pos = text.indexOf("${");
+ 1013 7 if (pos < 0) {
+ 1014 4 return text;
1015
- * @param d a dependency
- 1016
- * @param license the license
- 1017
- */
- 1018
- private void addLicense(Dependency d, String license) {
- 1019 2 if (d.getLicense() == null) {
- 1020 2 d.setLicense(license);
- 1021 0 } else if (!d.getLicense().contains(license)) {
- 1022 0 d.setLicense(d.getLicense() + NEWLINE + license);
- 1023
}
- 1024 2 }
+ 1016 3 final int end = text.indexOf("}");
+ 1017 3 if (end < pos) {
+ 1018 0 return text;
+ 1019
+ }
+ 1020
+
+ 1021 3 final String propName = text.substring(pos + 2, end);
+ 1022 3 String propValue = interpolateString(props.getProperty(propName), props);
+ 1023 3 if (propValue == null) {
+ 1024 0 propValue = "";
1025
-
- 1026
- /**
- 1027
- * The parent directory for the individual directories per archive.
- 1028
- */
- 1029 7 private File tempFileLocation = null;
- 1030
-
+ }
+ 1026 3 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
+ 1027 3 sb.append(text.subSequence(0, pos));
+ 1028 3 sb.append(propValue);
+ 1029 3 sb.append(text.substring(end + 1));
+ 1030 3 return interpolateString(sb.toString(), props); //yes yes, this should be a loop...
1031
- /**
+ }
1032
- * Initializes the JarAnalyzer.
- 1033
- *
- 1034
- * @throws Exception is thrown if there is an exception creating a temporary directory
- 1035
- */
- 1036
- @Override
- 1037
- public void initializeFileTypeAnalyzer() throws Exception {
- 1038 1 final File baseDir = Settings.getTempDirectory();
- 1039 1 tempFileLocation = File.createTempFile("check", "tmp", baseDir);
- 1040 1 if (!tempFileLocation.delete()) {
- 1041 0 final String msg = String.format("Unable to delete temporary file '%s'.", tempFileLocation.getAbsolutePath());
- 1042 0 throw new AnalysisException(msg);
- 1043
- }
- 1044 1 if (!tempFileLocation.mkdirs()) {
- 1045 0 final String msg = String.format("Unable to create directory '%s'.", tempFileLocation.getAbsolutePath());
- 1046 0 throw new AnalysisException(msg);
- 1047
- }
- 1048 1 }
- 1049
- 1050
+ 1033
/**
+ 1034
+ * Determines if the key value pair from the manifest is for an "import" type entry for package names.
+ 1035
+ *
+ 1036
+ * @param key the key from the manifest
+ 1037
+ * @param value the value from the manifest
+ 1038
+ * @return true or false depending on if it is believed the entry is an "import" entry
+ 1039
+ */
+ 1040
+ private boolean isImportPackage(String key, String value) {
+ 1041 15 final Pattern packageRx = Pattern.compile("^([a-zA-Z0-9_#\\$\\*\\.]+\\s*[,;]\\s*)+([a-zA-Z0-9_#\\$\\*\\.]+\\s*)?$");
+ 1042 15 final boolean matches = packageRx.matcher(value).matches();
+ 1043 15 return matches && (key.contains("import") || key.contains("include") || value.length() > 10);
+ 1044
+ }
+ 1045
+
+ 1046
+ /**
+ 1047
+ * Cycles through an enumeration of JarEntries, contained within the dependency, and returns a list of the class names. This
+ 1048
+ * does not include core Java package names (i.e. java.* or javax.*).
+ 1049
+ *
+ 1050
+ * @param dependency the dependency being analyzed
1051
- * Deletes any files extracted from the JAR during analysis.
+ * @return an list of fully qualified class names
1052
*/
1053
- @Override
- 1054
- public void close() {
- 1055 1 if (tempFileLocation != null && tempFileLocation.exists()) {
- 1056 1 LOGGER.log(Level.FINE, "Attempting to delete temporary files");
- 1057 1 final boolean success = FileUtils.delete(tempFileLocation);
- 1058 1 if (!success) {
- 1059 0 LOGGER.log(Level.WARNING,
- 1060
- "Failed to delete some temporary files, see the log for more details");
- 1061
- }
+ private List<ClassNameInformation> collectClassNames(Dependency dependency) {
+ 1054 5 final List<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
+ 1055 5 JarFile jar = null;
+ 1056
+ try {
+ 1057 5 jar = new JarFile(dependency.getActualFilePath());
+ 1058 5 final Enumeration entries = jar.entries();
+ 1059 1848 while (entries.hasMoreElements()) {
+ 1060 1843 final JarEntry entry = (JarEntry) entries.nextElement();
+ 1061 1843 final String name = entry.getName().toLowerCase();
1062
- }
- 1063 1 }
- 1064
-
- 1065
- /**
+ //no longer stripping "|com\\.sun" - there are some com.sun jar files with CVEs.
+ 1063 1843 if (name.endsWith(".class") && !name.matches("^javax?\\..*$")) {
+ 1064 1535 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
+ 1065 1535 classNames.add(className);
1066
- * <p>
- 1067
- * A utility function that will interpolate strings based on values given in the properties file. It will also
- 1068
- * interpolate the strings contained within the properties file so that properties can reference other
- 1069
- * properties.</p>
- 1070
- * <p>
- 1071
- * <b>Note:</b> if there is no property found the reference will be removed. In other words, if the interpolated
+ }
+ 1067 1843 }
+ 1068 0 } catch (IOException ex) {
+ 1069 0 final String msg = String.format("Unable to open jar file '%s'.", dependency.getFileName());
+ 1070 0 LOGGER.log(Level.WARNING, msg);
+ 1071 0 LOGGER.log(Level.FINE, null, ex);
1072
- * string will be replaced with an empty string.
- 1073
- * </p>
+ } finally {
+ 1073 5 if (jar != null) {
1074
- * <p>
- 1075
- * Example:</p>
- 1076
- * <code>
- 1077
- * Properties p = new Properties();
- 1078
- * p.setProperty("key", "value");
+ try {
+ 1075 5 jar.close();
+ 1076 0 } catch (IOException ex) {
+ 1077 0 LOGGER.log(Level.FINEST, null, ex);
+ 1078 5 }
1079
- * String s = interpolateString("'${key}' and '${nothing}'", p);
+ }
1080
- * System.out.println(s);
- 1081
- * </code>
+ }
+ 1081 5 return classNames;
1082
- * <p>
+ }
1083
- * Will result in:</p>
+
1084
- * <code>
+ /**
1085
- * 'value' and ''
+ * Cycles through the list of class names and places the package levels 0-3 into the provided maps for vendor and product.
1086
- * </code>
+ * This is helpful when analyzing vendor/product as many times this is included in the package name.
1087
*
1088
- * @param text the string that contains references to properties.
+ * @param classNames a list of class names
1089
- * @param properties a collection of properties that may be referenced within the text.
+ * @param vendor HashMap of possible vendor names from package names (e.g. owasp)
1090
- * @return the interpolated text.
+ * @param product HashMap of possible product names from package names (e.g. dependencycheck)
1091
*/
1092
- protected String interpolateString(String text, Properties properties) {
- 1093 14 Properties props = properties;
- 1094 14 if (text == null) {
- 1095 1 return text;
- 1096
- }
- 1097 13 if (props == null) {
- 1098 6 props = new Properties();
- 1099
- }
+ private void analyzeFullyQualifiedClassNames(List<ClassNameInformation> classNames,
+ 1093
+ Map<String, Integer> vendor, Map<String, Integer> product) {
+ 1094 5 for (ClassNameInformation entry : classNames) {
+ 1095 1535 final List<String> list = entry.getPackageStructure();
+ 1096 1535 addEntry(vendor, list.get(0));
+ 1097
+
+ 1098 1535 if (list.size() == 2) {
+ 1099 0 addEntry(product, list.get(1));
1100
+ }
+ 1101 1535 if (list.size() == 3) {
+ 1102 345 addEntry(vendor, list.get(1));
+ 1103 345 addEntry(product, list.get(1));
+ 1104 345 addEntry(product, list.get(2));
+ 1105
+ }
+ 1106 1535 if (list.size() >= 4) {
+ 1107 1190 addEntry(vendor, list.get(1));
+ 1108 1190 addEntry(vendor, list.get(2));
+ 1109 1190 addEntry(product, list.get(1));
+ 1110 1190 addEntry(product, list.get(2));
+ 1111 1190 addEntry(product, list.get(3));
+ 1112
+ }
+ 1113 1535 }
+ 1114 5 }
+ 1115
- 1101 13 final int pos = text.indexOf("${");
- 1102 13 if (pos < 0) {
- 1103 10 return text;
- 1104
- }
- 1105 3 final int end = text.indexOf("}");
- 1106 3 if (end < pos) {
- 1107 0 return text;
- 1108
- }
- 1109
-
- 1110 3 final String propName = text.substring(pos + 2, end);
- 1111 3 String propValue = interpolateString(props.getProperty(propName), props);
- 1112 3 if (propValue == null) {
- 1113 0 propValue = "";
- 1114
- }
- 1115 3 final StringBuilder sb = new StringBuilder(propValue.length() + text.length());
- 1116 3 sb.append(text.subSequence(0, pos));
- 1117 3 sb.append(propValue);
- 1118 3 sb.append(text.substring(end + 1));
- 1119 3 return interpolateString(sb.toString(), props); //yes yes, this should be a loop...
+ 1116
+ /**
+ 1117
+ * Adds an entry to the specified collection and sets the Integer (e.g. the count) to 1. If the entry already exists in the
+ 1118
+ * collection then the Integer is incremented by 1.
+ 1119
+ *
1120
- }
- 1121
-
- 1122
- /**
- 1123
- * Determines if the key value pair from the manifest is for an "import" type entry for package names.
- 1124
- *
- 1125
- * @param key the key from the manifest
- 1126
- * @param value the value from the manifest
- 1127
- * @return true or false depending on if it is believed the entry is an "import" entry
- 1128
- */
- 1129
- private boolean isImportPackage(String key, String value) {
- 1130 15 final Pattern packageRx = Pattern.compile("^([a-zA-Z0-9_#\\$\\*\\.]+\\s*[,;]\\s*)+([a-zA-Z0-9_#\\$\\*\\.]+\\s*)?$");
- 1131 15 final boolean matches = packageRx.matcher(value).matches();
- 1132 15 return matches && (key.contains("import") || key.contains("include") || value.length() > 10);
- 1133
- }
- 1134
-
- 1135
- /**
- 1136
- * Cycles through an enumeration of JarEntries, contained within the dependency, and returns a list of the class
- 1137
- * names. This does not include core Java package names (i.e. java.* or javax.*).
- 1138
- *
- 1139
- * @param dependency the dependency being analyzed
- 1140
- * @return an list of fully qualified class names
- 1141
- */
- 1142
- private ArrayList<ClassNameInformation> collectClassNames(Dependency dependency) {
- 1143 5 final ArrayList<ClassNameInformation> classNames = new ArrayList<ClassNameInformation>();
- 1144 5 JarFile jar = null;
- 1145
- try {
- 1146 5 jar = new JarFile(dependency.getActualFilePath());
- 1147 5 final Enumeration entries = jar.entries();
- 1148 1848 while (entries.hasMoreElements()) {
- 1149 1843 final JarEntry entry = (JarEntry) entries.nextElement();
- 1150 1843 final String name = entry.getName().toLowerCase();
- 1151
- //no longer stripping "|com\\.sun" - there are some com.sun jar files with CVEs.
- 1152 1843 if (name.endsWith(".class") && !name.matches("^javax?\\..*$")) {
- 1153 1535 final ClassNameInformation className = new ClassNameInformation(name.substring(0, name.length() - 6));
- 1154 1535 classNames.add(className);
- 1155
- }
- 1156 1843 }
- 1157 0 } catch (IOException ex) {
- 1158 0 final String msg = String.format("Unable to open jar file '%s'.", dependency.getFileName());
- 1159 0 LOGGER.log(Level.WARNING, msg);
- 1160 0 LOGGER.log(Level.FINE, null, ex);
- 1161
- } finally {
- 1162 5 if (jar != null) {
- 1163
- try {
- 1164 5 jar.close();
- 1165 0 } catch (IOException ex) {
- 1166 0 LOGGER.log(Level.FINEST, null, ex);
- 1167 5 }
- 1168
- }
- 1169
- }
- 1170 5 return classNames;
- 1171
- }
- 1172
-
- 1173
- /**
- 1174
- * Cycles through the list of class names and places the package levels 0-3 into the provided maps for vendor and
- 1175
- * product. This is helpful when analyzing vendor/product as many times this is included in the package name.
- 1176
- *
- 1177
- * @param classNames a list of class names
- 1178
- * @param vendor HashMap of possible vendor names from package names (e.g. owasp)
- 1179
- * @param product HashMap of possible product names from package names (e.g. dependencycheck)
- 1180
- */
- 1181
- private void analyzeFullyQualifiedClassNames(ArrayList<ClassNameInformation> classNames,
- 1182
- HashMap<String, Integer> vendor, HashMap<String, Integer> product) {
- 1183 5 for (ClassNameInformation entry : classNames) {
- 1184 1535 final ArrayList<String> list = entry.getPackageStructure();
- 1185 1535 addEntry(vendor, list.get(0));
- 1186
-
- 1187 1535 if (list.size() == 2) {
- 1188 0 addEntry(product, list.get(1));
- 1189
- }
- 1190 1535 if (list.size() == 3) {
- 1191 345 addEntry(vendor, list.get(1));
- 1192 345 addEntry(product, list.get(1));
- 1193 345 addEntry(product, list.get(2));
- 1194
- }
- 1195 1535 if (list.size() >= 4) {
- 1196 1190 addEntry(vendor, list.get(1));
- 1197 1190 addEntry(vendor, list.get(2));
- 1198 1190 addEntry(product, list.get(1));
- 1199 1190 addEntry(product, list.get(2));
- 1200 1190 addEntry(product, list.get(3));
- 1201
- }
- 1202 1535 }
- 1203 5 }
- 1204
-
- 1205
- /**
- 1206
- * Adds an entry to the specified collection and sets the Integer (e.g. the count) to 1. If the entry already exists
- 1207
- * in the collection then the Integer is incremented by 1.
- 1208
- *
- 1209
* @param collection a collection of strings and their occurrence count
- 1210
+ 1121
* @param key the key to add to the collection
+ 1122
+ */
+ 1123
+ private void addEntry(Map<String, Integer> collection, String key) {
+ 1124 8520 if (collection.containsKey(key)) {
+ 1125 7487 collection.put(key, collection.get(key) + 1);
+ 1126
+ } else {
+ 1127 1033 collection.put(key, 1);
+ 1128
+ }
+ 1129 8520 }
+ 1130
+
+ 1131
+ /**
+ 1132
+ * Cycles through the collection of class name information to see if parts of the package names are contained in the provided
+ 1133
+ * value. If found, it will be added as the HIGHEST confidence evidence because we have more then one source corroborating the
+ 1134
+ * value.
+ 1135
+ *
+ 1136
+ * @param classes a collection of class name information
+ 1137
+ * @param value the value to check to see if it contains a package name
+ 1138
+ * @param evidence the evidence collection to add new entries too
+ 1139
+ */
+ 1140
+ private void addMatchingValues(List<ClassNameInformation> classes, String value, EvidenceCollection evidence) {
+ 1141 39 if (value == null || value.isEmpty() || classes == null || classes.isEmpty()) {
+ 1142 0 return;
+ 1143
+ }
+ 1144 39 final String text = value.toLowerCase();
+ 1145 39 for (ClassNameInformation cni : classes) {
+ 1146 15708 for (String key : cni.getPackageStructure()) {
+ 1147 60662 if (text.contains(key)) { //note, package structure elements are already lowercase.
+ 1148 14608 evidence.addEvidence("jar", "package name", key, Confidence.HIGHEST);
+ 1149
+ }
+ 1150 60662 }
+ 1151 15708 }
+ 1152 39 }
+ 1153
+
+ 1154
+ /**
+ 1155
+ * Simple check to see if the attribute from a manifest is just a package name.
+ 1156
+ *
+ 1157
+ * @param key the key of the value to check
+ 1158
+ * @param value the value to check
+ 1159
+ * @return true if the value looks like a java package name, otherwise false
+ 1160
+ */
+ 1161
+ private boolean isPackage(String key, String value) {
+ 1162
+
+ 1163 15 return !key.matches(".*(version|title|vendor|name|license|description).*")
+ 1164
+ && value.matches("^([a-zA-Z_][a-zA-Z0-9_\\$]*(\\.[a-zA-Z_][a-zA-Z0-9_\\$]*)*)?$");
+ 1165
+
+ 1166
+ }
+ 1167
+
+ 1168
+ /**
+ 1169
+ * Extracts the license information from the pom and adds it to the dependency.
+ 1170
+ *
+ 1171
+ * @param pom the pom object
+ 1172
+ * @param pomProperties the properties, used for string interpolation
+ 1173
+ * @param dependency the dependency to add license information too
+ 1174
+ */
+ 1175
+ public static void extractLicense(Model pom, Properties pomProperties, Dependency dependency) {
+ 1176
+ //license
+ 1177 1 if (pom.getLicenses() != null) {
+ 1178 0 String license = null;
+ 1179 0 for (License lic : pom.getLicenses().getLicense()) {
+ 1180 0 String tmp = null;
+ 1181 0 if (lic.getName() != null) {
+ 1182 0 tmp = interpolateString(lic.getName(), pomProperties);
+ 1183
+ }
+ 1184 0 if (lic.getUrl() != null) {
+ 1185 0 if (tmp == null) {
+ 1186 0 tmp = interpolateString(lic.getUrl(), pomProperties);
+ 1187
+ } else {
+ 1188 0 tmp += ": " + interpolateString(lic.getUrl(), pomProperties);
+ 1189
+ }
+ 1190
+ }
+ 1191 0 if (tmp == null) {
+ 1192 0 continue;
+ 1193
+ }
+ 1194 0 if (HTML_DETECTION_PATTERN.matcher(tmp).find()) {
+ 1195 0 tmp = Jsoup.parse(tmp).text();
+ 1196
+ }
+ 1197 0 if (license == null) {
+ 1198 0 license = tmp;
+ 1199
+ } else {
+ 1200 0 license += "\n" + tmp;
+ 1201
+ }
+ 1202 0 }
+ 1203 0 if (license != null) {
+ 1204 0 dependency.setLicense(license);
+ 1205
+ }
+ 1206
+ }
+ 1207 1 }
+ 1208
+
+ 1209
+ /**
+ 1210
+ * Stores information about a class name.
1211
*/
1212
- private void addEntry(HashMap<String, Integer> collection, String key) {
- 1213 8520 if (collection.containsKey(key)) {
- 1214 7487 collection.put(key, collection.get(key) + 1);
- 1215
- } else {
- 1216 1033 collection.put(key, 1);
- 1217
- }
- 1218 8520 }
- 1219
-
- 1220
- /**
- 1221
- * Cycles through the collection of class name information to see if parts of the package names are contained in the
- 1222
- * provided value. If found, it will be added as the HIGHEST confidence evidence because we have more then one
- 1223
- * source corroborating the value.
- 1224
- *
- 1225
- * @param classes a collection of class name information
- 1226
- * @param value the value to check to see if it contains a package name
- 1227
- * @param evidence the evidence collection to add new entries too
- 1228
- */
- 1229
- private void addMatchingValues(ArrayList<ClassNameInformation> classes, String value, EvidenceCollection evidence) {
- 1230 39 if (value == null || value.isEmpty() || classes == null || classes.isEmpty()) {
- 1231 0 return;
- 1232
- }
- 1233 39 final String text = value.toLowerCase();
- 1234 39 for (ClassNameInformation cni : classes) {
- 1235 15708 for (String key : cni.getPackageStructure()) {
- 1236 60662 if (text.contains(key)) { //note, package structure elements are already lowercase.
- 1237 14608 evidence.addEvidence("jar", "package name", key, Confidence.HIGHEST);
- 1238
- }
- 1239 60662 }
- 1240 15708 }
- 1241 39 }
- 1242
-
- 1243
- /**
- 1244
- * Simple check to see if the attribute from a manifest is just a package name.
- 1245
- *
- 1246
- * @param key the key of the value to check
- 1247
- * @param value the value to check
- 1248
- * @return true if the value looks like a java package name, otherwise false
- 1249
- */
- 1250
- private boolean isPackage(String key, String value) {
- 1251
-
- 1252 15 return !key.matches(".*(version|title|vendor|name|license|description).*")
- 1253
- && value.matches("^([a-zA-Z_][a-zA-Z0-9_\\$]*(\\.[a-zA-Z_][a-zA-Z0-9_\\$]*)*)?$");
- 1254
-
- 1255
- }
- 1256
-
- 1257
- /**
- 1258
- * Extracts the license information from the pom and adds it to the dependency.
- 1259
- *
- 1260
- * @param pom the pom object
- 1261
- * @param pomProperties the properties, used for string interpolation
- 1262
- * @param dependency the dependency to add license information too
- 1263
- */
- 1264
- private void extractLicense(Model pom, Properties pomProperties, Dependency dependency) {
- 1265
- //license
- 1266 1 if (pom.getLicenses() != null) {
- 1267 0 String license = null;
- 1268 0 for (License lic : pom.getLicenses().getLicense()) {
- 1269 0 String tmp = null;
- 1270 0 if (lic.getName() != null) {
- 1271 0 tmp = interpolateString(lic.getName(), pomProperties);
- 1272
- }
- 1273 0 if (lic.getUrl() != null) {
- 1274 0 if (tmp == null) {
- 1275 0 tmp = interpolateString(lic.getUrl(), pomProperties);
- 1276
- } else {
- 1277 0 tmp += ": " + interpolateString(lic.getUrl(), pomProperties);
- 1278
- }
- 1279
- }
- 1280 0 if (tmp == null) {
- 1281 0 continue;
- 1282
- }
- 1283 0 if (HTML_DETECTION_PATTERN.matcher(tmp).find()) {
- 1284 0 tmp = Jsoup.parse(tmp).text();
- 1285
- }
- 1286 0 if (license == null) {
- 1287 0 license = tmp;
- 1288
- } else {
- 1289 0 license += "\n" + tmp;
- 1290
- }
- 1291 0 }
- 1292 0 if (license != null) {
- 1293 0 dependency.setLicense(license);
- 1294
- }
- 1295
- }
- 1296 1 }
- 1297
-
- 1298
- /**
- 1299
- * Stores information about a class name.
- 1300
- */
- 1301
protected static class ClassNameInformation {
- 1302
+ 1213
- 1303
+ 1214
/**
- 1304
+ 1215
* <p>
- 1305
- * Stores information about a given class name. This class will keep the fully qualified class name and a list
- 1306
- * of the important parts of the package structure. Up to the first four levels of the package structure are
- 1307
- * stored, excluding a leading "org" or "com". Example:</p>
- 1308
+ 1216
+ * Stores information about a given class name. This class will keep the fully qualified class name and a list of the
+ 1217
+ * important parts of the package structure. Up to the first four levels of the package structure are stored, excluding a
+ 1218
+ * leading "org" or "com". Example:</p>
+ 1219
* <code>ClassNameInformation obj = new ClassNameInformation("org.owasp.dependencycheck.analyzer.JarAnalyzer");
- 1309
+ 1220
* System.out.println(obj.getName());
- 1310
+ 1221
* for (String p : obj.getPackageStructure())
- 1311
+ 1222
* System.out.println(p);
- 1312
+ 1223
* </code>
- 1313
+ 1224
* <p>
- 1314
+ 1225
* Would result in:</p>
- 1315
+ 1226
* <code>org.owasp.dependencycheck.analyzer.JarAnalyzer
- 1316
+ 1227
* owasp
- 1317
+ 1228
* dependencycheck
- 1318
+ 1229
* analyzer
- 1319
+ 1230
* jaranalyzer</code>
- 1320
+ 1231
*
- 1321
+ 1232
* @param className a fully qualified class name
- 1322
+ 1233
*/
- 1323 1535 ClassNameInformation(String className) {
- 1324 1535 name = className;
- 1325 1535 if (name.contains("/")) {
- 1326 1535 final String[] tmp = className.toLowerCase().split("/");
- 1327 1535 int start = 0;
- 1328 1535 int end = 3;
- 1329 1535 if ("com".equals(tmp[0]) || "org".equals(tmp[0])) {
- 1330 1535 start = 1;
- 1331 1535 end = 4;
- 1332
+ 1234 1535 ClassNameInformation(String className) {
+ 1235 1535 name = className;
+ 1236 1535 if (name.contains("/")) {
+ 1237 1535 final String[] tmp = className.toLowerCase().split("/");
+ 1238 1535 int start = 0;
+ 1239 1535 int end = 3;
+ 1240 1535 if ("com".equals(tmp[0]) || "org".equals(tmp[0])) {
+ 1241 1535 start = 1;
+ 1242 1535 end = 4;
+ 1243
}
- 1333 1535 if (tmp.length <= end) {
- 1334 345 end = tmp.length - 1;
- 1335
+ 1244 1535 if (tmp.length <= end) {
+ 1245 345 end = tmp.length - 1;
+ 1246
}
- 1336 7330 for (int i = start; i <= end; i++) {
- 1337 5795 packageStructure.add(tmp[i]);
- 1338
+ 1247 7330 for (int i = start; i <= end; i++) {
+ 1248 5795 packageStructure.add(tmp[i]);
+ 1249
}
- 1339 1535 } else {
- 1340 0 packageStructure.add(name);
- 1341
+ 1250 1535 } else {
+ 1251 0 packageStructure.add(name);
+ 1252
}
- 1342 1535 }
- 1343
+ 1253 1535 }
+ 1254
/**
- 1344
+ 1255
* The fully qualified class name.
- 1345
+ 1256
*/
- 1346
+ 1257
private String name;
- 1347
+ 1258
- 1348
+ 1259
/**
- 1349
+ 1260
* Get the value of name
- 1350
+ 1261
*
- 1351
+ 1262
* @return the value of name
- 1352
+ 1263
*/
- 1353
+ 1264
public String getName() {
- 1354
- return name;
- 1355
+ 1265 0 return name;
+ 1266
}
- 1356
+ 1267
- 1357
+ 1268
/**
- 1358
+ 1269
* Set the value of name
- 1359
+ 1270
*
- 1360
+ 1271
* @param name new value of name
- 1361
+ 1272
*/
- 1362
+ 1273
public void setName(String name) {
- 1363
- this.name = name;
- 1364
- }
- 1365
+ 1274 0 this.name = name;
+ 1275 0 }
+ 1276
/**
- 1366
+ 1277
* Up to the first four levels of the package structure, excluding a leading "org" or "com".
- 1367
+ 1278
*/
- 1368 1535 private final ArrayList<String> packageStructure = new ArrayList<String>();
- 1369
+ 1279 1535 private final ArrayList<String> packageStructure = new ArrayList<String>();
+ 1280
- 1370
+ 1281
/**
- 1371
+ 1282
* Get the value of packageStructure
- 1372
+ 1283
*
- 1373
+ 1284
* @return the value of packageStructure
- 1374
+ 1285
*/
- 1375
+ 1286
public ArrayList<String> getPackageStructure() {
- 1376
- return packageStructure;
- 1377
+ 1287 17243 return packageStructure;
+ 1288
}
- 1378
+ 1289
}
- 1379
+ 1290
- 1380
+ 1291
/**
- 1381
+ 1292
* Retrieves the next temporary directory to extract an archive too.
- 1382
+ 1293
*
- 1383
+ 1294
* @return a directory
- 1384
+ 1295
* @throws AnalysisException thrown if unable to create temporary directory
- 1385
+ 1296
*/
- 1386
+ 1297
private File getNextTempDirectory() throws AnalysisException {
- 1387 0 dirCount += 1;
- 1388 0 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
- 1389
+ 1298 0 dirCount += 1;
+ 1299 0 final File directory = new File(tempFileLocation, String.valueOf(dirCount));
+ 1300
//getting an exception for some directories not being able to be created; might be because the directory already exists?
- 1390 0 if (directory.exists()) {
- 1391 0 return getNextTempDirectory();
- 1392
+ 1301 0 if (directory.exists()) {
+ 1302 0 return getNextTempDirectory();
+ 1303
}
- 1393 0 if (!directory.mkdirs()) {
- 1394 0 final String msg = String.format("Unable to create temp directory '%s'.", directory.getAbsolutePath());
- 1395 0 throw new AnalysisException(msg);
- 1396
+ 1304 0 if (!directory.mkdirs()) {
+ 1305 0 final String msg = String.format("Unable to create temp directory '%s'.", directory.getAbsolutePath());
+ 1306 0 throw new AnalysisException(msg);
+ 1307
}
- 1397 0 return directory;
- 1398
+ 1308 0 return directory;
+ 1309
}
- 1399
+ 1310
}
-
+
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 a67bcb4f4..3bdc4a7ef 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.JavaScriptAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- JavaScriptAnalyzer 26%
0%
2.0;2
+ JavaScriptAnalyzer 29%
0%
2.0;2
@@ -95,8 +95,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
39
*/
- 40
- public class JavaScriptAnalyzer extends AbstractFileTypeAnalyzer {
+ 40 5 public class JavaScriptAnalyzer extends AbstractFileTypeAnalyzer {
41
42
@@ -250,7 +249,7 @@
125 0 LOGGER.log(Level.SEVERE, null, ex);
126
} finally {
- 127 0 if (fin != null) {
+ 127 0 if (fin != null) {
128
try {
129 0 fin.close();
@@ -275,6 +274,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
index 83118ae88..63f79d2ce 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NexusAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- NexusAnalyzer 28%
10%
2.375;2.375
+ NexusAnalyzer 20%
4%
3.375;3.375
@@ -56,193 +56,192 @@
19
20
- import java.io.FileNotFoundException;
+ import java.io.File;
21
- import java.io.IOException;
+ import java.io.FileNotFoundException;
22
- import java.net.MalformedURLException;
+ import java.io.IOException;
23
- import java.net.URL;
+ import java.net.MalformedURLException;
24
- import java.util.Set;
+ import java.net.URL;
25
- import java.util.logging.Level;
+ import java.util.Set;
26
- import java.util.logging.Logger;
+ import java.util.logging.Level;
27
- import org.owasp.dependencycheck.Engine;
+ import java.util.logging.Logger;
28
- import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
+ import org.apache.commons.io.FileUtils;
29
- import org.owasp.dependencycheck.data.nexus.MavenArtifact;
+ import org.owasp.dependencycheck.Engine;
30
- import org.owasp.dependencycheck.data.nexus.NexusSearch;
+ import org.owasp.dependencycheck.analyzer.exception.AnalysisException;
31
- import org.owasp.dependencycheck.dependency.Confidence;
+ import org.owasp.dependencycheck.data.nexus.MavenArtifact;
32
- import org.owasp.dependencycheck.dependency.Dependency;
+ import org.owasp.dependencycheck.data.nexus.NexusSearch;
33
- import org.owasp.dependencycheck.utils.InvalidSettingException;
+ import org.owasp.dependencycheck.dependency.Confidence;
34
- import org.owasp.dependencycheck.utils.Settings;
+ import org.owasp.dependencycheck.dependency.Dependency;
35
-
+ import org.owasp.dependencycheck.dependency.Evidence;
36
- /**
+ import org.owasp.dependencycheck.jaxb.pom.PomUtils;
37
- * Analyzer which will attempt to locate a dependency on a Nexus service by SHA-1 digest of the dependency.
+ import org.owasp.dependencycheck.utils.InvalidSettingException;
38
- *
+ import org.owasp.dependencycheck.utils.DownloadFailedException;
39
- * There are two settings which govern this behavior:
+ import org.owasp.dependencycheck.utils.Downloader;
40
- *
+ import org.owasp.dependencycheck.utils.Settings;
41
- * <ul>
+
42
- * <li>{@link org.owasp.dependencycheck.utils.Settings.KEYS#ANALYZER_NEXUS_ENABLED} determines whether this analyzer is
+ /**
43
- * even enabled. This can be overridden by setting the system property.</li>
+ * Analyzer which will attempt to locate a dependency on a Nexus service by SHA-1 digest of the dependency.
44
- * <li>{@link org.owasp.dependencycheck.utils.Settings.KEYS#ANALYZER_NEXUS_URL} the URL to a Nexus service to search by
- 45
- * SHA-1. There is an expected <code>%s</code> in this where the SHA-1 will get entered.</li>
- 46
- * </ul>
- 47
*
+ 45
+ * There are two settings which govern this behavior:
+ 46
+ *
+ 47
+ * <ul>
48
- * @author colezlaw
+ * <li>{@link org.owasp.dependencycheck.utils.Settings.KEYS#ANALYZER_NEXUS_ENABLED} determines whether this analyzer is
49
- */
- 50 2 public class NexusAnalyzer extends AbstractFileTypeAnalyzer {
+ * even enabled. This can be overridden by setting the system property.</li>
+ 50
+ * <li>{@link org.owasp.dependencycheck.utils.Settings.KEYS#ANALYZER_NEXUS_URL} the URL to a Nexus service to search by
51
-
+ * SHA-1. There is an expected <code>%s</code> in this where the SHA-1 will get entered.</li>
52
- /**
+ * </ul>
53
- * The default URL - this will be used by the CentralAnalyzer to determine whether to enable this.
+ *
54
- */
+ * @author colezlaw
55
- public static final String DEFAULT_URL = "https://repository.sonatype.org/service/local/";
- 56
-
+ */
+ 56 2 public class NexusAnalyzer extends AbstractFileTypeAnalyzer {
57
- /**
+
58
- * The logger.
+ /**
59
+ * The default URL - this will be used by the CentralAnalyzer to determine whether to enable this.
+ 60
*/
- 60 1 private static final Logger LOGGER = Logger.getLogger(NexusAnalyzer.class.getName());
61
-
+ public static final String DEFAULT_URL = "https://repository.sonatype.org/service/local/";
62
- /**
+
63
- * The name of the analyzer.
+ /**
64
- */
+ * The logger.
65
- private static final String ANALYZER_NAME = "Nexus Analyzer";
- 66
-
+ */
+ 66 1 private static final Logger LOGGER = Logger.getLogger(NexusAnalyzer.class.getName());
67
- /**
+
68
- * The phase in which the analyzer runs.
+ /**
69
+ * The name of the analyzer.
+ 70
*/
- 70 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
71
-
+ private static final String ANALYZER_NAME = "Nexus Analyzer";
72
- /**
+
73
- * The types of files on which this will work.
+ /**
74
+ * The phase in which the analyzer runs.
+ 75
*/
- 75 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar");
- 76
-
+ 76 1 private static final AnalysisPhase ANALYSIS_PHASE = AnalysisPhase.INFORMATION_COLLECTION;
77
- /**
+
78
- * The Nexus Search to be set up for this analyzer.
+ /**
79
- */
+ * The types of files on which this will work.
80
- private NexusSearch searcher;
- 81
-
+ */
+ 81 1 private static final Set<String> SUPPORTED_EXTENSIONS = newHashSet("jar");
82
- /**
+
83
- * Field indicating if the analyzer is enabled.
+ /**
84
+ * The Nexus Search to be set up for this analyzer.
+ 85
*/
- 85 2 private final boolean enabled = checkEnabled();
86
-
+ private NexusSearch searcher;
87
- /**
+
88
- * Determines if this analyzer is enabled
- 89
- *
- 90
- * @return <code>true</code> if the analyzer is enabled; otherwise <code>false</code>
- 91
- */
- 92
- private boolean checkEnabled() {
- 93
- /* Enable this analyzer ONLY if the Nexus URL has been set to something
- 94
- other than the default one (if it's the default one, we'll use the
- 95
- central one) and it's enabled by the user.
- 96
- */
- 97 2 boolean retval = false;
- 98
- try {
- 99 2 if ((!DEFAULT_URL.equals(Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL)))
- 100
- && Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED)) {
- 101 0 LOGGER.info("Enabling Nexus analyzer");
- 102 0 retval = true;
- 103
- } else {
- 104 2 LOGGER.fine("Nexus analyzer disabled, using Central instead");
- 105
- }
- 106 0 } catch (InvalidSettingException ise) {
- 107 0 LOGGER.warning("Invalid setting. Disabling Nexus analyzer");
- 108 2 }
- 109
-
- 110 2 return retval;
- 111
- }
- 112
-
- 113
/**
- 114
- * Determine whether to enable this analyzer or not.
- 115
- *
- 116
- * @return whether the analyzer should be enabled
- 117
+ 89
+ * Field indicating if the analyzer is enabled.
+ 90
*/
- 118
- @Override
+ 91 2 private final boolean enabled = checkEnabled();
+ 92
+ /**
+ 93
+ * Field for doing POM work
+ 94
+ */
+ 95 2 private final PomUtils pomUtil = new PomUtils();
+ 96
+
+ 97
+ /**
+ 98
+ * Determines if this analyzer is enabled
+ 99
+ *
+ 100
+ * @return <code>true</code> if the analyzer is enabled; otherwise <code>false</code>
+ 101
+ */
+ 102
+ private boolean checkEnabled() {
+ 103
+ /* Enable this analyzer ONLY if the Nexus URL has been set to something
+ 104
+ other than the default one (if it's the default one, we'll use the
+ 105
+ central one) and it's enabled by the user.
+ 106
+ */
+ 107 2 boolean retval = false;
+ 108
+ try {
+ 109 2 if ((!DEFAULT_URL.equals(Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL)))
+ 110
+ && Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED)) {
+ 111 0 LOGGER.info("Enabling Nexus analyzer");
+ 112 0 retval = true;
+ 113
+ } else {
+ 114 2 LOGGER.fine("Nexus analyzer disabled, using Central instead");
+ 115
+ }
+ 116 0 } catch (InvalidSettingException ise) {
+ 117 0 LOGGER.warning("Invalid setting. Disabling Nexus analyzer");
+ 118 2 }
119
- public boolean isEnabled() {
- 120
- return enabled;
+
+ 120 2 return retval;
121
}
122
@@ -250,77 +249,77 @@
123
/**
124
- * Initializes the analyzer once before any analysis is performed.
+ * Determine whether to enable this analyzer or not.
125
*
126
- * @throws Exception if there's an error during initialization
+ * @return whether the analyzer should be enabled
127
*/
128
@Override
129
- public void initializeFileTypeAnalyzer() throws Exception {
- 130 0 LOGGER.fine("Initializing Nexus Analyzer");
- 131 0 LOGGER.fine(String.format("Nexus Analyzer enabled: %s", isEnabled()));
- 132 0 if (isEnabled()) {
- 133 0 final String searchUrl = Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL);
- 134 0 LOGGER.fine(String.format("Nexus Analyzer URL: %s", searchUrl));
- 135
- try {
- 136 0 searcher = new NexusSearch(new URL(searchUrl));
- 137 0 if (!searcher.preflightRequest()) {
- 138 0 LOGGER.warning("There was an issue getting Nexus status. Disabling analyzer.");
- 139 0 setEnabled(false);
- 140
- }
- 141 0 } catch (MalformedURLException mue) {
- 142
- // I know that initialize can throw an exception, but we'll
- 143
- // just disable the analyzer if the URL isn't valid
- 144 0 LOGGER.warning(String.format("Property %s not a valid URL. Nexus Analyzer disabled", searchUrl));
- 145 0 setEnabled(false);
- 146 0 }
- 147
- }
- 148 0 }
- 149
-
- 150
- /**
- 151
- * Returns the analyzer's name.
- 152
- *
- 153
- * @return the name of the analyzer
- 154
- */
- 155
- @Override
- 156
- public String getName() {
- 157 4 return ANALYZER_NAME;
- 158
+ public boolean isEnabled() {
+ 130 0 return enabled;
+ 131
}
+ 132
+
+ 133
+ /**
+ 134
+ * Initializes the analyzer once before any analysis is performed.
+ 135
+ *
+ 136
+ * @throws Exception if there's an error during initialization
+ 137
+ */
+ 138
+ @Override
+ 139
+ public void initializeFileTypeAnalyzer() throws Exception {
+ 140 0 LOGGER.fine("Initializing Nexus Analyzer");
+ 141 0 LOGGER.fine(String.format("Nexus Analyzer enabled: %s", isEnabled()));
+ 142 0 if (isEnabled()) {
+ 143 0 final String searchUrl = Settings.getString(Settings.KEYS.ANALYZER_NEXUS_URL);
+ 144 0 LOGGER.fine(String.format("Nexus Analyzer URL: %s", searchUrl));
+ 145
+ try {
+ 146 0 searcher = new NexusSearch(new URL(searchUrl));
+ 147 0 if (!searcher.preflightRequest()) {
+ 148 0 LOGGER.warning("There was an issue getting Nexus status. Disabling analyzer.");
+ 149 0 setEnabled(false);
+ 150
+ }
+ 151 0 } catch (MalformedURLException mue) {
+ 152
+ // I know that initialize can throw an exception, but we'll
+ 153
+ // just disable the analyzer if the URL isn't valid
+ 154 0 LOGGER.warning(String.format("Property %s not a valid URL. Nexus Analyzer disabled", searchUrl));
+ 155 0 setEnabled(false);
+ 156 0 }
+ 157
+ }
+ 158 0 }
159
160
/**
161
- * Returns the key used in the properties file to reference the analyzer's enabled property.
+ * Returns the analyzer's name.
162
*
163
- * @return the analyzer's enabled property setting key
+ * @return the name of the analyzer
164
*/
165
@Override
166
- protected String getAnalyzerEnabledSettingKey() {
- 167 2 return Settings.KEYS.ANALYZER_NEXUS_ENABLED;
+ public String getName() {
+ 167 4 return ANALYZER_NAME;
168
}
169
@@ -328,18 +327,18 @@
170
/**
171
- * Returns the analysis phase under which the analyzer runs.
+ * Returns the key used in the properties file to reference the analyzer's enabled property.
172
*
173
- * @return the phase under which this analyzer runs
+ * @return the analyzer's enabled property setting key
174
*/
175
@Override
176
- public AnalysisPhase getAnalysisPhase() {
- 177 1 return ANALYSIS_PHASE;
+ protected String getAnalyzerEnabledSettingKey() {
+ 177 2 return Settings.KEYS.ANALYZER_NEXUS_ENABLED;
178
}
179
@@ -347,18 +346,18 @@
180
/**
181
- * Returns the extensions for which this Analyzer runs.
+ * Returns the analysis phase under which the analyzer runs.
182
*
183
- * @return the extensions for which this Analyzer runs
+ * @return the phase under which this analyzer runs
184
*/
185
@Override
186
- public Set<String> getSupportedExtensions() {
- 187 0 return SUPPORTED_EXTENSIONS;
+ public AnalysisPhase getAnalysisPhase() {
+ 187 1 return ANALYSIS_PHASE;
188
}
189
@@ -366,48 +365,108 @@
190
/**
191
- * Performs the analysis.
+ * Returns the extensions for which this Analyzer runs.
192
*
193
- * @param dependency the dependency to analyze
+ * @return the extensions for which this Analyzer runs
194
- * @param engine the engine
- 195
- * @throws AnalysisException when there's an exception during analysis
- 196
*/
- 197
+ 195
@Override
+ 196
+ public Set<String> getSupportedExtensions() {
+ 197 0 return SUPPORTED_EXTENSIONS;
198
- public void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException {
- 199 0 if (!isEnabled()) {
- 200 0 return;
+ }
+ 199
+
+ 200
+ /**
201
- }
+ * Performs the analysis.
202
- try {
- 203 0 final MavenArtifact ma = searcher.searchSha1(dependency.getSha1sum());
- 204 0 dependency.addAsEvidence("nexus", ma, Confidence.HIGH);
- 205 0 } catch (IllegalArgumentException iae) {
+ *
+ 203
+ * @param dependency the dependency to analyze
+ 204
+ * @param engine the engine
+ 205
+ * @throws AnalysisException when there's an exception during analysis
206
+ */
+ 207
+ @Override
+ 208
+ public void analyzeFileType(Dependency dependency, Engine engine) throws AnalysisException {
+ 209 0 if (!isEnabled()) {
+ 210 0 return;
+ 211
+ }
+ 212
+ try {
+ 213 0 final MavenArtifact ma = searcher.searchSha1(dependency.getSha1sum());
+ 214 0 dependency.addAsEvidence("nexus", ma, Confidence.HIGH);
+ 215 0 boolean pomAnalyzed = false;
+ 216 0 LOGGER.fine("POM URL " + ma.getPomUrl());
+ 217 0 for (Evidence e : dependency.getVendorEvidence()) {
+ 218 0 if ("pom".equals(e.getSource())) {
+ 219 0 pomAnalyzed = true;
+ 220 0 break;
+ 221
+ }
+ 222 0 }
+ 223 0 if (!pomAnalyzed && ma.getPomUrl() != null) {
+ 224 0 File pomFile = null;
+ 225
+ try {
+ 226 0 final File baseDir = Settings.getTempDirectory();
+ 227 0 pomFile = File.createTempFile("pom", ".xml", baseDir);
+ 228 0 if (!pomFile.delete()) {
+ 229 0 final String msg = String.format("Unable to fetch pom.xml for %s from Nexus repository; "
+ 230
+ + "this could result in undetected CPE/CVEs.", dependency.getFileName());
+ 231 0 LOGGER.warning(msg);
+ 232 0 LOGGER.fine("Unable to delete temp file");
+ 233
+ }
+ 234 0 LOGGER.fine(String.format("Downloading %s", ma.getPomUrl()));
+ 235 0 Downloader.fetchFile(new URL(ma.getPomUrl()), pomFile);
+ 236 0 pomUtil.analyzePOM(dependency, pomFile);
+ 237 0 } catch (DownloadFailedException ex) {
+ 238 0 final String msg = String.format("Unable to download pom.xml for %s from Nexus repository; "
+ 239
+ + "this could result in undetected CPE/CVEs.", dependency.getFileName());
+ 240 0 LOGGER.warning(msg);
+ 241
+ } finally {
+ 242 0 if (pomFile != null && !FileUtils.deleteQuietly(pomFile)) {
+ 243 0 pomFile.deleteOnExit();
+ 244
+ }
+ 245
+ }
+ 246
+ }
+ 247 0 } catch (IllegalArgumentException iae) {
+ 248
//dependency.addAnalysisException(new AnalysisException("Invalid SHA-1"));
- 207 0 LOGGER.info(String.format("invalid sha-1 hash on %s", dependency.getFileName()));
- 208 0 } catch (FileNotFoundException fnfe) {
- 209
+ 249 0 LOGGER.info(String.format("invalid sha-1 hash on %s", dependency.getFileName()));
+ 250 0 } catch (FileNotFoundException fnfe) {
+ 251
//dependency.addAnalysisException(new AnalysisException("Artifact not found on repository"));
- 210 0 LOGGER.fine(String.format("Artifact not found in repository '%s'", dependency.getFileName()));
- 211 0 LOGGER.log(Level.FINE, fnfe.getMessage(), fnfe);
- 212 0 } catch (IOException ioe) {
- 213
+ 252 0 LOGGER.fine(String.format("Artifact not found in repository '%s'", dependency.getFileName()));
+ 253 0 LOGGER.log(Level.FINE, fnfe.getMessage(), fnfe);
+ 254 0 } catch (IOException ioe) {
+ 255
//dependency.addAnalysisException(new AnalysisException("Could not connect to repository", ioe));
- 214 0 LOGGER.log(Level.FINE, "Could not connect to nexus repository", ioe);
- 215 0 }
- 216 0 }
- 217
+ 256 0 LOGGER.log(Level.FINE, "Could not connect to nexus repository", ioe);
+ 257 0 }
+ 258 0 }
+ 259
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html
index 7610736d7..fd6587ddc 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NuspecAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- NuspecAnalyzer 20%
0%
2.6666666666666665;2.667
+ NuspecAnalyzer 22%
0%
2.6666666666666665;2.667
@@ -97,8 +97,7 @@
* @author colezlaw
40
*/
- 41
- public class NuspecAnalyzer extends AbstractFileTypeAnalyzer {
+ 41 6 public class NuspecAnalyzer extends AbstractFileTypeAnalyzer {
42
43
@@ -265,7 +264,7 @@
132 0 throw new AnalysisException(ex);
133
} finally {
- 134 0 if (fis != null) {
+ 134 0 if (fis != null) {
135
try {
136 0 fis.close();
@@ -297,6 +296,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
index 5a28acc0f..a4ecd8d6f 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.NvdCveAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- NvdCveAnalyzer 67%
58%
2.125;2.125
+ NvdCveAnalyzer 68%
50%
2.125;2.125
@@ -89,8 +89,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
36
*/
- 37
- public class NvdCveAnalyzer implements Analyzer {
+ 37 2 public class NvdCveAnalyzer implements Analyzer {
38
39
@@ -207,7 +206,7 @@
100
public void analyze(Dependency dependency, Engine engine) throws AnalysisException {
101 2 for (Identifier id : dependency.getIdentifiers()) {
- 102 4 if ("cpe".equals(id.getType())) {
+ 102 2 if ("cpe".equals(id.getType())) {
103
try {
104 2 final String value = id.getValue();
@@ -218,7 +217,7 @@
109 2 }
110
}
- 111 4 }
+ 111 2 }
112 2 for (Identifier id : dependency.getSuppressedIdentifiers()) {
113 0 if ("cpe".equals(id.getType())) {
114
@@ -293,6 +292,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
index 765d43462..626d400b3 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.VulnerabilitySuppressionAnalyzer.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- VulnerabilitySuppressionAnalyzer 88%
66%
2.3333333333333335;2.333
+ VulnerabilitySuppressionAnalyzer 90%
66%
2.3333333333333335;2.333
@@ -77,8 +77,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
30
*/
- 31
- public class VulnerabilitySuppressionAnalyzer extends AbstractSuppressionAnalyzer {
+ 31 2 public class VulnerabilitySuppressionAnalyzer extends AbstractSuppressionAnalyzer {
32
33
@@ -153,13 +152,13 @@
70
71 2 for (final SuppressionRule rule : getRules()) {
- 72 16 rule.process(dependency);
- 73 16 }
+ 72 22 rule.process(dependency);
+ 73 22 }
74 2 }
75
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html
index 85a68bcc5..5759a1078 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.AnalysisException.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- AnalysisException N/A
N/A
1.0;1
+ AnalysisException 25%
N/A
1.0;1
@@ -87,10 +87,8 @@
*/
35
public AnalysisException() {
- 36
- super();
- 37
- }
+ 36 0 super();
+ 37 0 }
38
39
@@ -105,10 +103,8 @@
*/
44
public AnalysisException(String msg) {
- 45
- super(msg);
- 46
- }
+ 45 1 super(msg);
+ 46 1 }
47
48
@@ -123,10 +119,8 @@
*/
53
public AnalysisException(Throwable ex) {
- 54
- super(ex);
- 55
- }
+ 54 0 super(ex);
+ 55 0 }
56
57
@@ -143,14 +137,12 @@
*/
63
public AnalysisException(String msg, Throwable ex) {
- 64
- super(msg, ex);
- 65
- }
+ 64 0 super(msg, ex);
+ 65 0 }
66
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html
index c056d3e3b..ba5d6a664 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.analyzer.exception.ArchiveExtractionException.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- ArchiveExtractionException N/A
N/A
1.0;1
+ ArchiveExtractionException 0%
N/A
1.0;1
@@ -87,10 +87,8 @@
*/
35
public ArchiveExtractionException() {
- 36
- super();
- 37
- }
+ 36 0 super();
+ 37 0 }
38
39
@@ -105,10 +103,8 @@
*/
44
public ArchiveExtractionException(String msg) {
- 45
- super(msg);
- 46
- }
+ 45 0 super(msg);
+ 46 0 }
47
48
@@ -123,10 +119,8 @@
*/
53
public ArchiveExtractionException(Throwable ex) {
- 54
- super(ex);
- 55
- }
+ 54 0 super(ex);
+ 55 0 }
56
57
@@ -143,14 +137,12 @@
*/
63
public ArchiveExtractionException(String msg, Throwable ex) {
- 64
- super(msg, ex);
- 65
- }
+ 64 0 super(msg, ex);
+ 65 0 }
66
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.central.CentralSearch.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.central.CentralSearch.html
index bf279c48a..a2a44c5fa 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.central.CentralSearch.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.central.CentralSearch.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- CentralSearch 80%
78%
7.5;7.5
+ CentralSearch 83%
85%
9.0;9
@@ -141,31 +141,31 @@
62
*
63
- * @param rootURL the URL of the repository on which searches should execute. Only parameters are added to this (so
+ * @param rootURL the URL of the repository on which searches should execute. Only parameters are added to this (so it should
64
- * it should end in /select)
+ * end in /select)
65
*/
- 66 6 public CentralSearch(URL rootURL) {
- 67 6 this.rootURL = rootURL;
- 68 6 if (null != Settings.getString(Settings.KEYS.PROXY_SERVER)) {
+ 66 5 public CentralSearch(URL rootURL) {
+ 67 5 this.rootURL = rootURL;
+ 68 5 if (null != Settings.getString(Settings.KEYS.PROXY_SERVER)) {
69 0 useProxy = true;
70 0 LOGGER.fine("Using proxy");
71
} else {
- 72 6 useProxy = false;
- 73 6 LOGGER.fine("Not using proxy");
+ 72 5 useProxy = false;
+ 73 5 LOGGER.fine("Not using proxy");
74
}
- 75 6 }
+ 75 5 }
76
77
/**
78
- * Searches the configured Central URL for the given sha1 hash. If the artifact is found, a
+ * Searches the configured Central URL for the given sha1 hash. If the artifact is found, a <code>MavenArtifact</code> is
79
- * <code>MavenArtifact</code> is populated with the GAV.
+ * populated with the GAV.
80
*
81
@@ -173,108 +173,119 @@
82
* @return the populated Maven GAV.
83
- * @throws IOException if it's unable to connect to the specified repository or if the specified artifact is not
+ * @throws IOException if it's unable to connect to the specified repository or if the specified artifact is not found.
84
- * found.
- 85
*/
- 86
+ 85
public List<MavenArtifact> searchSha1(String sha1) throws IOException {
- 87 7 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$")) {
- 88 2 throw new IllegalArgumentException("Invalid SHA1 format");
+ 86 5 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$")) {
+ 87 2 throw new IllegalArgumentException("Invalid SHA1 format");
+ 88
+ }
89
- }
- 90
- 91 5 final URL url = new URL(rootURL + String.format("?q=1:\"%s\"&wt=xml", sha1));
- 92
+ 90 3 final URL url = new URL(rootURL + String.format("?q=1:\"%s\"&wt=xml", sha1));
+ 91
+
+ 92 3 LOGGER.fine(String.format("Searching Central url %s", url.toString()));
+ 93
- 93 5 LOGGER.fine(String.format("Searching Central url %s", url.toString()));
94
-
- 95
// Determine if we need to use a proxy. The rules:
- 96
+ 95
// 1) If the proxy is set, AND the setting is set to true, use the proxy
- 97
+ 96
// 2) Otherwise, don't use the proxy (either the proxy isn't configured,
- 98
+ 97
// or proxy is specifically set to false)
- 99 5 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
- 100
+ 98 3 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
+ 99
+
+ 100 3 conn.setDoOutput(true);
+ 101
- 101 5 conn.setDoOutput(true);
102
-
- 103
// JSON would be more elegant, but there's not currently a dependency
- 104
+ 103
// on JSON, so don't want to add one just for this
- 105 5 conn.addRequestProperty("Accept", "application/xml");
- 106 5 conn.connect();
- 107
+ 104 3 conn.addRequestProperty("Accept", "application/xml");
+ 105 3 conn.connect();
+ 106
- 108 5 if (conn.getResponseCode() == 200) {
- 109 5 boolean missing = false;
- 110
+ 107 3 if (conn.getResponseCode() == 200) {
+ 108 3 boolean missing = false;
+ 109
try {
- 111 5 final DocumentBuilder builder = DocumentBuilderFactory
- 112
+ 110 3 final DocumentBuilder builder = DocumentBuilderFactory
+ 111
.newInstance().newDocumentBuilder();
- 113 5 final Document doc = builder.parse(conn.getInputStream());
- 114 5 final XPath xpath = XPathFactory.newInstance().newXPath();
- 115 5 final String numFound = xpath.evaluate("/response/result/@numFound", doc);
- 116 5 if ("0".equals(numFound)) {
- 117 1 missing = true;
- 118
+ 112 3 final Document doc = builder.parse(conn.getInputStream());
+ 113 3 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 114 3 final String numFound = xpath.evaluate("/response/result/@numFound", doc);
+ 115 3 if ("0".equals(numFound)) {
+ 116 1 missing = true;
+ 117
} else {
- 119 4 final ArrayList<MavenArtifact> result = new ArrayList<MavenArtifact>();
- 120 4 final NodeList docs = (NodeList) xpath.evaluate("/response/result/doc", doc, XPathConstants.NODESET);
- 121 9 for (int i = 0; i < docs.getLength(); i++) {
- 122 5 final String g = xpath.evaluate("./str[@name='g']", docs.item(i));
- 123 5 LOGGER.finest(String.format("GroupId: %s", g));
- 124 5 final String a = xpath.evaluate("./str[@name='a']", docs.item(i));
- 125 5 LOGGER.finest(String.format("ArtifactId: %s", a));
- 126 5 final String v = xpath.evaluate("./str[@name='v']", docs.item(i));
- 127 5 LOGGER.finest(String.format("Version: %s", v));
- 128 5 result.add(new MavenArtifact(g, a, v, url.toString()));
- 129
- }
- 130
-
- 131 4 return result;
- 132
- }
- 133 0 } catch (Throwable e) {
- 134
- // Anything else is jacked up XML stuff that we really can't recover
+ 118 2 final ArrayList<MavenArtifact> result = new ArrayList<MavenArtifact>();
+ 119 2 final NodeList docs = (NodeList) xpath.evaluate("/response/result/doc", doc, XPathConstants.NODESET);
+ 120 5 for (int i = 0; i < docs.getLength(); i++) {
+ 121 3 final String g = xpath.evaluate("./str[@name='g']", docs.item(i));
+ 122 3 LOGGER.finest(String.format("GroupId: %s", g));
+ 123 3 final String a = xpath.evaluate("./str[@name='a']", docs.item(i));
+ 124 3 LOGGER.finest(String.format("ArtifactId: %s", a));
+ 125 3 final String v = xpath.evaluate("./str[@name='v']", docs.item(i));
+ 126 3 final NodeList atts = (NodeList) xpath.evaluate("./arr[@name='ec']/str", docs.item(i), XPathConstants.NODESET);
+ 127 3 boolean pomAvailable = false;
+ 128 3 boolean jarAvailable = false;
+ 129 14 for (int x = 0; x < atts.getLength(); x++) {
+ 130 11 final String tmp = xpath.evaluate(".", atts.item(x));
+ 131 11 if (".pom".equals(tmp)) {
+ 132 3 pomAvailable = true;
+ 133 8 } else if (".jar".equals(tmp)) {
+ 134 3 jarAvailable = true;
135
- // from well
- 136 0 throw new IOException(e.getMessage(), e);
- 137 1 }
- 138
+ }
+ 136
+ }
+ 137 3 LOGGER.finest(String.format("Version: %s", v));
+ 138 3 result.add(new MavenArtifact(g, a, v, jarAvailable, pomAvailable));
+ 139
+ }
+ 140
- 139 1 if (missing) {
- 140 1 throw new FileNotFoundException("Artifact not found in Central");
- 141
- }
- 142 0 } else {
- 143 0 final String msg = String.format("Could not connect to Central received response code: %d %s",
+ 141 2 return result;
+ 142
+ }
+ 143 0 } catch (Throwable e) {
144
- conn.getResponseCode(), conn.getResponseMessage());
- 145 0 LOGGER.fine(msg);
- 146 0 throw new IOException(msg);
- 147
- }
+ // Anything else is jacked up XML stuff that we really can't recover
+ 145
+ // from well
+ 146 0 throw new IOException(e.getMessage(), e);
+ 147 1 }
148
- 149 0 return null;
- 150
- }
+ 149 1 if (missing) {
+ 150 1 throw new FileNotFoundException("Artifact not found in Central");
151
+ }
+ 152 0 } else {
+ 153 0 final String msg = String.format("Could not connect to Central received response code: %d %s",
+ 154
+ conn.getResponseCode(), conn.getResponseMessage());
+ 155 0 LOGGER.fine(msg);
+ 156 0 throw new IOException(msg);
+ 157
+ }
+ 158
+
+ 159 0 return null;
+ 160
+ }
+ 161
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html
index 8f11c8536..7eb296dd9 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.CpeMemoryIndex.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- CpeMemoryIndex 71%
35%
2.9285714285714284;2.929
+ CpeMemoryIndex 72%
41%
2.9285714285714284;2.929
@@ -118,9 +118,9 @@
50
/**
51
- * An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within
+ * An in memory lucene index that contains the vendor/product combinations from the CPE (application) identifiers within the NVD
52
- * the NVD CVE data.
+ * CVE data.
53
*
54
@@ -144,7 +144,7 @@
* singleton instance.
64
*/
- 65 1 private static CpeMemoryIndex instance = new CpeMemoryIndex();
+ 65 1 private static final CpeMemoryIndex INSTANCE = new CpeMemoryIndex();
66
67
@@ -153,10 +153,8 @@
* private constructor for singleton.
69
*/
- 70
- private CpeMemoryIndex() {
- 71
- }
+ 70 1 private CpeMemoryIndex() {
+ 71 1 }
72
73
@@ -171,7 +169,7 @@
*/
78
public static CpeMemoryIndex getInstance() {
- 79 1 return instance;
+ 79 1 return INSTANCE;
80
}
81
@@ -246,343 +244,343 @@
*/
116
public void open(CveDB cve) throws IndexException {
- 117 1 if (!openState) {
- 118 1 index = new RAMDirectory();
- 119 1 buildIndex(cve);
- 120
- try {
- 121 1 indexReader = DirectoryReader.open(index);
- 122 0 } catch (IOException ex) {
- 123 0 throw new IndexException(ex);
- 124 1 }
- 125 1 indexSearcher = new IndexSearcher(indexReader);
- 126 1 searchingAnalyzer = createSearchingAnalyzer();
- 127 1 queryParser = new QueryParser(LuceneUtils.CURRENT_VERSION, Fields.DOCUMENT_KEY, searchingAnalyzer);
- 128 1 openState = true;
- 129
- }
- 130 1 }
- 131
- /**
- 132
- * A flag indicating whether or not the index is open.
- 133
- */
- 134
- private boolean openState = false;
- 135
-
- 136
- /**
- 137
- * returns whether or not the index is open.
- 138
- *
- 139
- * @return whether or not the index is open
- 140
- */
- 141
- public boolean isOpen() {
- 142
- return openState;
- 143
- }
- 144
-
- 145
- /**
- 146
- * Creates the indexing analyzer for the CPE Index.
- 147
- *
- 148
- * @return the CPE Analyzer.
- 149
- */
- 150
- @SuppressWarnings("unchecked")
- 151
- private Analyzer createIndexingAnalyzer() {
- 152 1 final Map fieldAnalyzers = new HashMap();
- 153 1 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
- 154 1 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
- 155
- }
- 156
-
- 157
- /**
- 158
- * Creates an Analyzer for searching the CPE Index.
- 159
- *
- 160
- * @return the CPE Analyzer.
- 161
- */
- 162
- @SuppressWarnings("unchecked")
- 163
- private Analyzer createSearchingAnalyzer() {
- 164 1 final Map<String, Analyzer> fieldAnalyzers = new HashMap<String, Analyzer>();
- 165 1 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
- 166 1 productSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
- 167 1 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
- 168 1 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
- 169 1 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
- 170
-
- 171 1 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
- 172
- }
- 173
-
- 174
- /**
- 175
- * Saves a CPE IndexEntry into the Lucene index.
- 176
- *
- 177
- * @param vendor the vendor to index
- 178
- * @param product the product to index
- 179
- * @param indexWriter the index writer to write the entry into
- 180
- * @throws CorruptIndexException is thrown if the index is corrupt
- 181
- * @throws IOException is thrown if an IOException occurs
- 182
- */
- 183
- public void saveEntry(String vendor, String product, IndexWriter indexWriter) throws CorruptIndexException, IOException {
- 184 22198 final Document doc = new Document();
- 185 22198 final Field v = new TextField(Fields.VENDOR, vendor, Field.Store.YES);
- 186 22198 final Field p = new TextField(Fields.PRODUCT, product, Field.Store.YES);
- 187 22198 doc.add(v);
- 188 22198 doc.add(p);
- 189 22198 indexWriter.addDocument(doc);
- 190 22198 }
- 191
-
- 192
- /**
- 193
- * Closes the CPE Index.
- 194
- */
- 195
- public void close() {
- 196 1 if (searchingAnalyzer != null) {
- 197 1 searchingAnalyzer.close();
- 198 1 searchingAnalyzer = null;
- 199
- }
- 200 1 if (indexReader != null) {
- 201
- try {
- 202 1 indexReader.close();
- 203 0 } catch (IOException ex) {
- 204 0 LOGGER.log(Level.FINEST, null, ex);
- 205 1 }
- 206 1 indexReader = null;
- 207
- }
- 208 1 queryParser = null;
- 209 1 indexSearcher = null;
- 210 1 if (index != null) {
- 211 1 index.close();
- 212 1 index = null;
- 213
- }
- 214 1 openState = false;
- 215 1 }
- 216
-
- 217
- /**
- 218
- * Builds the CPE Lucene Index based off of the data within the CveDB.
- 219
- *
- 220
- * @param cve the data base containing the CPE data
- 221
- * @throws IndexException thrown if there is an issue creating the index
- 222
- */
- 223
- private void buildIndex(CveDB cve) throws IndexException {
- 224 1 Analyzer analyzer = null;
- 225 1 IndexWriter indexWriter = null;
- 226
- try {
- 227 1 analyzer = createIndexingAnalyzer();
- 228 1 final IndexWriterConfig conf = new IndexWriterConfig(LuceneUtils.CURRENT_VERSION, analyzer);
- 229 1 indexWriter = new IndexWriter(index, conf);
- 230
- try {
- 231 1 final Set<Pair<String, String>> data = cve.getVendorProductList();
- 232 1 for (Pair<String, String> pair : data) {
- 233 22198 saveEntry(pair.getLeft(), pair.getRight(), indexWriter);
- 234 22198 }
- 235 0 } catch (DatabaseException ex) {
- 236 0 LOGGER.log(Level.FINE, null, ex);
- 237 0 throw new IndexException("Error reading CPE data", ex);
- 238 1 }
- 239 0 } catch (CorruptIndexException ex) {
- 240 0 throw new IndexException("Unable to close an in-memory index", ex);
- 241 0 } catch (IOException ex) {
- 242 0 throw new IndexException("Unable to close an in-memory index", ex);
- 243
- } finally {
- 244 1 if (indexWriter != null) {
- 245
+ 117 1 synchronized (INSTANCE) {
+ 118 1 if (!openState) {
+ 119 1 index = new RAMDirectory();
+ 120 1 buildIndex(cve);
+ 121
try {
- 246
- try {
- 247 1 indexWriter.commit();
- 248
- } finally {
- 249 1 indexWriter.close(true);
- 250 1 }
- 251 0 } catch (CorruptIndexException ex) {
- 252 0 throw new IndexException("Unable to close an in-memory index", ex);
- 253 0 } catch (IOException ex) {
- 254 0 throw new IndexException("Unable to close an in-memory index", ex);
- 255 1 }
- 256 1 if (analyzer != null) {
- 257 1 analyzer.close();
- 258
- }
- 259
+ 122 1 indexReader = DirectoryReader.open(index);
+ 123 0 } catch (IOException ex) {
+ 124 0 throw new IndexException(ex);
+ 125 1 }
+ 126 1 indexSearcher = new IndexSearcher(indexReader);
+ 127 1 searchingAnalyzer = createSearchingAnalyzer();
+ 128 1 queryParser = new QueryParser(LuceneUtils.CURRENT_VERSION, Fields.DOCUMENT_KEY, searchingAnalyzer);
+ 129 1 openState = true;
+ 130
}
+ 131 1 }
+ 132 1 }
+ 133
+ /**
+ 134
+ * A flag indicating whether or not the index is open.
+ 135
+ */
+ 136 1 private boolean openState = false;
+ 137
+
+ 138
+ /**
+ 139
+ * returns whether or not the index is open.
+ 140
+ *
+ 141
+ * @return whether or not the index is open
+ 142
+ */
+ 143
+ public boolean isOpen() {
+ 144 0 return openState;
+ 145
+ }
+ 146
+
+ 147
+ /**
+ 148
+ * Creates the indexing analyzer for the CPE Index.
+ 149
+ *
+ 150
+ * @return the CPE Analyzer.
+ 151
+ */
+ 152
+ @SuppressWarnings("unchecked")
+ 153
+ private Analyzer createIndexingAnalyzer() {
+ 154 1 final Map fieldAnalyzers = new HashMap();
+ 155 1 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 156 1 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
+ 157
+ }
+ 158
+
+ 159
+ /**
+ 160
+ * Creates an Analyzer for searching the CPE Index.
+ 161
+ *
+ 162
+ * @return the CPE Analyzer.
+ 163
+ */
+ 164
+ @SuppressWarnings("unchecked")
+ 165
+ private Analyzer createSearchingAnalyzer() {
+ 166 1 final Map<String, Analyzer> fieldAnalyzers = new HashMap<String, Analyzer>();
+ 167 1 fieldAnalyzers.put(Fields.DOCUMENT_KEY, new KeywordAnalyzer());
+ 168 1 productSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
+ 169 1 vendorSearchFieldAnalyzer = new SearchFieldAnalyzer(LuceneUtils.CURRENT_VERSION);
+ 170 1 fieldAnalyzers.put(Fields.PRODUCT, productSearchFieldAnalyzer);
+ 171 1 fieldAnalyzers.put(Fields.VENDOR, vendorSearchFieldAnalyzer);
+ 172
+
+ 173 1 return new PerFieldAnalyzerWrapper(new FieldAnalyzer(LuceneUtils.CURRENT_VERSION), fieldAnalyzers);
+ 174
+ }
+ 175
+
+ 176
+ /**
+ 177
+ * Saves a CPE IndexEntry into the Lucene index.
+ 178
+ *
+ 179
+ * @param vendor the vendor to index
+ 180
+ * @param product the product to index
+ 181
+ * @param indexWriter the index writer to write the entry into
+ 182
+ * @throws CorruptIndexException is thrown if the index is corrupt
+ 183
+ * @throws IOException is thrown if an IOException occurs
+ 184
+ */
+ 185
+ public void saveEntry(String vendor, String product, IndexWriter indexWriter) throws CorruptIndexException, IOException {
+ 186 24669 final Document doc = new Document();
+ 187 24669 final Field v = new TextField(Fields.VENDOR, vendor, Field.Store.YES);
+ 188 24669 final Field p = new TextField(Fields.PRODUCT, product, Field.Store.YES);
+ 189 24669 doc.add(v);
+ 190 24669 doc.add(p);
+ 191 24669 indexWriter.addDocument(doc);
+ 192 24669 }
+ 193
+
+ 194
+ /**
+ 195
+ * Closes the CPE Index.
+ 196
+ */
+ 197
+ public void close() {
+ 198 1 if (searchingAnalyzer != null) {
+ 199 1 searchingAnalyzer.close();
+ 200 1 searchingAnalyzer = null;
+ 201
+ }
+ 202 1 if (indexReader != null) {
+ 203
+ try {
+ 204 1 indexReader.close();
+ 205 0 } catch (IOException ex) {
+ 206 0 LOGGER.log(Level.FINEST, null, ex);
+ 207 1 }
+ 208 1 indexReader = null;
+ 209
+ }
+ 210 1 queryParser = null;
+ 211 1 indexSearcher = null;
+ 212 1 if (index != null) {
+ 213 1 index.close();
+ 214 1 index = null;
+ 215
+ }
+ 216 1 openState = false;
+ 217 1 }
+ 218
+
+ 219
+ /**
+ 220
+ * Builds the CPE Lucene Index based off of the data within the CveDB.
+ 221
+ *
+ 222
+ * @param cve the data base containing the CPE data
+ 223
+ * @throws IndexException thrown if there is an issue creating the index
+ 224
+ */
+ 225
+ private void buildIndex(CveDB cve) throws IndexException {
+ 226 1 Analyzer analyzer = null;
+ 227 1 IndexWriter indexWriter = null;
+ 228
+ try {
+ 229 1 analyzer = createIndexingAnalyzer();
+ 230 1 final IndexWriterConfig conf = new IndexWriterConfig(LuceneUtils.CURRENT_VERSION, analyzer);
+ 231 1 indexWriter = new IndexWriter(index, conf);
+ 232
+ try {
+ 233 1 final Set<Pair<String, String>> data = cve.getVendorProductList();
+ 234 1 for (Pair<String, String> pair : data) {
+ 235 24669 saveEntry(pair.getLeft(), pair.getRight(), indexWriter);
+ 236 24669 }
+ 237 0 } catch (DatabaseException ex) {
+ 238 0 LOGGER.log(Level.FINE, null, ex);
+ 239 0 throw new IndexException("Error reading CPE data", ex);
+ 240 1 }
+ 241 0 } catch (CorruptIndexException ex) {
+ 242 0 throw new IndexException("Unable to close an in-memory index", ex);
+ 243 0 } catch (IOException ex) {
+ 244 0 throw new IndexException("Unable to close an in-memory index", ex);
+ 245
+ } finally {
+ 246 1 if (indexWriter != null) {
+ 247
+ try {
+ 248
+ try {
+ 249 1 indexWriter.commit();
+ 250
+ } finally {
+ 251 1 indexWriter.close(true);
+ 252 1 }
+ 253 0 } catch (CorruptIndexException ex) {
+ 254 0 throw new IndexException("Unable to close an in-memory index", ex);
+ 255 0 } catch (IOException ex) {
+ 256 0 throw new IndexException("Unable to close an in-memory index", ex);
+ 257 1 }
+ 258 1 if (analyzer != null) {
+ 259 1 analyzer.close();
260
- }
- 261 1 }
+ }
+ 261
+ }
262
-
- 263
- /**
+ }
+ 263 1 }
264
- * Resets the searching analyzers
+
265
- */
+ /**
266
+ * Resets the searching analyzers
+ 267
+ */
+ 268
private void resetSearchingAnalyzer() {
- 267 0 if (productSearchFieldAnalyzer != null) {
- 268 0 productSearchFieldAnalyzer.clear();
- 269
+ 269 0 if (productSearchFieldAnalyzer != null) {
+ 270 0 productSearchFieldAnalyzer.clear();
+ 271
}
- 270 0 if (vendorSearchFieldAnalyzer != null) {
- 271 0 vendorSearchFieldAnalyzer.clear();
- 272
- }
- 273 0 }
+ 272 0 if (vendorSearchFieldAnalyzer != null) {
+ 273 0 vendorSearchFieldAnalyzer.clear();
274
-
- 275
- /**
+ }
+ 275 0 }
276
- * Searches the index using the given search string.
+
277
- *
+ /**
278
- * @param searchString the query text
+ * Searches the index using the given search string.
279
- * @param maxQueryResults the maximum number of documents to return
+ *
280
- * @return the TopDocs found by the search
+ * @param searchString the query text
281
- * @throws ParseException thrown when the searchString is invalid
+ * @param maxQueryResults the maximum number of documents to return
282
- * @throws IOException is thrown if there is an issue with the underlying Index
+ * @return the TopDocs found by the search
283
- */
+ * @throws ParseException thrown when the searchString is invalid
284
+ * @throws IOException is thrown if there is an issue with the underlying Index
+ 285
+ */
+ 286
public TopDocs search(String searchString, int maxQueryResults) throws ParseException, IOException {
- 285 6 if (searchString == null || searchString.trim().isEmpty()) {
- 286 0 throw new ParseException("Query is null or empty");
- 287
+ 287 6 if (searchString == null || searchString.trim().isEmpty()) {
+ 288 0 throw new ParseException("Query is null or empty");
+ 289
}
- 288 6 final Query query = queryParser.parse(searchString);
- 289 6 return indexSearcher.search(query, maxQueryResults);
- 290
- }
- 291
-
+ 290 6 final Query query = queryParser.parse(searchString);
+ 291 6 return indexSearcher.search(query, maxQueryResults);
292
- /**
+ }
293
- * Searches the index using the given query.
+
294
- *
+ /**
295
- * @param query the query used to search the index
+ * Searches the index using the given query.
296
- * @param maxQueryResults the max number of results to return
+ *
297
- * @return the TopDocs found be the query
+ * @param query the query used to search the index
298
- * @throws CorruptIndexException thrown if the Index is corrupt
+ * @param maxQueryResults the max number of results to return
299
- * @throws IOException thrown if there is an IOException
+ * @return the TopDocs found be the query
300
- */
+ * @throws CorruptIndexException thrown if the Index is corrupt
301
- public TopDocs search(Query query, int maxQueryResults) throws CorruptIndexException, IOException {
- 302 0 resetSearchingAnalyzer();
- 303 0 return indexSearcher.search(query, maxQueryResults);
- 304
- }
- 305
-
- 306
- /**
- 307
- * Retrieves a document from the Index.
- 308
- *
- 309
- * @param documentId the id of the document to retrieve
- 310
- * @return the Document
- 311
* @throws IOException thrown if there is an IOException
- 312
+ 302
*/
- 313
- public Document getDocument(int documentId) throws IOException {
- 314 27 return indexSearcher.doc(documentId);
- 315
+ 303
+ public TopDocs search(Query query, int maxQueryResults) throws CorruptIndexException, IOException {
+ 304 0 resetSearchingAnalyzer();
+ 305 0 return indexSearcher.search(query, maxQueryResults);
+ 306
}
- 316
+ 307
- 317
+ 308
/**
- 318
- * Returns the number of CPE entries stored in the index.
- 319
+ 309
+ * Retrieves a document from the Index.
+ 310
*
- 320
- * @return the number of CPE entries stored in the index
- 321
+ 311
+ * @param documentId the id of the document to retrieve
+ 312
+ * @return the Document
+ 313
+ * @throws IOException thrown if there is an IOException
+ 314
*/
- 322
- public int numDocs() {
- 323 0 if (indexReader == null) {
- 324 0 return -1;
- 325
- }
- 326 0 return indexReader.numDocs();
- 327
+ 315
+ public Document getDocument(int documentId) throws IOException {
+ 316 43 return indexSearcher.doc(documentId);
+ 317
}
- 328
+ 318
+
+ 319
+ /**
+ 320
+ * Returns the number of CPE entries stored in the index.
+ 321
+ *
+ 322
+ * @return the number of CPE entries stored in the index
+ 323
+ */
+ 324
+ public int numDocs() {
+ 325 0 if (indexReader == null) {
+ 326 0 return -1;
+ 327
+ }
+ 328 0 return indexReader.numDocs();
+ 329
+ }
+ 330
}
-
+
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 283c38b9a..86843b483 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- Fields N/A
N/A
1.0;1
+ Fields 0%
N/A
1.0;1
@@ -101,14 +101,12 @@
* Private constructor as this is more of an enumeration rather then a full class.
42
*/
- 43
- private Fields() {
- 44
- }
+ 43 0 private Fields() {
+ 44 0 }
45
}
-
+
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 33159b0e0..1501c06a7 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 @@
Classes in this File Line Coverage Branch Coverage Complexity
- IndexEntry 58%
34%
2.5;2.5
+ IndexEntry 66%
34%
2.5;2.5
@@ -73,8 +73,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
28
*/
- 29
- public class IndexEntry implements Serializable {
+ 29 1377 public class IndexEntry implements Serializable {
30
31
@@ -136,10 +135,8 @@
*/
61
public void setDocumentId(String documentId) {
- 62
- this.documentId = documentId;
- 63
- }
+ 62 0 this.documentId = documentId;
+ 63 0 }
64
65
@@ -154,8 +151,7 @@
*/
70
public String getVendor() {
- 71
- return vendor;
+ 71 19 return vendor;
72
}
73
@@ -172,10 +168,8 @@
*/
79
public void setVendor(String vendor) {
- 80
- this.vendor = vendor;
- 81
- }
+ 80 1376 this.vendor = vendor;
+ 81 1376 }
82
/**
83
@@ -198,8 +192,7 @@
*/
92
public String getProduct() {
- 93
- return product;
+ 93 58 return product;
94
}
95
@@ -216,10 +209,8 @@
*/
101
public void setProduct(String product) {
- 102
- this.product = product;
- 103
- }
+ 102 1376 this.product = product;
+ 103 1376 }
104
/**
105
@@ -242,8 +233,7 @@
*/
114
public float getSearchScore() {
- 115
- return searchScore;
+ 115 0 return searchScore;
116
}
117
@@ -260,10 +250,8 @@
*/
123
public void setSearchScore(float searchScore) {
- 124
- this.searchScore = searchScore;
- 125
- }
+ 124 43 this.searchScore = searchScore;
+ 125 43 }
126
127
@@ -332,17 +320,17 @@
@Override
164
public boolean equals(Object obj) {
- 165 51 if (obj == null) {
+ 165 139 if (obj == null) {
166 0 return false;
167
}
- 168 51 if (getClass() != obj.getClass()) {
+ 168 139 if (getClass() != obj.getClass()) {
169 0 return false;
170
}
- 171 51 final IndexEntry other = (IndexEntry) obj;
- 172 51 if ((this.vendor == null) ? (other.vendor != null) : !this.vendor.equals(other.vendor)) {
- 173 46 return false;
+ 171 139 final IndexEntry other = (IndexEntry) obj;
+ 172 139 if ((this.vendor == null) ? (other.vendor != null) : !this.vendor.equals(other.vendor)) {
+ 173 134 return false;
174
}
175 5 if ((this.product == null) ? (other.product != null) : !this.product.equals(other.product)) {
@@ -368,13 +356,13 @@
@Override
187
public String toString() {
- 188 0 return "IndexEntry{" + "vendor=" + vendor + ", product=" + product + '}';
+ 188 43 return "IndexEntry{" + "vendor=" + vendor + ", product=" + product + '}';
189
}
190
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html
index d07612a59..e73e3b2f6 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.cpe.IndexException.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- IndexException N/A
N/A
1.0;1
+ IndexException 0%
N/A
1.0;1
@@ -87,10 +87,8 @@
*/
35
public IndexException() {
- 36
- super();
- 37
- }
+ 36 0 super();
+ 37 0 }
38
39
@@ -105,10 +103,8 @@
*/
44
public IndexException(String msg) {
- 45
- super(msg);
- 46
- }
+ 45 0 super(msg);
+ 46 0 }
47
48
@@ -123,10 +119,8 @@
*/
53
public IndexException(Throwable ex) {
- 54
- super(ex);
- 55
- }
+ 54 0 super(ex);
+ 55 0 }
56
57
@@ -143,14 +137,12 @@
*/
63
public IndexException(String msg, Throwable ex) {
- 64
- super(msg, ex);
- 65
- }
+ 64 0 super(msg, ex);
+ 65 0 }
66
}
-
+
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 eafe2e5d0..ab5d34caf 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- CweDB 56%
20%
3.3333333333333335;3.333
+ CweDB 52%
50%
3.3333333333333335;3.333
@@ -96,12 +96,10 @@
* Empty private constructor as this is a utility class.
40
*/
- 41
- private CweDB() {
+ 41 0 private CweDB() {
42
//empty
- 43
- }
+ 43 0 }
44
/**
45
@@ -141,7 +139,7 @@
68 0 LOGGER.log(Level.FINE, null, ex);
69
} finally {
- 70 1 if (oin != null) {
+ 70 1 if (oin != null) {
71
try {
72 1 oin.close();
@@ -184,6 +182,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 4cc13033c..c5cce9d74 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- CweHandler 0%
0%
2.0;2
+ CweHandler 0%
0%
2.0;2
@@ -99,8 +99,7 @@
*/
42
public HashMap<String, String> getCwe() {
- 43
- return cwe;
+ 43 0 return cwe;
44
}
45
@@ -122,6 +121,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AbstractTokenizingFilter.html
index 87177fc9e..6031f2c11 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- AbstractTokenizingFilter 100%
100%
1.25;1.25
+ AbstractTokenizingFilter 100%
100%
1.25;1.25
@@ -85,7 +85,7 @@
* The char term attribute.
34
*/
- 35 9 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
+ 35 10 private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
36
37
@@ -100,8 +100,7 @@
*/
42
protected CharTermAttribute getTermAtt() {
- 43
- return termAtt;
+ 43 25757 return termAtt;
44
}
45
@@ -126,8 +125,7 @@
*/
55
protected LinkedList<String> getTokens() {
- 56
- return tokens;
+ 56 25758 return tokens;
57
}
58
@@ -144,9 +142,9 @@
*/
64
public AbstractTokenizingFilter(TokenStream stream) {
- 65 9 super(stream);
- 66 9 tokens = new LinkedList<String>();
- 67 9 }
+ 65 10 super(stream);
+ 66 10 tokens = new LinkedList<String>();
+ 67 10 }
68
69
@@ -161,20 +159,20 @@
*/
74
protected boolean addTerm() {
- 75 19724 final boolean termAdded = tokens.size() > 0;
- 76 19720 if (termAdded) {
- 77 13235 final String term = tokens.pop();
- 78 13233 clearAttributes();
- 79 13237 termAtt.append(term);
+ 75 25700 final boolean termAdded = !tokens.isEmpty();
+ 76 25697 if (termAdded) {
+ 77 17242 final String term = tokens.pop();
+ 78 17240 clearAttributes();
+ 79 17239 termAtt.append(term);
80
}
- 81 19705 return termAdded;
+ 81 25694 return termAdded;
82
}
83
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.AlphaNumericTokenizer.html
index 6d68bad3f..5191d7d3c 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- AlphaNumericTokenizer 100%
100%
1.3333333333333333;1.333
+ AlphaNumericTokenizer 60%
100%
1.3333333333333333;1.333
@@ -91,10 +91,8 @@
*/
37
public AlphaNumericTokenizer(Version matchVersion, Reader in) {
- 38
- super(matchVersion, in);
- 39
- }
+ 38 7 super(matchVersion, in);
+ 39 7 }
40
41
@@ -113,10 +111,8 @@
*/
48
public AlphaNumericTokenizer(Version matchVersion, AttributeFactory factory, Reader in) {
- 49
- super(matchVersion, factory, in);
- 50
- }
+ 49 0 super(matchVersion, factory, in);
+ 50 0 }
51
52
@@ -135,13 +131,13 @@
@Override
59
protected boolean isTokenChar(int c) {
- 60 518827 return Character.isLetter(c) || Character.isDigit(c);
+ 60 588397 return Character.isLetter(c) || Character.isDigit(c);
61
}
62
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.DependencySimilarity.html
index d5f6902dc..551341dcf 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- DependencySimilarity 0%
N/A
1.0;1
+ DependencySimilarity 0%
N/A
1.0;1
@@ -67,8 +67,7 @@
* @author Jeremy Long <jeremy.long@owasp.org>
25
*/
- 26
- public class DependencySimilarity extends DefaultSimilarity {
+ 26 0 public class DependencySimilarity extends DefaultSimilarity {
27
28
@@ -112,6 +111,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.lucene.FieldAnalyzer.html
index e51a42df5..f84ff720c 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- FieldAnalyzer 100%
N/A
1.0;1
+ FieldAnalyzer 100%
N/A
1.0;1
@@ -80,9 +80,9 @@
31
* <p>
32
- * A Lucene Analyzer that utilizes the WhitespaceTokenizer, WordDelimiterFilter, LowerCaseFilter, and StopFilter. The
+ * A Lucene Analyzer that utilizes the WhitespaceTokenizer, WordDelimiterFilter, LowerCaseFilter, and StopFilter. The intended
33
- * intended purpose of this Analyzer is to index the CPE fields vendor and product.</p>
+ * purpose of this Analyzer is to index the CPE fields vendor and product.</p>
34
*
35
@@ -113,12 +113,9 @@
* @param version the Lucene version
48
*/
- 49
- public FieldAnalyzer(Version version) {
- 50
- this.version = version;
- 51
- }
+ 49 3 public FieldAnalyzer(Version version) {
+ 50 3 this.version = version;
+ 51 3 }
52
53
@@ -173,6 +170,6 @@
}
-
+
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 5a6a7f122..6ff52f72d 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- LuceneUtils 100%
90%
9.0;9
+ LuceneUtils 88%
90%
9.0;9
@@ -56,169 +56,169 @@
19
20
- import org.apache.lucene.util.Version;
+ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
21
-
+ import org.apache.lucene.util.Version;
22
- /**
+
23
- * <p>
+ /**
24
- * Lucene utils is a set of utilize written to make constructing Lucene queries simpler.</p>
+ * <p>
25
- *
+ * Lucene utils is a set of utilize written to make constructing Lucene queries simpler.</p>
26
- * @author Jeremy Long <jeremy.long@owasp.org>
+ *
27
- */
+ * @author Jeremy Long <jeremy.long@owasp.org>
28
- public final class LuceneUtils {
+ */
29
-
+ public final class LuceneUtils {
30
- /**
+
31
- * The current version of Lucene being used. Declaring this one place so an upgrade doesn't require hunting through
+ /**
32
- * the code base.
+ * The current version of Lucene being used. Declaring this one place so an upgrade doesn't require hunting through the code
33
+ * base.
+ 34
*/
- 34 1 public static final Version CURRENT_VERSION = Version.LUCENE_45;
- 35
-
+ 35 1 public static final Version CURRENT_VERSION = Version.LUCENE_47;
36
- /**
+
37
- * Private constructor as this is a utility class.
+ /**
38
- */
+ * Private constructor as this is a utility class.
39
- private LuceneUtils() {
- 40
- }
- 41
-
+ */
+ 40 0 private LuceneUtils() {
+ 41 0 }
42
- /**
+
43
- * Appends the text to the supplied StringBuilder escaping Lucene control characters in the process.
- 44
- *
- 45
- * @param buf a StringBuilder to append the escaped text to
- 46
- * @param text the data to be escaped
- 47
- */
- 48
- @SuppressWarnings("fallthrough")
- 49
- @edu.umd.cs.findbugs.annotations.SuppressWarnings(
- 50
- value = "SF_SWITCH_NO_DEFAULT",
- 51
- justification = "The switch below does have a default.")
- 52
- public static void appendEscapedLuceneQuery(StringBuilder buf,
- 53
- final CharSequence text) {
- 54
-
- 55 105 if (text == null || buf == null) {
- 56 1 return;
- 57
- }
- 58
-
- 59 1061 for (int i = 0; i < text.length(); i++) {
- 60 957 final char c = text.charAt(i);
- 61 957 switch (c) {
- 62
- case '+':
- 63
- case '-':
- 64
- case '&':
- 65
- case '|':
- 66
- case '!':
- 67
- case '(':
- 68
- case ')':
- 69
- case '{':
- 70
- case '}':
- 71
- case '[':
- 72
- case ']':
- 73
- case '^':
- 74
- case '"':
- 75
- case '~':
- 76
- case '*':
- 77
- case '?':
- 78
- case ':':
- 79
- case '\\': //it is supposed to fall through here
- 80 60 buf.append('\\');
- 81
- default:
- 82 957 buf.append(c);
- 83
- break;
- 84
- }
- 85
- }
- 86 104 }
- 87
-
- 88
/**
- 89
- * Escapes the text passed in so that it is treated as data instead of control characters.
- 90
+ 44
+ * Appends the text to the supplied StringBuilder escaping Lucene control characters in the process.
+ 45
*
- 91
- * @param text data to be escaped
- 92
- * @return the escaped text.
- 93
+ 46
+ * @param buf a StringBuilder to append the escaped text to
+ 47
+ * @param text the data to be escaped
+ 48
*/
- 94
- public static String escapeLuceneQuery(final CharSequence text) {
- 95
+ 49
+ @SuppressWarnings("fallthrough")
+ 50
+ @SuppressFBWarnings(
+ 51
+ value = "SF_SWITCH_NO_DEFAULT",
+ 52
+ justification = "The switch below does have a default.")
+ 53
+ public static void appendEscapedLuceneQuery(StringBuilder buf,
+ 54
+ final CharSequence text) {
+ 55
- 96 104 if (text == null) {
- 97 1 return null;
- 98
+ 56 102 if (text == null || buf == null) {
+ 57 1 return;
+ 58
}
+ 59
+
+ 60 991 for (int i = 0; i < text.length(); i++) {
+ 61 890 final char c = text.charAt(i);
+ 62 890 switch (c) {
+ 63
+ case '+':
+ 64
+ case '-':
+ 65
+ case '&':
+ 66
+ case '|':
+ 67
+ case '!':
+ 68
+ case '(':
+ 69
+ case ')':
+ 70
+ case '{':
+ 71
+ case '}':
+ 72
+ case '[':
+ 73
+ case ']':
+ 74
+ case '^':
+ 75
+ case '"':
+ 76
+ case '~':
+ 77
+ case '*':
+ 78
+ case '?':
+ 79
+ case ':':
+ 80
+ case '\\': //it is supposed to fall through here
+ 81 58 buf.append('\\');
+ 82
+ default:
+ 83 890 buf.append(c);
+ 84
+ break;
+ 85
+ }
+ 86
+ }
+ 87 101 }
+ 88
+
+ 89
+ /**
+ 90
+ * Escapes the text passed in so that it is treated as data instead of control characters.
+ 91
+ *
+ 92
+ * @param text data to be escaped
+ 93
+ * @return the escaped text.
+ 94
+ */
+ 95
+ public static String escapeLuceneQuery(final CharSequence text) {
+ 96
+
+ 97 101 if (text == null) {
+ 98 1 return null;
99
+ }
+ 100
- 100 103 int size = text.length();
- 101 103 size = size >> 1;
- 102 103 final StringBuilder buf = new StringBuilder(size);
- 103
+ 101 100 int size = text.length();
+ 102 100 size = size >> 1;
+ 103 100 final StringBuilder buf = new StringBuilder(size);
+ 104
- 104 103 appendEscapedLuceneQuery(buf, text);
- 105
+ 105 100 appendEscapedLuceneQuery(buf, text);
+ 106
- 106 103 return buf.toString();
- 107
- }
+ 107 100 return buf.toString();
108
+ }
+ 109
}
-
+
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 be0e4d50b..cc883b9ed 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- SearchFieldAnalyzer 100%
50%
1.3333333333333333;1.333
+ SearchFieldAnalyzer 100%
50%
1.3333333333333333;1.333
@@ -100,109 +100,102 @@
41
/**
42
- * A local reference to the TokenPairConcatenatingFilter so that we can clear any left over state if this analyzer
+ * A local reference to the TokenPairConcatenatingFilter so that we can clear any left over state if this analyzer is re-used.
43
- * is re-used.
+ */
44
- */
- 45
private TokenPairConcatenatingFilter concatenatingFilter;
+ 45
+
46
-
+ /**
47
- /**
- 48
* Constructs a new SearchFieldAnalyzer.
+ 48
+ *
49
- *
- 50
* @param version the Lucene version
- 51
+ 50
*/
- 52
- public SearchFieldAnalyzer(Version version) {
- 53
- this.version = version;
+ 51 4 public SearchFieldAnalyzer(Version version) {
+ 52 4 this.version = version;
+ 53 4 }
54
- }
+
55
-
+ /**
56
- /**
- 57
* Creates a the TokenStreamComponents used to analyze the stream.
- 58
+ 57
*
- 59
+ 58
* @param fieldName the field that this lucene analyzer will process
- 60
+ 59
* @param reader a reader containing the tokens
- 61
+ 60
* @return the token stream filter chain
+ 61
+ */
62
- */
- 63
@Override
- 64
+ 63
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
- 65 4 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
- 66
+ 64 4 final Tokenizer source = new AlphaNumericTokenizer(version, reader);
+ 65
- 67 4 TokenStream stream = source;
- 68
+ 66 4 TokenStream stream = source;
+ 67
- 69 4 stream = new WordDelimiterFilter(stream,
- 70
+ 68 4 stream = new WordDelimiterFilter(stream,
+ 69
WordDelimiterFilter.GENERATE_WORD_PARTS
- 71
+ 70
| WordDelimiterFilter.GENERATE_NUMBER_PARTS
- 72
+ 71
| WordDelimiterFilter.PRESERVE_ORIGINAL
- 73
+ 72
| WordDelimiterFilter.SPLIT_ON_CASE_CHANGE
- 74
+ 73
| WordDelimiterFilter.SPLIT_ON_NUMERICS
- 75
+ 74
| WordDelimiterFilter.STEM_ENGLISH_POSSESSIVE, null);
- 76
+ 75
- 77 4 stream = new LowerCaseFilter(version, stream);
- 78 4 stream = new UrlTokenizingFilter(stream);
- 79 4 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
- 80 4 stream = concatenatingFilter;
- 81 4 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
- 82
+ 76 4 stream = new LowerCaseFilter(version, stream);
+ 77 4 stream = new UrlTokenizingFilter(stream);
+ 78 4 concatenatingFilter = new TokenPairConcatenatingFilter(stream);
+ 79 4 stream = concatenatingFilter;
+ 80 4 stream = new StopFilter(version, stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
+ 81
- 83 4 return new TokenStreamComponents(source, stream);
- 84
+ 82 4 return new TokenStreamComponents(source, stream);
+ 83
}
- 85
+ 84
- 86
+ 85
/**
+ 86
+ * <p>
87
- * <p>
+ * Resets the analyzer and clears any internal state data that may have been left-over from previous uses of the analyzer.</p>
88
- * Resets the analyzer and clears any internal state data that may have been left-over from previous uses of the
- 89
- * analyzer.</p>
- 90
* <p>
- 91
+ 89
* <b>If this analyzer is re-used this method must be called between uses.</b></p>
- 92
+ 90
*/
- 93
+ 91
public void clear() {
- 94 2 if (concatenatingFilter != null) {
- 95 2 concatenatingFilter.clear();
- 96
+ 92 2 if (concatenatingFilter != null) {
+ 93 2 concatenatingFilter.clear();
+ 94
}
- 97 2 }
- 98
+ 95 2 }
+ 96
}
-
+
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 989e15a72..85da73540 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- TokenPairConcatenatingFilter 100%
100%
2.2;2.2
+ TokenPairConcatenatingFilter 100%
100%
2.2;2.2
@@ -124,8 +124,7 @@
*/
54
protected String getPreviousWord() {
- 55
- return previousWord;
+ 55 2 return previousWord;
56
}
57
@@ -142,8 +141,7 @@
*/
63
protected LinkedList<String> getWords() {
- 64
- return words;
+ 64 1 return words;
65
}
66
@@ -187,35 +185,35 @@
87
//collect all the terms into the words collection
- 88 686 while (input.incrementToken()) {
- 89 195 final String word = new String(termAtt.buffer(), 0, termAtt.length());
- 90 195 words.add(word);
- 91 195 }
+ 88 650 while (input.incrementToken()) {
+ 89 184 final String word = new String(termAtt.buffer(), 0, termAtt.length());
+ 90 184 words.add(word);
+ 91 184 }
92
93
//if we have a previousTerm - write it out as its own token concatenated
94
// with the current word (if one is available).
- 95 491 if (previousWord != null && words.size() > 0) {
- 96 187 final String word = words.getFirst();
- 97 187 clearAttributes();
- 98 187 termAtt.append(previousWord).append(word);
- 99 187 previousWord = null;
- 100 187 return true;
+ 95 466 if (previousWord != null && !words.isEmpty()) {
+ 96 176 final String word = words.getFirst();
+ 97 176 clearAttributes();
+ 98 176 termAtt.append(previousWord).append(word);
+ 99 176 previousWord = null;
+ 100 176 return true;
101
}
102
//if we have words, write it out as a single token
- 103 304 if (words.size() > 0) {
- 104 195 final String word = words.removeFirst();
- 105 195 clearAttributes();
- 106 195 termAtt.append(word);
- 107 195 previousWord = word;
- 108 195 return true;
+ 103 290 if (!words.isEmpty()) {
+ 104 184 final String word = words.removeFirst();
+ 105 184 clearAttributes();
+ 106 184 termAtt.append(word);
+ 107 184 previousWord = word;
+ 108 184 return true;
109
}
- 110 109 return false;
+ 110 106 return false;
111
}
112
@@ -243,6 +241,6 @@
}
-
+
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 c1ac8c322..30acf624a 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
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- UrlTokenizingFilter 78%
90%
4.0;4
+ UrlTokenizingFilter 80%
90%
4.0;4
@@ -112,10 +112,8 @@
*/
48
public UrlTokenizingFilter(TokenStream stream) {
- 49
- super(stream);
- 50
- }
+ 49 10 super(stream);
+ 50 10 }
51
52
@@ -136,22 +134,22 @@
@Override
60
public boolean incrementToken() throws IOException {
- 61 19793 final LinkedList<String> tokens = getTokens();
- 62 19787 final CharTermAttribute termAtt = getTermAtt();
- 63 19793 if (tokens.size() == 0 && input.incrementToken()) {
- 64 13253 final String text = new String(termAtt.buffer(), 0, termAtt.length());
- 65 13253 if (UrlStringUtils.containsUrl(text)) {
- 66 2 final String[] parts = text.split("\\s");
- 67 4 for (String part : parts) {
- 68 2 if (UrlStringUtils.isUrl(part)) {
+ 61 25752 final LinkedList<String> tokens = getTokens();
+ 62 25750 final CharTermAttribute termAtt = getTermAtt();
+ 63 25757 if (tokens.isEmpty() && input.incrementToken()) {
+ 64 17235 final String text = new String(termAtt.buffer(), 0, termAtt.length());
+ 65 17231 if (UrlStringUtils.containsUrl(text)) {
+ 66 6 final String[] parts = text.split("\\s");
+ 67 12 for (String part : parts) {
+ 68 6 if (UrlStringUtils.isUrl(part)) {
69
try {
- 70 2 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
- 71 2 tokens.addAll(data);
+ 70 6 final List<String> data = UrlStringUtils.extractImportantUrlData(part);
+ 71 6 tokens.addAll(data);
72 0 } catch (MalformedURLException ex) {
73 0 LOGGER.log(Level.FINE, "error parsing " + part, ex);
74 0 tokens.add(part);
- 75 2 }
+ 75 6 }
76
} else {
77 0 tokens.add(part);
@@ -159,19 +157,19 @@
}
79
}
- 80 2 } else {
- 81 13248 tokens.add(text);
+ 80 6 } else {
+ 81 17224 tokens.add(text);
82
}
83
}
- 84 19725 return addTerm();
+ 84 25693 return addTerm();
85
}
86
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html
index 994104664..660df0fa5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.MavenArtifact.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- MavenArtifact 58%
N/A
1.0;1
+ MavenArtifact 52%
50%
1.1333333333333333;1.133
@@ -72,269 +72,349 @@
27
/**
28
- * The groupId
+ * The base URL for download artifacts from Central.
29
*/
30
- private String groupId;
+ private static final String CENTRAL_CONTENT_URL = "http://search.maven.org/remotecontent?filepath=";
31
32
/**
33
- * The artifactId
+ * The groupId
34
*/
35
- private String artifactId;
+ private String groupId;
36
37
/**
38
- * The version
+ * The artifactId
39
*/
40
- private String version;
+ private String artifactId;
41
42
/**
43
- * The artifact url. This may change depending on which Nexus server the search took place.
+ * The version
44
*/
45
- private String artifactUrl;
+ private String version;
46
47
/**
48
- * Creates an empty MavenArtifact.
+ * The artifact url. This may change depending on which Nexus server the search took place.
49
*/
50
- public MavenArtifact() {
+ private String artifactUrl;
51
- }
+ /**
52
-
+ * The url to download the POM from.
53
- /**
+ */
54
- * Creates a MavenArtifact with the given attributes.
+ private String pomUrl;
55
- *
+
56
- * @param groupId the groupId
+ /**
57
- * @param artifactId the artifactId
+ * Creates an empty MavenArtifact.
58
- * @param version the version
- 59
*/
- 60 0 public MavenArtifact(String groupId, String artifactId, String version) {
- 61 0 setGroupId(groupId);
- 62 0 setArtifactId(artifactId);
- 63 0 setVersion(version);
- 64 0 }
- 65
+ 59 0 public MavenArtifact() {
+ 60 0 }
+ 61
- 66
+ 62
/**
- 67
+ 63
* Creates a MavenArtifact with the given attributes.
- 68
+ 64
*
- 69
+ 65
* @param groupId the groupId
- 70
+ 66
* @param artifactId the artifactId
- 71
+ 67
* @param version the version
- 72
- * @param url the artifactLink url
- 73
+ 68
*/
- 74 8 public MavenArtifact(String groupId, String artifactId, String version, String url) {
- 75 8 setGroupId(groupId);
- 76 8 setArtifactId(artifactId);
- 77 8 setVersion(version);
- 78 8 setArtifactUrl(url);
- 79 8 }
- 80
+ 69 0 public MavenArtifact(String groupId, String artifactId, String version) {
+ 70 0 this.groupId = groupId;
+ 71 0 this.artifactId = artifactId;
+ 72 0 this.version = version;
+ 73 0 }
+ 74
- 81
+ 75
/**
- 82
- * Returns the Artifact coordinates as a String.
- 83
+ 76
+ * Creates a MavenArtifact with the given attributes.
+ 77
*
- 84
- * @return the String representation of the artifact coordinates
- 85
- */
- 86
- @Override
- 87
- public String toString() {
- 88 8 return String.format("%s:%s:%s", groupId, artifactId, version);
- 89
- }
- 90
-
- 91
- /**
- 92
- * Sets the groupId.
- 93
- *
- 94
+ 78
* @param groupId the groupId
- 95
+ 79
+ * @param artifactId the artifactId
+ 80
+ * @param version the version
+ 81
+ * @param jarAvailable if the jar file is available from central
+ 82
+ * @param pomAvailable if the pom file is available from central
+ 83
*/
+ 84 3 public MavenArtifact(String groupId, String artifactId, String version, boolean jarAvailable, boolean pomAvailable) {
+ 85 3 this.groupId = groupId;
+ 86 3 this.artifactId = artifactId;
+ 87 3 this.version = version;
+ 88 3 if (jarAvailable) {
+ 89
+ //org/springframework/spring-core/3.2.0.RELEASE/spring-core-3.2.0.RELEASE.pom
+ 90 3 this.artifactUrl = this.CENTRAL_CONTENT_URL + groupId.replace('.', '/') + "/" + artifactId.replace('.', '/') + "/"
+ 91
+ + version + "/" + artifactId + "-" + version + ".jar";
+ 92
+ }
+ 93 3 if (pomAvailable) {
+ 94
+ //org/springframework/spring-core/3.2.0.RELEASE/spring-core-3.2.0.RELEASE.pom
+ 95 3 this.pomUrl = this.CENTRAL_CONTENT_URL + groupId.replace('.', '/') + "/" + artifactId.replace('.', '/') + "/"
96
- public void setGroupId(String groupId) {
+ + version + "/" + artifactId + "-" + version + ".pom";
97
- this.groupId = groupId;
- 98
- }
+ }
+ 98 3 }
99
100
/**
101
- * Gets the groupId.
+ * Creates a MavenArtifact with the given attributes.
102
*
103
- * @return the groupId
+ * @param groupId the groupId
104
- */
- 105
- public String getGroupId() {
- 106
- return groupId;
- 107
- }
- 108
-
- 109
- /**
- 110
- * Sets the artifactId.
- 111
- *
- 112
* @param artifactId the artifactId
- 113
- */
- 114
- public void setArtifactId(String artifactId) {
- 115
- this.artifactId = artifactId;
- 116
- }
- 117
-
- 118
- /**
- 119
- * Gets the artifactId.
- 120
- *
- 121
- * @return the artifactId
- 122
- */
- 123
- public String getArtifactId() {
- 124
- return artifactId;
- 125
- }
- 126
-
- 127
- /**
- 128
- * Sets the version.
- 129
- *
- 130
+ 105
* @param version the version
- 131
+ 106
+ * @param url the artifactLink url
+ 107
*/
- 132
- public void setVersion(String version) {
+ 108 2 public MavenArtifact(String groupId, String artifactId, String version, String url) {
+ 109 2 this.groupId = groupId;
+ 110 2 this.artifactId = artifactId;
+ 111 2 this.version = version;
+ 112 2 this.artifactUrl = url;
+ 113 2 }
+ 114
+
+ 115
+ /**
+ 116
+ * Returns the Artifact coordinates as a String.
+ 117
+ *
+ 118
+ * @return the String representation of the artifact coordinates
+ 119
+ */
+ 120
+ @Override
+ 121
+ public String toString() {
+ 122 2 return String.format("%s:%s:%s", groupId, artifactId, version);
+ 123
+ }
+ 124
+
+ 125
+ /**
+ 126
+ * Sets the groupId.
+ 127
+ *
+ 128
+ * @param groupId the groupId
+ 129
+ */
+ 130
+ public void setGroupId(String groupId) {
+ 131 0 this.groupId = groupId;
+ 132 0 }
133
- this.version = version;
+
134
- }
+ /**
135
-
+ * Gets the groupId.
136
- /**
+ *
137
- * Gets the version.
+ * @return the groupId
138
- *
+ */
139
- * @return the version
- 140
- */
+ public String getGroupId() {
+ 140 5 return groupId;
141
- public String getVersion() {
+ }
142
- return version;
+
143
- }
+ /**
144
-
+ * Sets the artifactId.
145
- /**
+ *
146
- * Sets the artifactUrl.
+ * @param artifactId the artifactId
147
- *
+ */
148
- * @param artifactUrl the artifactUrl
- 149
- */
- 150
- public void setArtifactUrl(String artifactUrl) {
+ public void setArtifactId(String artifactId) {
+ 149 0 this.artifactId = artifactId;
+ 150 0 }
151
- this.artifactUrl = artifactUrl;
+
152
- }
- 153
-
- 154
/**
- 155
- * Gets the artifactUrl.
- 156
+ 153
+ * Gets the artifactId.
+ 154
*
- 157
- * @return the artifactUrl
- 158
+ 155
+ * @return the artifactId
+ 156
*/
+ 157
+ public String getArtifactId() {
+ 158 5 return artifactId;
159
- public String getArtifactUrl() {
- 160
- return artifactUrl;
- 161
}
- 162
- }
- 163
+ 160
+ 161
+ /**
+ 162
+ * Sets the version.
+ 163
+ *
164
+ * @param version the version
+ 165
+ */
+ 166
+ public void setVersion(String version) {
+ 167 0 this.version = version;
+ 168 0 }
+ 169
+
+ 170
+ /**
+ 171
+ * Gets the version.
+ 172
+ *
+ 173
+ * @return the version
+ 174
+ */
+ 175
+ public String getVersion() {
+ 176 5 return version;
+ 177
+ }
+ 178
+
+ 179
+ /**
+ 180
+ * Sets the artifactUrl.
+ 181
+ *
+ 182
+ * @param artifactUrl the artifactUrl
+ 183
+ */
+ 184
+ public void setArtifactUrl(String artifactUrl) {
+ 185 0 this.artifactUrl = artifactUrl;
+ 186 0 }
+ 187
+
+ 188
+ /**
+ 189
+ * Gets the artifactUrl.
+ 190
+ *
+ 191
+ * @return the artifactUrl
+ 192
+ */
+ 193
+ public String getArtifactUrl() {
+ 194 4 return artifactUrl;
+ 195
+ }
+ 196
+
+ 197
+ /**
+ 198
+ * Get the value of pomUrl.
+ 199
+ *
+ 200
+ * @return the value of pomUrl
+ 201
+ */
+ 202
+ public String getPomUrl() {
+ 203 0 return pomUrl;
+ 204
+ }
+ 205
+
+ 206
+ /**
+ 207
+ * Set the value of pomUrl.
+ 208
+ *
+ 209
+ * @param pomUrl new value of pomUrl
+ 210
+ */
+ 211
+ public void setPomUrl(String pomUrl) {
+ 212 0 this.pomUrl = pomUrl;
+ 213 0 }
+ 214
+
+ 215
+ }
+ 216
+
+ 217
// vim: cc=120:sw=4:ts=4:sts=4
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html
index 4939fbf63..b5100d9b6 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nexus.NexusSearch.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- NexusSearch 70%
62%
7.333333333333333;7.333
+ NexusSearch 0%
0%
8.666666666666666;8.667
@@ -125,7 +125,7 @@
* Used for logging.
54
*/
- 55 1 private static final Logger LOGGER = Logger.getLogger(NexusSearch.class
+ 55 0 private static final Logger LOGGER = Logger.getLogger(NexusSearch.class
56
.getName());
57
@@ -137,38 +137,38 @@
60
*
61
- * @param rootURL the root URL of the repository on which searches should execute. full URL's are calculated
+ * @param rootURL the root URL of the repository on which searches should execute. full URL's are calculated relative to this
62
- * relative to this URL, so it should end with a /
+ * URL, so it should end with a /
63
*/
- 64 4 public NexusSearch(URL rootURL) {
- 65 4 this.rootURL = rootURL;
+ 64 0 public NexusSearch(URL rootURL) {
+ 65 0 this.rootURL = rootURL;
66
try {
- 67 4 if (null != Settings.getString(Settings.KEYS.PROXY_SERVER)
+ 67 0 if (null != Settings.getString(Settings.KEYS.PROXY_SERVER)
68
&& Settings.getBoolean(Settings.KEYS.ANALYZER_NEXUS_PROXY)) {
69 0 useProxy = true;
70 0 LOGGER.fine("Using proxy");
71
} else {
- 72 4 useProxy = false;
- 73 4 LOGGER.fine("Not using proxy");
+ 72 0 useProxy = false;
+ 73 0 LOGGER.fine("Not using proxy");
74
}
75 0 } catch (InvalidSettingException ise) {
76 0 useProxy = false;
- 77 4 }
- 78 4 }
+ 77 0 }
+ 78 0 }
79
80
/**
81
- * Searches the configured Nexus repository for the given sha1 hash. If the artifact is found, a
+ * Searches the configured Nexus repository for the given sha1 hash. If the artifact is found, a <code>MavenArtifact</code> is
82
- * <code>MavenArtifact</code> is populated with the coordinate information.
+ * populated with the coordinate information.
83
*
84
@@ -176,154 +176,168 @@
85
* @return the populated Maven coordinates
86
- * @throws IOException if it's unable to connect to the specified repository or if the specified artifact is not
+ * @throws IOException if it's unable to connect to the specified repository or if the specified artifact is not found.
87
- * found.
+ */
88
- */
- 89
public MavenArtifact searchSha1(String sha1) throws IOException {
- 90 4 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$")) {
- 91 2 throw new IllegalArgumentException("Invalid SHA1 format");
+ 89 0 if (null == sha1 || !sha1.matches("^[0-9A-Fa-f]{40}$")) {
+ 90 0 throw new IllegalArgumentException("Invalid SHA1 format");
+ 91
+ }
92
- }
- 93
- 94 2 final URL url = new URL(rootURL, String.format("identify/sha1/%s",
- 95
+ 93 0 final URL url = new URL(rootURL, String.format("identify/sha1/%s",
+ 94
sha1.toLowerCase()));
- 96
+ 95
+
+ 96 0 LOGGER.fine(String.format("Searching Nexus url %s", url.toString()));
+ 97
- 97 2 LOGGER.fine(String.format("Searching Nexus url %s", url.toString()));
98
-
- 99
// Determine if we need to use a proxy. The rules:
- 100
+ 99
// 1) If the proxy is set, AND the setting is set to true, use the proxy
- 101
+ 100
// 2) Otherwise, don't use the proxy (either the proxy isn't configured,
- 102
+ 101
// or proxy is specifically
- 103
+ 102
// set to false
- 104 2 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
- 105
+ 103 0 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(url, useProxy);
+ 104
+
+ 105 0 conn.setDoOutput(true);
+ 106
- 106 2 conn.setDoOutput(true);
107
-
- 108
// JSON would be more elegant, but there's not currently a dependency
- 109
+ 108
// on JSON, so don't want to add one just for this
- 110 2 conn.addRequestProperty("Accept", "application/xml");
- 111 2 conn.connect();
- 112
+ 109 0 conn.addRequestProperty("Accept", "application/xml");
+ 110 0 conn.connect();
+ 111
- 113 2 if (conn.getResponseCode() == 200) {
- 114
+ 112 0 if (conn.getResponseCode() == 200) {
+ 113
try {
- 115 1 final DocumentBuilder builder = DocumentBuilderFactory
- 116
+ 114 0 final DocumentBuilder builder = DocumentBuilderFactory
+ 115
.newInstance().newDocumentBuilder();
- 117 1 final Document doc = builder.parse(conn.getInputStream());
- 118 1 final XPath xpath = XPathFactory.newInstance().newXPath();
- 119 1 final String groupId = xpath
+ 116 0 final Document doc = builder.parse(conn.getInputStream());
+ 117 0 final XPath xpath = XPathFactory.newInstance().newXPath();
+ 118 0 final String groupId = xpath
+ 119
+ .evaluate(
120
- .evaluate(
- 121
"/org.sonatype.nexus.rest.model.NexusArtifact/groupId",
- 122
+ 121
doc);
- 123 1 final String artifactId = xpath.evaluate(
- 124
+ 122 0 final String artifactId = xpath.evaluate(
+ 123
"/org.sonatype.nexus.rest.model.NexusArtifact/artifactId",
- 125
+ 124
doc);
- 126 1 final String version = xpath
+ 125 0 final String version = xpath
+ 126
+ .evaluate(
127
- .evaluate(
- 128
"/org.sonatype.nexus.rest.model.NexusArtifact/version",
- 129
+ 128
doc);
- 130 1 final String link = xpath
- 131
+ 129 0 final String link = xpath
+ 130
.evaluate(
- 132
+ 131
"/org.sonatype.nexus.rest.model.NexusArtifact/artifactLink",
- 133
+ 132
doc);
- 134 1 return new MavenArtifact(groupId, artifactId, version, link);
- 135 0 } catch (Throwable e) {
+ 133 0 final String pomLink = xpath
+ 134
+ .evaluate(
+ 135
+ "/org.sonatype.nexus.rest.model.NexusArtifact/pomLink",
136
+ doc);
+ 137 0 final MavenArtifact ma = new MavenArtifact(groupId, artifactId, version);
+ 138 0 if (link != null && !"".equals(link)) {
+ 139 0 ma.setArtifactUrl(link);
+ 140
+ }
+ 141 0 if (pomLink != null && !"".equals(pomLink)) {
+ 142 0 ma.setPomUrl(pomLink);
+ 143
+ }
+ 144 0 return ma;
+ 145 0 } catch (Throwable e) {
+ 146
// Anything else is jacked-up XML stuff that we really can't recover
- 137
- // from well
- 138 0 throw new IOException(e.getMessage(), e);
- 139
- }
- 140 1 } else if (conn.getResponseCode() == 404) {
- 141 1 throw new FileNotFoundException("Artifact not found in Nexus");
- 142
- } else {
- 143 0 final String msg = String.format("Could not connect to Nexus received response code: %d %s",
- 144
- conn.getResponseCode(), conn.getResponseMessage());
- 145 0 LOGGER.fine(msg);
- 146 0 throw new IOException(msg);
147
- }
- 148
- }
+ // from well
+ 148 0 throw new IOException(e.getMessage(), e);
149
-
- 150
- /**
- 151
- * Do a preflight request to see if the repository is actually working.
+ }
+ 150 0 } else if (conn.getResponseCode() == 404) {
+ 151 0 throw new FileNotFoundException("Artifact not found in Nexus");
152
- *
- 153
- * @return whether the repository is listening and returns the /status URL correctly
+ } else {
+ 153 0 final String msg = String.format("Could not connect to Nexus received response code: %d %s",
154
- */
- 155
- public boolean preflightRequest() {
- 156
- try {
- 157 4 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(new URL(rootURL, "status"), useProxy);
- 158 4 conn.addRequestProperty("Accept", "application/xml");
- 159 4 conn.connect();
- 160 4 if (conn.getResponseCode() != 200) {
- 161 0 LOGGER.log(Level.WARNING, "Expected 200 result from Nexus, got {0}", conn.getResponseCode());
- 162 0 return false;
- 163
- }
- 164 4 final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- 165 4 final Document doc = builder.parse(conn.getInputStream());
- 166 4 if (!"status".equals(doc.getDocumentElement().getNodeName())) {
- 167 0 LOGGER.log(Level.WARNING, "Expected root node name of status, got {0}", doc.getDocumentElement().getNodeName());
- 168 0 return false;
- 169
- }
- 170 0 } catch (Throwable e) {
- 171 0 return false;
- 172 4 }
- 173
-
- 174 4 return true;
- 175
+ conn.getResponseCode(), conn.getResponseMessage());
+ 155 0 LOGGER.fine(msg);
+ 156 0 throw new IOException(msg);
+ 157
+ }
+ 158
}
- 176
- }
- 177
+ 159
- 178
+ 160
+ /**
+ 161
+ * Do a preflight request to see if the repository is actually working.
+ 162
+ *
+ 163
+ * @return whether the repository is listening and returns the /status URL correctly
+ 164
+ */
+ 165
+ public boolean preflightRequest() {
+ 166
+ try {
+ 167 0 final HttpURLConnection conn = URLConnectionFactory.createHttpURLConnection(new URL(rootURL, "status"), useProxy);
+ 168 0 conn.addRequestProperty("Accept", "application/xml");
+ 169 0 conn.connect();
+ 170 0 if (conn.getResponseCode() != 200) {
+ 171 0 LOGGER.log(Level.WARNING, "Expected 200 result from Nexus, got {0}", conn.getResponseCode());
+ 172 0 return false;
+ 173
+ }
+ 174 0 final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ 175 0 final Document doc = builder.parse(conn.getInputStream());
+ 176 0 if (!"status".equals(doc.getDocumentElement().getNodeName())) {
+ 177 0 LOGGER.log(Level.WARNING, "Expected root node name of status, got {0}", doc.getDocumentElement().getNodeName());
+ 178 0 return false;
+ 179
+ }
+ 180 0 } catch (Throwable e) {
+ 181 0 return false;
+ 182 0 }
+ 183
+
+ 184 0 return true;
+ 185
+ }
+ 186
+ }
+ 187
+
+ 188
// vim: cc=120:sw=4:ts=4:sts=4
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html
index 0e6fe2095..24d201dc5 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NugetPackage.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- NugetPackage 0%
0%
2.066666666666667;2.067
+ NugetPackage 58%
0%
2.066666666666667;2.067
@@ -133,10 +133,8 @@
* Creates an empty NugetPackage.
58
*/
- 59
- public NugetPackage() {
- 60
- }
+ 59 2 public NugetPackage() {
+ 60 2 }
61
62
@@ -149,10 +147,8 @@
*/
66
public void setId(String id) {
- 67
- this.id = id;
- 68
- }
+ 67 1 this.id = id;
+ 68 1 }
69
70
@@ -165,8 +161,7 @@
*/
74
public String getId() {
- 75
- return id;
+ 75 1 return id;
76
}
77
@@ -181,10 +176,8 @@
*/
82
public void setVersion(String version) {
- 83
- this.version = version;
- 84
- }
+ 83 1 this.version = version;
+ 84 1 }
85
86
@@ -197,8 +190,7 @@
*/
90
public String getVersion() {
- 91
- return version;
+ 91 1 return version;
92
}
93
@@ -213,10 +205,8 @@
*/
98
public void setTitle(String title) {
- 99
- this.title = title;
- 100
- }
+ 99 1 this.title = title;
+ 100 1 }
101
102
@@ -229,8 +219,7 @@
*/
106
public String getTitle() {
- 107
- return title;
+ 107 1 return title;
108
}
109
@@ -245,10 +234,8 @@
*/
114
public void setAuthors(String authors) {
- 115
- this.authors = authors;
- 116
- }
+ 115 1 this.authors = authors;
+ 116 1 }
117
118
@@ -261,8 +248,7 @@
*/
122
public String getAuthors() {
- 123
- return authors;
+ 123 1 return authors;
124
}
125
@@ -277,10 +263,8 @@
*/
130
public void setOwners(String owners) {
- 131
- this.owners = owners;
- 132
- }
+ 131 1 this.owners = owners;
+ 132 1 }
133
134
@@ -293,8 +277,7 @@
*/
138
public String getOwners() {
- 139
- return owners;
+ 139 1 return owners;
140
}
141
@@ -309,10 +292,8 @@
*/
146
public void setLicenseUrl(String licenseUrl) {
- 147
- this.licenseUrl = licenseUrl;
- 148
- }
+ 147 1 this.licenseUrl = licenseUrl;
+ 148 1 }
149
150
@@ -325,8 +306,7 @@
*/
154
public String getLicenseUrl() {
- 155
- return licenseUrl;
+ 155 1 return licenseUrl;
156
}
157
@@ -377,6 +357,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html
index f7bb529a0..f32cc66a1 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParseException.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- NuspecParseException N/A
N/A
1.0;1
+ NuspecParseException 66%
N/A
1.0;1
@@ -93,10 +93,8 @@
*/
38
public NuspecParseException() {
- 39
- super();
- 40
- }
+ 39 0 super();
+ 40 0 }
41
42
@@ -115,10 +113,8 @@
*/
49
public NuspecParseException(String message) {
- 50
- super(message);
- 51
- }
+ 50 1 super(message);
+ 51 1 }
52
53
@@ -145,14 +141,12 @@
*/
64
public NuspecParseException(String message, Throwable cause) {
- 65
- super(message, cause);
- 66
- }
+ 65 2 super(message, cause);
+ 66 2 }
67
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html
index bdcbf497a..e77ac79a8 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.NuspecParser.html
@@ -93,6 +93,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html
index 80797e4dd..e2248c352 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nuget.XPathNuspecParser.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- XPathNuspecParser 94%
60%
6.0;6
+ XPathNuspecParser 94%
60%
6.0;6
@@ -81,8 +81,7 @@
* @author colezlaw
32
*/
- 33
- public class XPathNuspecParser implements NuspecParser {
+ 33 3 public class XPathNuspecParser implements NuspecParser {
34
35
@@ -164,6 +163,6 @@
}
-
+
diff --git a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html
index 9ae75bd9c..51f5b4285 100644
--- a/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html
+++ b/dependency-check-core/cobertura/org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.html
@@ -12,7 +12,7 @@
Classes in this File Line Coverage Branch Coverage Complexity
- ConnectionFactory 43%
32%
7.0;7
+ ConnectionFactory 42%
36%
7.0;7
@@ -165,10 +165,8 @@
* Private constructor for this factory class; no instance is ever needed.
77
*/
- 78
- private ConnectionFactory() {
- 79
- }
+ 78 0 private ConnectionFactory() {
+ 79 0 }
80
81
@@ -299,7 +297,7 @@
}
173
} finally {
- 174 1 if (conn != null) {
+ 174 1 if (conn != null) {
175
try {
176 1 conn.close();
@@ -444,7 +442,7 @@
269 0 throw new DatabaseException("Unable to create database schema", ex);
270
} finally {
- 271 0 if (in != null) {
+ 271 0 if (in != null) {
272
try {
273 0 in.close();
@@ -501,6 +499,6 @@
}
-
+