Updated Intel OpenCL runtime version check

pull/1734/head
Jens Steube 6 years ago
parent f3f4ab4421
commit 24ce7bacae

@ -4,7 +4,7 @@
## Features ## Features
## ##
- Add new option --slow-candidates which allows hashcat to generate passwords on-host - Added new option --slow-candidates which allows hashcat to generate passwords on-host
## ##
## Algorithms ## Algorithms
@ -25,23 +25,24 @@
## Improvements ## Improvements
## ##
- Added a periodic check for read timeouts in stdin/pipe mode, and abort if no input was provided
- Added additional hybrid "passthrough" rules, to enable variable-length append/prepend attacks - Added additional hybrid "passthrough" rules, to enable variable-length append/prepend attacks
- Added a periodic check for read timeouts in stdin/pipe mode, and abort if no input was provided
- Added a tracker for salts, amplifier and iterations to the status screen - Added a tracker for salts, amplifier and iterations to the status screen
- Added option --markov-hcstat2 to make it clear that the new hcstat2 format (compressed hcstat2gen output) must be used - Added option --markov-hcstat2 to make it clear that the new hcstat2 format (compressed hcstat2gen output) must be used
- Allow bitcoin master key lengths other than 96 bytes (but they must be always multiples of 16) - Allow bitcoin master key lengths other than 96 bytes (but they must be always multiples of 16)
- Allow keepass iteration count to be larger than 999999
- Allow hashfile for -m 16800 to be used with -m 16801 - Allow hashfile for -m 16800 to be used with -m 16801
- Allow keepass iteration count to be larger than 999999
- Changed algorithms using colon as separators in the hash to not use the hashconfig separator on parsing
- Do not allocate memory segments for bitmap tables if we don't need it - for example, in benchmark mode - Do not allocate memory segments for bitmap tables if we don't need it - for example, in benchmark mode
- Got rid of OPTS_TYPE_HASH_COPY for Ansible Vault - Got rid of OPTS_TYPE_HASH_COPY for Ansible Vault
- Improved the speed of the outfile folder scan when using many hashes/salts - Improved the speed of the outfile folder scan when using many hashes/salts
- Increased the maximum size of edata2 in Kerberos 5 TGS-REP etype 23 - Increased the maximum size of edata2 in Kerberos 5 TGS-REP etype 23
- Make the masks parser more restrictive by rejecting a single '?' at the end of the mask (use ?? instead) - Make the masks parser more restrictive by rejecting a single '?' at the end of the mask (use ?? instead)
- Removed duplicate words in the dictionary file example.dict
- Override --quiet and show final status screen in case --status is used - Override --quiet and show final status screen in case --status is used
- Removed duplicate words in the dictionary file example.dict
- Updated Intel OpenCL runtime version check
- Work around some AMD OpenCL runtime segmentation faults - Work around some AMD OpenCL runtime segmentation faults
- Work around some padding issues with host compilers and OpenCL JiT on 32 and 64-bit systems - Work around some padding issues with host compilers and OpenCL JiT on 32 and 64-bit systems
- Changed algorithms using colon as separators in the hash to not use the hashconfig separator on parsing
## ##
## Bugs ## Bugs

@ -3776,15 +3776,32 @@ int opencl_ctx_devices_init (hashcat_ctx_t *hashcat_ctx, const int comptime)
{ {
bool intel_warn = false; bool intel_warn = false;
float opencl_version = 0; // Intel OpenCL runtime 18
int opencl_build = 0;
int res = sscanf (device_param->device_version, "OpenCL %f (Build %d)", &opencl_version, &opencl_build); int opencl_driver1 = 0;
int opencl_driver2 = 0;
int opencl_driver3 = 0;
int opencl_driver4 = 0;
if (res == 2) const int res18 = sscanf (device_param->driver_version, "%u.%u.%u.%u", &opencl_driver1, &opencl_driver2, &opencl_driver3, &opencl_driver4);
if (res18 == 4)
{ {
// Intel OpenCL runtime 16.1.1 // so far all versions 18 are ok
if (opencl_build < 25) intel_warn = true; }
else
{
// Intel OpenCL runtime 16
float opencl_version = 0;
int opencl_build = 0;
const int res16 = sscanf (device_param->device_version, "OpenCL %f (Build %d)", &opencl_version, &opencl_build);
if (res16 == 2)
{
if (opencl_build < 25) intel_warn = true;
}
} }
if (intel_warn == true) if (intel_warn == true)

Loading…
Cancel
Save