From feeb44882b8ab9249491b01d357404c3ad241839 Mon Sep 17 00:00:00 2001 From: philsmd Date: Mon, 7 Dec 2015 23:51:51 +0100 Subject: [PATCH] allow both enabling and disabling of restore point update (implemented with issue #10) --- src/oclHashcat.c | 1 - src/shared.c | 26 ++++++++++++++++++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/oclHashcat.c b/src/oclHashcat.c index 1856ebc..1d93dc8 100644 --- a/src/oclHashcat.c +++ b/src/oclHashcat.c @@ -17512,7 +17512,6 @@ int main (int argc, char **argv) hc_thread_wait (devices_cnt, c_threads); - local_free (c_threads); data.restore = 0; diff --git a/src/shared.c b/src/shared.c index e8eb2b2..48a1f1d 100644 --- a/src/shared.c +++ b/src/shared.c @@ -8364,11 +8364,23 @@ void bypass () void stop_at_checkpoint () { - if (data.devices_status != STATUS_RUNNING) return; + if (data.devices_status != STATUS_STOP_AT_CHECKPOINT) + { + if (data.devices_status != STATUS_RUNNING) return; + } // this feature only makes sense if --restore-disable was not specified - if (data.restore_disable == 0) + if (data.restore_disable == 1) + { + log_info ("WARNING: this feature is disabled when --restore-disable was specified"); + + return; + } + + // check if monitoring of Restore Point updates should be enabled or disabled + + if (data.devices_status != STATUS_STOP_AT_CHECKPOINT) { data.devices_status = STATUS_STOP_AT_CHECKPOINT; @@ -8376,11 +8388,17 @@ void stop_at_checkpoint () data.checkpoint_cur_words = get_lowest_words_done (); - log_info ("Checkpoint enabled, will quit when Restore Point updates next time"); + log_info ("Checkpoint enabled: will quit at next Restore Point update"); } else { - log_info ("WARNING: this feature is disabled when --restore-disable was specified"); + data.devices_status = STATUS_RUNNING; + + // reset the global value for checkpoint checks + + data.checkpoint_cur_words = 0; + + log_info ("Checkpoint disabled: Restore Point updates will no longer be monitored"); } } -- 2.25.1