[krbdev.mit.edu #6565] HP-UX IA64 wrong endian 
     Arlene Berry  via RT 
    rt-comment at krbdev.mit.edu
       
    Mon Sep 14 21:45:49 EDT 2009
    
    
  
For krb5-1.7 all IA64 platforms are identified as little endian but
HP-UX is big endian.  It's causing the 1.7 arcfour string to key
function to use the wrong endian and it's resulting in
KRB5KDC_ERR_PREAUTH_FAILED errors.  The endian is also incorrect for
1.6.3 but its arcfour string to key function works anyway.  Here's what
I did to fix it for us:
 
Index: krb5/src/include/k5-platform.h
===================================================================
--- krb5/src/include/k5-platform.h           (revision 37170)
+++ krb5/src/include/k5-platform.h        (revision 37171)
@@ -476,10 +476,10 @@
    As far as I know, only PDP11 and ARM (which we don't handle here)
    have strange byte orders where an 8-byte value isn't laid out as
    either 12345678 or 87654321.  */
-# if defined(__i386__) || defined(_MIPSEL) || defined(__alpha__) ||
defined(__ia64__)
+# if defined(__i386__) || defined(_MIPSEL) || defined(__alpha__) ||
(defined(__ia64__) && !defined(__hpux))
 #  define K5_LE
 # endif
-# if defined(__hppa__) || defined(__rs6000__) || defined(__sparc__) ||
defined(_MIPSEB) || defined(__m68k__) || defined(__sparc64__) ||
defined(__ppc__) || defined(__ppc64__)
+# if defined(__hppa__) || defined(__rs6000__) || defined(__sparc__) ||
defined(_MIPSEB) || defined(__m68k__) || defined(__sparc64__) ||
defined(__ppc__) || defined(__ppc64__) || (defined(__hpux) &&
defined(__ia64))
 #  define K5_BE
 # endif
 #endif
    
    
More information about the krb5-bugs
mailing list