Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove checking for Burp capabilities. #72

Merged
merged 1 commit into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions src/main/java/Extension.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import bcheck.BCheckImporter;
import bcheck.BCheckImporterFactory;
import burp.Burp;
import bcheck.BCheckImporter.DefaultBCheckImporter;
import burp.api.montoya.BurpExtension;
import burp.api.montoya.MontoyaApi;
import burp.api.montoya.persistence.Persistence;
Expand Down Expand Up @@ -32,8 +31,7 @@ public void initialize(MontoyaApi api) {
SettingsController settingsController = new SettingsController(persistence.preferences());
Logger logger = new Logger(api.logging(), settingsController.debugSettings());

Burp burp = new Burp(api.burpSuite().version());
Repository repository = RepositoryFacadeFactory.from(logger, api.http(), settingsController, burp);
Repository repository = RepositoryFacadeFactory.from(logger, api.http(), settingsController);
CloseablePooledExecutor executor = new CloseablePooledExecutor();

IconFactory iconFactory = new IconFactory(api.userInterface());
Expand All @@ -42,7 +40,7 @@ public void initialize(MontoyaApi api) {

AtomicReference<StorefrontModel> modelReference = new AtomicReference<>();
StorefrontModel lateInitializationStorefrontModel = new LateInitializationStorefrontModel(modelReference::get);
BCheckImporter bCheckImporter = BCheckImporterFactory.from(api, burp, logger);
BCheckImporter bCheckImporter = new DefaultBCheckImporter(api.scanner().bChecks(), logger);

StoreController storeController = new StoreController(
lateInitializationStorefrontModel,
Expand All @@ -60,7 +58,6 @@ public void initialize(MontoyaApi api) {
Storefront storefront = new Storefront(
storeController,
storefrontModel,
burp,
settingsController.defaultSaveLocationSettings(),
executor,
iconFactory,
Expand Down
6 changes: 0 additions & 6 deletions src/main/java/bcheck/BCheckImporter.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@
public interface BCheckImporter {
void importBCheck(BCheck bCheck);

class NullBCheckImporter implements BCheckImporter {
@Override
public void importBCheck(BCheck bCheck) {
}
}

class DefaultBCheckImporter implements BCheckImporter {
private final BChecks bChecks;
private final Logger logger;
Expand Down
17 changes: 0 additions & 17 deletions src/main/java/bcheck/BCheckImporterFactory.java

This file was deleted.

26 changes: 0 additions & 26 deletions src/main/java/burp/Burp.java

This file was deleted.

10 changes: 2 additions & 8 deletions src/main/java/network/RequestSender.java
Original file line number Diff line number Diff line change
@@ -1,27 +1,23 @@
package network;

import burp.Burp;
import burp.api.montoya.http.Http;
import burp.api.montoya.http.message.requests.HttpRequest;
import burp.api.montoya.http.message.responses.HttpResponse;
import logging.Logger;

import java.util.Map;

import static burp.Burp.Capability.TLS_VERIFICATION;
import static burp.api.montoya.http.RequestOptions.requestOptions;
import static burp.api.montoya.http.message.StatusCodeClass.*;
import static burp.api.montoya.http.message.requests.HttpRequest.httpRequestFromUrl;

public class RequestSender {
private final Http http;
private final Logger logger;
private final Burp burp;

public RequestSender(Http http, Logger logger, Burp burp) {
public RequestSender(Http http, Logger logger) {
this.http = http;
this.logger = logger;
this.burp = burp;
}

public HttpResponse sendRequest(String url, Map<String, String> headers) {
Expand All @@ -33,9 +29,7 @@ public HttpResponse sendRequest(String url, Map<String, String> headers) {

logger.logDebug("Requesting " + url);

HttpResponse response = burp.hasCapability(TLS_VERIFICATION)
? http.sendRequest(request, requestOptions().withUpstreamTLSVerification()).response()
: http.sendRequest(request).response();
HttpResponse response = http.sendRequest(request, requestOptions().withUpstreamTLSVerification()).response();

if (response.isStatusCodeClass(CLASS_4XX_CLIENT_ERRORS) || response.isStatusCodeClass(CLASS_5XX_SERVER_ERRORS)) {
String responseBody = response.bodyToString();
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/repository/RepositoryFacadeFactory.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package repository;

import bcheck.BCheckFactory;
import burp.Burp;
import burp.api.montoya.http.Http;
import client.GitHubClient;
import file.finder.BCheckFileFinder;
Expand All @@ -13,8 +12,8 @@

public class RepositoryFacadeFactory {

public static Repository from(Logger logger, Http http, SettingsController settingsController, Burp burp) {
RequestSender requestSender = new RequestSender(http, logger, burp);
public static Repository from(Logger logger, Http http, SettingsController settingsController) {
RequestSender requestSender = new RequestSender(http, logger);
BCheckFactory bCheckFactory = new BCheckFactory(logger);
GitHubClient gitHubClient = new GitHubClient(requestSender);
TempFileCreator tempFileCreator = new TempFileCreator(logger);
Expand Down
14 changes: 4 additions & 10 deletions src/main/java/ui/view/pane/storefront/BCheckPopupMenu.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
package ui.view.pane.storefront;

import burp.Burp;

import javax.swing.*;

import static burp.Burp.Capability.BCHECK_IMPORT;

class BCheckPopupMenu extends JPopupMenu {

BCheckPopupMenu(ActionController actionController, Burp burp) {
if (burp.hasCapability(BCHECK_IMPORT)) {
JMenuItem importBCheckMenuItem = new JMenuItem("Import BCheck");
importBCheckMenuItem.addActionListener(l -> actionController.importSelectedBCheck());
add(importBCheckMenuItem);
}
BCheckPopupMenu(ActionController actionController) {
JMenuItem importBCheckMenuItem = new JMenuItem("Import BCheck");
importBCheckMenuItem.addActionListener(l -> actionController.importSelectedBCheck());
add(importBCheckMenuItem);

JMenuItem copyBCheckMenuItem = new JMenuItem("Copy BCheck");
copyBCheckMenuItem.addActionListener(l -> actionController.copySelectedBCheck());
Expand Down
13 changes: 3 additions & 10 deletions src/main/java/ui/view/pane/storefront/PreviewPanel.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package ui.view.pane.storefront;

import bcheck.BCheck;
import burp.Burp;
import ui.model.StorefrontModel;
import ui.view.pane.storefront.ActionCallbacks.ButtonTogglingActionCallbacks;

import javax.swing.*;
import java.awt.*;

import static burp.Burp.Capability.BCHECK_IMPORT;
import static java.awt.BorderLayout.CENTER;
import static java.awt.BorderLayout.SOUTH;
import static java.awt.FlowLayout.LEADING;
Expand All @@ -18,19 +16,17 @@
class PreviewPanel extends JPanel {
private final StorefrontModel model;
private final ActionController actionController;
private final Burp burp;
private final JLabel statusLabel;
private final JButton importButton;
private final JButton copyButton;
private final JButton saveButton;
private final JButton saveAllButton;

PreviewPanel(StorefrontModel storefrontModel, ActionController actionController, Burp burp) {
PreviewPanel(StorefrontModel storefrontModel, ActionController actionController) {
super(new BorderLayout());

this.model = storefrontModel;
this.actionController = actionController;
this.burp = burp;

this.statusLabel = new JLabel();
this.importButton = new JButton("Import");
Expand Down Expand Up @@ -77,7 +73,7 @@ private JTextArea buildCodePreview() {
codePreview.setEditable(false);
codePreview.setFont(monospacedFont);
codePreview.setWrapStyleWord(true);
codePreview.setComponentPopupMenu(new BCheckPopupMenu(actionController, burp));
codePreview.setComponentPopupMenu(new BCheckPopupMenu(actionController));

return codePreview;
}
Expand All @@ -90,10 +86,7 @@ private JComponent buildActionPanel() {
saveButton.addActionListener(e -> actionController.saveSelectedBCheck(new ButtonTogglingActionCallbacks(saveButton)));
saveAllButton.addActionListener(e -> actionController.saveAllVisibleBChecks(new ButtonTogglingActionCallbacks(saveAllButton)));

if (burp.hasCapability(BCHECK_IMPORT)) {
actionPanel.add(importButton);
}

actionPanel.add(importButton);
actionPanel.add(copyButton);
actionPanel.add(saveButton);
actionPanel.add(new JSeparator(VERTICAL));
Expand Down
5 changes: 1 addition & 4 deletions src/main/java/ui/view/pane/storefront/Storefront.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package ui.view.pane.storefront;

import burp.Burp;
import logging.Logger;
import settings.defaultsavelocation.DefaultSaveLocationSettingsReader;
import ui.controller.StoreController;
Expand All @@ -21,7 +20,6 @@
public class Storefront extends JPanel {
public Storefront(StoreController storeController,
StorefrontModel storefrontModel,
Burp burp,
DefaultSaveLocationSettingsReader saveLocationSettingsReader,
Executor executor,
IconFactory iconFactory,
Expand All @@ -37,13 +35,12 @@ public Storefront(StoreController storeController,
logger
);

JPanel previewPanel = new PreviewPanel(storefrontModel, actionController, burp);
JPanel previewPanel = new PreviewPanel(storefrontModel, actionController);

TablePanelController panelController = new DefaultTablePanelController(storeController);
JPanel tablePanel = new TablePanel(
panelController,
storefrontModel,
burp,
executor,
iconFactory,
actionController,
Expand Down
6 changes: 1 addition & 5 deletions src/main/java/ui/view/pane/storefront/TablePanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import bcheck.BCheck;
import bcheck.BCheck.Tags;
import burp.Burp;
import settings.tags.TagColors;
import ui.controller.TablePanelController;
import ui.icons.IconFactory;
Expand Down Expand Up @@ -32,7 +31,6 @@ class TablePanel extends JPanel {
private final JTable bCheckTable = new JTable();
private final BCheckTableModel tableModel = new BCheckTableModel();
private final JButton refreshButton = new JButton("Refresh");
private final Burp burp;
private final Executor executor;
private final JComponent searchBar;
private final StorefrontModel model;
Expand All @@ -41,15 +39,13 @@ class TablePanel extends JPanel {

TablePanel(TablePanelController panelController,
StorefrontModel storefrontModel,
Burp burp,
Executor executor,
IconFactory iconFactory,
ActionController actionController,
Supplier<Font> fontSupplier) {
super(new BorderLayout());

this.panelController = panelController;
this.burp = burp;
this.executor = executor;
this.model = storefrontModel;
this.actionController = actionController;
Expand Down Expand Up @@ -84,7 +80,7 @@ private void setupTablePanel() {
model.setSearchFilter("");
tableModel.setBChecks(model.getFilteredBChecks());

JPopupMenu popupMenu = new BCheckPopupMenu(actionController, burp);
JPopupMenu popupMenu = new BCheckPopupMenu(actionController);
popupMenu.addPopupMenuListener(new InertPopupMenuListener()
{
@Override
Expand Down
43 changes: 0 additions & 43 deletions src/test/java/burp/BurpTest.java

This file was deleted.

Loading