diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties index 3b48b0ea4ecc9ecabb6a98d4ff0319c4f668e395..3c86b5446dc4c97322b2d9a9847caa1694de8bba 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties +++ b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties @@ -22,8 +22,6 @@ CTMalwareScannerOptionsPanel.licenseInfoUserLabel.text= EULADialog.cancelButton.text=Cancel EULADialog.acceptButton.text=Accept EULADialog.title=Cyber Triage End User License Agreement -CTMalwareScannerOptionsPanel.fileUploadCheckbox.text=Upload file if hash lookup produces no results -CTMalwareScannerOptionsPanel.fileUploadPanel.border.title=File Upload CTMalwareScannerOptionsPanel.licenseInfoMessageLabel.text= CTMalwareScannerOptionsPanel.disclaimer.text=<html>The Cyber Triage Malware Scanner module uses 40+ malware scanning engines to identify if Windows executables are malicious. It requires a paid subscription to use.</html> CTMalwareScannerOptionsPanel.purchaseFromLabel.text=For licensing information, visit 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 d3922b3c09ae3568c0545720cfeb05b0662320e6..0e888c7facf1375c12a0f927e486e3b38032b34b 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 @@ -60,8 +60,6 @@ CTOPtionsPanel_loadMalwareScansInfo_loading=Loading... EULADialog.cancelButton.text=Cancel EULADialog.acceptButton.text=Accept EULADialog.title=Cyber Triage End User License Agreement -CTMalwareScannerOptionsPanel.fileUploadCheckbox.text=Upload file if hash lookup produces no results -CTMalwareScannerOptionsPanel.fileUploadPanel.border.title=File Upload CTMalwareScannerOptionsPanel.licenseInfoMessageLabel.text= CTMalwareScannerOptionsPanel.disclaimer.text=<html>The Cyber Triage Malware Scanner module uses 40+ malware scanning engines to identify if Windows executables are malicious. It requires a paid subscription to use.</html> CTMalwareScannerOptionsPanel.purchaseFromLabel.text=For licensing information, visit diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTLicensePersistence.java b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTLicensePersistence.java index 717c4f4321348b6cb7a55c98dcb0245a7bddc95a..43e34a8d2a22238f90545e79db8081e788b9a7ea 100644 --- a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTLicensePersistence.java +++ b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/CTLicensePersistence.java @@ -91,39 +91,6 @@ public synchronized Optional<LicenseInfo> loadLicenseInfo() { }); } - public synchronized boolean saveMalwareSettings(MalwareIngestSettings malwareIngestSettings) { - if (malwareIngestSettings != null) { - File settingsFile = getMalwareIngestFile(); - try { - settingsFile.getParentFile().mkdirs(); - objectMapper.writeValue(settingsFile, malwareIngestSettings); - return true; - } catch (IOException ex) { - logger.log(Level.WARNING, "There was an error writing malware ingest settings to file: " + settingsFile.getAbsolutePath(), ex); - } - } - - return false; - } - - public synchronized MalwareIngestSettings loadMalwareIngestSettings() { - MalwareIngestSettings settings = null; - File settingsFile = getMalwareIngestFile(); - if (settingsFile.exists() && settingsFile.isFile()) { - try { - settings = objectMapper.readValue(settingsFile, MalwareIngestSettings.class); - } catch (IOException ex) { - logger.log(Level.WARNING, "There was an error reading malware ingest settings from file: " + settingsFile.getAbsolutePath(), ex); - } - } - - if (settings == null) { - settings = new MalwareIngestSettings(); - } - - return settings; - } - private File getCTLicenseFile() { return Paths.get(PlatformUtil.getModuleConfigDirectory(), CT_SETTINGS_DIR, CT_LICENSE_FILENAME).toFile(); } 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 e9886eadf2d766b814030073159482cd44000941..012ff3486c96ce2cd2f2d345feb81c90ba8f021e 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 @@ -16,12 +16,12 @@ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/> <SubComponents> - <Container class="javax.swing.JPanel" name="fileUploadPanel"> + <Container class="javax.swing.JPanel" name="licenseInfoPanel"> <Properties> <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo"> - <TitledBorder title="File Upload"> - <ResourceString PropertyName="titleX" bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="CTMalwareScannerOptionsPanel.fileUploadPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> + <TitledBorder title="<CTMalwareScannerOptionsPanel.licenseInfoPanel.border.title>"> + <ResourceString PropertyName="titleX" bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="CTMalwareScannerOptionsPanel.licenseInfoPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> </TitledBorder> </Border> </Property> @@ -90,7 +90,7 @@ </Constraint> </Constraints> </Component> - <Container class="javax.swing.JPanel" name="licenseInfoPanel"> + <Container class="javax.swing.JPanel" name="licenseInfoPanel1"> <AuxValues> <AuxValue name="JavaCodeGenerator_VariableLocal" type="java.lang.Boolean" value="true"/> <AuxValue name="JavaCodeGenerator_VariableModifier" type="java.lang.Integer" value="0"/> @@ -103,7 +103,7 @@ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/> <SubComponents> - <Component class="javax.swing.JLabel" name="licenseInfoMessageLabel"> + <Component class="javax.swing.JLabel" name="licenseInfoMessageLabel1"> <Properties> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="CTMalwareScannerOptionsPanel.licenseInfoMessageLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -115,7 +115,7 @@ </Constraint> </Constraints> </Component> - <Component class="javax.swing.JLabel" name="licenseInfoExpiresLabel"> + <Component class="javax.swing.JLabel" name="licenseInfoExpiresLabel1"> <Properties> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="CTMalwareScannerOptionsPanel.licenseInfoExpiresLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -127,7 +127,7 @@ </Constraint> </Constraints> </Component> - <Component class="javax.swing.JLabel" name="licenseInfoIdLabel"> + <Component class="javax.swing.JLabel" name="licenseInfoIdLabel1"> <Properties> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="CTMalwareScannerOptionsPanel.licenseInfoIdLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -139,7 +139,7 @@ </Constraint> </Constraints> </Component> - <Component class="javax.swing.JLabel" name="licenseInfoUserLabel"> + <Component class="javax.swing.JLabel" name="licenseInfoUserLabel1"> <Properties> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="CTMalwareScannerOptionsPanel.licenseInfoUserLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> @@ -151,7 +151,7 @@ </Constraint> </Constraints> </Component> - <Component class="javax.swing.JButton" name="licenseInfoAddButton"> + <Component class="javax.swing.JButton" name="licenseInfoAddButton1"> <Properties> <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor"> <ResourceString bundle="com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/Bundle.properties" key="CTMalwareScannerOptionsPanel.licenseInfoAddButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/> 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 cfc9057aa6267808975f34c3e18f523ae10746de..96732b1d3120b289acdb534b6d0357395d4b15de 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 @@ -88,8 +88,6 @@ public class CTMalwareScannerOptionsPanel extends CTOptionsSubPanel { public CTMalwareScannerOptionsPanel() { initComponents(); - this.fileUploadPanel.setVisible(false); - this.addComponentListener(new ComponentAdapter() { @Override public void componentHidden(ComponentEvent e) { @@ -121,7 +119,6 @@ public void componentShown(ComponentEvent e) { @Override public synchronized void saveSettings() { ctPersistence.saveLicenseResponse(getLicenseInfo()); - ctPersistence.saveMalwareSettings(getIngestSettings()); } @Override @@ -138,9 +135,6 @@ public synchronized void loadSettings() { if (licenseInfo != null) { loadMalwareScansInfo(licenseInfo); } - - MalwareIngestSettings ingestSettings = ctPersistence.loadMalwareIngestSettings(); - setIngestSettings(ingestSettings); } private static String getHtmlLink(String url) { @@ -161,19 +155,7 @@ private void gotoLink(String url) { private synchronized LicenseResponse getLicenseInfo() { return this.licenseInfo == null ? null : this.licenseInfo.getLicenseResponse(); - } - - private MalwareIngestSettings getIngestSettings() { - return new MalwareIngestSettings() - .setUploadFiles(this.fileUploadCheckbox.isSelected()); - } - - private void setIngestSettings(MalwareIngestSettings ingestSettings) { - if (ingestSettings == null) { - ingestSettings = new MalwareIngestSettings(); - } - this.fileUploadCheckbox.setSelected(ingestSettings.isUploadFiles()); - } + } private synchronized void setLicenseDisplay(LicenseInfo licenseInfo, String licenseMessage) { this.licenseInfo = licenseInfo; @@ -243,8 +225,6 @@ private synchronized void loadMalwareScansInfo(LicenseInfo licenseInfo) { private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; - fileUploadPanel = new javax.swing.JPanel(); - fileUploadCheckbox = new javax.swing.JCheckBox(); malwareScansPanel = new javax.swing.JPanel(); javax.swing.JLabel disclaimer = new javax.swing.JLabel(); javax.swing.JPanel licenseInfoPanel = new javax.swing.JPanel(); @@ -266,35 +246,6 @@ private void initComponents() { setLayout(new java.awt.GridBagLayout()); - fileUploadPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.fileUploadPanel.border.title"))); // NOI18N - fileUploadPanel.setLayout(new java.awt.GridBagLayout()); - - fileUploadCheckbox.setSelected(true); - org.openide.awt.Mnemonics.setLocalizedText(fileUploadCheckbox, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.fileUploadCheckbox.text")); // NOI18N - fileUploadCheckbox.setMaximumSize(new java.awt.Dimension(32767, 20)); - fileUploadCheckbox.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - fileUploadCheckboxActionPerformed(evt); - } - }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 0; - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.weightx = 1.0; - gridBagConstraints.weighty = 1.0; - gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); - fileUploadPanel.add(fileUploadCheckbox, gridBagConstraints); - - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 0; - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.weightx = 1.0; - add(fileUploadPanel, gridBagConstraints); - malwareScansPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.malwareScansPanel.border.title"))); // NOI18N malwareScansPanel.setLayout(new java.awt.GridBagLayout()); @@ -309,6 +260,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5); malwareScansPanel.add(disclaimer, gridBagConstraints); + licenseInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.licenseInfoPanel.border.title"))); // NOI18N licenseInfoPanel.setLayout(new java.awt.GridBagLayout()); org.openide.awt.Mnemonics.setLocalizedText(licenseInfoMessageLabel, org.openide.util.NbBundle.getMessage(CTMalwareScannerOptionsPanel.class, "CTMalwareScannerOptionsPanel.licenseInfoMessageLabel.text")); // NOI18N @@ -507,10 +459,6 @@ private void licenseInfoAddButtonActionPerformed(java.awt.event.ActionEvent evt) } }//GEN-LAST:event_licenseInfoAddButtonActionPerformed - private void fileUploadCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fileUploadCheckboxActionPerformed - this.firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null); - }//GEN-LAST:event_fileUploadCheckboxActionPerformed - private void purchaseLinkMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_purchaseLinkMouseClicked gotoLink(PURCHASE_URL); }//GEN-LAST:event_purchaseLinkMouseClicked @@ -730,15 +678,12 @@ public AuthTokenFetcher(DecryptedLicenseResponse decryptedLicense) { } @Override - protected AuthTokenResponse doInBackground() throws Exception, CTCloudException { + protected AuthTokenResponse doInBackground() throws Exception { if (this.isCancelled()) { return null; } - try { - return ctApiDAO.getAuthToken(decryptedLicense); - } catch (CTCloudException ex) { - return null; - } + + return ctApiDAO.getAuthToken(decryptedLicense); } @Override diff --git a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/MalwareIngestSettings.java b/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/MalwareIngestSettings.java deleted file mode 100644 index 11e671d56106a92b37696b0caefc1f89770092d8..0000000000000000000000000000000000000000 --- a/Core/src/com/basistech/df/cybertriage/autopsy/ctoptions/ctcloud/MalwareIngestSettings.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Autopsy Forensic Browser - * - * Copyright 2023 Basis Technology Corp. - * Contact: carrier <at> sleuthkit <dot> org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.basistech.df.cybertriage.autopsy.ctoptions.ctcloud; - -/** - * Settings for the malware ingest module. - */ -public class MalwareIngestSettings { - - private boolean uploadFiles = true; - - public boolean isUploadFiles() { - return uploadFiles; - } - - public MalwareIngestSettings setUploadFiles(boolean uploadFiles) { - this.uploadFiles = uploadFiles; - return this; - } - -}