added flag

This commit is contained in:
n1073645 2019-12-03 11:51:05 +00:00
parent 34faeca7ba
commit 19aa4effaf
3 changed files with 47 additions and 9 deletions

View file

@ -264,16 +264,47 @@ class Magic {
if (_buffersEqual(output, new ArrayBuffer())) {
return;
}
if (flag) {
switch (flag) {
case "Input":
const outputRegexes = OperationConfig[op.op].outputRegexes;
if (outputRegexes)
for (const pattern of outputRegexes)
if (!(new RegExp(pattern.match, pattern.flags).test(Utils.arrayBufferToStr(output)))) {
if (pattern.shouldMatch)
return;
} else {
if (!pattern.shouldMatch)
return;
}
break;
case "Output":
if(!(new RegExp(op.match, op.flags).test(Utils.arrayBufferToStr(output)))){
if (shouldMatch)
return;
} else {
if (!shouldMatch)
return;
}
break;
default:
console.log("This is borked");
}
/* if (flag) {
const outputRegexes = OperationConfig[op.op].outputRegexes;
if (outputRegexes)
for (const pattern of outputRegexes)
if (!(new RegExp(pattern.match, pattern.flags).test(Utils.arrayBufferToStr(output))))
return;
if (!(new RegExp(pattern.match, pattern.flags).test(Utils.arrayBufferToStr(output)))) {
if (pattern.shouldMatch)
return;
} else {
if (!pattern.shouldMatch)
return;
}
} else {
if(!(new RegExp(op.match, op.flags).test(Utils.arrayBufferToStr(output))))
return;
}
} */
const magic = new Magic(output, this.opPatterns),
speculativeResults = await magic.speculativeExecution(
depth-1, extLang, intensive, [...recipeConfig, opConfig], op.useful, crib);
@ -318,8 +349,8 @@ class Magic {
});
const prevOp = recipeConfig[recipeConfig.length - 1];
results = results.concat(await this.regexesTests(1, matchingOps, prevOp, depth, extLang, intensive, recipeConfig, crib));
results = results.concat(await this.regexesTests(0, this.opPatterns.getOutputRegexes(), prevOp, depth, extLang, intensive, recipeConfig, crib));
results = results.concat(await this.regexesTests("Input", matchingOps, prevOp, depth, extLang, intensive, recipeConfig, crib));
results = results.concat(await this.regexesTests("Output", this.opPatterns.getOutputRegexes(), prevOp, depth, extLang, intensive, recipeConfig, crib));
// console.log("haha", results);
if (intensive) {

View file

@ -5,6 +5,7 @@
*/
import Operation from "../Operation.mjs";
import magicObject from "../lib/MagicObject.mjs";
/**
@ -25,7 +26,13 @@ class DefangIPAddresses extends Operation {
this.inputType = "string";
this.outputType = "string";
this.args = [];
this.checks = new magicObject([
{
match: "^\\s*(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-f]{4}:){7}[0-9a-f]{4})\\s*$",
flags: "i",
args: [],
}
]);
}
/**

View file

@ -32,14 +32,14 @@ class URLDecode extends Operation {
args: [],
}
],
[
/*[
{
match: "^(?:(http(s)?|ftp):\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$",
flags: "i",
shouldMatch: true,
args: []
}
]
]*/
);
}