The byteorder detection macro for the rijndael algorithm doesn't work for systems that are building for multiple architectures, such as Darwin. This was the change that was needed to rijndael.c to get the macros building properly in such a situation. It seems to be a little more reliable than the existing system. Rob --- openssh_cvs/rijndael.c Tue Feb 27 13:14:22 2001 +++ /Users/rbraun/OpenSSH/openssh/rijndael.c Mon Jun 25 18:00:24 2001 @@ -58,7 +58,8 @@ #define byte(x,n) ((u1byte)((x) >> (8 * n))) -#ifdef WORDS_BIGENDIAN +/* We can't trust WORDS_BIGENDIAN when building for multiple architectures at the same time */ +#if (defined(BYTE_ORDER) && defined(BIG_ENDIAN) && (BYTE_ORDER == BIG_ENDIAN)) || defined(WORDS_BIGENDIAN) #define BYTE_SWAP #endif