Fix broken #ifdef in types_ocl.c
[hashcat.git] / OpenCL / types_ocl.c
index 61c1be3..dfd3fd6 100644 (file)
@@ -33,9 +33,6 @@ typedef VTYPE(uint,   VECT_SIZE) u32x;
 typedef VTYPE(ulong,  VECT_SIZE) u64x;
 #endif
 
-// this one needs to die
-#define allx(r) r
-
 static inline u32 l32_from_64_S (u64 a)
 {
   const u32 r = (u32) (a);
@@ -199,11 +196,9 @@ static inline u32 rotl32_S (const u32 a, const u32 n)
 
 static inline u64 rotr64_S (const u64 a, const u32 n)
 {
-  #if DEVICE_TYPE == DEVICE_TYPE_CPU
-
-  const u64 r = rotate (a, (u64) 64 - n);
+  #if (DEVICE_TYPE == DEVICE_TYPE_GPU)
 
-  #else
+  #ifdef cl_amd_media_ops
 
   const u32 a0 = h32_from_64_S (a);
   const u32 a1 = l32_from_64_S (a);
@@ -213,6 +208,16 @@ static inline u64 rotr64_S (const u64 a, const u32 n)
 
   const u64 r = hl32_to_64_S (t0, t1);
 
+  #else
+
+  const u64 r = rotate (a, (u64) 64 - n);
+
+  #endif
+
+  #else
+
+  const u64 r = rotate (a, (u64) 64 - n);
+
   #endif
 
   return r;
@@ -255,11 +260,9 @@ static inline u32x rotl32 (const u32x a, const u32 n)
 
 static inline u64x rotr64 (const u64x a, const u32 n)
 {
-  #if DEVICE_TYPE == DEVICE_TYPE_CPU
-
-  const u64x r = rotate (a, (u64) 64 - n);
+  #if (DEVICE_TYPE == DEVICE_TYPE_GPU)
 
-  #else
+  #ifdef cl_amd_media_ops
 
   const u32x a0 = h32_from_64 (a);
   const u32x a1 = l32_from_64 (a);
@@ -269,6 +272,16 @@ static inline u64x rotr64 (const u64x a, const u32 n)
 
   const u64x r = hl32_to_64 (t0, t1);
 
+  #else
+
+  const u64x r = rotate (a, (u64) 64 - n);
+
+  #endif
+
+  #else
+
+  const u64x r = rotate (a, (u64) 64 - n);
+
   #endif
 
   return r;
@@ -281,12 +294,34 @@ static inline u64x rotl64 (const u64x a, const u32 n)
 
 static inline u32 __bfe (const u32 a, const u32 b, const u32 c)
 {
+  #ifdef cl_amd_media_ops2
+
   return amd_bfe (a, b, c);
+
+  #else
+
+  #define BIT(x)      (1 << (x))
+  #define BIT_MASK(x) (BIT (x) - 1)
+  #define BFE(x,y,z)  (((x) >> (y)) & BIT_MASK (z))
+
+  return BFE (a, b, c);
+
+  #endif
 }
 
 static inline u32 amd_bytealign_S (const u32 a, const u32 b, const u32 c)
 {
+  #ifdef cl_amd_media_ops
+
   return amd_bytealign (a, b, c);
+
+  #else
+
+  const u64 tmp = ((((u64) a) << 32) | ((u64) b)) >> ((c & 3) * 8);
+
+  return (u32) (tmp);
+
+  #endif
 }
 #endif
 
@@ -1433,6 +1468,10 @@ typedef struct
   u32 eapol[64];
   int eapol_size;
   int keyver;
+  u8  orig_mac1[6];
+  u8  orig_mac2[6];
+  u8  orig_nonce1[32];
+  u8  orig_nonce2[32];
 
 } wpa_t;
 
@@ -1597,6 +1636,10 @@ typedef struct
   u32 version;
   u32 algorithm;
 
+  /* key-file handling */
+  u32 keyfile_len;
+  u32 keyfile[8];
+
   u32 final_random_seed[8];
   u32 transf_random_seed[8];
   u32 enc_iv[4];
@@ -1604,7 +1647,7 @@ typedef struct
 
   /* specific to version 1 */
   u32 contents_len;
-  u32 contents[12500];
+  u32 contents[75000];
 
   /* specific to version 2 */
   u32 expected_bytes[8];