deprecation fixes

This commit is contained in:
Greg DiCristofaro 2022-03-25 14:29:17 -04:00
parent e3e3b76710
commit 86dd5bd2b4
27 changed files with 60 additions and 52 deletions

View File

@ -66,8 +66,12 @@
<!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api -->
<dependency conf="core->default" org="javax.ws.rs" name="javax.ws.rs-api" rev="2.1.1"/>
<!-- used by zookeeper -->
<dependency org="com.github.spotbugs" name="spotbugs-annotations" rev="4.6.0"/>
<override org="org.apache.zookeeper" module="zookeeper" rev="3.8.0"/>
<override org="org.apache.zookeeper" module="zookeeper-jute" rev="3.8.0"/>
<override org="jakarta.ws.rs" module="jakarta.ws.rs-api" rev="2.1.5"/>
<override org="org.slf4j" module="slf4j-api" rev="1.7.36"/>
<override org="com.google.guava" module="guava" rev="31.1-jre"/>

View File

@ -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

View File

@ -502,10 +502,6 @@
<runtime-relative-path>ext/jsoup-1.14.3.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jsoup-1.14.3.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jsr305-3.0.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jsr305-3.0.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jutf7-1.0.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jutf7-1.0.0.jar</binary-origin>
@ -626,6 +622,10 @@
<runtime-relative-path>ext/SparseBitSet-1.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/SparseBitSet-1.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/spotbugs-annotations-4.6.0.jar</runtime-relative-path>
<binary-origin>release/modules/ext/spotbugs-annotations-4.6.0.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/sqlite-jdbc-3.25.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/sqlite-jdbc-3.25.2.jar</binary-origin>

View File

@ -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;

View File

@ -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.

View File

@ -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) {

View File

@ -59,9 +59,15 @@ public class PieChartPanel extends AbstractLoadableComponent<List<PieChartItem>>
"{0}: {1} ({2})", new DecimalFormat("#,###"), new DecimalFormat("0.0%"));
private final ChartMessageOverlay overlay = new ChartMessageOverlay();
private final DefaultPieDataset dataset = new DefaultPieDataset();
private final DefaultPieDataset<String> dataset = new DefaultPieDataset<>();
private final JFreeChart chart;
private final PiePlot plot;
private final PiePlot<String> plot;
@SuppressWarnings("unchecked")
private static PiePlot<String> getTypedPlot(JFreeChart chart) {
return ((PiePlot<String>) chart.getPlot());
}
/**
* Main constructor.
@ -86,8 +92,7 @@ public class PieChartPanel extends AbstractLoadableComponent<List<PieChartItem>>
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);

View File

@ -327,7 +327,7 @@ public class ExtractActionHelper {
@Override
protected ExtractFscContentVisitor<T, V> getChildVisitor(File childFile, ProgressHandle progress, SwingWorker<T, V> worker) {
return new UIExtractionVisitor(childFile, progress, worker, false);
return new UIExtractionVisitor<>(childFile, progress, worker, false);
}

View File

@ -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");

View File

@ -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;

View File

@ -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");

View File

@ -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");

View File

@ -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;

View File

@ -29,6 +29,7 @@
<!-- commmon -->
<dependency conf="autopsy_core->default" org="org.apache.commons" name="commons-lang3" rev="3.12.0"/>
<dependency conf="autopsy_core->default" org="org.apache.commons" name="commons-csv" rev="1.9.0"/>
<dependency conf="autopsy_core->default" org="org.apache.commons" name="commons-text" rev="1.9"/>
<!-- keep old commons-lang because some deps may need it at runtime.
Note there is no namespace collision with ver 3 -->

View File

@ -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

View File

@ -323,6 +323,7 @@
<package>org.apache.commons.lang3.tuple</package>
<package>org.apache.commons.logging</package>
<package>org.apache.commons.logging.impl</package>
<package>org.apache.commons.text</package>
<package>org.apache.commons.validator.routines</package>
<package>org.apache.commons.validator.routines.checkdigit</package>
<package>org.apache.log4j</package>
@ -590,6 +591,10 @@
<runtime-relative-path>ext/commons-logging-1.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-logging-1.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-text-1.9.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-text-1.9.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/commons-validator-1.7.jar</runtime-relative-path>
<binary-origin>release/modules/ext/commons-validator-1.7.jar</binary-origin>

View File

@ -381,7 +381,7 @@ class VolatilityProcessor {
Collection<BlackboardAttribute> 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,

View File

@ -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;

View File

@ -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

View File

@ -320,10 +320,6 @@
<runtime-relative-path>ext/jsonic-1.2.11.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jsonic-1.2.11.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jsr305-3.0.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jsr305-3.0.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/language-detector-0.6.jar</runtime-relative-path>
<binary-origin>release/modules/ext/language-detector-0.6.jar</binary-origin>

View File

@ -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<Integer> 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) {

View File

@ -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

View File

@ -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<String, String> 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<String, String> 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<String, String> userInfo, List<String> groupList, AbstractFile regFile) throws TskDataException, TskCoreException, NotUserSIDException {
private void updateOsAccount(OsAccount osAccount, Map<String, String> userInfo, List<String> 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));

View File

@ -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

View File

@ -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

View File

@ -584,10 +584,6 @@
<runtime-relative-path>ext/json-simple-1.1.1.jar</runtime-relative-path>
<binary-origin>release/modules/ext/json-simple-1.1.1.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jsr305-3.0.2.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jsr305-3.0.2.jar</binary-origin>
</class-path-extension>
<class-path-extension>
<runtime-relative-path>ext/jul-to-slf4j-1.7.36.jar</runtime-relative-path>
<binary-origin>release/modules/ext/jul-to-slf4j-1.7.36.jar</binary-origin>

View File

@ -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);