mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-14 17:06:16 +00:00
Merge remote-tracking branch 'upstream/release_4.2.0' into develop
This commit is contained in:
commit
c8fd478428
@ -18,8 +18,6 @@
|
||||
*/
|
||||
package org.sleuthkit.autopsy.datamodel.accounts;
|
||||
|
||||
import org.sleuthkit.autopsy.datamodel.AutopsyItemVisitor;
|
||||
import org.sleuthkit.autopsy.datamodel.AutopsyVisitableItem;
|
||||
import com.google.common.collect.Range;
|
||||
import com.google.common.collect.RangeMap;
|
||||
import com.google.common.collect.TreeRangeMap;
|
||||
@ -59,6 +57,8 @@ import org.openide.util.Utilities;
|
||||
import org.openide.util.lookup.Lookups;
|
||||
import org.sleuthkit.autopsy.casemodule.Case;
|
||||
import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
|
||||
import org.sleuthkit.autopsy.datamodel.AutopsyItemVisitor;
|
||||
import org.sleuthkit.autopsy.datamodel.AutopsyVisitableItem;
|
||||
import org.sleuthkit.autopsy.datamodel.BlackboardArtifactNode;
|
||||
import org.sleuthkit.autopsy.datamodel.CreditCards;
|
||||
import org.sleuthkit.autopsy.datamodel.DataModelActionsFactory;
|
||||
@ -168,6 +168,9 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
@Subscribe
|
||||
abstract void handleReviewStatusChange(ReviewStatusChangeEvent event);
|
||||
|
||||
@Subscribe
|
||||
abstract void handleDataAdded(ModuleDataEvent event);
|
||||
|
||||
@Override
|
||||
protected void removeNotify() {
|
||||
super.removeNotify();
|
||||
@ -220,7 +223,7 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
ModuleDataEvent eventData = (ModuleDataEvent) evt.getOldValue();
|
||||
if (null != eventData
|
||||
&& eventData.getBlackboardArtifactType().getTypeID() == ARTIFACT_TYPE.TSK_ACCOUNT.getTypeID()) {
|
||||
refreshKeys();
|
||||
reviewStatusBus.post(eventData);
|
||||
}
|
||||
} catch (IllegalStateException notUsed) {
|
||||
// Case is closed, do nothing.
|
||||
@ -251,7 +254,13 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@ -373,10 +382,17 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
}
|
||||
|
||||
private DefaultAccountTypeNode(String accountTypeName) {
|
||||
@ -417,10 +433,12 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
*/
|
||||
final private class ViewModeFactory extends ObservingChildren<CreditCardViewMode> {
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
refreshKeys();
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
}
|
||||
|
||||
@Override
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
}
|
||||
|
||||
/**
|
||||
@ -476,7 +494,13 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@ -589,7 +613,12 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
updateDisplayName();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
updateDisplayName();
|
||||
}
|
||||
}
|
||||
@ -607,7 +636,13 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@ -703,7 +738,12 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
updateDisplayName();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
updateDisplayName();
|
||||
}
|
||||
}
|
||||
@ -940,15 +980,18 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
|
||||
@Subscribe
|
||||
@Override
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
refreshKeys();
|
||||
//make sure to refresh the nodes for artifacts that changed statuses.
|
||||
//make sure to refresh the nodes for artifacts that changed statuses.
|
||||
event.artifacts.stream().map(BlackboardArtifact::getArtifactID).forEach(this::refreshKey);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Subscribe
|
||||
@Override
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
refreshKeys();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<Long> createKeys() {
|
||||
List<Long> list = new ArrayList<>();
|
||||
@ -990,7 +1033,6 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
}
|
||||
}
|
||||
private final BinResult bin;
|
||||
// private final CreditCardNumberFactory accountFactory;
|
||||
|
||||
private BINNode(BinResult bin) {
|
||||
super(Children.LEAF);
|
||||
@ -1003,7 +1045,12 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
void handleReviewStatusChange(ReviewStatusChangeEvent event) {
|
||||
updateDisplayName();
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
void handleDataAdded(ModuleDataEvent event) {
|
||||
updateDisplayName();
|
||||
}
|
||||
|
||||
@ -1367,7 +1414,7 @@ final public class Accounts implements AutopsyVisitableItem {
|
||||
}
|
||||
}
|
||||
|
||||
class ReviewStatusChangeEvent {
|
||||
private class ReviewStatusChangeEvent {
|
||||
|
||||
Collection<? extends BlackboardArtifact> artifacts;
|
||||
BlackboardArtifact.ReviewStatus newReviewStatus;
|
||||
|
@ -1495,6 +1495,9 @@ class TableReportGenerator {
|
||||
} else if (artifactTypeId == BlackboardArtifact.ARTIFACT_TYPE.TSK_ACCOUNT.getTypeID()) {
|
||||
columns.add(new StatusColumn());
|
||||
attributeTypeSet.remove(new Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE));
|
||||
attributeTypeSet.remove(new Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT));
|
||||
attributeTypeSet.remove(new Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_SET_NAME));
|
||||
attributeTypeSet.remove(new Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD_SEARCH_DOCUMENT_ID));
|
||||
} else {
|
||||
// This is the case that it is a custom type. The reason an else is
|
||||
// necessary is to make sure that the source file column is added
|
||||
|
@ -16,7 +16,7 @@
|
||||
<dependency conf="autopsy_core->*" org="org.jbundle.thin.base.screen" name="jcalendarbutton" rev="1.4.6"/>
|
||||
|
||||
<!-- commmon -->
|
||||
<dependency org="com.google.guava" name="guava" rev="18.0"/>
|
||||
<dependency org="com.google.guava" name="guava" rev="19.0"/>
|
||||
<dependency conf="autopsy_core->*" org="org.apache.commons" name="commons-lang3" rev="3.0"/>
|
||||
<dependency conf="autopsy_core->*" org="org.apache.commons" name="commons-csv" rev="1.4"/>
|
||||
|
||||
|
@ -22,7 +22,7 @@ file.reference.dom4j-1.6.1.jar=release/modules/ext/dom4j-1.6.1.jar
|
||||
file.reference.geronimo-jms_1.1_spec-1.0.jar=release/modules/ext/geronimo-jms_1.1_spec-1.0.jar
|
||||
file.reference.gson-1.4.jar=release/modules/ext/gson-1.4.jar
|
||||
file.reference.gstreamer-java-1.5.jar=release/modules/ext/gstreamer-java-1.5.jar
|
||||
file.reference.guava-18.0.jar=release/modules/ext/guava-18.0.jar
|
||||
file.reference.guava-19.0.jar=release/modules/ext/guava-19.0.jar
|
||||
file.reference.imageio-bmp-3.2.jar=release/modules/ext/imageio-bmp-3.2.jar
|
||||
file.reference.imageio-core-3.2.jar=release/modules/ext/imageio-core-3.2.jar
|
||||
file.reference.imageio-icns-3.2.jar=release/modules/ext/imageio-icns-3.2.jar
|
||||
@ -75,7 +75,7 @@ javac.compilerargs=-Xlint -Xlint:-serial
|
||||
javadoc.reference.commons-csv-1.4.jar=release/modules/ext/commons-csv-1.4-javadoc.jar
|
||||
javadoc.reference.compiler-0.9.1.jar=release/modules/ext/compiler-0.9.1-javadoc.jar
|
||||
javadoc.reference.controlsfx-8.40.11.jar=release/modules/ext/controlsfx-8.40.11-javadoc.jar
|
||||
javadoc.reference.guava-18.0.jar=release/modules/ext/guava-18.0-javadoc.jar
|
||||
javadoc.reference.guava-19.0.jar=release/modules/ext/guava-19.0-javadoc.jar
|
||||
javadoc.reference.jfxtras-common-8.0-r4.jar=release/modules/ext/jfxtras-common-8.0-r4-javadoc.jar
|
||||
javadoc.reference.jfxtras-controls-8.0-r4.jar=release/modules/ext/jfxtras-controls-8.0-r4-javadoc.jar
|
||||
javadoc.reference.jfxtras-fxml-8.0-r4.jar=release/modules/ext/jfxtras-fxml-8.0-r4-javadoc.jar
|
||||
@ -83,7 +83,7 @@ nbm.needs.restart=true
|
||||
source.reference.commons-csv-1.4.jar=release/modules/ext/commons-csv-1.4-sources.jar
|
||||
source.reference.compiler-0.9.1.jar=release/modules/ext/compiler-0.9.1-sources.jar
|
||||
source.reference.controlsfx-8.40.11.jar=release/modules/ext/controlsfx-8.40.11-sources.jar
|
||||
source.reference.guava-18.0.jar=release/modules/ext/guava-18.0-sources.jar
|
||||
source.reference.guava-19.0.jar=release/modules/ext/guava-19.0-sources.jar
|
||||
source.reference.jfxtras-common-8.0-r4.jar=release/modules/ext/jfxtras-common-8.0-r4-sources.jar
|
||||
source.reference.jfxtras-controls-8.0-r4.jar=release/modules/ext/jfxtras-controls-8.0-r4-sources.jar
|
||||
source.reference.jfxtras-fxml-8.0-r4.jar=release/modules/ext/jfxtras-fxml-8.0-r4-sources.jar
|
||||
|
@ -743,10 +743,6 @@
|
||||
<runtime-relative-path>ext/mail-1.4.3.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/mail-1.4.3.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/guava-18.0.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/guava-18.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/imageio-tga-3.2.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/imageio-tga-3.2.jar</binary-origin>
|
||||
@ -851,6 +847,10 @@
|
||||
<runtime-relative-path>ext/slf4j-simple-1.6.1.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/slf4j-simple-1.6.1.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/guava-19.0.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/guava-19.0.jar</binary-origin>
|
||||
</class-path-extension>
|
||||
<class-path-extension>
|
||||
<runtime-relative-path>ext/imageio-bmp-3.2.jar</runtime-relative-path>
|
||||
<binary-origin>release/modules/ext/imageio-bmp-3.2.jar</binary-origin>
|
||||
|
@ -250,11 +250,12 @@ class QueryResults {
|
||||
|
||||
//list
|
||||
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_SET_NAME.getTypeID());
|
||||
detailsSb.append("<tr>"); //NON-NLS
|
||||
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.listThLbl"));
|
||||
detailsSb.append("<td>").append(attr.getValueString()).append("</td>"); //NON-NLS
|
||||
detailsSb.append("</tr>"); //NON-NLS
|
||||
|
||||
if (attr != null) {
|
||||
detailsSb.append("<tr>"); //NON-NLS
|
||||
detailsSb.append(NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.listThLbl"));
|
||||
detailsSb.append("<td>").append(attr.getValueString()).append("</td>"); //NON-NLS
|
||||
detailsSb.append("</tr>"); //NON-NLS
|
||||
}
|
||||
//regex
|
||||
if (!keywordSearchQuery.isLiteral()) {
|
||||
attr = written.getAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_KEYWORD_REGEXP.getTypeID());
|
||||
|
@ -209,7 +209,11 @@ final class TermsComponentQuery implements KeywordSearchQuery {
|
||||
//if we couldn't parse the CCN abort this artifact
|
||||
final BlackboardAttribute ccnAttribute = parsedTrackAttributeMap.get(new BlackboardAttribute.Type(ATTRIBUTE_TYPE.TSK_CARD_NUMBER));
|
||||
if (ccnAttribute == null || StringUtils.isBlank(ccnAttribute.getValueString())) {
|
||||
LOGGER.log(Level.SEVERE, "Failed to parse CCN from hit: " + hit.getSnippet());
|
||||
if (hit.isArtifactHit()) {
|
||||
LOGGER.log(Level.SEVERE, String.format("Failed to parse credit card account number for artifact keyword hit: term = %s, snippet = '%s', artifact id = %d", termHit, hit.getSnippet(), hit.getArtifact().getArtifactID()));
|
||||
} else {
|
||||
LOGGER.log(Level.SEVERE, String.format("Failed to parse credit card account number for content keyword hit: term = %s, snippet = '%s', object id = %d", termHit, hit.getSnippet(), hit.getContent().getId()));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user