$OpenBSD: patch-samdump2_c,v 1.3 2015/05/01 17:40:58 ajacoutot Exp $
--- samdump2.c.orig	Fri Apr 20 14:27:00 2012
+++ samdump2.c	Mon Apr 14 20:00:36 2014
@@ -41,8 +41,13 @@
 #ifdef BYTE_ORDER
 #if BYTE_ORDER == LITTLE_ENDIAN
 #elif BYTE_ORDER == BIG_ENDIAN
+#ifndef __OpenBSD__
 #include <byteswap.h>
 #else
+#include <endian.h>
+#define __bswap_32 __swap32
+#endif
+#else
 #warning "Doesn't define a standard ENDIAN type"
 #endif
 #else
@@ -72,7 +77,7 @@ void str_to_key(unsigned char *str,unsigned char *key)
 	for (i=0;i<8;i++) {
 		key[i] = (key[i]<<1);
 	}
-	des_set_odd_parity((des_cblock *)key);
+	DES_set_odd_parity((DES_cblock *)key);
 }
 
 /*
@@ -210,8 +215,8 @@ unsigned char* utf16_to_utf8 (unsigned char *dest, uns
   unsigned char hbootkey[0x20];
   
   /* Des */
-  des_key_schedule ks1, ks2;
-  des_cblock deskey1, deskey2;
+  DES_key_schedule ks1, ks2;
+  DES_cblock deskey1, deskey2;
   
   int i, j;
   
@@ -419,15 +424,15 @@ unsigned char* utf16_to_utf8 (unsigned char *dest, uns
       
       /* Get the two decrpt keys. */
       sid_to_key1(rid,(unsigned char *)deskey1);
-      des_set_key_checked((des_cblock *)deskey1,ks1);
+      DES_set_key_checked((DES_cblock *)deskey1,&ks1);
       sid_to_key2(rid,(unsigned char *)deskey2);
-      des_set_key_unchecked((des_cblock *)deskey2,ks2);
+      DES_set_key_unchecked((DES_cblock *)deskey2,&ks2);
       
       /* Decrypt the lanman password hash as two 8 byte blocks. */
-      des_ecb_encrypt((des_cblock *)obfkey,
-		      (des_cblock *)fb, ks1, DES_DECRYPT);
-      des_ecb_encrypt((des_cblock *)(obfkey + 8),
-		      (des_cblock *)&fb[8], ks2, DES_DECRYPT);
+      DES_ecb_encrypt((DES_cblock *)obfkey,
+		      (DES_cblock *)fb, &ks1, DES_DECRYPT);
+      DES_ecb_encrypt((DES_cblock *)(obfkey + 8),
+		      (DES_cblock *)&fb[8], &ks2, DES_DECRYPT);
       
       
       
@@ -472,16 +477,16 @@ unsigned char* utf16_to_utf8 (unsigned char *dest, uns
       if (lm_size != 0x14) {
 	/* Get the two decrpt keys. */
 	sid_to_key1(rid,(unsigned char *)deskey1);
-	des_set_key((des_cblock *)deskey1,ks1);
+	DES_set_key((DES_cblock *)deskey1,&ks1);
 	sid_to_key2(rid,(unsigned char *)deskey2);
-	des_set_key((des_cblock *)deskey2,ks2);
+	DES_set_key((DES_cblock *)deskey2,&ks2);
       }
 
       /* Decrypt the NT md4 password hash as two 8 byte blocks. */
-      des_ecb_encrypt((des_cblock *)obfkey,
-		      (des_cblock *)fb, ks1, DES_DECRYPT);
-      des_ecb_encrypt((des_cblock *)(obfkey + 8),
-		      (des_cblock *)&fb[8], ks2, DES_DECRYPT);
+      DES_ecb_encrypt((DES_cblock *)obfkey,
+		      (DES_cblock *)fb, &ks1, DES_DECRYPT);
+      DES_ecb_encrypt((DES_cblock *)(obfkey + 8),
+		      (DES_cblock *)&fb[8], &ks2, DES_DECRYPT);
       
       /* sf27 wrap to sf25 */
       //sf27( obfkey, (int*)&rid, fb );
