From f57eefed1527184927feab7d8873b55075f8b25b Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Thu, 14 Sep 2023 14:20:27 -0400 Subject: [PATCH] updates --- .../ctcloud/Bundle.properties-MERGED | 2 +- .../ctcloud/CTMalwareScannerOptionsPanel.form | 24 ++-- .../ctcloud/CTMalwareScannerOptionsPanel.java | 115 ++++++++---------- .../CTIncidentImportOptionsPanel.form | 15 ++- .../CTIncidentImportOptionsPanel.java | 5 +- .../malwarescan/MalwareScanIngestModule.java | 20 +-- 6 files changed, 84 insertions(+), 97 deletions(-) diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties-MERGED b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties-MERGED index d41692d048..537ca234f9 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties-MERGED +++ b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties-MERGED @@ -28,7 +28,7 @@ CTMalwareScannerOptionsPanel_licenseAddDialog_desc=License Number: CTMalwareScannerOptionsPanel_licenseAddDialog_title=Add a License... CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_desc=The license number has already been entered CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_title=License Number Already Entered -CTMalwareScannerOptionsPanel_licenseAddDialogPatternErr_desc=Please verify that license number is of format 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' +CTMalwareScannerOptionsPanel_licenseAddDialogPatternErr_desc=Please verify that license number is of format 'AUT-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' CTMalwareScannerOptionsPanel_licenseAddDialogPatternErr_title=Invalid License Number CTMalwareScannerOptionsPanel_LicenseFetcher_apiErr_title=Server Error # {0} - licenseCode diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.form b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.form index 7c229dd137..0d292c57ef 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.form +++ b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.form @@ -109,7 +109,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -168,7 +168,7 @@ - + @@ -180,7 +180,7 @@ - + @@ -192,7 +192,7 @@ - + @@ -204,7 +204,7 @@ - + @@ -216,7 +216,7 @@ - + @@ -228,7 +228,7 @@ - + @@ -240,7 +240,7 @@ - + @@ -252,7 +252,7 @@ - + @@ -264,7 +264,7 @@ - + @@ -279,7 +279,7 @@ - + diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.java b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.java index 3cbad65a18..e3fc7c358c 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.java +++ b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTMalwareScannerOptionsPanel.java @@ -40,7 +40,6 @@ import java.util.Optional; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.logging.Level; -import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import javax.swing.SwingWorker; import org.apache.commons.lang3.StringUtils; @@ -139,7 +138,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { this.purchaseLink.setVisible(false); } else { this.purchaseFromLabel.setVisible(true); - this.purchaseLink.setVisible(true); + this.purchaseLink.setVisible(true); } } @@ -161,7 +160,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { private synchronized LicenseResponse getLicenseInfo() { return this.licenseInfo == null ? null : this.licenseInfo.getLicenseResponse(); - } + } private synchronized void setLicenseDisplay(LicenseInfo licenseInfo, String licenseMessage) { this.licenseInfo = licenseInfo; @@ -222,6 +221,12 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { this.authTokenFetcher.execute(); } + private static String htmlWrap(String msg) { + return msg == null + ? null + : "" + msg + ""; + } + /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always @@ -293,7 +298,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { buttonSpacer.setPreferredSize(new java.awt.Dimension(5, 0)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 1; + gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; @@ -331,7 +336,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; - gridBagConstraints.gridy = 1; + gridBagConstraints.gridy = 2; gridBagConstraints.gridheight = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; licenseInfoPanel.add(buttonPanel, gridBagConstraints); @@ -339,7 +344,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(licenseInfoExpiresLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.licenseInfoExpiresLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 2; + gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); @@ -348,7 +353,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(licenseInfoIdLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.licenseInfoIdLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; - gridBagConstraints.gridy = 2; + gridBagConstraints.gridy = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); @@ -357,7 +362,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(licenseInfoUserLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.licenseInfoUserLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 3; + gridBagConstraints.gridy = 4; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; @@ -367,7 +372,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(malwareScansMessageLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.malwareScansMessageLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 4; + gridBagConstraints.gridy = 5; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; @@ -377,7 +382,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(maxHashLookupsLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.maxHashLookupsLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 5; + gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); @@ -386,7 +391,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(hashLookupsRemainingLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.hashLookupsRemainingLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; - gridBagConstraints.gridy = 5; + gridBagConstraints.gridy = 6; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); @@ -395,7 +400,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(maxFileUploadsLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.maxFileUploadsLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 6; + gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); @@ -404,7 +409,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(fileUploadsRemainingLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.fileUploadsRemainingLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; - gridBagConstraints.gridy = 6; + gridBagConstraints.gridy = 7; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 5, 5, 5); @@ -413,7 +418,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(countersResetLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.countersResetLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 7; + gridBagConstraints.gridy = 8; gridBagConstraints.gridwidth = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; @@ -424,11 +429,12 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { org.openide.awt.Mnemonics.setLocalizedText(licenseErrorLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.licenseErrorLabel.text")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 8; + gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); licenseInfoPanel.add(licenseErrorLabel, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); @@ -484,7 +490,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { "CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_title=License Number Already Entered", "CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_desc=The license number has already been entered", "CTMalwareScannerOptionsPanel_licenseAddDialogPatternErr_title=Invalid License Number", - "CTMalwareScannerOptionsPanel_licenseAddDialogPatternErr_desc=Please verify that license number is of format 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'"}) + "CTMalwareScannerOptionsPanel_licenseAddDialogPatternErr_desc=Please verify that license number is of format 'AUT-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'"}) private void licenseInfoAddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_licenseInfoAddButtonActionPerformed CTLicenseDialog licenseDialog = new CTLicenseDialog(WindowManager.getDefault().getMainWindow(), true); licenseDialog.setLocationRelativeTo(this); @@ -498,11 +504,7 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { } } - JOptionPane.showMessageDialog( - this, - Bundle.CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_desc(), - Bundle.CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_title(), - JOptionPane.INFORMATION_MESSAGE); + setMalwareScansDisplay(null, null, htmlWrap(Bundle.CTMalwareScannerOptionsPanel_licenseAddDialogEnteredErr_desc())); } }//GEN-LAST:event_licenseInfoAddButtonActionPerformed @@ -540,22 +542,22 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { private synchronized void renderLicenseState() { this.licenseInfoAddButton.setEnabled(!isLicenseAddRunning()); this.licenseInfoRemoveButton.setEnabled(this.licenseInfo != null && !isLicenseAddRunning()); - + this.licenseInfoMessageLabel.setVisible(StringUtils.isNotBlank(this.licenseInfoMessage)); this.licenseInfoMessageLabel.setText(this.licenseInfoMessage); this.licenseErrorLabel.setVisible(StringUtils.isNotBlank(this.authTokenError)); this.licenseErrorLabel.setText(this.authTokenError); - + if (licenseInfo == null) { this.licenseInfoExpiresLabel.setVisible(false); this.licenseInfoIdLabel.setVisible(false); this.licenseInfoUserLabel.setVisible(false); this.purchaseFromLabel.setVisible(true); - this.purchaseLink.setVisible(true); + this.purchaseLink.setVisible(true); } else { this.purchaseFromLabel.setVisible(false); - this.purchaseLink.setVisible(false); + this.purchaseLink.setVisible(false); this.licenseInfoExpiresLabel.setVisible(true); this.licenseInfoExpiresLabel.setText(Bundle.CTMalwareScannerOptionsPanel_licenseInfo_expires( @@ -658,16 +660,12 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { this.licenseInfo = LicenseDecryptorUtil.getInstance().createLicenseInfo(licenseResponse); this.firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null); } - } catch (IOException | InvalidLicenseException ex) { - logger.log(Level.WARNING, "An error occurred while fetching data", ex); - JOptionPane.showMessageDialog( - CTMalwareScannerOptionsPanel.this, - Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_desc(), - Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_title(), - JOptionPane.ERROR_MESSAGE); - } finally { setLicenseDisplay(this.licenseInfo, null); loadMalwareScansInfo(this.licenseInfo); + } catch (IOException | InvalidLicenseException ex) { + logger.log(Level.WARNING, "An error occurred while fetching data", ex); + setLicenseDisplay(this.licenseInfo, null); + setMalwareScansDisplay(null, null, htmlWrap(Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_desc())); } } @@ -700,16 +698,11 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { // if no result, show unauthorized if (licenseResponse == null) { logger.log(Level.WARNING, "An API error occurred while fetching license information. License fetch returned no result."); - JOptionPane.showMessageDialog( - CTMalwareScannerOptionsPanel.this, - CTCloudException.ErrorCode.UN_AUTHORIZED.getDescription(), - Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_apiErr_title(), - JOptionPane.ERROR_MESSAGE); - setLicenseDisplay(licenseInfo, null); - loadMalwareScansInfo(licenseInfo); + setLicenseDisplay(null, null); + setMalwareScansDisplay(null, null, htmlWrap(CTCloudException.ErrorCode.UN_AUTHORIZED.getDescription())); return; } - + // if not successful response if (!Boolean.TRUE.equals(licenseResponse.isSuccess())) { logger.log(Level.WARNING, "An API error occurred while fetching license information. License fetch was not successful"); @@ -718,41 +711,29 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { if (!StringUtils.isBlank(licenseResponse.getErrorMsg())) { message = licenseResponse.getErrorMsg(); } - JOptionPane.showMessageDialog( - CTMalwareScannerOptionsPanel.this, - message, - Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_apiErr_title(), - JOptionPane.ERROR_MESSAGE); - setLicenseDisplay(licenseInfo, null); - loadMalwareScansInfo(licenseInfo); + setLicenseDisplay(null, null); + setMalwareScansDisplay(null, null, htmlWrap(message)); return; } - + // otherwise, load SwingUtilities.invokeLater(() -> acceptEula(licenseResponse)); - + } catch (InterruptedException | CancellationException ex) { // ignore cancellation; just load current license setLicenseDisplay(licenseInfo, null); loadMalwareScansInfo(licenseInfo); } catch (ExecutionException ex) { + String errMessage; if (ex.getCause() != null && ex.getCause() instanceof CTCloudException cloudEx) { logger.log(Level.WARNING, "An API error occurred while fetching license information", cloudEx); - JOptionPane.showMessageDialog( - CTMalwareScannerOptionsPanel.this, - cloudEx.getErrorCode().getDescription(), - Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_apiErr_title(), - JOptionPane.ERROR_MESSAGE); + errMessage = cloudEx.getErrorCode().getDescription(); } else { logger.log(Level.WARNING, "An error occurred while fetching data", ex); - JOptionPane.showMessageDialog( - CTMalwareScannerOptionsPanel.this, - Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_desc(), - Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_title(), - JOptionPane.ERROR_MESSAGE); + errMessage = Bundle.CTMalwareScannerOptionsPanel_LicenseFetcher_localErr_desc(); } - setLicenseDisplay(licenseInfo, null); - loadMalwareScansInfo(licenseInfo); + setLicenseDisplay(null, null); + setMalwareScansDisplay(null, null, htmlWrap(errMessage)); } finally { synchronized (CTMalwareScannerOptionsPanel.this) { CTMalwareScannerOptionsPanel.this.licenseFetcher = null; @@ -778,8 +759,8 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { if (this.isCancelled()) { return null; } - - return ctApiDAO.getAuthToken(decryptedLicense); + + return ctApiDAO.getAuthToken(decryptedLicense); } @Override @@ -793,16 +774,16 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { } catch (ExecutionException ex) { if (ex.getCause() != null && ex.getCause() instanceof CTCloudException cloudEx) { logger.log(Level.WARNING, "An API error occurred while fetching malware scans information for license", cloudEx); - authTokenError = "" + cloudEx.getErrorDetails() + ""; + authTokenError = cloudEx.getErrorDetails(); } else { logger.log(Level.WARNING, "An error occurred while fetching data", ex); - authTokenError = "" + Bundle.CTMalwareScannerOptionsPanel_MalwareScansFetcher_localErr_desc() + ""; + authTokenError = Bundle.CTMalwareScannerOptionsPanel_MalwareScansFetcher_localErr_desc(); } } finally { synchronized (CTMalwareScannerOptionsPanel.this) { CTMalwareScannerOptionsPanel.this.authTokenFetcher = null; if (!this.isCancelled()) { - setMalwareScansDisplay(authTokenResponse, null, authTokenError); + setMalwareScansDisplay(authTokenResponse, null, htmlWrap(authTokenError)); } } } diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.form b/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.form index 549502e0da..eb0385de70 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.form +++ b/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.form @@ -12,8 +12,11 @@ + + + - + @@ -26,7 +29,7 @@ - + @@ -142,6 +145,14 @@ + + + + + + + + diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.java b/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.java index ddda4e9078..31151c41bc 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.java +++ b/Core/src/com/basistech/df/cybertriage/autopsy/incidentoptions/CTIncidentImportOptionsPanel.java @@ -162,7 +162,8 @@ public class CTIncidentImportOptionsPanel extends CTOptionsSubPanel { setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CTIncidentImportOptionsPanel.class, "CTIncidentImportOptionsPanel.border.title_1"))); // NOI18N setMaximumSize(new java.awt.Dimension(650, 2147483647)); - setPreferredSize(new java.awt.Dimension(650, 176)); + setMinimumSize(new java.awt.Dimension(650, 206)); + setPreferredSize(new java.awt.Dimension(650, 206)); setLayout(new java.awt.GridBagLayout()); incidentTextPanel.setLayout(new java.awt.GridBagLayout()); @@ -240,6 +241,8 @@ public class CTIncidentImportOptionsPanel extends CTOptionsSubPanel { gridBagConstraints.weightx = 1.0; add(instructionsPanel, gridBagConstraints); + repoPanel.setMaximumSize(new java.awt.Dimension(650, 2147483647)); + repoPanel.setPreferredSize(new java.awt.Dimension(650, 75)); repoPanel.setLayout(new java.awt.GridBagLayout()); org.openide.awt.Mnemonics.setLocalizedText(fileRepoPathLabel, org.openide.util.NbBundle.getMessage(CTIncidentImportOptionsPanel.class, "CTIncidentImportOptionsPanel.fileRepoPathLabel.text")); // NOI18N diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/malwarescan/MalwareScanIngestModule.java b/Core/src/com/basistech/df/cybertriage/autopsy/malwarescan/MalwareScanIngestModule.java index 4971d1b94e..c0e62f0fc0 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/malwarescan/MalwareScanIngestModule.java +++ b/Core/src/com/basistech/df/cybertriage/autopsy/malwarescan/MalwareScanIngestModule.java @@ -175,15 +175,12 @@ class MalwareScanIngestModule implements FileIngestModule { ingestJobState = getNewJobState(context, uploadFiles); } catch (CTCloudException cloudEx) { ingestJobState = IngestJobState.DISABLED; - if (cloudEx.getErrorCode() == CTCloudException.ErrorCode.INVALID_KEY) { - notifyWarning( - Bundle.MalwareScanIngestModule_ShareProcessing_startup_invalidLicenseWarning_title(), - Bundle.MalwareScanIngestModule_ShareProcessing_startup_invalidLicenseWarning_desc(), - cloudEx); - } else { - logger.log(Level.WARNING, "An error occurred while starting the MalwareScanIngestModule.", cloudEx); - } + logger.log(Level.WARNING, "An error occurred while starting the MalwareScanIngestModule.", cloudEx); throw new IngestModuleException(cloudEx.getErrorDetails(), cloudEx); + } catch (IllegalStateException stateEx) { + ingestJobState = IngestJobState.DISABLED; + logger.log(Level.WARNING, "An error occurred while starting the MalwareScanIngestModule.", stateEx); + throw new IngestModuleException(stateEx.getMessage(), stateEx); } catch (Exception ex) { ingestJobState = IngestJobState.DISABLED; logger.log(Level.WARNING, "An error occurred while starting the MalwareScanIngestModule.", ex); @@ -203,12 +200,7 @@ class MalwareScanIngestModule implements FileIngestModule { // get saved license Optional licenseInfoOpt = ctSettingsPersistence.loadLicenseInfo(); if (licenseInfoOpt.isEmpty() || licenseInfoOpt.get().getDecryptedLicense() == null) { - notifyWarning( - Bundle.MalwareScanIngestModule_ShareProcessing_noLicense_title(), - Bundle.MalwareScanIngestModule_ShareProcessing_noLicense_desc(), - null); - - return IngestJobState.DISABLED; + throw new IllegalStateException(Bundle.MalwareScanIngestModule_ShareProcessing_noLicense_desc()); } AuthTokenResponse authTokenResponse = ctApiDAO.getAuthToken(licenseInfoOpt.get().getDecryptedLicense());