Solar Designer

Results 1106 comments of Solar Designer

So _somehow_ `rules_process_stack_all` depended on this check against last word, which `rules_apply` no longer has. We should remove this dependency. @magnumripper I'm very tired now and I think stacked rules...

Thank you! I'm sorry I didn't test this feature before merging - I should have, as it was obviously touched by the changes.

This almost works: ```diff +++ b/src/rules.c @@ -1863,9 +1863,11 @@ char *rules_process_stack_all(char *key, rule_stack *ctx) rules_stacked_after = 0; while (ctx->rule) { - if ((word = rules_apply(key, ctx->rule->data, -1))) + char...

This may actually be correct (passes my test): ```diff +++ b/src/rules.c @@ -1852,25 +1852,19 @@ char *rules_process_stack_all(char *key, rule_stack *ctx) { char *word; - if (!ctx->rule) { + if (!ctx->rule...

Also seem to have found a bug we had before, where single mode would log stacked rule number 1 twice. Fix: ```diff +++ b/src/rules.c @@ -1831,9 +1831,9 @@ char *rules_process_stack(char...

> I came up with this This is certainly a less invasive change. If it works, let's get it in first, and then think of my code cleanup ideas. Thank...

> Also seem to have found a bug we had before, where single mode would log stacked rule number 1 twice. Fixing this may expose something else, as `single.c` looks...

> `single.c` looks at the stacked rule number in a few places. So please review that first. At least `restore_rule_number` would need to be consistent with that fix.

> This may actually be correct (passes my test): It did pass my test as posted in here, but it failed with actual stacking on top of normal rules. So...

This passes my current tests: ```diff diff --git a/src/cracker.c b/src/cracker.c index da2c9fc5c..a7db9c7f0 100644 --- a/src/cracker.c +++ b/src/cracker.c @@ -1234,6 +1234,7 @@ static int process_key_stack_rules(char *key) int ret = 0; char...