Skip to content

Commit

Permalink
messages are children of the main Burp Frame
Browse files Browse the repository at this point in the history
  • Loading branch information
fcavallarin committed Feb 20, 2023
1 parent 81b733b commit 9fb1b4d
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 31 deletions.
22 changes: 17 additions & 5 deletions lib/src/main/java/org/fcvl/domdig/burp/DomdigUI.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.fcvl.domdig.burp;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.Font;

Expand Down Expand Up @@ -62,7 +63,7 @@ private void startScan() {
DomdigEvents events = new DomdigEvents(){
@Override
public void onError(String message) {
JOptionPane.showMessageDialog(DomdigUI.this, message);
showAlert(message, true);
}
@Override
public void onStatusChange(String message) {
Expand All @@ -87,7 +88,7 @@ public void onScanCompleted(Boolean error) {
settingsPanel.setEnabledComponents(true);
targetUrlTextField.setEditable(true);
if(!error) {
JOptionPane.showMessageDialog(DomdigUI.this, "Scan finished with no errors");
showAlert("Scan finished with no errors", false);
// @TOOD switch to results Tab
}
}
Expand All @@ -104,8 +105,10 @@ public void onScanCompleted(Boolean error) {
}

public void stopScan() {
executor.requestStopScan();
btnToggleScan.setEnabled(false);
if(executor != null) {
executor.requestStopScan();
btnToggleScan.setEnabled(false);
}
}

public void saveState() {
Expand All @@ -126,6 +129,15 @@ public void loadState() {
//settingsPanel.checkScannerIsConfigured();
}

public void showAlert(String message, boolean isError) {
Component parent = burpApi != null ? burpApi.userInterface().swingUtils().suiteFrame() : DomdigUI.this;
if(isError) {
JOptionPane.showMessageDialog(parent, message, "Error", JOptionPane.ERROR_MESSAGE);
} else {
JOptionPane.showMessageDialog(parent, message);
}
}

public DomdigUI(MontoyaApi burpApi) {
this.burpApi = burpApi;
try{
Expand Down Expand Up @@ -227,7 +239,7 @@ public void run() {
vulnerabilitiesPanel = new VulnerabilitiesPanel();
vulnerabilitiesTab.add(vulnerabilitiesPanel);

settingsPanel = new SettingsPanel();
settingsPanel = new SettingsPanel(this);
scanTab.add(settingsPanel);
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
Expand Down
51 changes: 25 additions & 26 deletions lib/src/main/java/org/fcvl/domdig/burp/SettingsPanel.java
Original file line number Diff line number Diff line change
@@ -1,42 +1,40 @@
package org.fcvl.domdig.burp;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import java.awt.BorderLayout;
import java.awt.GridBagLayout;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.net.URI;
import java.util.ArrayList;

import javax.swing.border.TitledBorder;

import org.json.JSONObject;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFileChooser;

import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ActionEvent;
import javax.swing.JCheckBox;
import java.awt.GridLayout;
import javax.swing.JTextArea;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.SystemColor;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import java.awt.Font;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;

import org.json.JSONObject;

public class SettingsPanel extends JPanel {
private DomdigUI parent;
private JTextField nodePathTextField;
private JTextField domdigPathTextField;
private TableEditor cookiesEditor;
Expand Down Expand Up @@ -102,7 +100,7 @@ public DomdigExecutor getExecutor(String targetUrl) {
}

private void alertError(String message) {
JOptionPane.showMessageDialog(SettingsPanel.this, message, "Error", JOptionPane.ERROR_MESSAGE);
parent.showAlert(message, true);
}

public String getJson() {
Expand Down Expand Up @@ -193,7 +191,8 @@ public String selectFile(){
return null;
}

public SettingsPanel() {
public SettingsPanel(DomdigUI parent) {
this.parent = parent;
setLayout(new BorderLayout(0, 0));

mainGridScrollPane = new JScrollPane();
Expand Down

0 comments on commit 9fb1b4d

Please sign in to comment.