diff options
-rw-r--r-- | acconfig.h | 5 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | imap.c | 12 |
3 files changed, 19 insertions, 2 deletions
@@ -41,6 +41,11 @@ /* Define if you have atexit */ #undef HAVE_ATEXIT +/* Define to help us deduce a 32-bit type (required for Kerberos) */ +#undef SIZEOF_INT +#undef SIZEOF_SHORT +#undef SIZEOF_LONG + /* Leave that blank line there!! Autoheader needs it. If you're adding to this file, keep in mind: diff --git a/configure.in b/configure.in index 46e6214c..4398fa4c 100644 --- a/configure.in +++ b/configure.in @@ -127,6 +127,10 @@ AC_TRY_LINK([#include <signal.h> [AC_DEFINE(SYS_SIGLIST_DECLARED) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no)) +AC_CHECK_SIZEOF(short) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) + AC_OUTPUT(Makefile, [ # Makefile uses this timestamp file to know when to remake Makefile, # build.sh, and glob/Makefile. @@ -95,7 +95,15 @@ int imap_ok (int sock, char *argbuf) } #ifdef KERBEROS_V4 -#include <sys/types.h> +#if SIZEOF_INT = 4 +typedef int32 int; +#elif SIZEOF_SHORT = 4 +typedef int32 short; +#elif SIZEOF_LONG = 4 +typedef int32 long; +#else +#error Cannot deduce a 32-bit-type +#endif static int do_rfc1731(int sock, struct query *ctl, char *buf) /* authenticate as per RFC1731 -- note 32-bit integer requirement here */ @@ -103,7 +111,7 @@ static int do_rfc1731(int sock, struct query *ctl, char *buf) int result = 0, len; char buf1[4096], buf2[4096]; union { - u_int32_t cint; + int32 cint; char cstr[4]; } challenge1, challenge2; char srvinst[INST_SZ]; |