diff --git a/docs/license.txt b/docs/license.txt index 5a8e6bf7e..47c3bf70d 100644 --- a/docs/license.txt +++ b/docs/license.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015-2020 Jens Steube +Copyright (c) 2015-2021 Jens Steube Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/modules/module_01500.c b/src/modules/module_01500.c index 8373f2642..d7e5d5787 100644 --- a/src/modules/module_01500.c +++ b/src/modules/module_01500.c @@ -43,6 +43,17 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) { u8 *ptr_src = (u8 *) src_buf; @@ -333,6 +344,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_02100.c b/src/modules/module_02100.c index 371d4a14e..495f3239b 100644 --- a/src/modules/module_02100.c +++ b/src/modules/module_02100.c @@ -54,6 +54,17 @@ typedef struct dcc2_tmp static const char *SIGNATURE_DCC2 = "$DCC2$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): self-test failed. + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (dcc2_tmp_t); @@ -226,6 +237,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_03710.c b/src/modules/module_03710.c index 7c4c2d196..23c73e993 100644 --- a/src/modules/module_03710.c +++ b/src/modules/module_03710.c @@ -55,7 +55,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_03711.c b/src/modules/module_03711.c index cdaea0cd5..70a69e411 100644 --- a/src/modules/module_03711.c +++ b/src/modules/module_03711.c @@ -57,7 +57,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_04010.c b/src/modules/module_04010.c index 91c1f3832..008f7b5c1 100644 --- a/src/modules/module_04010.c +++ b/src/modules/module_04010.c @@ -55,7 +55,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: self-test failure. + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_04110.c b/src/modules/module_04110.c index 2f6f89855..43b48f0f4 100644 --- a/src/modules/module_04110.c +++ b/src/modules/module_04110.c @@ -53,7 +53,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: self-test failure. + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_04510.c b/src/modules/module_04510.c index f6047bc90..0e2440b1b 100644 --- a/src/modules/module_04510.c +++ b/src/modules/module_04510.c @@ -46,6 +46,17 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + return false; +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -230,6 +241,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_06231.c b/src/modules/module_06231.c index 05d0a85a2..417938189 100644 --- a/src/modules/module_06231.c +++ b/src/modules/module_06231.c @@ -70,6 +70,17 @@ typedef struct tc static const int ROUNDS_TRUECRYPT_1K = 1000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + bool module_potfile_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool potfile_disable = true; @@ -295,6 +306,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_06232.c b/src/modules/module_06232.c index d2c51802b..f3eeb93be 100644 --- a/src/modules/module_06232.c +++ b/src/modules/module_06232.c @@ -70,6 +70,17 @@ typedef struct tc static const int ROUNDS_TRUECRYPT_1K = 1000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + bool module_potfile_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool potfile_disable = true; @@ -295,6 +306,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_06233.c b/src/modules/module_06233.c index c75c66612..fb3bc153c 100644 --- a/src/modules/module_06233.c +++ b/src/modules/module_06233.c @@ -70,6 +70,17 @@ typedef struct tc static const int ROUNDS_TRUECRYPT_1K = 1000; static const float MIN_SUFFICIENT_ENTROPY_FILE = 7.0f; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + bool module_potfile_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool potfile_disable = true; @@ -295,6 +306,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_06500.c b/src/modules/module_06500.c index 3babe7584..4886afc1e 100644 --- a/src/modules/module_06500.c +++ b/src/modules/module_06500.c @@ -54,6 +54,17 @@ typedef struct sha512aix_tmp static const char *SIGNATURE_SHA512AIX = "{ssha512}"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + static void sha512aix_decode (u8 digest[64], const u8 buf[86]) { int l; @@ -410,17 +421,6 @@ static void sha512aix_encode (const u8 digest[64], u8 buf[86]) buf[85] = int_to_itoa64 (l & 0x3f); //l >>= 6; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) - { - return true; - } - - return false; -} - u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (sha512aix_tmp_t); diff --git a/src/modules/module_07100.c b/src/modules/module_07100.c index 6cd715cf3..0c4df6387 100644 --- a/src/modules/module_07100.c +++ b/src/modules/module_07100.c @@ -63,7 +63,7 @@ static const char *SIGNATURE_SHA512MACOS = "$ml$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_07200.c b/src/modules/module_07200.c index ed5d1d1d9..08856c5f8 100644 --- a/src/modules/module_07200.c +++ b/src/modules/module_07200.c @@ -62,7 +62,7 @@ static const char *SIGNATURE_SHA512GRUB = "grub.pbkdf2.sha512."; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_07500.c b/src/modules/module_07500.c index 540a1a101..49cf81081 100644 --- a/src/modules/module_07500.c +++ b/src/modules/module_07500.c @@ -91,15 +91,6 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-18.50-708488-ubuntu-18.04: Segmentation fault - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) - { - if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) - { - return true; - } - } - return false; } diff --git a/src/modules/module_07900.c b/src/modules/module_07900.c index 89424fa28..31b78a6ed 100644 --- a/src/modules/module_07900.c +++ b/src/modules/module_07900.c @@ -61,6 +61,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + return false; } diff --git a/src/modules/module_08000.c b/src/modules/module_08000.c index f897ddf14..65aa287f8 100644 --- a/src/modules/module_08000.c +++ b/src/modules/module_08000.c @@ -75,17 +75,6 @@ char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAY return jit_build_options; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // self-test failed - if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) - { - return true; - } - - return false; -} - int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -244,6 +233,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_08200.c b/src/modules/module_08200.c index 7116cb99d..c92e36120 100644 --- a/src/modules/module_08200.c +++ b/src/modules/module_08200.c @@ -60,7 +60,7 @@ typedef struct pbkdf2_sha512_tmp bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_08500.c b/src/modules/module_08500.c index 00243f12b..7b4518174 100644 --- a/src/modules/module_08500.c +++ b/src/modules/module_08500.c @@ -44,6 +44,17 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, static const char *SIGNATURE_RACF = "$racf$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -268,6 +279,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_08900.c b/src/modules/module_08900.c index 6e12db408..03de4b089 100644 --- a/src/modules/module_08900.c +++ b/src/modules/module_08900.c @@ -50,6 +50,23 @@ static const u64 SCRYPT_N = 16384; static const u64 SCRYPT_R = 8; static const u64 SCRYPT_P = 1; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + // w_opencl_runtime_p_2021.2.0.616.exe: password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) + { + return true; + } + + return false; +} + u32 module_kernel_loops_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_min = 1; @@ -414,6 +431,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = module_warmup_disable; } diff --git a/src/modules/module_09000.c b/src/modules/module_09000.c index e2ad66bc5..e747faaac 100644 --- a/src/modules/module_09000.c +++ b/src/modules/module_09000.c @@ -139,17 +139,6 @@ bool module_potfile_disable (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_ return potfile_disable; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-skylake: Segmentation fault - if (device_param->opencl_platform_vendor_id == VENDOR_ID_POCL) - { - return true; - } - - return false; -} - int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -257,6 +246,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_09300.c b/src/modules/module_09300.c index 19b3456aa..5ae4771f8 100644 --- a/src/modules/module_09300.c +++ b/src/modules/module_09300.c @@ -50,6 +50,17 @@ static const u64 SCRYPT_N = 16384; static const u64 SCRYPT_R = 1; static const u64 SCRYPT_P = 1; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 5 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + return false; +} + u32 module_kernel_loops_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u32 kernel_loops_min = 1; @@ -380,6 +391,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = module_warmup_disable; } diff --git a/src/modules/module_09500.c b/src/modules/module_09500.c index 1072db62e..88fca3aa8 100644 --- a/src/modules/module_09500.c +++ b/src/modules/module_09500.c @@ -68,6 +68,18 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + return false; } diff --git a/src/modules/module_09600.c b/src/modules/module_09600.c index ab8ad1cd3..f3e07641e 100644 --- a/src/modules/module_09600.c +++ b/src/modules/module_09600.c @@ -122,7 +122,13 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: self-test failure. + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_09800.c b/src/modules/module_09800.c index b45a2a0c0..18244b801 100644 --- a/src/modules/module_09800.c +++ b/src/modules/module_09800.c @@ -87,17 +87,6 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-skylake: Segmentation fault - if (device_param->opencl_platform_vendor_id == VENDOR_ID_POCL) - { - return true; - } - - return false; -} - int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -352,6 +341,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11300.c b/src/modules/module_11300.c index ed0f97c8f..f180cd088 100644 --- a/src/modules/module_11300.c +++ b/src/modules/module_11300.c @@ -67,7 +67,7 @@ static const char *SIGNATURE_BITCOIN_WALLET = "$bitcoin$"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_11700.c b/src/modules/module_11700.c index 416569b4b..fffbe2ddd 100644 --- a/src/modules/module_11700.c +++ b/src/modules/module_11700.c @@ -41,20 +41,6 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // amdgpu-pro-19.30-934563-ubuntu-18.04: CL_OUT_OF_RESOURCES - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) - { - if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) - { - return true; - } - } - - return false; -} - int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -191,6 +177,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_11750.c b/src/modules/module_11750.c index 2a817c785..5d962e3c1 100644 --- a/src/modules/module_11750.c +++ b/src/modules/module_11750.c @@ -52,7 +52,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_11760.c b/src/modules/module_11760.c index 238822153..7f19b43e0 100644 --- a/src/modules/module_11760.c +++ b/src/modules/module_11760.c @@ -52,7 +52,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_11850.c b/src/modules/module_11850.c index 184b98c1e..be61c1a3e 100644 --- a/src/modules/module_11850.c +++ b/src/modules/module_11850.c @@ -52,7 +52,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_11860.c b/src/modules/module_11860.c index f200d94b7..00e96aa6e 100644 --- a/src/modules/module_11860.c +++ b/src/modules/module_11860.c @@ -52,7 +52,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_12100.c b/src/modules/module_12100.c index 094af8a4a..84cd6a3e0 100644 --- a/src/modules/module_12100.c +++ b/src/modules/module_12100.c @@ -64,7 +64,7 @@ static const char *SIGNATURE_PBKDF2_SHA512 = "sha512"; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_12300.c b/src/modules/module_12300.c index b040aff61..ef55ac3cb 100644 --- a/src/modules/module_12300.c +++ b/src/modules/module_12300.c @@ -65,7 +65,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_12500.c b/src/modules/module_12500.c index 728b4ddbf..b421ab4b1 100644 --- a/src/modules/module_12500.c +++ b/src/modules/module_12500.c @@ -59,6 +59,17 @@ typedef struct rar3_tmp_optimized static const int ROUNDS_RAR3 = 262144; static const char *SIGNATURE_RAR3 = "$RAR3$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool optimized_kernel = (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL); @@ -276,6 +287,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_13100.c b/src/modules/module_13100.c index 741b06cb4..fad998501 100644 --- a/src/modules/module_13100.c +++ b/src/modules/module_13100.c @@ -84,15 +84,6 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: CL_OUT_OF_RESOURCES - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) - { - if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) - { - return true; - } - } - return false; } diff --git a/src/modules/module_14600.c b/src/modules/module_14600.c index 0ff26ac67..fe4e7eb88 100644 --- a/src/modules/module_14600.c +++ b/src/modules/module_14600.c @@ -179,6 +179,17 @@ typedef struct luks_tmp } luks_tmp_t; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + return false; +} + u32 module_kernel_threads_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { // the module requires a lot of registers for key schedulers on _comp kernel. @@ -676,6 +687,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_15300.c b/src/modules/module_15300.c index 5bf9ca0dc..42feb4686 100644 --- a/src/modules/module_15300.c +++ b/src/modules/module_15300.c @@ -75,6 +75,23 @@ typedef struct dpapimk_tmp_v1 static const char *SIGNATURE_DPAPIMK = "$DPAPImk$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): self-test failed. + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (dpapimk_tmp_v1_t); @@ -442,6 +459,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_15700.c b/src/modules/module_15700.c index 8616aa158..7ea3dffbb 100644 --- a/src/modules/module_15700.c +++ b/src/modules/module_15700.c @@ -223,6 +223,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } + // w_opencl_runtime_p_2021.2.0.616.exe: password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + return false; } diff --git a/src/modules/module_15900.c b/src/modules/module_15900.c index f00a99257..52341e6bc 100644 --- a/src/modules/module_15900.c +++ b/src/modules/module_15900.c @@ -87,6 +87,18 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + return false; } diff --git a/src/modules/module_16000.c b/src/modules/module_16000.c index bef431800..326258ae2 100644 --- a/src/modules/module_16000.c +++ b/src/modules/module_16000.c @@ -49,6 +49,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return true; } + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + return false; } diff --git a/src/modules/module_16600.c b/src/modules/module_16600.c index 5ddf79347..0a9853449 100644 --- a/src/modules/module_16600.c +++ b/src/modules/module_16600.c @@ -65,6 +65,18 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + return false; } diff --git a/src/modules/module_17200.c b/src/modules/module_17200.c index 71a6f8b59..6d87da526 100644 --- a/src/modules/module_17200.c +++ b/src/modules/module_17200.c @@ -170,12 +170,6 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return true; } - // hangs somewhere in zlib inflate - if (device_param->opencl_platform_vendor_id == VENDOR_ID_AMD) - { - return true; - } - return false; } diff --git a/src/modules/module_17220.c b/src/modules/module_17220.c index ccab3e096..9855a3ed6 100644 --- a/src/modules/module_17220.c +++ b/src/modules/module_17220.c @@ -170,12 +170,6 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return true; } - // hangs somewhere in zlib inflate - if (device_param->opencl_platform_vendor_id == VENDOR_ID_AMD) - { - return true; - } - return false; } diff --git a/src/modules/module_17225.c b/src/modules/module_17225.c index 5c0482394..36394ac0b 100644 --- a/src/modules/module_17225.c +++ b/src/modules/module_17225.c @@ -170,12 +170,6 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return true; } - // hangs somewhere in zlib inflate - if (device_param->opencl_platform_vendor_id == VENDOR_ID_AMD) - { - return true; - } - return false; } diff --git a/src/modules/module_18100.c b/src/modules/module_18100.c index 6aa672a38..4d1f5ca81 100644 --- a/src/modules/module_18100.c +++ b/src/modules/module_18100.c @@ -45,23 +45,9 @@ u32 module_salt_type (MAYBE_UNUSED const hashconfig_t *hashconfig, const char *module_st_hash (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_HASH; } const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { return ST_PASS; } -int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) -{ - return base32_encode (int_to_base32, (const u8 *) src_buf, src_len, (u8 *) dst_buf); -} - bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // AMD on Apple not affected - if (device_param->opencl_platform_vendor_id == VENDOR_ID_APPLE) - { - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->opencl_device_type & CL_DEVICE_TYPE_GPU)) - { - return false; - } - } - - // amdgpu-pro-18.50-708488-ubuntu-18.04: Segmentation fault + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; @@ -70,6 +56,11 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return false; } +int module_build_plain_postprocess (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const void *tmps, const u32 *src_buf, MAYBE_UNUSED const size_t src_sz, MAYBE_UNUSED const int src_len, u32 *dst_buf, MAYBE_UNUSED const size_t dst_sz) +{ + return base32_encode (int_to_base32, (const u8 *) src_buf, src_len, (u8 *) dst_buf); +} + int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; diff --git a/src/modules/module_18200.c b/src/modules/module_18200.c index 9dad5f075..7b789d635 100644 --- a/src/modules/module_18200.c +++ b/src/modules/module_18200.c @@ -109,15 +109,6 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: CL_OUT_OF_RESOURCES - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) - { - if ((hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL) == 0) - { - return true; - } - } - return false; } diff --git a/src/modules/module_18600.c b/src/modules/module_18600.c index 2ba5e6c7c..c24ea37fe 100644 --- a/src/modules/module_18600.c +++ b/src/modules/module_18600.c @@ -141,17 +141,6 @@ u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED con return pw_max; } -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // OpenCL 1.2 pocl HSTR: pthread-x86_64-pc-linux-gnu-skylake: self-test failed - if (device_param->opencl_platform_vendor_id == VENDOR_ID_POCL) - { - return true; - } - - return false; -} - int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED void *digest_buf, MAYBE_UNUSED salt_t *salt, MAYBE_UNUSED void *esalt_buf, MAYBE_UNUSED void *hook_salt_buf, MAYBE_UNUSED hashinfo_t *hash_info, const char *line_buf, MAYBE_UNUSED const int line_len) { u32 *digest = (u32 *) digest_buf; @@ -409,6 +398,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_19500.c b/src/modules/module_19500.c index e52e37e39..2a21d9fba 100644 --- a/src/modules/module_19500.c +++ b/src/modules/module_19500.c @@ -63,7 +63,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: self-test failure. + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_20011.c b/src/modules/module_20011.c index e2915892b..80a0fab08 100644 --- a/src/modules/module_20011.c +++ b/src/modules/module_20011.c @@ -74,7 +74,13 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): self-test failed. + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_20012.c b/src/modules/module_20012.c index 718faba29..a97a0bf57 100644 --- a/src/modules/module_20012.c +++ b/src/modules/module_20012.c @@ -74,7 +74,13 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): self-test failed. + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_20013.c b/src/modules/module_20013.c index 39037b5c1..3b72ebfcf 100644 --- a/src/modules/module_20013.c +++ b/src/modules/module_20013.c @@ -74,7 +74,13 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): self-test failed. + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_20200.c b/src/modules/module_20200.c index 5d3efc407..67299de8d 100644 --- a/src/modules/module_20200.c +++ b/src/modules/module_20200.c @@ -74,7 +74,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_21600.c b/src/modules/module_21600.c index d02a3ed06..1ea3e7769 100644 --- a/src/modules/module_21600.c +++ b/src/modules/module_21600.c @@ -66,6 +66,12 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + return false; } diff --git a/src/modules/module_21700.c b/src/modules/module_21700.c index 36638220b..e61b0b05c 100644 --- a/src/modules/module_21700.c +++ b/src/modules/module_21700.c @@ -103,8 +103,8 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // self-test failed - if (device_param->opencl_platform_vendor_id == VENDOR_ID_AMD) + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; } diff --git a/src/modules/module_21800.c b/src/modules/module_21800.c index 20c0e689c..ae0250125 100644 --- a/src/modules/module_21800.c +++ b/src/modules/module_21800.c @@ -102,8 +102,8 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // self-test failed - if (device_param->opencl_platform_vendor_id == VENDOR_ID_AMD) + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; } diff --git a/src/modules/module_22500.c b/src/modules/module_22500.c index 636512258..81429e134 100644 --- a/src/modules/module_22500.c +++ b/src/modules/module_22500.c @@ -42,6 +42,29 @@ const char *module_st_pass (MAYBE_UNUSED const hashconfig_t *hashconfig, static const char *SIGNATURE_MULTIBIT = "$multibit$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + u32 module_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const bool optimized_kernel = (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL); @@ -224,6 +247,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22700.c b/src/modules/module_22700.c index 683242115..8197410a2 100644 --- a/src/modules/module_22700.c +++ b/src/modules/module_22700.c @@ -59,6 +59,18 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE return true; } + // w_opencl_runtime_p_2021.2.0.616.exe: password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + return false; } diff --git a/src/modules/module_22911.c b/src/modules/module_22911.c index 26e11c5bd..e7971ac2e 100644 --- a/src/modules/module_22911.c +++ b/src/modules/module_22911.c @@ -52,6 +52,17 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -261,6 +272,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22921.c b/src/modules/module_22921.c index b6dc3c425..6239232e2 100644 --- a/src/modules/module_22921.c +++ b/src/modules/module_22921.c @@ -52,6 +52,17 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -261,6 +272,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22931.c b/src/modules/module_22931.c index bb6d1a641..0fd1d88e3 100644 --- a/src/modules/module_22931.c +++ b/src/modules/module_22931.c @@ -52,6 +52,17 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -265,6 +276,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22941.c b/src/modules/module_22941.c index 71743996c..d88a11d6f 100644 --- a/src/modules/module_22941.c +++ b/src/modules/module_22941.c @@ -52,6 +52,17 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -265,6 +276,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_22951.c b/src/modules/module_22951.c index 64e6a1fce..348fd4efd 100644 --- a/src/modules/module_22951.c +++ b/src/modules/module_22951.c @@ -52,6 +52,17 @@ typedef struct pem static const char *SIGNATURE_SSHNG = "$sshng$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (rocr): password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == true)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (pem_t); @@ -265,6 +276,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = MODULE_DEFAULT; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23100.c b/src/modules/module_23100.c index 046ce0412..ad2981537 100644 --- a/src/modules/module_23100.c +++ b/src/modules/module_23100.c @@ -62,6 +62,17 @@ typedef struct keychain static const char *SIGNATURE_KEYCHAIN = "$keychain$"; static const u32 ITERATION_KEYCHAIN = 1000; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: password not found + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (keychain_t); @@ -261,6 +272,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23300.c b/src/modules/module_23300.c index b5be729eb..8a4ccacab 100644 --- a/src/modules/module_23300.c +++ b/src/modules/module_23300.c @@ -62,6 +62,17 @@ typedef struct iwork static const char *SIGNATURE_IWORK = "$iwork$"; static const u32 FORMAT_NUM_IWORK = 1; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (iwork_tmp_t); @@ -325,6 +336,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23400.c b/src/modules/module_23400.c index ff45419f1..27e4412fa 100644 --- a/src/modules/module_23400.c +++ b/src/modules/module_23400.c @@ -53,6 +53,17 @@ typedef struct bitwarden_tmp static const char *SIGNATURE_BITWARDEN = "$bitwarden$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + return false; +} + char *module_jit_build_options (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hashes_t *hashes, MAYBE_UNUSED const hc_device_param_t *device_param) { char *jit_build_options = NULL; @@ -305,6 +316,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23500.c b/src/modules/module_23500.c index ac77edf6d..e0607a8d4 100644 --- a/src/modules/module_23500.c +++ b/src/modules/module_23500.c @@ -67,17 +67,6 @@ typedef struct axcrypt2_tmp static const char *SIGNATURE_AXCRYPT2 = "$axcrypt$"; -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) - { - return true; - } - - return false; -} - u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (axcrypt2_t); @@ -361,6 +350,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23600.c b/src/modules/module_23600.c index 7f4cdceb1..a0dde6ca8 100644 --- a/src/modules/module_23600.c +++ b/src/modules/module_23600.c @@ -67,17 +67,6 @@ typedef struct axcrypt2_tmp static const char *SIGNATURE_AXCRYPT2 = "$axcrypt$"; -bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) -{ - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found - if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) - { - return true; - } - - return false; -} - u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (axcrypt2_t); @@ -361,6 +350,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = module_unstable_warning; + module_ctx->module_unstable_warning = MODULE_DEFAULT; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_23900.c b/src/modules/module_23900.c index ea598dd68..c5c25ef65 100644 --- a/src/modules/module_23900.c +++ b/src/modules/module_23900.c @@ -56,6 +56,23 @@ typedef struct bestcrypt static const char *SIGNATURE_BESTCRYPT = "$bcve$"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + u64 module_tmp_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 tmp_size = (const u64) sizeof (bestcrypt_tmp_t); @@ -268,6 +285,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_24500.c b/src/modules/module_24500.c index d23e5d7ae..c9983eeb5 100644 --- a/src/modules/module_24500.c +++ b/src/modules/module_24500.c @@ -64,7 +64,7 @@ static const int SALT_LEN_TELEGRAM = 32; bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) { - // amdgpu-pro-19.30-934563-ubuntu-18.04: password not found + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_24600.c b/src/modules/module_24600.c index 7a2ef5dc6..29b6ea548 100644 --- a/src/modules/module_24600.c +++ b/src/modules/module_24600.c @@ -92,6 +92,23 @@ typedef enum kern_type_sqlcipher static const char *SIGNATURE_SQLCIPHER = "SQLCIPHER"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (sqlcipher_t); @@ -350,6 +367,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; } diff --git a/src/modules/module_25300.c b/src/modules/module_25300.c index f736623e1..cabd588ee 100644 --- a/src/modules/module_25300.c +++ b/src/modules/module_25300.c @@ -116,7 +116,7 @@ bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE } } - // amdgpu-pro-19.30-934563-ubuntu-18.04: self-test failure. + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) { return true; diff --git a/src/modules/module_26100.c b/src/modules/module_26100.c index 2a6478828..f0995c2f9 100644 --- a/src/modules/module_26100.c +++ b/src/modules/module_26100.c @@ -61,6 +61,23 @@ typedef struct mozilla_aes static const char *SIGNATURE_MOZILLA = "$mozilla$"; static const char *SIGNATURE_MOZILLA_AES = "AES"; +bool module_unstable_warning (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra, MAYBE_UNUSED const hc_device_param_t *device_param) +{ + // w_opencl_runtime_p_2021.2.0.616.exe: unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_INTEL_SDK) && (device_param->opencl_device_type & CL_DEVICE_TYPE_CPU)) + { + return true; + } + + // amdgpu-pro-20.50-1234664-ubuntu-20.04 (legacy): unhandled return code 255 + if ((device_param->opencl_device_vendor_id == VENDOR_ID_AMD) && (device_param->has_vperm == false)) + { + return true; + } + + return false; +} + u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) { const u64 esalt_size = (const u64) sizeof (mozilla_aes_t); @@ -314,6 +331,6 @@ void module_init (module_ctx_t *module_ctx) module_ctx->module_st_hash = module_st_hash; module_ctx->module_st_pass = module_st_pass; module_ctx->module_tmp_size = module_tmp_size; - module_ctx->module_unstable_warning = MODULE_DEFAULT; + module_ctx->module_unstable_warning = module_unstable_warning; module_ctx->module_warmup_disable = MODULE_DEFAULT; }