1717 */
1818package org .owasp .dependencycheck .taskdefs ;
1919
20- import java .io .File ;
21- import java .util .ArrayList ;
22- import java .util .List ;
23- import java .util .stream .Collectors ;
24- import java .util .stream .Stream ;
25- import javax .annotation .concurrent .NotThreadSafe ;
26-
2720import org .apache .tools .ant .BuildException ;
2821import org .apache .tools .ant .Project ;
2922import org .apache .tools .ant .types .EnumeratedAttribute ;
3427import org .apache .tools .ant .types .resources .Resources ;
3528import org .owasp .dependencycheck .Engine ;
3629import org .owasp .dependencycheck .agent .DependencyCheckScanAgent ;
30+ import org .owasp .dependencycheck .ant .logging .AntTaskHolder ;
3731import org .owasp .dependencycheck .data .nvdcve .DatabaseException ;
3832import org .owasp .dependencycheck .dependency .Dependency ;
3933import org .owasp .dependencycheck .dependency .Vulnerability ;
4640import org .owasp .dependencycheck .utils .Settings ;
4741import org .owasp .dependencycheck .utils .SeverityUtil ;
4842import org .owasp .dependencycheck .utils .scarf .TelemetryCollector ;
49- import org .owasp .dependencycheck .ant .logging .AntTaskHolder ;
43+
44+ import javax .annotation .concurrent .NotThreadSafe ;
45+ import java .io .File ;
46+ import java .util .ArrayList ;
47+ import java .util .List ;
48+ import java .util .stream .Collectors ;
49+ import java .util .stream .Stream ;
5050
5151//CSOFF: MethodCount
5252/**
@@ -354,23 +354,27 @@ public class Check extends Update {
354354 /**
355355 * Whether or not the Sonatype OSS Index analyzer is enabled.
356356 */
357- private Boolean ossindexAnalyzerEnabled ;
357+ private Boolean ossIndexAnalyzerEnabled ;
358358 /**
359359 * Whether or not the Sonatype OSS Index analyzer should cache results.
360360 */
361- private Boolean ossindexAnalyzerUseCache ;
361+ private Boolean ossIndexAnalyzerUseCache ;
362+ /**
363+ * The number of hours to wait before checking for new updates on individual packages/components from Sonatype OSS Index.
364+ */
365+ private Integer ossIndexAnalyzerCacheValidForHours ;
362366 /**
363367 * URL of the Sonatype OSS Index service.
364368 */
365- private String ossindexAnalyzerUrl ;
369+ private String ossIndexAnalyzerUrl ;
366370 /**
367371 * The username to use for the Sonatype OSS Index service.
368372 */
369- private String ossindexAnalyzerUsername ;
373+ private String ossIndexAnalyzerUsername ;
370374 /**
371375 * The password to use for the Sonatype OSS Index service.
372376 */
373- private String ossindexAnalyzerPassword ;
377+ private String ossIndexAnalyzerPassword ;
374378 /**
375379 * Whether we should only warn about Sonatype OSS Index remote errors
376380 * instead of failing completely.
@@ -1226,16 +1230,16 @@ public void setPathToDotnetCore(String pathToCore) {
12261230 }
12271231
12281232 /**
1229- * Set value of {@link #ossindexAnalyzerEnabled }.
1233+ * Set value of {@link #ossIndexAnalyzerEnabled }.
12301234 *
1231- * @param ossindexAnalyzerEnabled new value of ossindexAnalyzerEnabled
1235+ * @param ossIndexAnalyzerEnabled new value of ossIndexAnalyzerEnabled
12321236 * @deprecated Use {@link #setOssIndexAnalyzerEnabled(Boolean)} instead.
12331237 */
12341238 @ Deprecated
1235- public void setOssindexAnalyzerEnabled (Boolean ossindexAnalyzerEnabled ) {
1239+ public void setOssindexAnalyzerEnabled (Boolean ossIndexAnalyzerEnabled ) {
12361240 log ("'ossindexAnalyzerEnabled' is deprecated and may be removed in the next major release, please migrate to 'ossIndexAnalyzerEnabled'" ,
12371241 Project .MSG_WARN );
1238- this .ossindexAnalyzerEnabled = ossindexAnalyzerEnabled ;
1242+ this .ossIndexAnalyzerEnabled = ossIndexAnalyzerEnabled ;
12391243 }
12401244
12411245 /**
@@ -1244,20 +1248,20 @@ public void setOssindexAnalyzerEnabled(Boolean ossindexAnalyzerEnabled) {
12441248 * @param ossIndexAnalyzerEnabled new value of ossIndexAnalyzerEnabled
12451249 */
12461250 public void setOssIndexAnalyzerEnabled (Boolean ossIndexAnalyzerEnabled ) {
1247- this .ossindexAnalyzerEnabled = ossIndexAnalyzerEnabled ;
1251+ this .ossIndexAnalyzerEnabled = ossIndexAnalyzerEnabled ;
12481252 }
12491253
12501254 /**
1251- * Set value of {@link #ossindexAnalyzerUseCache }.
1255+ * Set value of {@link #ossIndexAnalyzerUseCache }.
12521256 *
1253- * @param ossindexAnalyzerUseCache new value of ossindexAnalyzerUseCache
1257+ * @param ossIndexAnalyzerUseCache new value of ossIndexAnalyzerUseCache
12541258 * @deprecated Use {@link #setOssIndexAnalyzerUseCache(Boolean)} instead.
12551259 */
12561260 @ Deprecated
1257- public void setOssindexAnalyzerUseCache (Boolean ossindexAnalyzerUseCache ) {
1261+ public void setOssindexAnalyzerUseCache (Boolean ossIndexAnalyzerUseCache ) {
12581262 log ("'ossindexAnalyzerUseCache' is deprecated and may be removed in the next major release, please migrate to 'ossIndexAnalyzerUseCache'" ,
12591263 Project .MSG_WARN );
1260- this .ossindexAnalyzerUseCache = ossindexAnalyzerUseCache ;
1264+ this .ossIndexAnalyzerUseCache = ossIndexAnalyzerUseCache ;
12611265 }
12621266
12631267 /**
@@ -1266,20 +1270,29 @@ public void setOssindexAnalyzerUseCache(Boolean ossindexAnalyzerUseCache) {
12661270 * @param ossIndexAnalyzerUseCache new value of ossIndexAnalyzerUseCache
12671271 */
12681272 public void setOssIndexAnalyzerUseCache (Boolean ossIndexAnalyzerUseCache ) {
1269- this .ossindexAnalyzerUseCache = ossIndexAnalyzerUseCache ;
1273+ this .ossIndexAnalyzerUseCache = ossIndexAnalyzerUseCache ;
1274+ }
1275+
1276+ /**
1277+ * Set value of {@link #ossIndexAnalyzerCacheValidForHours}.
1278+ *
1279+ * @param ossIndexAnalyzerCacheValidForHours new value of ossIndexAnalyzerCacheValidForHours
1280+ */
1281+ public void setOssIndexAnalyzerCacheValidForHours (Integer ossIndexAnalyzerCacheValidForHours ) {
1282+ this .ossIndexAnalyzerCacheValidForHours = ossIndexAnalyzerCacheValidForHours ;
12701283 }
12711284
12721285 /**
1273- * Set value of {@link #ossindexAnalyzerUrl }.
1286+ * Set value of {@link #ossIndexAnalyzerUrl }.
12741287 *
1275- * @param ossindexAnalyzerUrl new value of ossindexAnalyzerUrl
1288+ * @param ossIndexAnalyzerUrl new value of ossIndexAnalyzerUrl
12761289 * @deprecated Use {@link #setOssIndexAnalyzerUrl(String)} instead.
12771290 */
12781291 @ Deprecated
1279- public void setOssindexAnalyzerUrl (String ossindexAnalyzerUrl ) {
1292+ public void setOssindexAnalyzerUrl (String ossIndexAnalyzerUrl ) {
12801293 log ("'ossindexAnalyzerUrl' is deprecated and may be removed in the next major release, please migrate to 'ossIndexAnalyzerUrl'" ,
12811294 Project .MSG_WARN );
1282- this .ossindexAnalyzerUrl = ossindexAnalyzerUrl ;
1295+ this .ossIndexAnalyzerUrl = ossIndexAnalyzerUrl ;
12831296 }
12841297
12851298 /**
@@ -1288,20 +1301,20 @@ public void setOssindexAnalyzerUrl(String ossindexAnalyzerUrl) {
12881301 * @param ossIndexAnalyzerUrl new value of ossIndexAnalyzerUrl
12891302 */
12901303 public void setOssIndexAnalyzerUrl (String ossIndexAnalyzerUrl ) {
1291- this .ossindexAnalyzerUrl = ossIndexAnalyzerUrl ;
1304+ this .ossIndexAnalyzerUrl = ossIndexAnalyzerUrl ;
12921305 }
12931306
12941307 /**
1295- * Set value of {@link #ossindexAnalyzerUsername }.
1308+ * Set value of {@link #ossIndexAnalyzerUsername }.
12961309 *
1297- * @param ossindexAnalyzerUsername new value of ossindexAnalyzerUsername
1310+ * @param ossIndexAnalyzerUsername new value of ossIndexAnalyzerUsername
12981311 * @deprecated Use {@link #setOssIndexAnalyzerUsername(String)} instead.
12991312 */
13001313 @ Deprecated
1301- public void setOssindexAnalyzerUsername (String ossindexAnalyzerUsername ) {
1314+ public void setOssindexAnalyzerUsername (String ossIndexAnalyzerUsername ) {
13021315 log ("'ossindexAnalyzerUsername' is deprecated and may be removed in the next major release, please migrate to 'ossIndexAnalyzerUsername'" ,
13031316 Project .MSG_WARN );
1304- this .ossindexAnalyzerUsername = ossindexAnalyzerUsername ;
1317+ this .ossIndexAnalyzerUsername = ossIndexAnalyzerUsername ;
13051318 }
13061319
13071320 /**
@@ -1310,20 +1323,20 @@ public void setOssindexAnalyzerUsername(String ossindexAnalyzerUsername) {
13101323 * @param ossIndexAnalyzerUsername new value of ossIndexAnalyzerUsername
13111324 */
13121325 public void setOssIndexAnalyzerUsername (String ossIndexAnalyzerUsername ) {
1313- this .ossindexAnalyzerUsername = ossIndexAnalyzerUsername ;
1326+ this .ossIndexAnalyzerUsername = ossIndexAnalyzerUsername ;
13141327 }
13151328
13161329 /**
1317- * Set value of {@link #ossindexAnalyzerPassword }.
1330+ * Set value of {@link #ossIndexAnalyzerPassword }.
13181331 *
1319- * @param ossindexAnalyzerPassword new value of ossindexAnalyzerPassword
1332+ * @param ossIndexAnalyzerPassword new value of ossIndexAnalyzerPassword
13201333 * @deprecated Use {@link #setOssIndexAnalyzerPassword(String)} instead.
13211334 */
13221335 @ Deprecated
1323- public void setOssindexAnalyzerPassword (String ossindexAnalyzerPassword ) {
1336+ public void setOssindexAnalyzerPassword (String ossIndexAnalyzerPassword ) {
13241337 log ("'ossindexAnalyzerPassword' is deprecated and may be removed in the next major release, please migrate to 'ossIndexAnalyzerPassword'" ,
13251338 Project .MSG_WARN );
1326- this .ossindexAnalyzerPassword = ossindexAnalyzerPassword ;
1339+ this .ossIndexAnalyzerPassword = ossIndexAnalyzerPassword ;
13271340 }
13281341
13291342 /**
@@ -1332,7 +1345,7 @@ public void setOssindexAnalyzerPassword(String ossindexAnalyzerPassword) {
13321345 * @param ossIndexAnalyzerPassword new value of ossIndexAnalyzerPassword
13331346 */
13341347 public void setOssIndexAnalyzerPassword (String ossIndexAnalyzerPassword ) {
1335- this .ossindexAnalyzerPassword = ossIndexAnalyzerPassword ;
1348+ this .ossIndexAnalyzerPassword = ossIndexAnalyzerPassword ;
13361349 }
13371350
13381351 /**
@@ -1609,11 +1622,12 @@ protected void populateSettings() throws BuildException {
16091622 getSettings ().setBooleanIfNotNull (Settings .KEYS .ANALYZER_NEXUS_USES_PROXY , nexusUsesProxy );
16101623 getSettings ().setStringIfNotEmpty (Settings .KEYS .ADDITIONAL_ZIP_EXTENSIONS , zipExtensions );
16111624 getSettings ().setStringIfNotEmpty (Settings .KEYS .ANALYZER_ASSEMBLY_DOTNET_PATH , pathToCore );
1612- getSettings ().setBooleanIfNotNull (Settings .KEYS .ANALYZER_OSSINDEX_ENABLED , ossindexAnalyzerEnabled );
1613- getSettings ().setStringIfNotEmpty (Settings .KEYS .ANALYZER_OSSINDEX_URL , ossindexAnalyzerUrl );
1614- getSettings ().setStringIfNotEmpty (Settings .KEYS .ANALYZER_OSSINDEX_USER , ossindexAnalyzerUsername );
1615- getSettings ().setStringIfNotEmpty (Settings .KEYS .ANALYZER_OSSINDEX_PASSWORD , ossindexAnalyzerPassword );
1616- getSettings ().setBooleanIfNotNull (Settings .KEYS .ANALYZER_OSSINDEX_USE_CACHE , ossindexAnalyzerUseCache );
1625+ getSettings ().setBooleanIfNotNull (Settings .KEYS .ANALYZER_OSSINDEX_ENABLED , ossIndexAnalyzerEnabled );
1626+ getSettings ().setStringIfNotEmpty (Settings .KEYS .ANALYZER_OSSINDEX_URL , ossIndexAnalyzerUrl );
1627+ getSettings ().setStringIfNotEmpty (Settings .KEYS .ANALYZER_OSSINDEX_USER , ossIndexAnalyzerUsername );
1628+ getSettings ().setStringIfNotEmpty (Settings .KEYS .ANALYZER_OSSINDEX_PASSWORD , ossIndexAnalyzerPassword );
1629+ getSettings ().setBooleanIfNotNull (Settings .KEYS .ANALYZER_OSSINDEX_USE_CACHE , ossIndexAnalyzerUseCache );
1630+ getSettings ().setIntIfNotNull (Settings .KEYS .ANALYZER_OSSINDEX_CACHE_VALID_FOR_HOURS , ossIndexAnalyzerCacheValidForHours );
16171631 getSettings ().setBooleanIfNotNull (Settings .KEYS .ANALYZER_OSSINDEX_WARN_ONLY_ON_REMOTE_ERRORS , ossIndexAnalyzerWarnOnlyOnRemoteErrors );
16181632 getSettings ().setFloat (Settings .KEYS .JUNIT_FAIL_ON_CVSS , junitFailOnCVSS );
16191633 getSettings ().setBooleanIfNotNull (Settings .KEYS .FAIL_ON_UNUSED_SUPPRESSION_RULE , failBuildOnUnusedSuppressionRule );
0 commit comments