mirror of
https://github.com/angryip/ipscan.git
synced 2025-10-26 11:18:17 +00:00
#236 de-escape configured text to send
This commit is contained in:
parent
8b169bc91a
commit
d40dc2d78d
@ -16,7 +16,6 @@ import javax.inject.Inject;
|
||||
* @author Anton Keks
|
||||
*/
|
||||
public class HTTPSenderFetcher extends PortTextFetcher {
|
||||
|
||||
@Inject public HTTPSenderFetcher(ScannerConfig scannerConfig) {
|
||||
super(scannerConfig, 80, "HEAD / HTTP/1.0\r\n\r\n", "Date: (.*)$");
|
||||
}
|
||||
@ -24,5 +23,4 @@ public class HTTPSenderFetcher extends PortTextFetcher {
|
||||
public String getId() {
|
||||
return "fetcher.httpSender";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -43,10 +43,10 @@ public abstract class PortTextFetcher extends AbstractFetcher {
|
||||
protected Pattern matchingRegexp;
|
||||
protected int extractGroup;
|
||||
|
||||
public PortTextFetcher(ScannerConfig scannerConfig, int defaultPort, String textToSend, String matchingRegexp) {
|
||||
public PortTextFetcher(ScannerConfig scannerConfig, int defaultPort, String defaultTextToSend, String matchingRegexp) {
|
||||
this.scannerConfig = scannerConfig;
|
||||
this.defaultPort = defaultPort;
|
||||
this.textToSend = getPreferences().get("textToSend", textToSend);
|
||||
this.textToSend = getPreferences().get("textToSend", defaultTextToSend);
|
||||
this.matchingRegexp = Pattern.compile(getPreferences().get("matchingRegexp", matchingRegexp));
|
||||
this.extractGroup = getPreferences().getInt("extractGroup", 1);
|
||||
}
|
||||
|
||||
@ -28,7 +28,6 @@ import static java.lang.Integer.parseInt;
|
||||
* @author Anton Keks
|
||||
*/
|
||||
public class PortTextFetcherPrefs extends AbstractModalDialog implements FetcherPrefs {
|
||||
|
||||
private PortTextFetcher fetcher;
|
||||
private Text textToSend;
|
||||
private Text matchingRegexp;
|
||||
@ -59,7 +58,7 @@ public class PortTextFetcherPrefs extends AbstractModalDialog implements Fetcher
|
||||
sendLabel.setText(Labels.getLabel("text.fetcher.portText.send"));
|
||||
sendLabel.setLayoutData(LayoutHelper.formData(new FormAttachment(0), null, null, new FormAttachment(predefinedCombo, 0, SWT.BOTTOM)));
|
||||
textToSend = new Text(shell, SWT.BORDER);
|
||||
textToSend.setText(stringToText(fetcher.getTextToSend()));
|
||||
textToSend.setText(toEditableText(fetcher.getTextToSend()));
|
||||
textToSend.setLayoutData(LayoutHelper.formData(new FormAttachment(0), new FormAttachment(100), new FormAttachment(sendLabel), null));
|
||||
|
||||
Label matchLabel = new Label(shell, SWT.NONE);
|
||||
@ -102,8 +101,9 @@ public class PortTextFetcherPrefs extends AbstractModalDialog implements Fetcher
|
||||
void savePreferences() {
|
||||
Preferences prefs = fetcher.getPreferences();
|
||||
|
||||
fetcher.setTextToSend(textToSend.getText());
|
||||
prefs.put("textToSend", fetcher.getTextToSend());
|
||||
String text = toRealText(textToSend.getText());
|
||||
fetcher.setTextToSend(text);
|
||||
prefs.put("textToSend", text);
|
||||
|
||||
fetcher.setMatchingRegexp(Pattern.compile(matchingRegexp.getText()));
|
||||
prefs.put("matchingRegexp", fetcher.getMatchingRegexp().pattern());
|
||||
@ -112,18 +112,11 @@ public class PortTextFetcherPrefs extends AbstractModalDialog implements Fetcher
|
||||
prefs.putInt("extractGroup", fetcher.getExtractGroup());
|
||||
}
|
||||
|
||||
private String stringToText(String s) {
|
||||
StringBuilder t = new StringBuilder();
|
||||
for (char c : s.toCharArray()) {
|
||||
if (c == '\n')
|
||||
t.append("\\n");
|
||||
else if (c == '\r')
|
||||
t.append("\\r");
|
||||
else if (c == '\t')
|
||||
t.append("\\t");
|
||||
else
|
||||
t.append(c);
|
||||
}
|
||||
return t.toString();
|
||||
private String toEditableText(String s) {
|
||||
return s.replace("\n", "\\n").replace("\r", "\\r").replace("\t", "\\t");
|
||||
}
|
||||
|
||||
private String toRealText(String s) {
|
||||
return s.replace("\\n", "\n").replace("\\r", "\r").replace("\\t", "\t");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user