From 74265307fe3b6a8220546428050dc2a9a0e4a065 Mon Sep 17 00:00:00 2001 From: jsteube Date: Sat, 12 Jan 2019 00:39:13 +0100 Subject: [PATCH] Automate module interface version management --- include/interface.h | 2 +- include/types.h | 2 +- modules/module_00000.c | 4 +--- modules/module_00010.c | 4 +--- modules/module_00011.c | 4 +--- modules/module_00100.c | 4 +--- modules/module_00101.c | 4 +--- modules/module_00200.c | 4 +--- modules/module_00300.c | 4 +--- modules/module_00900.c | 4 +--- modules/module_01000.c | 4 +--- modules/module_01300.c | 4 +--- modules/module_01400.c | 4 +--- modules/module_01700.c | 4 +--- modules/module_02400.c | 4 +--- modules/module_10800.c | 4 +--- src/Makefile | 8 +++++++- src/interface.c | 4 ++-- 18 files changed, 25 insertions(+), 47 deletions(-) diff --git a/include/interface.h b/include/interface.h index aa9f77f10..f0412bafd 100644 --- a/include/interface.h +++ b/include/interface.h @@ -13,7 +13,7 @@ #include #include -static const u32 MODULE_VERSION_MINIMUM = 520; +static const int MODULE_INTERFACE_VERSION_MINIMUM = 520; static const int MODULE_HASH_MODES_MAXIMUM = 100000; diff --git a/include/types.h b/include/types.h index ae3f1c354..ffd8ef2f1 100644 --- a/include/types.h +++ b/include/types.h @@ -2248,7 +2248,7 @@ typedef struct event_ctx typedef struct module_ctx { void *module_handle; - u32 module_version_current; + int module_interface_version; void (*module_init) (struct module_ctx *); diff --git a/modules/module_00000.c b/modules/module_00000.c index 6713e1645..98bcf626a 100644 --- a/modules/module_00000.c +++ b/modules/module_00000.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 0; static const u32 DGST_POS1 = 3; @@ -148,6 +146,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -173,6 +172,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_00010.c b/modules/module_00010.c index 6199b22a6..1231a8c03 100644 --- a/modules/module_00010.c +++ b/modules/module_00010.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 0; static const u32 DGST_POS1 = 3; @@ -178,6 +176,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -203,6 +202,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_00011.c b/modules/module_00011.c index 76cc87e11..8f79036bc 100644 --- a/modules/module_00011.c +++ b/modules/module_00011.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 0; static const u32 DGST_POS1 = 3; @@ -178,6 +176,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -203,6 +202,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_00100.c b/modules/module_00100.c index 26f2bc41a..7568d8501 100644 --- a/modules/module_00100.c +++ b/modules/module_00100.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 3; static const u32 DGST_POS1 = 4; @@ -150,6 +148,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -174,6 +173,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_00101.c b/modules/module_00101.c index 8afc7d892..5810383d8 100644 --- a/modules/module_00101.c +++ b/modules/module_00101.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 3; static const u32 DGST_POS1 = 4; @@ -156,6 +154,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -180,6 +179,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_00200.c b/modules/module_00200.c index 45f0edecc..6c7983e0c 100644 --- a/modules/module_00200.c +++ b/modules/module_00200.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 0; static const u32 DGST_POS1 = 1; @@ -136,6 +134,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -161,6 +160,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_00300.c b/modules/module_00300.c index 375d00584..1c626d542 100644 --- a/modules/module_00300.c +++ b/modules/module_00300.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 3; static const u32 DGST_POS1 = 4; @@ -149,6 +147,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -173,6 +172,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_00900.c b/modules/module_00900.c index a5d389fff..4adcfd827 100644 --- a/modules/module_00900.c +++ b/modules/module_00900.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 0; static const u32 DGST_POS1 = 3; @@ -148,6 +146,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -173,6 +172,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_01000.c b/modules/module_01000.c index 1d0b30e3f..928ee2caa 100644 --- a/modules/module_01000.c +++ b/modules/module_01000.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 0; static const u32 DGST_POS1 = 3; @@ -151,6 +149,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -176,6 +175,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_01300.c b/modules/module_01300.c index 7c8c9d5e7..fa509ea30 100644 --- a/modules/module_01300.c +++ b/modules/module_01300.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 3; static const u32 DGST_POS1 = 5; @@ -156,6 +154,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -180,6 +179,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_01400.c b/modules/module_01400.c index 237da5eed..5e3eecbfc 100644 --- a/modules/module_01400.c +++ b/modules/module_01400.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 3; static const u32 DGST_POS1 = 7; @@ -159,6 +157,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -183,6 +182,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_01700.c b/modules/module_01700.c index 4efc8d927..01d1c7ad7 100644 --- a/modules/module_01700.c +++ b/modules/module_01700.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 14; static const u32 DGST_POS1 = 15; @@ -160,6 +158,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -184,6 +183,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_02400.c b/modules/module_02400.c index 9b7930193..1ce781e1d 100644 --- a/modules/module_02400.c +++ b/modules/module_02400.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 0; static const u32 DGST_POS1 = 3; @@ -174,6 +172,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -199,6 +198,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/modules/module_10800.c b/modules/module_10800.c index ef4284f11..6647f7d53 100644 --- a/modules/module_10800.c +++ b/modules/module_10800.c @@ -10,8 +10,6 @@ #include "convert.h" #include "shared.h" -static const u32 MODULE_VERSION_CURRENT = 520; - static const u32 ATTACK_EXEC = ATTACK_EXEC_INSIDE_KERNEL; static const u32 DGST_POS0 = 6; static const u32 DGST_POS1 = 7; @@ -158,6 +156,7 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_hook23 = MODULE_DEFAULT; module_ctx->module_hook_salt_size = MODULE_DEFAULT; module_ctx->module_hook_size = MODULE_DEFAULT; + module_ctx->module_interface_version = MODULE_INTERFACE_VERSION_CURRENT; module_ctx->module_jit_build_options = MODULE_DEFAULT; module_ctx->module_kernel_accel_max = MODULE_DEFAULT; module_ctx->module_kernel_accel_min = MODULE_DEFAULT; @@ -182,6 +181,5 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_pass = MODULE_DEFAULT; module_ctx->module_tmp_size = MODULE_DEFAULT; module_ctx->module_unstable_warning = MODULE_DEFAULT; - module_ctx->module_version_current = MODULE_VERSION_CURRENT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/Makefile b/src/Makefile index 348c1bacf..7232e57a8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -44,6 +44,12 @@ ifneq ($(findstring clean,$(MAKECMDGOALS)),) MAKEFLAGS += -j 1 endif +## +## Do not modify +## + +MODULE_INTERFACE_VERSION := 520 + ## ## Native compiler paths ## @@ -554,7 +560,7 @@ MODULES_SRC := $(wildcard modules/*.c) MODULES_LIB := $(patsubst %.c, %.so, $(MODULES_SRC)) modules/module_%.so: modules/module_%.c - $(CC) $(CFLAGS_NATIVE) $< -o $@ -shared -fPIC $(MODULE_DEPEND) + $(CC) $(CFLAGS_NATIVE) $< -o $@ -shared -fPIC $(MODULE_DEPEND) -D MODULE_INTERFACE_VERSION_CURRENT=$(MODULE_INTERFACE_VERSION) modules: $(MODULES_LIB) diff --git a/src/interface.c b/src/interface.c index ccb910f82..00b8d853a 100644 --- a/src/interface.c +++ b/src/interface.c @@ -751,9 +751,9 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx) module_ctx->module_init (module_ctx); - if (module_ctx->module_version_current < MODULE_VERSION_MINIMUM) + if (module_ctx->module_interface_version < MODULE_INTERFACE_VERSION_MINIMUM) { - event_log_error (hashcat_ctx, "module version current (%u) older than minimum (%u)", module_ctx->module_version_current, MODULE_VERSION_MINIMUM); + event_log_error (hashcat_ctx, "module version current (%u) older than minimum (%u)", module_ctx->module_interface_version, MODULE_INTERFACE_VERSION_MINIMUM); return -1; }