Skip to content

Commit

Permalink
Merge branch 'release' into pre_release
Browse files Browse the repository at this point in the history
# Conflicts:
#	extension/build.gradle
#	extension/src/main/java/synfron/reshaper/burp/ui/models/rules/wizard/vars/VariableTagWizardModel.java
  • Loading branch information
ddwightx committed Nov 10, 2024
2 parents a36eeb5 + a1be6b2 commit 0354503
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 11 deletions.
2 changes: 1 addition & 1 deletion extension/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {

group 'com.synfron.reshaper.burp'
archivesBaseName = 'reshaper-for-burp'
version '2.5.3-pre'
version '2.5.3'

targetCompatibility = '21'
sourceCompatibility = '21'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import synfron.reshaper.burp.core.events.PropertyChangedEvent;
import synfron.reshaper.burp.core.vars.GetListItemPlacement;
import synfron.reshaper.burp.core.vars.VariableSourceEntry;
import synfron.reshaper.burp.core.vars.VariableString;
Expand All @@ -18,16 +17,14 @@ public abstract class CustomListVariableTagWizardModel extends CustomVariableTag
@Getter
private String index;

@Getter
private final PropertyChangedEvent propertyChangedEvent = new PropertyChangedEvent();

public CustomListVariableTagWizardModel(List<VariableSourceEntry> entries) {
super(entries);
}

public void setItemPlacement(GetListItemPlacement itemPlacement) {
this.itemPlacement = itemPlacement;
propertyChanged("itemPlacement", itemPlacement);
propertyChanged("fieldsSize", true);
}

public void setIndex(String index) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import synfron.reshaper.burp.core.events.IEventListener;
import synfron.reshaper.burp.core.events.PropertyChangedArgs;
import synfron.reshaper.burp.core.events.PropertyChangedEvent;
import synfron.reshaper.burp.core.vars.VariableSource;
Expand Down Expand Up @@ -31,6 +32,11 @@ protected void propertyChanged(String name, Object value) {
propertyChangedEvent.invoke(new PropertyChangedArgs(this, name, value));
}

public CustomVariableTagWizardModel withListener(IEventListener<PropertyChangedArgs> listener) {
getPropertyChangedEvent().add(listener);
return this;
}

public void setVariableName(String variableName) {
this.variableName = variableName;
propertyChanged("variableName", variableName);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package synfron.reshaper.burp.ui.models.rules.wizard.vars;

import lombok.Getter;
import synfron.reshaper.burp.core.events.IEventListener;
import synfron.reshaper.burp.core.events.PropertyChangedArgs;
import synfron.reshaper.burp.core.events.PropertyChangedEvent;
import synfron.reshaper.burp.core.rules.thens.entities.generate.GenerateOption;
import synfron.reshaper.burp.core.vars.VariableSource;
import synfron.reshaper.burp.ui.models.rules.wizard.vars.generator.*;

import javax.swing.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -41,17 +43,24 @@ public void setGenerateOption(GenerateOption generateOption) {
this.generateOption = generateOption;
propertyChanged("generateOption", generateOption);
setGenerator(generatorMap.computeIfAbsent(this.generateOption, this::constructGeneratorModel));
propertyChanged("fieldsSize", true);
}

public void setGenerator(GeneratorVariableModel<?> generator) {
this.generator = generator;
propertyChanged("generator", generator);
SwingUtilities.invokeLater(() -> propertyChanged("fieldsSize", true));
}

private void propertyChanged(String name, Object value) {
propertyChangedEvent.invoke(new PropertyChangedArgs(this, name, value));
}

public GeneratorVariableTagWizardModel withListener(IEventListener<PropertyChangedArgs> listener) {
getPropertyChangedEvent().add(listener);
return this;
}

@Override
public List<String> validate() {
return generator.validate();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import synfron.reshaper.burp.core.events.IEventListener;
import synfron.reshaper.burp.core.events.PropertyChangedArgs;
import synfron.reshaper.burp.core.events.PropertyChangedEvent;
import synfron.reshaper.burp.core.messages.MessageValue;
Expand Down Expand Up @@ -30,6 +31,11 @@ private void propertyChanged(String name, Object value) {
propertyChangedEvent.invoke(new PropertyChangedArgs(this, name, value));
}

public MacroVariableTagWizardModel withListener(IEventListener<PropertyChangedArgs> listener) {
getPropertyChangedEvent().add(listener);
return this;
}

public void setMacroItemNumber(String macroItemNumber) {
this.macroItemNumber = macroItemNumber;
propertyChanged("macroItemNumber", macroItemNumber);
Expand All @@ -38,6 +44,7 @@ public void setMacroItemNumber(String macroItemNumber) {
public void setMessageValue(MessageValue messageValue) {
this.messageValue = messageValue;
propertyChanged("messageValue", messageValue);
propertyChanged("fieldsSize", true);
}

public void setIdentifier(String identifier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import synfron.reshaper.burp.core.events.IEventListener;
import synfron.reshaper.burp.core.events.PropertyChangedArgs;
import synfron.reshaper.burp.core.events.PropertyChangedEvent;
import synfron.reshaper.burp.core.messages.MessageValue;
Expand All @@ -26,9 +27,15 @@ private void propertyChanged(String name, Object value) {
propertyChangedEvent.invoke(new PropertyChangedArgs(this, name, value));
}

public MessageVariableTagWizardModel withListener(IEventListener<PropertyChangedArgs> listener) {
getPropertyChangedEvent().add(listener);
return this;
}

public void setMessageValue(MessageValue messageValue) {
this.messageValue = messageValue;
propertyChanged("messageValue", messageValue);
propertyChanged("fieldsSize", true);
}

public void setIdentifier(String identifier) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public class VariableTagWizardModel implements IVariableTagWizardModel, IPrompte
private boolean invalidated = true;
@Getter
private boolean dismissed;
private final IEventListener<PropertyChangedArgs> modelPropertyChangedListener = this::onChildModelPropertyChanged;

public VariableTagWizardModel() {
List<VariableSourceEntry> variableSourceEntries = VariableCreatorRegistry.getVariableEntries();
Expand All @@ -37,21 +38,27 @@ public VariableTagWizardModel() {
Map.entry(VariableSource.Event, new EventVariableTagWizardModel(variableSourceEntries)),
Map.entry(VariableSource.Global, new GlobalVariableTagWizardModel(variableSourceEntries)),
Map.entry(VariableSource.Session, new SessionVariableTagWizardModel(variableSourceEntries)),
Map.entry(VariableSource.EventList, new EventListVariableTagWizardModel(variableSourceEntries)),
Map.entry(VariableSource.GlobalList, new GlobalListVariableTagWizardModel(variableSourceEntries)),
Map.entry(VariableSource.SessionList, new SessionListVariableTagWizardModel(variableSourceEntries)),
Map.entry(VariableSource.Message, new MessageVariableTagWizardModel()),
Map.entry(VariableSource.Macro, new MacroVariableTagWizardModel()),
Map.entry(VariableSource.EventList, new EventListVariableTagWizardModel(variableSourceEntries).withListener(modelPropertyChangedListener)),
Map.entry(VariableSource.GlobalList, new GlobalListVariableTagWizardModel(variableSourceEntries).withListener(modelPropertyChangedListener)),
Map.entry(VariableSource.SessionList, new SessionListVariableTagWizardModel(variableSourceEntries).withListener(modelPropertyChangedListener)),
Map.entry(VariableSource.Message, new MessageVariableTagWizardModel().withListener(modelPropertyChangedListener)),
Map.entry(VariableSource.Macro, new MacroVariableTagWizardModel().withListener(modelPropertyChangedListener)),
Map.entry(VariableSource.File, new FileVariableTagWizardModel()),
Map.entry(VariableSource.Special, new SpecialVariableTagWizardModel()),
Map.entry(VariableSource.CookieJar, new CookieJarVariableTagWizardModel()),
Map.entry(VariableSource.Annotation, new AnnotationVariableTagWizardModel()),
Map.entry(VariableSource.Generator, new GeneratorVariableTagWizardModel())
Map.entry(VariableSource.Generator, new GeneratorVariableTagWizardModel().withListener(modelPropertyChangedListener))
);

tagModel = tagModelMap.get(variableSource);
}

private void onChildModelPropertyChanged(PropertyChangedArgs propertyChangedArgs) {
if (propertyChangedArgs.getName().equals("fieldsSize")) {
propertyChanged(propertyChangedArgs.getName(), propertyChangedArgs.getValue());
}
}

public VariableTagWizardModel withListener(IEventListener<PropertyChangedArgs> listener) {
getPropertyChangedEvent().add(listener);
return this;
Expand Down

0 comments on commit 0354503

Please sign in to comment.