---- cryptsetup-1.0.6/lib/utils.c~ 2007-12-01 17:29:27.000000000 +0100
-+++ cryptsetup-1.0.6/lib/utils.c 2009-03-18 22:32:25.000000000 +0100
-@@ -31,7 +31,9 @@
- free(error);
- error=NULL;
+--- cryptsetup-1.2.0/lib/luks1/pbkdf.c~ 2009-09-11 16:11:50.000000000 +0200
++++ cryptsetup-1.2.0/lib/luks1/pbkdf.c 2010-06-21 11:16:57.353421474 +0200
+@@ -174,7 +174,7 @@
+ if (gcry_md_setkey(prf, P, Plen))
+ goto out;
+
+- for (i = 1; (uint) i <= l; i++) {
++ for (i = 1; (unsigned int) i <= l; i++) {
+ memset(T, 0, hLen);
+
+ for (u = 1; u <= c ; u++) {
+@@ -198,7 +198,7 @@
+
+ memcpy(U, p, hLen);
+
+- for (k = 0; (uint) k < hLen; k++)
++ for (k = 0; (unsigned int) k < hLen; k++)
+ T[k] ^= U[k];
+
+ if (perfcheck && __PBKDF2_performance) {
+@@ -210,7 +210,7 @@
+ __PBKDF2_global_j++;
+ }
+
+- memcpy(DK + (i - 1) * hLen, T, (uint) i == l ? r : hLen);
++ memcpy(DK + (i - 1) * hLen, T, (unsigned int) i == l ? r : hLen);
}
--
-+#ifdef __dietlbc__
-+ if (fmt)
-+#endif
- vasprintf(&error, fmt, va);
- }
+ rc = 0;
+ out:
+--- cryptsetup-1.4.0/lib/luks1/keymanage.c.orig 2011-10-08 23:57:01.000000000 +0200
++++ cryptsetup-1.4.0/lib/luks1/keymanage.c 2011-10-30 07:53:26.817195403 +0100
+@@ -19,6 +19,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <limits.h>
+ #include <netinet/in.h>
+ #include <fcntl.h>
+ #include <errno.h>
+@@ -35,6 +36,10 @@
+ #include "pbkdf.h"
+ #include "internal.h"
+
++#ifndef UINT32_MAX
++#define UINT32_MAX UINT_MAX
++#endif
++
+ #define div_round_up(a,b) ({ \
+ typeof(a) __a = (a); \
+ typeof(b) __b = (b); \