diff --git a/Core/ivy.xml b/Core/ivy.xml index 29feb749f3..5c90f91396 100644 --- a/Core/ivy.xml +++ b/Core/ivy.xml @@ -66,8 +66,12 @@ + + + + diff --git a/Core/nbproject/project.properties b/Core/nbproject/project.properties index faeb60cee8..8622056d37 100644 --- a/Core/nbproject/project.properties +++ b/Core/nbproject/project.properties @@ -68,6 +68,7 @@ file.reference.sleuthkit-4.11.1.jar=release/modules/ext/sleuthkit-4.11.1.jar file.reference.sleuthkit-caseuco-4.11.1.jar=release/modules/ext/sleuthkit-caseuco-4.11.1.jar file.reference.snakeyaml-1.30.jar=release/modules/ext/snakeyaml-1.30.jar file.reference.SparseBitSet-1.1.jar=release/modules/ext/SparseBitSet-1.1.jar +file.reference.spotbugs-annotations-4.6.0.jar=release/modules/ext/spotbugs-annotations-4.6.0.jar file.reference.sqlite-jdbc-3.25.2.jar=release/modules/ext/sqlite-jdbc-3.25.2.jar file.reference.xmpcore-6.1.11.jar=release/modules/ext/xmpcore-6.1.11.jar file.reference.YaraJNIWrapper.jar=release/modules/ext/YaraJNIWrapper.jar diff --git a/Core/nbproject/project.xml b/Core/nbproject/project.xml index 9ba936cc79..b4e201f0ac 100644 --- a/Core/nbproject/project.xml +++ b/Core/nbproject/project.xml @@ -502,10 +502,6 @@ ext/jsoup-1.14.3.jar release/modules/ext/jsoup-1.14.3.jar - - ext/jsr305-3.0.2.jar - release/modules/ext/jsr305-3.0.2.jar - ext/jutf7-1.0.0.jar release/modules/ext/jutf7-1.0.0.jar @@ -626,6 +622,10 @@ ext/SparseBitSet-1.1.jar release/modules/ext/SparseBitSet-1.1.jar + + ext/spotbugs-annotations-4.6.0.jar + release/modules/ext/spotbugs-annotations-4.6.0.jar + ext/sqlite-jdbc-3.25.2.jar release/modules/ext/sqlite-jdbc-3.25.2.jar diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/DefaultTableArtifactContentViewer.java b/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/DefaultTableArtifactContentViewer.java index 75882a39b0..b440d4c41c 100644 --- a/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/DefaultTableArtifactContentViewer.java +++ b/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/DefaultTableArtifactContentViewer.java @@ -348,8 +348,7 @@ public class DefaultTableArtifactContentViewer extends AbstractArtifactDetailsPa case JSON: // Get the attribute's JSON value and convert to indented multiline display string String jsonVal = attr.getValueString(); - JsonParser parser = new JsonParser(); - JsonObject json = parser.parse(jsonVal).getAsJsonObject(); + JsonObject json = JsonParser.parseString(jsonVal).getAsJsonObject(); value = toJsonDisplayString(json, ""); break; diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/EscapeUtil.java b/Core/src/org/sleuthkit/autopsy/coreutils/EscapeUtil.java index a95f74a10f..c5af8fa674 100644 --- a/Core/src/org/sleuthkit/autopsy/coreutils/EscapeUtil.java +++ b/Core/src/org/sleuthkit/autopsy/coreutils/EscapeUtil.java @@ -22,7 +22,7 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.logging.Level; -import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; /** * Text escaping utilities. diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/CreditCards.java b/Core/src/org/sleuthkit/autopsy/datamodel/CreditCards.java index 7582846866..d0441f29d8 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/CreditCards.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/CreditCards.java @@ -132,7 +132,8 @@ public class CreditCards { if (binsLoaded == false) { try { InputStreamReader in = new InputStreamReader(CreditCards.class.getResourceAsStream("ranges.csv")); //NON-NLS - CSVParser rangesParser = CSVFormat.RFC4180.withFirstRecordAsHeader().parse(in); + + CSVParser rangesParser = CSVFormat.RFC4180.builder().setHeader().setSkipHeaderRecord(true).build().parse(in); //parse each row and add to range map for (CSVRecord record : rangesParser) { diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/PieChartPanel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/PieChartPanel.java index 1e0ddde838..76445da612 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/PieChartPanel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/PieChartPanel.java @@ -59,10 +59,16 @@ public class PieChartPanel extends AbstractLoadableComponent> "{0}: {1} ({2})", new DecimalFormat("#,###"), new DecimalFormat("0.0%")); private final ChartMessageOverlay overlay = new ChartMessageOverlay(); - private final DefaultPieDataset dataset = new DefaultPieDataset(); + private final DefaultPieDataset dataset = new DefaultPieDataset<>(); private final JFreeChart chart; - private final PiePlot plot; + private final PiePlot plot; + @SuppressWarnings("unchecked") + private static PiePlot getTypedPlot(JFreeChart chart) { + return ((PiePlot) chart.getPlot()); + } + + /** * Main constructor. */ @@ -86,8 +92,7 @@ public class PieChartPanel extends AbstractLoadableComponent> chart.setBackgroundPaint(null); chart.getTitle().setFont(DEFAULT_HEADER_FONT); - - this.plot = ((PiePlot) chart.getPlot()); + this.plot = getTypedPlot(chart); plot.setInteriorGap(DEFAULT_CHART_PADDING); plot.setLabelGenerator(DEFAULT_LABEL_GENERATOR); plot.setLabelFont(DEFAULT_FONT); diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/ExtractActionHelper.java b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/ExtractActionHelper.java index 386240ea86..bd7cc96a51 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/ExtractActionHelper.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/ExtractActionHelper.java @@ -327,7 +327,7 @@ public class ExtractActionHelper { @Override protected ExtractFscContentVisitor getChildVisitor(File childFile, ProgressHandle progress, SwingWorker worker) { - return new UIExtractionVisitor(childFile, progress, worker, false); + return new UIExtractionVisitor<>(childFile, progress, worker, false); } diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashkeeperHashSetParser.java b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashkeeperHashSetParser.java index e66af62eb3..9b75afabac 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashkeeperHashSetParser.java +++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/HashkeeperHashSetParser.java @@ -53,7 +53,9 @@ public class HashkeeperHashSetParser implements HashSetParser { // Create the parser inputStreamReader = new InputStreamReader(new FileInputStream(filename)); //NON-NLS - csvParser = CSVFormat.RFC4180.withFirstRecordAsHeader().parse(inputStreamReader); + + csvParser = CSVFormat.RFC4180.builder().setHeader().setSkipHeaderRecord(true).build().parse(inputStreamReader); + if (!csvParser.getHeaderMap().keySet().contains("hash")) { close(); throw new TskCoreException("Hashkeeper file format invalid - does not contain 'hash' column"); diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/html/HTMLReport.java b/Core/src/org/sleuthkit/autopsy/report/modules/html/HTMLReport.java index bafa7b4da1..0d9ca80cb9 100644 --- a/Core/src/org/sleuthkit/autopsy/report/modules/html/HTMLReport.java +++ b/Core/src/org/sleuthkit/autopsy/report/modules/html/HTMLReport.java @@ -52,7 +52,7 @@ import java.util.logging.Level; import javax.imageio.ImageIO; import javax.swing.JPanel; import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; import org.openide.filesystems.FileUtil; import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslator.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslator.java index 6524c1835d..574cc44313 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslator.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslator.java @@ -165,9 +165,8 @@ public class BingTranslator implements TextTranslator { * the Spanish word for cat: [ { "detectedLanguage": { "language": "es", * "score": 1.0 }, "translations": [ { "text": "cat", "to": "en" } ] } ] */ - JsonParser parser = new JsonParser(); try { - JsonArray responses = parser.parse(json_text).getAsJsonArray(); + JsonArray responses = JsonParser.parseString(json_text).getAsJsonArray(); //As far as I know, there's always exactly one item in the array. JsonObject response0 = responses.get(0).getAsJsonObject(); JsonArray translations = response0.getAsJsonArray("translations"); diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java index 04e978dfa9..a679dccd13 100644 --- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/BingTranslatorSettingsPanel.java @@ -107,9 +107,8 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { .url(GET_TARGET_LANGUAGES_URL).build(); try { Response response = new OkHttpClient().newCall(get_request).execute(); - JsonParser parser = new JsonParser(); String responseBody = response.body().string(); - JsonElement elementBody = parser.parse(responseBody); + JsonElement elementBody = JsonParser.parseString(responseBody); JsonObject asObject = elementBody.getAsJsonObject(); JsonElement translationElement = asObject.get("translation"); JsonObject responses = translationElement.getAsJsonObject(); @@ -368,8 +367,7 @@ public class BingTranslatorSettingsPanel extends javax.swing.JPanel { .addHeader("Content-type", "application/json").build(); try { Response response = new OkHttpClient().newCall(request).execute(); - JsonParser parser = new JsonParser(); - JsonArray responses = parser.parse(response.body().string()).getAsJsonArray(); + JsonArray responses = JsonParser.parseString(response.body().string()).getAsJsonArray(); //As far as I know, there's always exactly one item in the array. JsonObject response0 = responses.get(0).getAsJsonObject(); JsonArray translations = response0.getAsJsonArray("translations"); diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ShowInTimelineDialog.java b/Core/src/org/sleuthkit/autopsy/timeline/ShowInTimelineDialog.java index abad95b2ff..cf15062bf1 100755 --- a/Core/src/org/sleuthkit/autopsy/timeline/ShowInTimelineDialog.java +++ b/Core/src/org/sleuthkit/autopsy/timeline/ShowInTimelineDialog.java @@ -53,7 +53,7 @@ import javafx.stage.Modality; import javafx.util.converter.IntegerStringConverter; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; -import org.apache.commons.lang3.text.WordUtils; +import org.apache.commons.text.WordUtils; import org.controlsfx.validation.ValidationMessage; import org.controlsfx.validation.ValidationSupport; import org.controlsfx.validation.Validator; diff --git a/CoreLibs/ivy.xml b/CoreLibs/ivy.xml index 44c9ad4e07..9fd55688c9 100644 --- a/CoreLibs/ivy.xml +++ b/CoreLibs/ivy.xml @@ -29,6 +29,7 @@ + diff --git a/CoreLibs/nbproject/project.properties b/CoreLibs/nbproject/project.properties index d0563016e2..d2046e6c73 100644 --- a/CoreLibs/nbproject/project.properties +++ b/CoreLibs/nbproject/project.properties @@ -22,6 +22,7 @@ file.reference.commons-io-2.11.0.jar=release/modules/ext/commons-io-2.11.0.jar file.reference.commons-lang-2.6.jar=release/modules/ext/commons-lang-2.6.jar file.reference.commons-lang3-3.12.0.jar=release/modules/ext/commons-lang3-3.12.0.jar file.reference.commons-logging-1.2.jar=release/modules/ext/commons-logging-1.2.jar +file.reference.commons-text-1.9.jar=release/modules/ext/commons-text-1.9.jar file.reference.commons-validator-1.7.jar=release/modules/ext/commons-validator-1.7.jar file.reference.compiler-0.9.10.jar=release/modules/ext/compiler-0.9.10.jar file.reference.conscrypt-openjdk-uber-2.5.1.jar=release/modules/ext/conscrypt-openjdk-uber-2.5.1.jar @@ -107,7 +108,7 @@ file.reference.proto-google-iam-v1-1.2.6.jar=release/modules/ext/proto-google-ia file.reference.protobuf-java-3.19.4.jar=release/modules/ext/protobuf-java-3.19.4.jar file.reference.protobuf-java-util-3.19.4.jar=release/modules/ext/protobuf-java-util-3.19.4.jar file.reference.re2j-1.5.jar=release/modules/ext/re2j-1.5.jar -file.reference.reload4j-1.2.19.jar=release/modules/ext/slf4j-reload4j-1.2.19.jar +file.reference.reload4j-1.2.19.jar=release/modules/ext/reload4j-1.2.19.jar file.reference.sigar-1.6.4.jar=release/modules/ext/sigar-1.6.4.jar file.reference.slf4j-api-1.7.36.jar=release/modules/ext/slf4j-api-1.7.36.jar file.reference.slf4j-reload4j-1.7.36.jar=release/modules/ext/slf4j-reload4j-1.7.36.jar diff --git a/CoreLibs/nbproject/project.xml b/CoreLibs/nbproject/project.xml index 27dc2b150c..02e5153cc2 100644 --- a/CoreLibs/nbproject/project.xml +++ b/CoreLibs/nbproject/project.xml @@ -323,6 +323,7 @@ org.apache.commons.lang3.tuple org.apache.commons.logging org.apache.commons.logging.impl + org.apache.commons.text org.apache.commons.validator.routines org.apache.commons.validator.routines.checkdigit org.apache.log4j @@ -590,6 +591,10 @@ ext/commons-logging-1.2.jar release/modules/ext/commons-logging-1.2.jar + + ext/commons-text-1.9.jar + release/modules/ext/commons-text-1.9.jar + ext/commons-validator-1.7.jar release/modules/ext/commons-validator-1.7.jar diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/VolatilityProcessor.java b/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/VolatilityProcessor.java index 61272d1468..0cf51886c2 100644 --- a/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/VolatilityProcessor.java +++ b/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/VolatilityProcessor.java @@ -381,7 +381,7 @@ class VolatilityProcessor { Collection attributes = singleton(new BlackboardAttribute(TSK_SET_NAME, VOLATILITY, setName)); // Create artifact if it doesn't already exist. - if (!blackboard.artifactExists(resolvedFile, BlackboardArtifact.ARTIFACT_TYPE.TSK_INTERESTING_ITEM, attributes)) { + if (!blackboard.artifactExists(resolvedFile, BlackboardArtifact.Type.TSK_INTERESTING_ITEM, attributes)) { BlackboardArtifact volArtifact = resolvedFile.newAnalysisResult( BlackboardArtifact.Type.TSK_INTERESTING_ITEM, Score.SCORE_LIKELY_NOTABLE, null, setName, null, diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java index e520e2d0ec..e64834a440 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java @@ -36,7 +36,7 @@ import javafx.scene.image.Image; import javafx.util.Pair; import javax.annotation.Nonnull; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.text.WordUtils; +import org.apache.commons.text.WordUtils; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException; import org.sleuthkit.autopsy.coreutils.Logger; diff --git a/KeywordSearch/nbproject/project.properties b/KeywordSearch/nbproject/project.properties index 94904051ef..48d0ba30c6 100644 --- a/KeywordSearch/nbproject/project.properties +++ b/KeywordSearch/nbproject/project.properties @@ -24,7 +24,6 @@ file.reference.jetty-http-9.4.44.v20210927.jar=release/modules/ext/jetty-http-9. file.reference.jetty-io-9.4.44.v20210927.jar=release/modules/ext/jetty-io-9.4.44.v20210927.jar file.reference.jetty-util-9.4.44.v20210927.jar=release/modules/ext/jetty-util-9.4.44.v20210927.jar file.reference.jsonic-1.2.11.jar=release/modules/ext/jsonic-1.2.11.jar -file.reference.jsr305-3.0.2.jar=release/modules/ext/jsr305-3.0.2.jar file.reference.language-detector-0.6.jar=release/modules/ext/language-detector-0.6.jar file.reference.listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar=release/modules/ext/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar file.reference.logback-classic-1.2.10.jar=release/modules/ext/logback-classic-1.2.10.jar diff --git a/KeywordSearch/nbproject/project.xml b/KeywordSearch/nbproject/project.xml index da9fb97c26..7c864aa675 100644 --- a/KeywordSearch/nbproject/project.xml +++ b/KeywordSearch/nbproject/project.xml @@ -320,10 +320,6 @@ ext/jsonic-1.2.11.jar release/modules/ext/jsonic-1.2.11.jar - - ext/jsr305-3.0.2.jar - release/modules/ext/jsr305-3.0.2.jar - ext/language-detector-0.6.jar release/modules/ext/language-detector-0.6.jar diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedText.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedText.java index 1eb30f5b6c..dedc81e35e 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedText.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedText.java @@ -32,7 +32,7 @@ import java.util.TreeMap; import java.util.logging.Level; import java.util.stream.Collectors; import javax.annotation.concurrent.GuardedBy; -import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.apache.solr.client.solrj.SolrQuery; @@ -532,14 +532,14 @@ class HighlightedText implements IndexedText { // Must be done before highlighting tags are added. If we were to // perform HTML escaping after adding the highlighting tags we would // not see highlighted text in the content viewer. - text = StringEscapeUtils.escapeHtml(text); + text = StringEscapeUtils.escapeHtml4(text); TreeRangeSet highlights = TreeRangeSet.create(); //for each keyword find the locations of hits and record them in the RangeSet for (String keyword : keywords) { //we also need to escape the keyword so that it matches the escaped text - final String escapedKeyword = StringEscapeUtils.escapeHtml(keyword); + final String escapedKeyword = StringEscapeUtils.escapeHtml4(keyword); int searchOffset = 0; int hitOffset = StringUtils.indexOfIgnoreCase(text, escapedKeyword, searchOffset); while (hitOffset != -1) { diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chromium.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chromium.java index c18d40fb00..1d22f930b9 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chromium.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chromium.java @@ -351,13 +351,12 @@ class Chromium extends Extract { continue; } - final JsonParser parser = new JsonParser(); JsonElement jsonElement; JsonObject jElement, jRoot, jBookmark; JsonArray jBookmarkArray; try { - jsonElement = parser.parse(tempReader); + jsonElement = JsonParser.parseReader(tempReader); jElement = jsonElement.getAsJsonObject(); jRoot = jElement.get("roots").getAsJsonObject(); //NON-NLS jBookmark = jRoot.get("bookmark_bar").getAsJsonObject(); //NON-NLS diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractRegistry.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractRegistry.java index 726c48322d..79974bf613 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractRegistry.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractRegistry.java @@ -61,6 +61,7 @@ import java.util.AbstractMap; import java.util.ArrayList; import java.util.List; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -1098,7 +1099,7 @@ class ExtractRegistry extends Extract { Map userInfo = userInfoMap.remove(sid); if (userInfo != null) { addAccountInstance(accountMgr, osAccount, (DataSource) dataSource); - updateOsAccount(osAccount, userInfo, groupMap.get(sid), regAbstractFile); + updateOsAccount(osAccount, userInfo, groupMap.get(sid), regAbstractFile, ingestJobId); } } @@ -1106,7 +1107,7 @@ class ExtractRegistry extends Extract { for (Map userInfo : userInfoMap.values()) { OsAccount osAccount = accountMgr.newWindowsOsAccount(userInfo.get(SID_KEY), null, null, host, OsAccountRealm.RealmScope.LOCAL); accountMgr.newOsAccountInstance(osAccount, (DataSource) dataSource, OsAccountInstance.OsAccountInstanceType.LAUNCHED); - updateOsAccount(osAccount, userInfo, groupMap.get(userInfo.get(SID_KEY)), regAbstractFile); + updateOsAccount(osAccount, userInfo, groupMap.get(userInfo.get(SID_KEY)), regAbstractFile, ingestJobId); } return true; } catch (FileNotFoundException ex) { @@ -2041,13 +2042,16 @@ class ExtractRegistry extends Extract { * * @param regFile File the account was found in * @param emailAddress The emailAddress + * @param ingestJobId The ingest job id. */ - private void addEmailAccount(AbstractFile regFile, String emailAddress) { + private void addEmailAccount(AbstractFile regFile, String emailAddress, long ingestJobId) { try { currentCase.getSleuthkitCase() .getCommunicationsManager() .createAccountFileInstance(Account.Type.EMAIL, - emailAddress, getRAModuleName(), regFile); + emailAddress, getRAModuleName(), regFile, + Collections.emptyList(), + ingestJobId); } catch (TskCoreException ex) { logger.log(Level.SEVERE, String.format("Error adding email account with value " @@ -2080,13 +2084,13 @@ class ExtractRegistry extends Extract { * @param userInfo userInfo map from SAM file parsing. * @param groupList Group list from the SAM file parsing. * @param regFile Source file. + * @param ingestJobId * * @throws TskDataException * @throws TskCoreException */ - private void updateOsAccount(OsAccount osAccount, Map userInfo, List groupList, AbstractFile regFile) throws TskDataException, TskCoreException, NotUserSIDException { + private void updateOsAccount(OsAccount osAccount, Map userInfo, List groupList, AbstractFile regFile, long ingestJobId) throws TskDataException, TskCoreException, NotUserSIDException { Host host = ((DataSource) dataSource).getHost(); - SimpleDateFormat regRipperTimeFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy 'Z'", US); regRipperTimeFormat.setTimeZone(getTimeZone("GMT")); @@ -2139,7 +2143,7 @@ class ExtractRegistry extends Extract { value = userInfo.get(INTERNET_NAME_KEY); if (value != null && !value.isEmpty()) { - addEmailAccount(regFile, value); + addEmailAccount(regFile, value, ingestJobId); attributes.add(createOsAccountAttribute(ATTRIBUTE_TYPE.TSK_EMAIL, value, osAccount, host, regFile)); diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java index 27bc0177ac..347bc537e5 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java @@ -934,13 +934,11 @@ class Firefox extends Extract { continue; } - final JsonParser parser = new JsonParser(); - JsonObject jsonRootObject; JsonArray jAddressesArray; try { - jsonRootObject = parser.parse(tempReader).getAsJsonObject(); + jsonRootObject = JsonParser.parseReader(tempReader).getAsJsonObject(); jAddressesArray = jsonRootObject.getAsJsonArray("addresses"); //NON-NLS } catch (JsonIOException | JsonSyntaxException | IllegalStateException ex) { logger.log(Level.WARNING, "Error parsing Json for Firefox Autofill profiles.", ex); //NON-NLS @@ -955,7 +953,8 @@ class Firefox extends Extract { helper = new WebBrowserArtifactsHelper( Case.getCurrentCaseThrows().getSleuthkitCase(), NbBundle.getMessage(this.getClass(), "Firefox.parentModuleName"), - profileFile + profileFile, + ingestJobId ); } catch (NoCurrentCaseException ex) { logger.log(Level.SEVERE, "No case open, bailing.", ex); //NON-NLS diff --git a/Tika/nbproject/project.properties b/Tika/nbproject/project.properties index d4d84993f0..95a5a15c7d 100755 --- a/Tika/nbproject/project.properties +++ b/Tika/nbproject/project.properties @@ -67,7 +67,6 @@ file.reference.jmatio-1.5.jar=release/modules/ext/jmatio-1.5.jar file.reference.jna-5.10.0.jar=release/modules/ext/jna-5.10.0.jar file.reference.joda-time-2.2.jar=release/modules/ext/joda-time-2.2.jar file.reference.json-simple-1.1.1.jar=release/modules/ext/json-simple-1.1.1.jar -file.reference.jsr305-3.0.2.jar=release/modules/ext/jsr305-3.0.2.jar file.reference.jul-to-slf4j-1.7.36.jar=release/modules/ext/jul-to-slf4j-1.7.36.jar file.reference.juniversalchardet-1.0.3.jar=release/modules/ext/juniversalchardet-1.0.3.jar file.reference.junrar-7.4.1.jar=release/modules/ext/junrar-7.4.1.jar diff --git a/Tika/nbproject/project.xml b/Tika/nbproject/project.xml index 171c840a7f..b3e31e51de 100755 --- a/Tika/nbproject/project.xml +++ b/Tika/nbproject/project.xml @@ -584,10 +584,6 @@ ext/json-simple-1.1.1.jar release/modules/ext/json-simple-1.1.1.jar - - ext/jsr305-3.0.2.jar - release/modules/ext/jsr305-3.0.2.jar - ext/jul-to-slf4j-1.7.36.jar release/modules/ext/jul-to-slf4j-1.7.36.jar diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/VcardParser.java b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/VcardParser.java index 306843f025..ca1c328aca 100755 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/VcardParser.java +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/VcardParser.java @@ -232,7 +232,7 @@ final class VcardParser { org.sleuthkit.datamodel.Blackboard tskBlackboard = tskCase.getBlackboard(); try { // Create artifact if it doesn't already exist. - if (!tskBlackboard.artifactExists(abstractFile, BlackboardArtifact.ARTIFACT_TYPE.TSK_CONTACT, attributes)) { + if (!tskBlackboard.artifactExists(abstractFile, BlackboardArtifact.Type.TSK_CONTACT, attributes)) { artifact = abstractFile.newDataArtifact(new BlackboardArtifact.Type(BlackboardArtifact.ARTIFACT_TYPE.TSK_CONTACT), attributes); extractPhotos(vcard, abstractFile, artifact);