diff options
author | krishna <none@none> | 2005-08-24 18:12:41 -0700 |
---|---|---|
committer | krishna <none@none> | 2005-08-24 18:12:41 -0700 |
commit | 4cc1ac68c690efa70450ed478a37fe6d78f0f42e (patch) | |
tree | 7d7c0b4d2ca5a956bc96d2b7ca13b445ed0599e6 | |
parent | a0130b69c3952b827264ca8cb19bcbeecb67b463 (diff) | |
download | illumos-joyent-4cc1ac68c690efa70450ed478a37fe6d78f0f42e.tar.gz |
6309142 gcc and common/crypto don't get along
-rw-r--r-- | usr/src/common/crypto/arcfour/arcfour_crypt.c | 7 | ||||
-rw-r--r-- | usr/src/common/crypto/des/des_impl.c | 570 | ||||
-rw-r--r-- | usr/src/common/crypto/des/des_ks.c | 150 | ||||
-rw-r--r-- | usr/src/common/crypto/sha1/sha1.c | 12 |
4 files changed, 373 insertions, 366 deletions
diff --git a/usr/src/common/crypto/arcfour/arcfour_crypt.c b/usr/src/common/crypto/arcfour/arcfour_crypt.c index 21186fa007..daa57259de 100644 --- a/usr/src/common/crypto/arcfour/arcfour_crypt.c +++ b/usr/src/common/crypto/arcfour/arcfour_crypt.c @@ -81,13 +81,14 @@ arcfour_crypt(ARCFour_key *key, uchar_t *in, uchar_t *out, size_t len) #ifdef sun4u int index; - index = (((uint64_t)in) & 0x7); + index = (((uint64_t)(uintptr_t)in) & 0x7); /* Get the 'in' on an 8-byte alignment */ if (index > 0) { i = key->i; j = key->j; - for (index = 8 - (uint64_t)in & 0x7; (index-- > 0) && len > 0; + for (index = 8 - (uint64_t)(uintptr_t)in & 0x7; + (index-- > 0) && len > 0; len--, in++, out++) { i = i + 1; j = j + key->arr[i]; @@ -106,7 +107,7 @@ arcfour_crypt(ARCFour_key *key, uchar_t *in, uchar_t *out, size_t len) /* See if we're fortunate and 'out' got aligned as well */ - if ((((uint64_t)out) & 7) != 0) { + if ((((uint64_t)(uintptr_t)out) & 7) != 0) { #endif /* sun4u */ i = key->i; j = key->j; diff --git a/usr/src/common/crypto/des/des_impl.c b/usr/src/common/crypto/des/des_impl.c index 2c7ef91482..5851e13f7a 100644 --- a/usr/src/common/crypto/des/des_impl.c +++ b/usr/src/common/crypto/des/des_impl.c @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -57,287 +57,291 @@ static void fix_des_parity(uint64_t *); static const uint64_t sbox_table[8][64]= { +/* BEGIN CSTYLED */ { -0x0000140140020000, 0x0000000000000000, 0x0000000140000000, 0x0000140140020020, -0x0000140140000020, 0x0000000140020020, 0x0000000000000020, 0x0000000140000000, -0x0000000000020000, 0x0000140140020000, 0x0000140140020020, 0x0000000000020000, -0x0000140000020020, 0x0000140140000020, 0x0000140000000000, 0x0000000000000020, -0x0000000000020020, 0x0000140000020000, 0x0000140000020000, 0x0000000140020000, -0x0000000140020000, 0x0000140140000000, 0x0000140140000000, 0x0000140000020020, -0x0000000140000020, 0x0000140000000020, 0x0000140000000020, 0x0000000140000020, -0x0000000000000000, 0x0000000000020020, 0x0000000140020020, 0x0000140000000000, -0x0000000140000000, 0x0000140140020020, 0x0000000000000020, 0x0000140140000000, -0x0000140140020000, 0x0000140000000000, 0x0000140000000000, 0x0000000000020000, -0x0000140140000020, 0x0000000140000000, 0x0000000140020000, 0x0000140000000020, -0x0000000000020000, 0x0000000000000020, 0x0000140000020020, 0x0000000140020020, -0x0000140140020020, 0x0000000140000020, 0x0000140140000000, 0x0000140000020020, -0x0000140000000020, 0x0000000000020020, 0x0000000140020020, 0x0000140140020000, -0x0000000000020020, 0x0000140000020000, 0x0000140000020000, 0x0000000000000000, -0x0000000140000020, 0x0000000140020000, 0x0000000000000000, 0x0000140140000020 +0x0000140140020000ULL, 0x0000000000000000ULL, 0x0000000140000000ULL, 0x0000140140020020ULL, +0x0000140140000020ULL, 0x0000000140020020ULL, 0x0000000000000020ULL, 0x0000000140000000ULL, +0x0000000000020000ULL, 0x0000140140020000ULL, 0x0000140140020020ULL, 0x0000000000020000ULL, +0x0000140000020020ULL, 0x0000140140000020ULL, 0x0000140000000000ULL, 0x0000000000000020ULL, +0x0000000000020020ULL, 0x0000140000020000ULL, 0x0000140000020000ULL, 0x0000000140020000ULL, +0x0000000140020000ULL, 0x0000140140000000ULL, 0x0000140140000000ULL, 0x0000140000020020ULL, +0x0000000140000020ULL, 0x0000140000000020ULL, 0x0000140000000020ULL, 0x0000000140000020ULL, +0x0000000000000000ULL, 0x0000000000020020ULL, 0x0000000140020020ULL, 0x0000140000000000ULL, +0x0000000140000000ULL, 0x0000140140020020ULL, 0x0000000000000020ULL, 0x0000140140000000ULL, +0x0000140140020000ULL, 0x0000140000000000ULL, 0x0000140000000000ULL, 0x0000000000020000ULL, +0x0000140140000020ULL, 0x0000000140000000ULL, 0x0000000140020000ULL, 0x0000140000000020ULL, +0x0000000000020000ULL, 0x0000000000000020ULL, 0x0000140000020020ULL, 0x0000000140020020ULL, +0x0000140140020020ULL, 0x0000000140000020ULL, 0x0000140140000000ULL, 0x0000140000020020ULL, +0x0000140000000020ULL, 0x0000000000020020ULL, 0x0000000140020020ULL, 0x0000140140020000ULL, +0x0000000000020020ULL, 0x0000140000020000ULL, 0x0000140000020000ULL, 0x0000000000000000ULL, +0x0000000140000020ULL, 0x0000000140020000ULL, 0x0000000000000000ULL, 0x0000140140000020ULL }, { -0x2000005020000500, 0x2000000020000000, 0x0000000020000000, 0x0000005020000500, -0x0000005000000000, 0x0000000000000500, 0x2000005000000500, 0x2000000020000500, -0x2000000000000500, 0x2000005020000500, 0x2000005020000000, 0x2000000000000000, -0x2000000020000000, 0x0000005000000000, 0x0000000000000500, 0x2000005000000500, -0x0000005020000000, 0x0000005000000500, 0x2000000020000500, 0x0000000000000000, -0x2000000000000000, 0x0000000020000000, 0x0000005020000500, 0x2000005000000000, -0x0000005000000500, 0x2000000000000500, 0x0000000000000000, 0x0000005020000000, -0x0000000020000500, 0x2000005020000000, 0x2000005000000000, 0x0000000020000500, -0x0000000000000000, 0x0000005020000500, 0x2000005000000500, 0x0000005000000000, -0x2000000020000500, 0x2000005000000000, 0x2000005020000000, 0x0000000020000000, -0x2000005000000000, 0x2000000020000000, 0x0000000000000500, 0x2000005020000500, -0x0000005020000500, 0x0000000000000500, 0x0000000020000000, 0x2000000000000000, -0x0000000020000500, 0x2000005020000000, 0x0000005000000000, 0x2000000000000500, -0x0000005000000500, 0x2000000020000500, 0x2000000000000500, 0x0000005000000500, -0x0000005020000000, 0x0000000000000000, 0x2000000020000000, 0x0000000020000500, -0x2000000000000000, 0x2000005000000500, 0x2000005020000500, 0x0000005020000000 +0x2000005020000500ULL, 0x2000000020000000ULL, 0x0000000020000000ULL, 0x0000005020000500ULL, +0x0000005000000000ULL, 0x0000000000000500ULL, 0x2000005000000500ULL, 0x2000000020000500ULL, +0x2000000000000500ULL, 0x2000005020000500ULL, 0x2000005020000000ULL, 0x2000000000000000ULL, +0x2000000020000000ULL, 0x0000005000000000ULL, 0x0000000000000500ULL, 0x2000005000000500ULL, +0x0000005020000000ULL, 0x0000005000000500ULL, 0x2000000020000500ULL, 0x0000000000000000ULL, +0x2000000000000000ULL, 0x0000000020000000ULL, 0x0000005020000500ULL, 0x2000005000000000ULL, +0x0000005000000500ULL, 0x2000000000000500ULL, 0x0000000000000000ULL, 0x0000005020000000ULL, +0x0000000020000500ULL, 0x2000005020000000ULL, 0x2000005000000000ULL, 0x0000000020000500ULL, +0x0000000000000000ULL, 0x0000005020000500ULL, 0x2000005000000500ULL, 0x0000005000000000ULL, +0x2000000020000500ULL, 0x2000005000000000ULL, 0x2000005020000000ULL, 0x0000000020000000ULL, +0x2000005000000000ULL, 0x2000000020000000ULL, 0x0000000000000500ULL, 0x2000005020000500ULL, +0x0000005020000500ULL, 0x0000000000000500ULL, 0x0000000020000000ULL, 0x2000000000000000ULL, +0x0000000020000500ULL, 0x2000005020000000ULL, 0x0000005000000000ULL, 0x2000000000000500ULL, +0x0000005000000500ULL, 0x2000000020000500ULL, 0x2000000000000500ULL, 0x0000005000000500ULL, +0x0000005020000000ULL, 0x0000000000000000ULL, 0x2000000020000000ULL, 0x0000000020000500ULL, +0x2000000000000000ULL, 0x2000005000000500ULL, 0x2000005020000500ULL, 0x0000005020000000ULL }, { -0x0000000000014040, 0x0000800280014000, 0x0000000000000000, 0x0000800280000040, -0x0000800000014000, 0x0000000000000000, 0x0000000280014040, 0x0000800000014000, -0x0000000280000040, 0x0000800000000040, 0x0000800000000040, 0x0000000280000000, -0x0000800280014040, 0x0000000280000040, 0x0000800280000000, 0x0000000000014040, -0x0000800000000000, 0x0000000000000040, 0x0000800280014000, 0x0000000000014000, -0x0000000280014000, 0x0000800280000000, 0x0000800280000040, 0x0000000280014040, -0x0000800000014040, 0x0000000280014000, 0x0000000280000000, 0x0000800000014040, -0x0000000000000040, 0x0000800280014040, 0x0000000000014000, 0x0000800000000000, -0x0000800280014000, 0x0000800000000000, 0x0000000280000040, 0x0000000000014040, -0x0000000280000000, 0x0000800280014000, 0x0000800000014000, 0x0000000000000000, -0x0000000000014000, 0x0000000280000040, 0x0000800280014040, 0x0000800000014000, -0x0000800000000040, 0x0000000000014000, 0x0000000000000000, 0x0000800280000040, -0x0000800000014040, 0x0000000280000000, 0x0000800000000000, 0x0000800280014040, -0x0000000000000040, 0x0000000280014040, 0x0000000280014000, 0x0000800000000040, -0x0000800280000000, 0x0000800000014040, 0x0000000000014040, 0x0000800280000000, -0x0000000280014040, 0x0000000000000040, 0x0000800280000040, 0x0000000280014000 +0x0000000000014040ULL, 0x0000800280014000ULL, 0x0000000000000000ULL, 0x0000800280000040ULL, +0x0000800000014000ULL, 0x0000000000000000ULL, 0x0000000280014040ULL, 0x0000800000014000ULL, +0x0000000280000040ULL, 0x0000800000000040ULL, 0x0000800000000040ULL, 0x0000000280000000ULL, +0x0000800280014040ULL, 0x0000000280000040ULL, 0x0000800280000000ULL, 0x0000000000014040ULL, +0x0000800000000000ULL, 0x0000000000000040ULL, 0x0000800280014000ULL, 0x0000000000014000ULL, +0x0000000280014000ULL, 0x0000800280000000ULL, 0x0000800280000040ULL, 0x0000000280014040ULL, +0x0000800000014040ULL, 0x0000000280014000ULL, 0x0000000280000000ULL, 0x0000800000014040ULL, +0x0000000000000040ULL, 0x0000800280014040ULL, 0x0000000000014000ULL, 0x0000800000000000ULL, +0x0000800280014000ULL, 0x0000800000000000ULL, 0x0000000280000040ULL, 0x0000000000014040ULL, +0x0000000280000000ULL, 0x0000800280014000ULL, 0x0000800000014000ULL, 0x0000000000000000ULL, +0x0000000000014000ULL, 0x0000000280000040ULL, 0x0000800280014040ULL, 0x0000800000014000ULL, +0x0000800000000040ULL, 0x0000000000014000ULL, 0x0000000000000000ULL, 0x0000800280000040ULL, +0x0000800000014040ULL, 0x0000000280000000ULL, 0x0000800000000000ULL, 0x0000800280014040ULL, +0x0000000000000040ULL, 0x0000000280014040ULL, 0x0000000280014000ULL, 0x0000800000000040ULL, +0x0000800280000000ULL, 0x0000800000014040ULL, 0x0000000000014040ULL, 0x0000800280000000ULL, +0x0000000280014040ULL, 0x0000000000000040ULL, 0x0000800280000040ULL, 0x0000000280014000ULL }, { -0x4000020008100008, 0x4000000008101008, 0x4000000008101008, 0x0000000000001000, -0x0000020008101000, 0x4000020000001008, 0x4000020000000008, 0x4000000008100008, -0x0000000000000000, 0x0000020008100000, 0x0000020008100000, 0x4000020008101008, -0x4000000000001008, 0x0000000000000000, 0x0000020000001000, 0x4000020000000008, -0x4000000000000008, 0x0000000008100000, 0x0000020000000000, 0x4000020008100008, -0x0000000000001000, 0x0000020000000000, 0x4000000008100008, 0x0000000008101000, -0x4000020000001008, 0x4000000000000008, 0x0000000008101000, 0x0000020000001000, -0x0000000008100000, 0x0000020008101000, 0x4000020008101008, 0x4000000000001008, -0x0000020000001000, 0x4000020000000008, 0x0000020008100000, 0x4000020008101008, -0x4000000000001008, 0x0000000000000000, 0x0000000000000000, 0x0000020008100000, -0x0000000008101000, 0x0000020000001000, 0x4000020000001008, 0x4000000000000008, -0x4000020008100008, 0x4000000008101008, 0x4000000008101008, 0x0000000000001000, -0x4000020008101008, 0x4000000000001008, 0x4000000000000008, 0x0000000008100000, -0x4000020000000008, 0x4000000008100008, 0x0000020008101000, 0x4000020000001008, -0x4000000008100008, 0x0000000008101000, 0x0000020000000000, 0x4000020008100008, -0x0000000000001000, 0x0000020000000000, 0x0000000008100000, 0x0000020008101000 +0x4000020008100008ULL, 0x4000000008101008ULL, 0x4000000008101008ULL, 0x0000000000001000ULL, +0x0000020008101000ULL, 0x4000020000001008ULL, 0x4000020000000008ULL, 0x4000000008100008ULL, +0x0000000000000000ULL, 0x0000020008100000ULL, 0x0000020008100000ULL, 0x4000020008101008ULL, +0x4000000000001008ULL, 0x0000000000000000ULL, 0x0000020000001000ULL, 0x4000020000000008ULL, +0x4000000000000008ULL, 0x0000000008100000ULL, 0x0000020000000000ULL, 0x4000020008100008ULL, +0x0000000000001000ULL, 0x0000020000000000ULL, 0x4000000008100008ULL, 0x0000000008101000ULL, +0x4000020000001008ULL, 0x4000000000000008ULL, 0x0000000008101000ULL, 0x0000020000001000ULL, +0x0000000008100000ULL, 0x0000020008101000ULL, 0x4000020008101008ULL, 0x4000000000001008ULL, +0x0000020000001000ULL, 0x4000020000000008ULL, 0x0000020008100000ULL, 0x4000020008101008ULL, +0x4000000000001008ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000020008100000ULL, +0x0000000008101000ULL, 0x0000020000001000ULL, 0x4000020000001008ULL, 0x4000000000000008ULL, +0x4000020008100008ULL, 0x4000000008101008ULL, 0x4000000008101008ULL, 0x0000000000001000ULL, +0x4000020008101008ULL, 0x4000000000001008ULL, 0x4000000000000008ULL, 0x0000000008100000ULL, +0x4000020000000008ULL, 0x4000000008100008ULL, 0x0000020008101000ULL, 0x4000020000001008ULL, +0x4000000008100008ULL, 0x0000000008101000ULL, 0x0000020000000000ULL, 0x4000020008100008ULL, +0x0000000000001000ULL, 0x0000020000000000ULL, 0x0000000008100000ULL, 0x0000020008101000ULL }, { -0x000000000000a000, 0x000028080000a000, 0x0000280800000000, 0x100028000000a000, -0x0000000800000000, 0x000000000000a000, 0x1000000000000000, 0x0000280800000000, -0x100000080000a000, 0x0000000800000000, 0x000028000000a000, 0x100000080000a000, -0x100028000000a000, 0x1000280800000000, 0x000000080000a000, 0x1000000000000000, -0x0000280000000000, 0x1000000800000000, 0x1000000800000000, 0x0000000000000000, -0x100000000000a000, 0x100028080000a000, 0x100028080000a000, 0x000028000000a000, -0x1000280800000000, 0x100000000000a000, 0x0000000000000000, 0x1000280000000000, -0x000028080000a000, 0x0000280000000000, 0x1000280000000000, 0x000000080000a000, -0x0000000800000000, 0x100028000000a000, 0x000000000000a000, 0x0000280000000000, -0x1000000000000000, 0x0000280800000000, 0x100028000000a000, 0x100000080000a000, -0x000028000000a000, 0x1000000000000000, 0x1000280800000000, 0x000028080000a000, -0x100000080000a000, 0x000000000000a000, 0x0000280000000000, 0x1000280800000000, -0x100028080000a000, 0x000000080000a000, 0x1000280000000000, 0x100028080000a000, -0x0000280800000000, 0x0000000000000000, 0x1000000800000000, 0x1000280000000000, -0x000000080000a000, 0x000028000000a000, 0x100000000000a000, 0x0000000800000000, -0x0000000000000000, 0x1000000800000000, 0x000028080000a000, 0x100000000000a000 +0x000000000000a000ULL, 0x000028080000a000ULL, 0x0000280800000000ULL, 0x100028000000a000ULL, +0x0000000800000000ULL, 0x000000000000a000ULL, 0x1000000000000000ULL, 0x0000280800000000ULL, +0x100000080000a000ULL, 0x0000000800000000ULL, 0x000028000000a000ULL, 0x100000080000a000ULL, +0x100028000000a000ULL, 0x1000280800000000ULL, 0x000000080000a000ULL, 0x1000000000000000ULL, +0x0000280000000000ULL, 0x1000000800000000ULL, 0x1000000800000000ULL, 0x0000000000000000ULL, +0x100000000000a000ULL, 0x100028080000a000ULL, 0x100028080000a000ULL, 0x000028000000a000ULL, +0x1000280800000000ULL, 0x100000000000a000ULL, 0x0000000000000000ULL, 0x1000280000000000ULL, +0x000028080000a000ULL, 0x0000280000000000ULL, 0x1000280000000000ULL, 0x000000080000a000ULL, +0x0000000800000000ULL, 0x100028000000a000ULL, 0x000000000000a000ULL, 0x0000280000000000ULL, +0x1000000000000000ULL, 0x0000280800000000ULL, 0x100028000000a000ULL, 0x100000080000a000ULL, +0x000028000000a000ULL, 0x1000000000000000ULL, 0x1000280800000000ULL, 0x000028080000a000ULL, +0x100000080000a000ULL, 0x000000000000a000ULL, 0x0000280000000000ULL, 0x1000280800000000ULL, +0x100028080000a000ULL, 0x000000080000a000ULL, 0x1000280000000000ULL, 0x100028080000a000ULL, +0x0000280800000000ULL, 0x0000000000000000ULL, 0x1000000800000000ULL, 0x1000280000000000ULL, +0x000000080000a000ULL, 0x000028000000a000ULL, 0x100000000000a000ULL, 0x0000000800000000ULL, +0x0000000000000000ULL, 0x1000000800000000ULL, 0x000028080000a000ULL, 0x100000000000a000ULL }, { -0x0802000000000280, 0x0802010000000000, 0x0000000010000000, 0x0802010010000280, -0x0802010000000000, 0x0000000000000280, 0x0802010010000280, 0x0000010000000000, -0x0802000010000000, 0x0000010010000280, 0x0000010000000000, 0x0802000000000280, -0x0000010000000280, 0x0802000010000000, 0x0802000000000000, 0x0000000010000280, -0x0000000000000000, 0x0000010000000280, 0x0802000010000280, 0x0000000010000000, -0x0000010010000000, 0x0802000010000280, 0x0000000000000280, 0x0802010000000280, -0x0802010000000280, 0x0000000000000000, 0x0000010010000280, 0x0802010010000000, -0x0000000010000280, 0x0000010010000000, 0x0802010010000000, 0x0802000000000000, -0x0802000010000000, 0x0000000000000280, 0x0802010000000280, 0x0000010010000000, -0x0802010010000280, 0x0000010000000000, 0x0000000010000280, 0x0802000000000280, -0x0000010000000000, 0x0802000010000000, 0x0802000000000000, 0x0000000010000280, -0x0802000000000280, 0x0802010010000280, 0x0000010010000000, 0x0802010000000000, -0x0000010010000280, 0x0802010010000000, 0x0000000000000000, 0x0802010000000280, -0x0000000000000280, 0x0000000010000000, 0x0802010000000000, 0x0000010010000280, -0x0000000010000000, 0x0000010000000280, 0x0802000010000280, 0x0000000000000000, -0x0802010010000000, 0x0802000000000000, 0x0000010000000280, 0x0802000010000280 +0x0802000000000280ULL, 0x0802010000000000ULL, 0x0000000010000000ULL, 0x0802010010000280ULL, +0x0802010000000000ULL, 0x0000000000000280ULL, 0x0802010010000280ULL, 0x0000010000000000ULL, +0x0802000010000000ULL, 0x0000010010000280ULL, 0x0000010000000000ULL, 0x0802000000000280ULL, +0x0000010000000280ULL, 0x0802000010000000ULL, 0x0802000000000000ULL, 0x0000000010000280ULL, +0x0000000000000000ULL, 0x0000010000000280ULL, 0x0802000010000280ULL, 0x0000000010000000ULL, +0x0000010010000000ULL, 0x0802000010000280ULL, 0x0000000000000280ULL, 0x0802010000000280ULL, +0x0802010000000280ULL, 0x0000000000000000ULL, 0x0000010010000280ULL, 0x0802010010000000ULL, +0x0000000010000280ULL, 0x0000010010000000ULL, 0x0802010010000000ULL, 0x0802000000000000ULL, +0x0802000010000000ULL, 0x0000000000000280ULL, 0x0802010000000280ULL, 0x0000010010000000ULL, +0x0802010010000280ULL, 0x0000010000000000ULL, 0x0000000010000280ULL, 0x0802000000000280ULL, +0x0000010000000000ULL, 0x0802000010000000ULL, 0x0802000000000000ULL, 0x0000000010000280ULL, +0x0802000000000280ULL, 0x0802010010000280ULL, 0x0000010010000000ULL, 0x0802010000000000ULL, +0x0000010010000280ULL, 0x0802010010000000ULL, 0x0000000000000000ULL, 0x0802010000000280ULL, +0x0000000000000280ULL, 0x0000000010000000ULL, 0x0802010000000000ULL, 0x0000010010000280ULL, +0x0000000010000000ULL, 0x0000010000000280ULL, 0x0802000010000280ULL, 0x0000000000000000ULL, +0x0802010010000000ULL, 0x0802000000000000ULL, 0x0000010000000280ULL, 0x0802000010000280ULL }, { -0x000000a000000000, 0x800040a000000010, 0x8000400000040010, 0x0000000000000000, -0x0000000000040000, 0x8000400000040010, 0x800000a000040010, 0x000040a000040000, -0x800040a000040010, 0x000000a000000000, 0x0000000000000000, 0x8000400000000010, -0x8000000000000010, 0x0000400000000000, 0x800040a000000010, 0x8000000000040010, -0x0000400000040000, 0x800000a000040010, 0x800000a000000010, 0x0000400000040000, -0x8000400000000010, 0x000040a000000000, 0x000040a000040000, 0x800000a000000010, -0x000040a000000000, 0x0000000000040000, 0x8000000000040010, 0x800040a000040010, -0x000000a000040000, 0x8000000000000010, 0x0000400000000000, 0x000000a000040000, -0x0000400000000000, 0x000000a000040000, 0x000000a000000000, 0x8000400000040010, -0x8000400000040010, 0x800040a000000010, 0x800040a000000010, 0x8000000000000010, -0x800000a000000010, 0x0000400000000000, 0x0000400000040000, 0x000000a000000000, -0x000040a000040000, 0x8000000000040010, 0x800000a000040010, 0x000040a000040000, -0x8000000000040010, 0x8000400000000010, 0x800040a000040010, 0x000040a000000000, -0x000000a000040000, 0x0000000000000000, 0x8000000000000010, 0x800040a000040010, -0x0000000000000000, 0x800000a000040010, 0x000040a000000000, 0x0000000000040000, -0x8000400000000010, 0x0000400000040000, 0x0000000000040000, 0x800000a000000010 +0x000000a000000000ULL, 0x800040a000000010ULL, 0x8000400000040010ULL, 0x0000000000000000ULL, +0x0000000000040000ULL, 0x8000400000040010ULL, 0x800000a000040010ULL, 0x000040a000040000ULL, +0x800040a000040010ULL, 0x000000a000000000ULL, 0x0000000000000000ULL, 0x8000400000000010ULL, +0x8000000000000010ULL, 0x0000400000000000ULL, 0x800040a000000010ULL, 0x8000000000040010ULL, +0x0000400000040000ULL, 0x800000a000040010ULL, 0x800000a000000010ULL, 0x0000400000040000ULL, +0x8000400000000010ULL, 0x000040a000000000ULL, 0x000040a000040000ULL, 0x800000a000000010ULL, +0x000040a000000000ULL, 0x0000000000040000ULL, 0x8000000000040010ULL, 0x800040a000040010ULL, +0x000000a000040000ULL, 0x8000000000000010ULL, 0x0000400000000000ULL, 0x000000a000040000ULL, +0x0000400000000000ULL, 0x000000a000040000ULL, 0x000000a000000000ULL, 0x8000400000040010ULL, +0x8000400000040010ULL, 0x800040a000000010ULL, 0x800040a000000010ULL, 0x8000000000000010ULL, +0x800000a000000010ULL, 0x0000400000000000ULL, 0x0000400000040000ULL, 0x000000a000000000ULL, +0x000040a000040000ULL, 0x8000000000040010ULL, 0x800000a000040010ULL, 0x000040a000040000ULL, +0x8000000000040010ULL, 0x8000400000000010ULL, 0x800040a000040010ULL, 0x000040a000000000ULL, +0x000000a000040000ULL, 0x0000000000000000ULL, 0x8000000000000010ULL, 0x800040a000040010ULL, +0x0000000000000000ULL, 0x800000a000040010ULL, 0x000040a000000000ULL, 0x0000000000040000ULL, +0x8000400000000010ULL, 0x0000400000040000ULL, 0x0000000000040000ULL, 0x800000a000000010ULL }, { -0x0401000004080800, 0x0000000004080000, 0x0000000400000000, 0x0401000404080800, -0x0401000000000000, 0x0401000004080800, 0x0000000000000800, 0x0401000000000000, -0x0000000400000800, 0x0401000400000000, 0x0401000404080800, 0x0000000404080000, -0x0401000404080000, 0x0000000404080800, 0x0000000004080000, 0x0000000000000800, -0x0401000400000000, 0x0401000000000800, 0x0401000004080000, 0x0000000004080800, -0x0000000404080000, 0x0000000400000800, 0x0401000400000800, 0x0401000404080000, -0x0000000004080800, 0x0000000000000000, 0x0000000000000000, 0x0401000400000800, -0x0401000000000800, 0x0401000004080000, 0x0000000404080800, 0x0000000400000000, -0x0000000404080800, 0x0000000400000000, 0x0401000404080000, 0x0000000004080000, -0x0000000000000800, 0x0401000400000800, 0x0000000004080000, 0x0000000404080800, -0x0401000004080000, 0x0000000000000800, 0x0401000000000800, 0x0401000400000000, -0x0401000400000800, 0x0401000000000000, 0x0000000400000000, 0x0401000004080800, -0x0000000000000000, 0x0401000404080800, 0x0000000400000800, 0x0401000000000800, -0x0401000400000000, 0x0401000004080000, 0x0401000004080800, 0x0000000000000000, -0x0401000404080800, 0x0000000404080000, 0x0000000404080000, 0x0000000004080800, -0x0000000004080800, 0x0000000400000800, 0x0401000000000000, 0x0401000404080000 +0x0401000004080800ULL, 0x0000000004080000ULL, 0x0000000400000000ULL, 0x0401000404080800ULL, +0x0401000000000000ULL, 0x0401000004080800ULL, 0x0000000000000800ULL, 0x0401000000000000ULL, +0x0000000400000800ULL, 0x0401000400000000ULL, 0x0401000404080800ULL, 0x0000000404080000ULL, +0x0401000404080000ULL, 0x0000000404080800ULL, 0x0000000004080000ULL, 0x0000000000000800ULL, +0x0401000400000000ULL, 0x0401000000000800ULL, 0x0401000004080000ULL, 0x0000000004080800ULL, +0x0000000404080000ULL, 0x0000000400000800ULL, 0x0401000400000800ULL, 0x0401000404080000ULL, +0x0000000004080800ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0401000400000800ULL, +0x0401000000000800ULL, 0x0401000004080000ULL, 0x0000000404080800ULL, 0x0000000400000000ULL, +0x0000000404080800ULL, 0x0000000400000000ULL, 0x0401000404080000ULL, 0x0000000004080000ULL, +0x0000000000000800ULL, 0x0401000400000800ULL, 0x0000000004080000ULL, 0x0000000404080800ULL, +0x0401000004080000ULL, 0x0000000000000800ULL, 0x0401000000000800ULL, 0x0401000400000000ULL, +0x0401000400000800ULL, 0x0401000000000000ULL, 0x0000000400000000ULL, 0x0401000004080800ULL, +0x0000000000000000ULL, 0x0401000404080800ULL, 0x0000000400000800ULL, 0x0401000000000800ULL, +0x0401000400000000ULL, 0x0401000004080000ULL, 0x0401000004080800ULL, 0x0000000000000000ULL, +0x0401000404080800ULL, 0x0000000404080000ULL, 0x0000000404080000ULL, 0x0000000004080800ULL, +0x0000000004080800ULL, 0x0000000400000800ULL, 0x0401000000000000ULL, 0x0401000404080000ULL } +/* END CSTYLED */ }; static const uint64_t ip_table[2][256]= { +/* BEGIN CSTYLED */ { -0x0000000000000000, 0x0000000000000400, 0x0080000000000280, 0x0080000000000680, -0x0000000000400000, 0x0000000000400400, 0x0080000000400280, 0x0080000000400680, -0x0000000000280000, 0x0000000000280400, 0x0080000000280280, 0x0080000000280680, -0x0000000000680000, 0x0000000000680400, 0x0080000000680280, 0x0080000000680680, -0x0000000400000000, 0x0000000400000400, 0x0080000400000280, 0x0080000400000680, -0x0000000400400000, 0x0000000400400400, 0x0080000400400280, 0x0080000400400680, -0x0000000400280000, 0x0000000400280400, 0x0080000400280280, 0x0080000400280680, -0x0000000400680000, 0x0000000400680400, 0x0080000400680280, 0x0080000400680680, -0x0000000280000000, 0x0000000280000400, 0x0080000280000280, 0x0080000280000680, -0x0000000280400000, 0x0000000280400400, 0x0080000280400280, 0x0080000280400680, -0x0000000280280000, 0x0000000280280400, 0x0080000280280280, 0x0080000280280680, -0x0000000280680000, 0x0000000280680400, 0x0080000280680280, 0x0080000280680680, -0x0000000680000000, 0x0000000680000400, 0x0080000680000280, 0x0080000680000680, -0x0000000680400000, 0x0000000680400400, 0x0080000680400280, 0x0080000680400680, -0x0000000680280000, 0x0000000680280400, 0x0080000680280280, 0x0080000680280680, -0x0000000680680000, 0x0000000680680400, 0x0080000680680280, 0x0080000680680680, -0x0000400000000000, 0x0000400000000400, 0x0080400000000280, 0x0080400000000680, -0x0000400000400000, 0x0000400000400400, 0x0080400000400280, 0x0080400000400680, -0x0000400000280000, 0x0000400000280400, 0x0080400000280280, 0x0080400000280680, -0x0000400000680000, 0x0000400000680400, 0x0080400000680280, 0x0080400000680680, -0x0000400400000000, 0x0000400400000400, 0x0080400400000280, 0x0080400400000680, -0x0000400400400000, 0x0000400400400400, 0x0080400400400280, 0x0080400400400680, -0x0000400400280000, 0x0000400400280400, 0x0080400400280280, 0x0080400400280680, -0x0000400400680000, 0x0000400400680400, 0x0080400400680280, 0x0080400400680680, -0x0000400280000000, 0x0000400280000400, 0x0080400280000280, 0x0080400280000680, -0x0000400280400000, 0x0000400280400400, 0x0080400280400280, 0x0080400280400680, -0x0000400280280000, 0x0000400280280400, 0x0080400280280280, 0x0080400280280680, -0x0000400280680000, 0x0000400280680400, 0x0080400280680280, 0x0080400280680680, -0x0000400680000000, 0x0000400680000400, 0x0080400680000280, 0x0080400680000680, -0x0000400680400000, 0x0000400680400400, 0x0080400680400280, 0x0080400680400680, -0x0000400680280000, 0x0000400680280400, 0x0080400680280280, 0x0080400680280680, -0x0000400680680000, 0x0000400680680400, 0x0080400680680280, 0x0080400680680680, -0x0000280000000000, 0x0000280000000400, 0x0080280000000280, 0x0080280000000680, -0x0000280000400000, 0x0000280000400400, 0x0080280000400280, 0x0080280000400680, -0x0000280000280000, 0x0000280000280400, 0x0080280000280280, 0x0080280000280680, -0x0000280000680000, 0x0000280000680400, 0x0080280000680280, 0x0080280000680680, -0x0000280400000000, 0x0000280400000400, 0x0080280400000280, 0x0080280400000680, -0x0000280400400000, 0x0000280400400400, 0x0080280400400280, 0x0080280400400680, -0x0000280400280000, 0x0000280400280400, 0x0080280400280280, 0x0080280400280680, -0x0000280400680000, 0x0000280400680400, 0x0080280400680280, 0x0080280400680680, -0x0000280280000000, 0x0000280280000400, 0x0080280280000280, 0x0080280280000680, -0x0000280280400000, 0x0000280280400400, 0x0080280280400280, 0x0080280280400680, -0x0000280280280000, 0x0000280280280400, 0x0080280280280280, 0x0080280280280680, -0x0000280280680000, 0x0000280280680400, 0x0080280280680280, 0x0080280280680680, -0x0000280680000000, 0x0000280680000400, 0x0080280680000280, 0x0080280680000680, -0x0000280680400000, 0x0000280680400400, 0x0080280680400280, 0x0080280680400680, -0x0000280680280000, 0x0000280680280400, 0x0080280680280280, 0x0080280680280680, -0x0000280680680000, 0x0000280680680400, 0x0080280680680280, 0x0080280680680680, -0x0000680000000000, 0x0000680000000400, 0x0080680000000280, 0x0080680000000680, -0x0000680000400000, 0x0000680000400400, 0x0080680000400280, 0x0080680000400680, -0x0000680000280000, 0x0000680000280400, 0x0080680000280280, 0x0080680000280680, -0x0000680000680000, 0x0000680000680400, 0x0080680000680280, 0x0080680000680680, -0x0000680400000000, 0x0000680400000400, 0x0080680400000280, 0x0080680400000680, -0x0000680400400000, 0x0000680400400400, 0x0080680400400280, 0x0080680400400680, -0x0000680400280000, 0x0000680400280400, 0x0080680400280280, 0x0080680400280680, -0x0000680400680000, 0x0000680400680400, 0x0080680400680280, 0x0080680400680680, -0x0000680280000000, 0x0000680280000400, 0x0080680280000280, 0x0080680280000680, -0x0000680280400000, 0x0000680280400400, 0x0080680280400280, 0x0080680280400680, -0x0000680280280000, 0x0000680280280400, 0x0080680280280280, 0x0080680280280680, -0x0000680280680000, 0x0000680280680400, 0x0080680280680280, 0x0080680280680680, -0x0000680680000000, 0x0000680680000400, 0x0080680680000280, 0x0080680680000680, -0x0000680680400000, 0x0000680680400400, 0x0080680680400280, 0x0080680680400680, -0x0000680680280000, 0x0000680680280400, 0x0080680680280280, 0x0080680680280680, -0x0000680680680000, 0x0000680680680400, 0x0080680680680280, 0x0080680680680680 +0x0000000000000000ULL, 0x0000000000000400ULL, 0x0080000000000280ULL, 0x0080000000000680ULL, +0x0000000000400000ULL, 0x0000000000400400ULL, 0x0080000000400280ULL, 0x0080000000400680ULL, +0x0000000000280000ULL, 0x0000000000280400ULL, 0x0080000000280280ULL, 0x0080000000280680ULL, +0x0000000000680000ULL, 0x0000000000680400ULL, 0x0080000000680280ULL, 0x0080000000680680ULL, +0x0000000400000000ULL, 0x0000000400000400ULL, 0x0080000400000280ULL, 0x0080000400000680ULL, +0x0000000400400000ULL, 0x0000000400400400ULL, 0x0080000400400280ULL, 0x0080000400400680ULL, +0x0000000400280000ULL, 0x0000000400280400ULL, 0x0080000400280280ULL, 0x0080000400280680ULL, +0x0000000400680000ULL, 0x0000000400680400ULL, 0x0080000400680280ULL, 0x0080000400680680ULL, +0x0000000280000000ULL, 0x0000000280000400ULL, 0x0080000280000280ULL, 0x0080000280000680ULL, +0x0000000280400000ULL, 0x0000000280400400ULL, 0x0080000280400280ULL, 0x0080000280400680ULL, +0x0000000280280000ULL, 0x0000000280280400ULL, 0x0080000280280280ULL, 0x0080000280280680ULL, +0x0000000280680000ULL, 0x0000000280680400ULL, 0x0080000280680280ULL, 0x0080000280680680ULL, +0x0000000680000000ULL, 0x0000000680000400ULL, 0x0080000680000280ULL, 0x0080000680000680ULL, +0x0000000680400000ULL, 0x0000000680400400ULL, 0x0080000680400280ULL, 0x0080000680400680ULL, +0x0000000680280000ULL, 0x0000000680280400ULL, 0x0080000680280280ULL, 0x0080000680280680ULL, +0x0000000680680000ULL, 0x0000000680680400ULL, 0x0080000680680280ULL, 0x0080000680680680ULL, +0x0000400000000000ULL, 0x0000400000000400ULL, 0x0080400000000280ULL, 0x0080400000000680ULL, +0x0000400000400000ULL, 0x0000400000400400ULL, 0x0080400000400280ULL, 0x0080400000400680ULL, +0x0000400000280000ULL, 0x0000400000280400ULL, 0x0080400000280280ULL, 0x0080400000280680ULL, +0x0000400000680000ULL, 0x0000400000680400ULL, 0x0080400000680280ULL, 0x0080400000680680ULL, +0x0000400400000000ULL, 0x0000400400000400ULL, 0x0080400400000280ULL, 0x0080400400000680ULL, +0x0000400400400000ULL, 0x0000400400400400ULL, 0x0080400400400280ULL, 0x0080400400400680ULL, +0x0000400400280000ULL, 0x0000400400280400ULL, 0x0080400400280280ULL, 0x0080400400280680ULL, +0x0000400400680000ULL, 0x0000400400680400ULL, 0x0080400400680280ULL, 0x0080400400680680ULL, +0x0000400280000000ULL, 0x0000400280000400ULL, 0x0080400280000280ULL, 0x0080400280000680ULL, +0x0000400280400000ULL, 0x0000400280400400ULL, 0x0080400280400280ULL, 0x0080400280400680ULL, +0x0000400280280000ULL, 0x0000400280280400ULL, 0x0080400280280280ULL, 0x0080400280280680ULL, +0x0000400280680000ULL, 0x0000400280680400ULL, 0x0080400280680280ULL, 0x0080400280680680ULL, +0x0000400680000000ULL, 0x0000400680000400ULL, 0x0080400680000280ULL, 0x0080400680000680ULL, +0x0000400680400000ULL, 0x0000400680400400ULL, 0x0080400680400280ULL, 0x0080400680400680ULL, +0x0000400680280000ULL, 0x0000400680280400ULL, 0x0080400680280280ULL, 0x0080400680280680ULL, +0x0000400680680000ULL, 0x0000400680680400ULL, 0x0080400680680280ULL, 0x0080400680680680ULL, +0x0000280000000000ULL, 0x0000280000000400ULL, 0x0080280000000280ULL, 0x0080280000000680ULL, +0x0000280000400000ULL, 0x0000280000400400ULL, 0x0080280000400280ULL, 0x0080280000400680ULL, +0x0000280000280000ULL, 0x0000280000280400ULL, 0x0080280000280280ULL, 0x0080280000280680ULL, +0x0000280000680000ULL, 0x0000280000680400ULL, 0x0080280000680280ULL, 0x0080280000680680ULL, +0x0000280400000000ULL, 0x0000280400000400ULL, 0x0080280400000280ULL, 0x0080280400000680ULL, +0x0000280400400000ULL, 0x0000280400400400ULL, 0x0080280400400280ULL, 0x0080280400400680ULL, +0x0000280400280000ULL, 0x0000280400280400ULL, 0x0080280400280280ULL, 0x0080280400280680ULL, +0x0000280400680000ULL, 0x0000280400680400ULL, 0x0080280400680280ULL, 0x0080280400680680ULL, +0x0000280280000000ULL, 0x0000280280000400ULL, 0x0080280280000280ULL, 0x0080280280000680ULL, +0x0000280280400000ULL, 0x0000280280400400ULL, 0x0080280280400280ULL, 0x0080280280400680ULL, +0x0000280280280000ULL, 0x0000280280280400ULL, 0x0080280280280280ULL, 0x0080280280280680ULL, +0x0000280280680000ULL, 0x0000280280680400ULL, 0x0080280280680280ULL, 0x0080280280680680ULL, +0x0000280680000000ULL, 0x0000280680000400ULL, 0x0080280680000280ULL, 0x0080280680000680ULL, +0x0000280680400000ULL, 0x0000280680400400ULL, 0x0080280680400280ULL, 0x0080280680400680ULL, +0x0000280680280000ULL, 0x0000280680280400ULL, 0x0080280680280280ULL, 0x0080280680280680ULL, +0x0000280680680000ULL, 0x0000280680680400ULL, 0x0080280680680280ULL, 0x0080280680680680ULL, +0x0000680000000000ULL, 0x0000680000000400ULL, 0x0080680000000280ULL, 0x0080680000000680ULL, +0x0000680000400000ULL, 0x0000680000400400ULL, 0x0080680000400280ULL, 0x0080680000400680ULL, +0x0000680000280000ULL, 0x0000680000280400ULL, 0x0080680000280280ULL, 0x0080680000280680ULL, +0x0000680000680000ULL, 0x0000680000680400ULL, 0x0080680000680280ULL, 0x0080680000680680ULL, +0x0000680400000000ULL, 0x0000680400000400ULL, 0x0080680400000280ULL, 0x0080680400000680ULL, +0x0000680400400000ULL, 0x0000680400400400ULL, 0x0080680400400280ULL, 0x0080680400400680ULL, +0x0000680400280000ULL, 0x0000680400280400ULL, 0x0080680400280280ULL, 0x0080680400280680ULL, +0x0000680400680000ULL, 0x0000680400680400ULL, 0x0080680400680280ULL, 0x0080680400680680ULL, +0x0000680280000000ULL, 0x0000680280000400ULL, 0x0080680280000280ULL, 0x0080680280000680ULL, +0x0000680280400000ULL, 0x0000680280400400ULL, 0x0080680280400280ULL, 0x0080680280400680ULL, +0x0000680280280000ULL, 0x0000680280280400ULL, 0x0080680280280280ULL, 0x0080680280280680ULL, +0x0000680280680000ULL, 0x0000680280680400ULL, 0x0080680280680280ULL, 0x0080680280680680ULL, +0x0000680680000000ULL, 0x0000680680000400ULL, 0x0080680680000280ULL, 0x0080680680000680ULL, +0x0000680680400000ULL, 0x0000680680400400ULL, 0x0080680680400280ULL, 0x0080680680400680ULL, +0x0000680680280000ULL, 0x0000680680280400ULL, 0x0080680680280280ULL, 0x0080680680280680ULL, +0x0000680680680000ULL, 0x0000680680680400ULL, 0x0080680680680280ULL, 0x0080680680680680ULL }, { -0x0000000000000000, 0x0000000000005000, 0x0000000000000800, 0x0000000000005800, -0x0000000005000000, 0x0000000005005000, 0x0000000005000800, 0x0000000005005800, -0x0000000000800000, 0x0000000000805000, 0x0000000000800800, 0x0000000000805800, -0x0000000005800000, 0x0000000005805000, 0x0000000005800800, 0x0000000005805800, -0x0000005000000000, 0x0000005000005000, 0x0000005000000800, 0x0000005000005800, -0x0000005005000000, 0x0000005005005000, 0x0000005005000800, 0x0000005005005800, -0x0000005000800000, 0x0000005000805000, 0x0000005000800800, 0x0000005000805800, -0x0000005005800000, 0x0000005005805000, 0x0000005005800800, 0x0000005005805800, -0x0000000800000000, 0x0000000800005000, 0x0000000800000800, 0x0000000800005800, -0x0000000805000000, 0x0000000805005000, 0x0000000805000800, 0x0000000805005800, -0x0000000800800000, 0x0000000800805000, 0x0000000800800800, 0x0000000800805800, -0x0000000805800000, 0x0000000805805000, 0x0000000805800800, 0x0000000805805800, -0x0000005800000000, 0x0000005800005000, 0x0000005800000800, 0x0000005800005800, -0x0000005805000000, 0x0000005805005000, 0x0000005805000800, 0x0000005805005800, -0x0000005800800000, 0x0000005800805000, 0x0000005800800800, 0x0000005800805800, -0x0000005805800000, 0x0000005805805000, 0x0000005805800800, 0x0000005805805800, -0x0005000000000004, 0x0005000000005004, 0x0005000000000804, 0x0005000000005804, -0x0005000005000004, 0x0005000005005004, 0x0005000005000804, 0x0005000005005804, -0x0005000000800004, 0x0005000000805004, 0x0005000000800804, 0x0005000000805804, -0x0005000005800004, 0x0005000005805004, 0x0005000005800804, 0x0005000005805804, -0x0005005000000004, 0x0005005000005004, 0x0005005000000804, 0x0005005000005804, -0x0005005005000004, 0x0005005005005004, 0x0005005005000804, 0x0005005005005804, -0x0005005000800004, 0x0005005000805004, 0x0005005000800804, 0x0005005000805804, -0x0005005005800004, 0x0005005005805004, 0x0005005005800804, 0x0005005005805804, -0x0005000800000004, 0x0005000800005004, 0x0005000800000804, 0x0005000800005804, -0x0005000805000004, 0x0005000805005004, 0x0005000805000804, 0x0005000805005804, -0x0005000800800004, 0x0005000800805004, 0x0005000800800804, 0x0005000800805804, -0x0005000805800004, 0x0005000805805004, 0x0005000805800804, 0x0005000805805804, -0x0005005800000004, 0x0005005800005004, 0x0005005800000804, 0x0005005800005804, -0x0005005805000004, 0x0005005805005004, 0x0005005805000804, 0x0005005805005804, -0x0005005800800004, 0x0005005800805004, 0x0005005800800804, 0x0005005800805804, -0x0005005805800004, 0x0005005805805004, 0x0005005805800804, 0x0005005805805804, -0x0000800000000000, 0x0000800000005000, 0x0000800000000800, 0x0000800000005800, -0x0000800005000000, 0x0000800005005000, 0x0000800005000800, 0x0000800005005800, -0x0000800000800000, 0x0000800000805000, 0x0000800000800800, 0x0000800000805800, -0x0000800005800000, 0x0000800005805000, 0x0000800005800800, 0x0000800005805800, -0x0000805000000000, 0x0000805000005000, 0x0000805000000800, 0x0000805000005800, -0x0000805005000000, 0x0000805005005000, 0x0000805005000800, 0x0000805005005800, -0x0000805000800000, 0x0000805000805000, 0x0000805000800800, 0x0000805000805800, -0x0000805005800000, 0x0000805005805000, 0x0000805005800800, 0x0000805005805800, -0x0000800800000000, 0x0000800800005000, 0x0000800800000800, 0x0000800800005800, -0x0000800805000000, 0x0000800805005000, 0x0000800805000800, 0x0000800805005800, -0x0000800800800000, 0x0000800800805000, 0x0000800800800800, 0x0000800800805800, -0x0000800805800000, 0x0000800805805000, 0x0000800805800800, 0x0000800805805800, -0x0000805800000000, 0x0000805800005000, 0x0000805800000800, 0x0000805800005800, -0x0000805805000000, 0x0000805805005000, 0x0000805805000800, 0x0000805805005800, -0x0000805800800000, 0x0000805800805000, 0x0000805800800800, 0x0000805800805800, -0x0000805805800000, 0x0000805805805000, 0x0000805805800800, 0x0000805805805800, -0x0005800000000004, 0x0005800000005004, 0x0005800000000804, 0x0005800000005804, -0x0005800005000004, 0x0005800005005004, 0x0005800005000804, 0x0005800005005804, -0x0005800000800004, 0x0005800000805004, 0x0005800000800804, 0x0005800000805804, -0x0005800005800004, 0x0005800005805004, 0x0005800005800804, 0x0005800005805804, -0x0005805000000004, 0x0005805000005004, 0x0005805000000804, 0x0005805000005804, -0x0005805005000004, 0x0005805005005004, 0x0005805005000804, 0x0005805005005804, -0x0005805000800004, 0x0005805000805004, 0x0005805000800804, 0x0005805000805804, -0x0005805005800004, 0x0005805005805004, 0x0005805005800804, 0x0005805005805804, -0x0005800800000004, 0x0005800800005004, 0x0005800800000804, 0x0005800800005804, -0x0005800805000004, 0x0005800805005004, 0x0005800805000804, 0x0005800805005804, -0x0005800800800004, 0x0005800800805004, 0x0005800800800804, 0x0005800800805804, -0x0005800805800004, 0x0005800805805004, 0x0005800805800804, 0x0005800805805804, -0x0005805800000004, 0x0005805800005004, 0x0005805800000804, 0x0005805800005804, -0x0005805805000004, 0x0005805805005004, 0x0005805805000804, 0x0005805805005804, -0x0005805800800004, 0x0005805800805004, 0x0005805800800804, 0x0005805800805804, -0x0005805805800004, 0x0005805805805004, 0x0005805805800804, 0x0005805805805804 +0x0000000000000000ULL, 0x0000000000005000ULL, 0x0000000000000800ULL, 0x0000000000005800ULL, +0x0000000005000000ULL, 0x0000000005005000ULL, 0x0000000005000800ULL, 0x0000000005005800ULL, +0x0000000000800000ULL, 0x0000000000805000ULL, 0x0000000000800800ULL, 0x0000000000805800ULL, +0x0000000005800000ULL, 0x0000000005805000ULL, 0x0000000005800800ULL, 0x0000000005805800ULL, +0x0000005000000000ULL, 0x0000005000005000ULL, 0x0000005000000800ULL, 0x0000005000005800ULL, +0x0000005005000000ULL, 0x0000005005005000ULL, 0x0000005005000800ULL, 0x0000005005005800ULL, +0x0000005000800000ULL, 0x0000005000805000ULL, 0x0000005000800800ULL, 0x0000005000805800ULL, +0x0000005005800000ULL, 0x0000005005805000ULL, 0x0000005005800800ULL, 0x0000005005805800ULL, +0x0000000800000000ULL, 0x0000000800005000ULL, 0x0000000800000800ULL, 0x0000000800005800ULL, +0x0000000805000000ULL, 0x0000000805005000ULL, 0x0000000805000800ULL, 0x0000000805005800ULL, +0x0000000800800000ULL, 0x0000000800805000ULL, 0x0000000800800800ULL, 0x0000000800805800ULL, +0x0000000805800000ULL, 0x0000000805805000ULL, 0x0000000805800800ULL, 0x0000000805805800ULL, +0x0000005800000000ULL, 0x0000005800005000ULL, 0x0000005800000800ULL, 0x0000005800005800ULL, +0x0000005805000000ULL, 0x0000005805005000ULL, 0x0000005805000800ULL, 0x0000005805005800ULL, +0x0000005800800000ULL, 0x0000005800805000ULL, 0x0000005800800800ULL, 0x0000005800805800ULL, +0x0000005805800000ULL, 0x0000005805805000ULL, 0x0000005805800800ULL, 0x0000005805805800ULL, +0x0005000000000004ULL, 0x0005000000005004ULL, 0x0005000000000804ULL, 0x0005000000005804ULL, +0x0005000005000004ULL, 0x0005000005005004ULL, 0x0005000005000804ULL, 0x0005000005005804ULL, +0x0005000000800004ULL, 0x0005000000805004ULL, 0x0005000000800804ULL, 0x0005000000805804ULL, +0x0005000005800004ULL, 0x0005000005805004ULL, 0x0005000005800804ULL, 0x0005000005805804ULL, +0x0005005000000004ULL, 0x0005005000005004ULL, 0x0005005000000804ULL, 0x0005005000005804ULL, +0x0005005005000004ULL, 0x0005005005005004ULL, 0x0005005005000804ULL, 0x0005005005005804ULL, +0x0005005000800004ULL, 0x0005005000805004ULL, 0x0005005000800804ULL, 0x0005005000805804ULL, +0x0005005005800004ULL, 0x0005005005805004ULL, 0x0005005005800804ULL, 0x0005005005805804ULL, +0x0005000800000004ULL, 0x0005000800005004ULL, 0x0005000800000804ULL, 0x0005000800005804ULL, +0x0005000805000004ULL, 0x0005000805005004ULL, 0x0005000805000804ULL, 0x0005000805005804ULL, +0x0005000800800004ULL, 0x0005000800805004ULL, 0x0005000800800804ULL, 0x0005000800805804ULL, +0x0005000805800004ULL, 0x0005000805805004ULL, 0x0005000805800804ULL, 0x0005000805805804ULL, +0x0005005800000004ULL, 0x0005005800005004ULL, 0x0005005800000804ULL, 0x0005005800005804ULL, +0x0005005805000004ULL, 0x0005005805005004ULL, 0x0005005805000804ULL, 0x0005005805005804ULL, +0x0005005800800004ULL, 0x0005005800805004ULL, 0x0005005800800804ULL, 0x0005005800805804ULL, +0x0005005805800004ULL, 0x0005005805805004ULL, 0x0005005805800804ULL, 0x0005005805805804ULL, +0x0000800000000000ULL, 0x0000800000005000ULL, 0x0000800000000800ULL, 0x0000800000005800ULL, +0x0000800005000000ULL, 0x0000800005005000ULL, 0x0000800005000800ULL, 0x0000800005005800ULL, +0x0000800000800000ULL, 0x0000800000805000ULL, 0x0000800000800800ULL, 0x0000800000805800ULL, +0x0000800005800000ULL, 0x0000800005805000ULL, 0x0000800005800800ULL, 0x0000800005805800ULL, +0x0000805000000000ULL, 0x0000805000005000ULL, 0x0000805000000800ULL, 0x0000805000005800ULL, +0x0000805005000000ULL, 0x0000805005005000ULL, 0x0000805005000800ULL, 0x0000805005005800ULL, +0x0000805000800000ULL, 0x0000805000805000ULL, 0x0000805000800800ULL, 0x0000805000805800ULL, +0x0000805005800000ULL, 0x0000805005805000ULL, 0x0000805005800800ULL, 0x0000805005805800ULL, +0x0000800800000000ULL, 0x0000800800005000ULL, 0x0000800800000800ULL, 0x0000800800005800ULL, +0x0000800805000000ULL, 0x0000800805005000ULL, 0x0000800805000800ULL, 0x0000800805005800ULL, +0x0000800800800000ULL, 0x0000800800805000ULL, 0x0000800800800800ULL, 0x0000800800805800ULL, +0x0000800805800000ULL, 0x0000800805805000ULL, 0x0000800805800800ULL, 0x0000800805805800ULL, +0x0000805800000000ULL, 0x0000805800005000ULL, 0x0000805800000800ULL, 0x0000805800005800ULL, +0x0000805805000000ULL, 0x0000805805005000ULL, 0x0000805805000800ULL, 0x0000805805005800ULL, +0x0000805800800000ULL, 0x0000805800805000ULL, 0x0000805800800800ULL, 0x0000805800805800ULL, +0x0000805805800000ULL, 0x0000805805805000ULL, 0x0000805805800800ULL, 0x0000805805805800ULL, +0x0005800000000004ULL, 0x0005800000005004ULL, 0x0005800000000804ULL, 0x0005800000005804ULL, +0x0005800005000004ULL, 0x0005800005005004ULL, 0x0005800005000804ULL, 0x0005800005005804ULL, +0x0005800000800004ULL, 0x0005800000805004ULL, 0x0005800000800804ULL, 0x0005800000805804ULL, +0x0005800005800004ULL, 0x0005800005805004ULL, 0x0005800005800804ULL, 0x0005800005805804ULL, +0x0005805000000004ULL, 0x0005805000005004ULL, 0x0005805000000804ULL, 0x0005805000005804ULL, +0x0005805005000004ULL, 0x0005805005005004ULL, 0x0005805005000804ULL, 0x0005805005005804ULL, +0x0005805000800004ULL, 0x0005805000805004ULL, 0x0005805000800804ULL, 0x0005805000805804ULL, +0x0005805005800004ULL, 0x0005805005805004ULL, 0x0005805005800804ULL, 0x0005805005805804ULL, +0x0005800800000004ULL, 0x0005800800005004ULL, 0x0005800800000804ULL, 0x0005800800005804ULL, +0x0005800805000004ULL, 0x0005800805005004ULL, 0x0005800805000804ULL, 0x0005800805005804ULL, +0x0005800800800004ULL, 0x0005800800805004ULL, 0x0005800800800804ULL, 0x0005800800805804ULL, +0x0005800805800004ULL, 0x0005800805805004ULL, 0x0005800805800804ULL, 0x0005800805805804ULL, +0x0005805800000004ULL, 0x0005805800005004ULL, 0x0005805800000804ULL, 0x0005805800005804ULL, +0x0005805805000004ULL, 0x0005805805005004ULL, 0x0005805805000804ULL, 0x0005805805005804ULL, +0x0005805800800004ULL, 0x0005805800805004ULL, 0x0005805800800804ULL, 0x0005805800805804ULL, +0x0005805805800004ULL, 0x0005805805805004ULL, 0x0005805805800804ULL, 0x0005805805805804ULL } +/* END CSTYLED */ }; static const uint32_t fp_table[256]= @@ -408,11 +412,11 @@ static const uint32_t fp_table[256]= 0x4040c0c0, 0xc040c0c0, 0x40c0c0c0, 0xc0c0c0c0 }; -static const uint64_t all_a = 0xaaaaaaaaaaaaaaaaull; -static const uint64_t all_5 = 0x5555555555555555ull; -static const uint64_t top_1 = 0xfc000000000000ull; -static const uint64_t mid_4 = 0x3fffffc000000ull; -static const uint64_t low_3 = 0x3ffff00ull; +static const uint64_t all_a = 0xaaaaaaaaaaaaaaaaULL; +static const uint64_t all_5 = 0x5555555555555555ULL; +static const uint64_t top_1 = 0xfc000000000000ULL; +static const uint64_t mid_4 = 0x3fffffc000000ULL; +static const uint64_t low_3 = 0x3ffff00ULL; static void @@ -425,10 +429,10 @@ des_ip(uint64_t *l, uint64_t *r, uint64_t pt) a = a | (a << 7); b = b | (b >> 7); - b = (ip_table[0][(b >> 48) & 255ull]) | - (ip_table[1][(b >> 32) & 255ull]) | - (ip_table[0][(b >> 16) & 255ull] << 6) | - (ip_table[1][b & 255ull] << 6); + b = (ip_table[0][(b >> 48) & 255ULL]) | + (ip_table[1][(b >> 32) & 255ULL]) | + (ip_table[0][(b >> 16) & 255ULL] << 6) | + (ip_table[1][b & 255ULL] << 6); a = (ip_table[0][(a >> 56) & 255]) | (ip_table[1][(a >> 40) & 255]) | @@ -621,29 +625,29 @@ keycheck(uint8_t *key, uint8_t *corrected_key) */ static uint64_t des_weak_keys[] = { /* Really weak keys. Byte-order independent values. */ - 0x0101010101010101, - 0x1f1f1f1f0e0e0e0e, - 0xe0e0e0e0f1f1f1f1, - 0xfefefefefefefefe, + 0x0101010101010101ULL, + 0x1f1f1f1f0e0e0e0eULL, + 0xe0e0e0e0f1f1f1f1ULL, + 0xfefefefefefefefeULL, /* Semi-weak (and a few possibly-weak) keys. */ /* Byte-order independent semi-weak keys. */ - 0x01fe01fe01fe01fe, 0xfe01fe01fe01fe01, + 0x01fe01fe01fe01feULL, 0xfe01fe01fe01fe01ULL, /* Byte-order dependent semi-weak keys. */ #ifdef _LITTLE_ENDIAN - 0xf10ef10ee01fe01f, 0x0ef10ef11fe01fe0, - 0x01f101f101e001e0, 0xf101f101e001e001, - 0x0efe0efe1ffe1ffe, 0xfe0efe0efe1ffe1f, - 0x010e010e011f011f, 0x0e010e011f011f01, - 0xf1fef1fee0fee0fe, 0xfef1fef1fee0fee0, + 0xf10ef10ee01fe01fULL, 0x0ef10ef11fe01fe0ULL, + 0x01f101f101e001e0ULL, 0xf101f101e001e001ULL, + 0x0efe0efe1ffe1ffeULL, 0xfe0efe0efe1ffe1fULL, + 0x010e010e011f011fULL, 0x0e010e011f011f01ULL, + 0xf1fef1fee0fee0feULL, 0xfef1fef1fee0fee0ULL, #else /* Big endian */ - 0x1fe01fe00ef10ef1, 0xe01fe01ff10ef10e, - 0x01e001e001f101f1, 0xe001e001f101f101, - 0x1ffe1ffe0efe0efe, 0xfe1ffe1ffe0efe0e, - 0x011f011f010e010e, 0x1f011f010e010e01, - 0xe0fee0fef1fef1fe, 0xfee0fee0fef1fef1, + 0x1fe01fe00ef10ef1ULL, 0xe01fe01ff10ef10eULL, + 0x01e001e001f101f1ULL, 0xe001e001f101f101ULL, + 0x1ffe1ffe0efe0efeULL, 0xfe1ffe1ffe0efe0eULL, + 0x011f011f010e010eULL, 0x1f011f010e010e01ULL, + 0xe0fee0fef1fef1feULL, 0xfee0fee0fef1fef1ULL, #endif /* We'll save the other possibly-weak keys for the future. */ @@ -666,7 +670,7 @@ keycheck(uint8_t *key, uint8_t *corrected_key) * Fix parity. */ fix_des_parity(&key_so_far); - key_so_far ^= 0x0101010101010101; + key_so_far ^= 0x0101010101010101ULL; /* Do weak key check itself. */ for (i = 0; i < (sizeof (des_weak_keys) / sizeof (uint64_t)); i++) @@ -910,6 +914,6 @@ fix_des_parity(uint64_t *keyp) k ^= k >> 1; k ^= k >> 2; k ^= k >> 4; - *keyp ^= (k & 0x0101010101010101LL); + *keyp ^= (k & 0x0101010101010101ULL); /* EXPORT DELETE END */ } diff --git a/usr/src/common/crypto/des/des_ks.c b/usr/src/common/crypto/des/des_ks.c index c2168debdf..706d39103c 100644 --- a/usr/src/common/crypto/des/des_ks.c +++ b/usr/src/common/crypto/des/des_ks.c @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2001-2003 Sun Microsystems, Inc. All rights reserved. + * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -32,74 +32,76 @@ static uint64_t pc1_table[2][128]= { +/* BEGIN CSTYLED */ { -0x0000000000000000, 0x0000000000100000, 0x0000000000001000, 0x0000000000101000, -0x0000000000000010, 0x0000000000100010, 0x0000000000001010, 0x0000000000101010, -0x0000000000000001, 0x0000000000100001, 0x0000000000001001, 0x0000000000101001, -0x0000000000000011, 0x0000000000100011, 0x0000000000001011, 0x0000000000101011, -0x0000000100000000, 0x0000000100100000, 0x0000000100001000, 0x0000000100101000, -0x0000000100000010, 0x0000000100100010, 0x0000000100001010, 0x0000000100101010, -0x0000000100000001, 0x0000000100100001, 0x0000000100001001, 0x0000000100101001, -0x0000000100000011, 0x0000000100100011, 0x0000000100001011, 0x0000000100101011, -0x0000010000000000, 0x0000010000100000, 0x0000010000001000, 0x0000010000101000, -0x0000010000000010, 0x0000010000100010, 0x0000010000001010, 0x0000010000101010, -0x0000010000000001, 0x0000010000100001, 0x0000010000001001, 0x0000010000101001, -0x0000010000000011, 0x0000010000100011, 0x0000010000001011, 0x0000010000101011, -0x0000010100000000, 0x0000010100100000, 0x0000010100001000, 0x0000010100101000, -0x0000010100000010, 0x0000010100100010, 0x0000010100001010, 0x0000010100101010, -0x0000010100000001, 0x0000010100100001, 0x0000010100001001, 0x0000010100101001, -0x0000010100000011, 0x0000010100100011, 0x0000010100001011, 0x0000010100101011, -0x0001000000000000, 0x0001000000100000, 0x0001000000001000, 0x0001000000101000, -0x0001000000000010, 0x0001000000100010, 0x0001000000001010, 0x0001000000101010, -0x0001000000000001, 0x0001000000100001, 0x0001000000001001, 0x0001000000101001, -0x0001000000000011, 0x0001000000100011, 0x0001000000001011, 0x0001000000101011, -0x0001000100000000, 0x0001000100100000, 0x0001000100001000, 0x0001000100101000, -0x0001000100000010, 0x0001000100100010, 0x0001000100001010, 0x0001000100101010, -0x0001000100000001, 0x0001000100100001, 0x0001000100001001, 0x0001000100101001, -0x0001000100000011, 0x0001000100100011, 0x0001000100001011, 0x0001000100101011, -0x0001010000000000, 0x0001010000100000, 0x0001010000001000, 0x0001010000101000, -0x0001010000000010, 0x0001010000100010, 0x0001010000001010, 0x0001010000101010, -0x0001010000000001, 0x0001010000100001, 0x0001010000001001, 0x0001010000101001, -0x0001010000000011, 0x0001010000100011, 0x0001010000001011, 0x0001010000101011, -0x0001010100000000, 0x0001010100100000, 0x0001010100001000, 0x0001010100101000, -0x0001010100000010, 0x0001010100100010, 0x0001010100001010, 0x0001010100101010, -0x0001010100000001, 0x0001010100100001, 0x0001010100001001, 0x0001010100101001, -0x0001010100000011, 0x0001010100100011, 0x0001010100001011, 0x0001010100101011 +0x0000000000000000ULL, 0x0000000000100000ULL, 0x0000000000001000ULL, 0x0000000000101000ULL, +0x0000000000000010ULL, 0x0000000000100010ULL, 0x0000000000001010ULL, 0x0000000000101010ULL, +0x0000000000000001ULL, 0x0000000000100001ULL, 0x0000000000001001ULL, 0x0000000000101001ULL, +0x0000000000000011ULL, 0x0000000000100011ULL, 0x0000000000001011ULL, 0x0000000000101011ULL, +0x0000000100000000ULL, 0x0000000100100000ULL, 0x0000000100001000ULL, 0x0000000100101000ULL, +0x0000000100000010ULL, 0x0000000100100010ULL, 0x0000000100001010ULL, 0x0000000100101010ULL, +0x0000000100000001ULL, 0x0000000100100001ULL, 0x0000000100001001ULL, 0x0000000100101001ULL, +0x0000000100000011ULL, 0x0000000100100011ULL, 0x0000000100001011ULL, 0x0000000100101011ULL, +0x0000010000000000ULL, 0x0000010000100000ULL, 0x0000010000001000ULL, 0x0000010000101000ULL, +0x0000010000000010ULL, 0x0000010000100010ULL, 0x0000010000001010ULL, 0x0000010000101010ULL, +0x0000010000000001ULL, 0x0000010000100001ULL, 0x0000010000001001ULL, 0x0000010000101001ULL, +0x0000010000000011ULL, 0x0000010000100011ULL, 0x0000010000001011ULL, 0x0000010000101011ULL, +0x0000010100000000ULL, 0x0000010100100000ULL, 0x0000010100001000ULL, 0x0000010100101000ULL, +0x0000010100000010ULL, 0x0000010100100010ULL, 0x0000010100001010ULL, 0x0000010100101010ULL, +0x0000010100000001ULL, 0x0000010100100001ULL, 0x0000010100001001ULL, 0x0000010100101001ULL, +0x0000010100000011ULL, 0x0000010100100011ULL, 0x0000010100001011ULL, 0x0000010100101011ULL, +0x0001000000000000ULL, 0x0001000000100000ULL, 0x0001000000001000ULL, 0x0001000000101000ULL, +0x0001000000000010ULL, 0x0001000000100010ULL, 0x0001000000001010ULL, 0x0001000000101010ULL, +0x0001000000000001ULL, 0x0001000000100001ULL, 0x0001000000001001ULL, 0x0001000000101001ULL, +0x0001000000000011ULL, 0x0001000000100011ULL, 0x0001000000001011ULL, 0x0001000000101011ULL, +0x0001000100000000ULL, 0x0001000100100000ULL, 0x0001000100001000ULL, 0x0001000100101000ULL, +0x0001000100000010ULL, 0x0001000100100010ULL, 0x0001000100001010ULL, 0x0001000100101010ULL, +0x0001000100000001ULL, 0x0001000100100001ULL, 0x0001000100001001ULL, 0x0001000100101001ULL, +0x0001000100000011ULL, 0x0001000100100011ULL, 0x0001000100001011ULL, 0x0001000100101011ULL, +0x0001010000000000ULL, 0x0001010000100000ULL, 0x0001010000001000ULL, 0x0001010000101000ULL, +0x0001010000000010ULL, 0x0001010000100010ULL, 0x0001010000001010ULL, 0x0001010000101010ULL, +0x0001010000000001ULL, 0x0001010000100001ULL, 0x0001010000001001ULL, 0x0001010000101001ULL, +0x0001010000000011ULL, 0x0001010000100011ULL, 0x0001010000001011ULL, 0x0001010000101011ULL, +0x0001010100000000ULL, 0x0001010100100000ULL, 0x0001010100001000ULL, 0x0001010100101000ULL, +0x0001010100000010ULL, 0x0001010100100010ULL, 0x0001010100001010ULL, 0x0001010100101010ULL, +0x0001010100000001ULL, 0x0001010100100001ULL, 0x0001010100001001ULL, 0x0001010100101001ULL, +0x0001010100000011ULL, 0x0001010100100011ULL, 0x0001010100001011ULL, 0x0001010100101011ULL }, { -0x0000000000000000, 0x0000000001000000, 0x0000000000010000, 0x0000000001010000, -0x0000000000000100, 0x0000000001000100, 0x0000000000010100, 0x0000000001010100, -0x0000000010000000, 0x0000000011000000, 0x0000000010010000, 0x0000000011010000, -0x0000000010000100, 0x0000000011000100, 0x0000000010010100, 0x0000000011010100, -0x0000001000000000, 0x0000001001000000, 0x0000001000010000, 0x0000001001010000, -0x0000001000000100, 0x0000001001000100, 0x0000001000010100, 0x0000001001010100, -0x0000001010000000, 0x0000001011000000, 0x0000001010010000, 0x0000001011010000, -0x0000001010000100, 0x0000001011000100, 0x0000001010010100, 0x0000001011010100, -0x0000100000000000, 0x0000100001000000, 0x0000100000010000, 0x0000100001010000, -0x0000100000000100, 0x0000100001000100, 0x0000100000010100, 0x0000100001010100, -0x0000100010000000, 0x0000100011000000, 0x0000100010010000, 0x0000100011010000, -0x0000100010000100, 0x0000100011000100, 0x0000100010010100, 0x0000100011010100, -0x0000101000000000, 0x0000101001000000, 0x0000101000010000, 0x0000101001010000, -0x0000101000000100, 0x0000101001000100, 0x0000101000010100, 0x0000101001010100, -0x0000101010000000, 0x0000101011000000, 0x0000101010010000, 0x0000101011010000, -0x0000101010000100, 0x0000101011000100, 0x0000101010010100, 0x0000101011010100, -0x0010000000000000, 0x0010000001000000, 0x0010000000010000, 0x0010000001010000, -0x0010000000000100, 0x0010000001000100, 0x0010000000010100, 0x0010000001010100, -0x0010000010000000, 0x0010000011000000, 0x0010000010010000, 0x0010000011010000, -0x0010000010000100, 0x0010000011000100, 0x0010000010010100, 0x0010000011010100, -0x0010001000000000, 0x0010001001000000, 0x0010001000010000, 0x0010001001010000, -0x0010001000000100, 0x0010001001000100, 0x0010001000010100, 0x0010001001010100, -0x0010001010000000, 0x0010001011000000, 0x0010001010010000, 0x0010001011010000, -0x0010001010000100, 0x0010001011000100, 0x0010001010010100, 0x0010001011010100, -0x0010100000000000, 0x0010100001000000, 0x0010100000010000, 0x0010100001010000, -0x0010100000000100, 0x0010100001000100, 0x0010100000010100, 0x0010100001010100, -0x0010100010000000, 0x0010100011000000, 0x0010100010010000, 0x0010100011010000, -0x0010100010000100, 0x0010100011000100, 0x0010100010010100, 0x0010100011010100, -0x0010101000000000, 0x0010101001000000, 0x0010101000010000, 0x0010101001010000, -0x0010101000000100, 0x0010101001000100, 0x0010101000010100, 0x0010101001010100, -0x0010101010000000, 0x0010101011000000, 0x0010101010010000, 0x0010101011010000, -0x0010101010000100, 0x0010101011000100, 0x0010101010010100, 0x0010101011010100 +0x0000000000000000ULL, 0x0000000001000000ULL, 0x0000000000010000ULL, 0x0000000001010000ULL, +0x0000000000000100ULL, 0x0000000001000100ULL, 0x0000000000010100ULL, 0x0000000001010100ULL, +0x0000000010000000ULL, 0x0000000011000000ULL, 0x0000000010010000ULL, 0x0000000011010000ULL, +0x0000000010000100ULL, 0x0000000011000100ULL, 0x0000000010010100ULL, 0x0000000011010100ULL, +0x0000001000000000ULL, 0x0000001001000000ULL, 0x0000001000010000ULL, 0x0000001001010000ULL, +0x0000001000000100ULL, 0x0000001001000100ULL, 0x0000001000010100ULL, 0x0000001001010100ULL, +0x0000001010000000ULL, 0x0000001011000000ULL, 0x0000001010010000ULL, 0x0000001011010000ULL, +0x0000001010000100ULL, 0x0000001011000100ULL, 0x0000001010010100ULL, 0x0000001011010100ULL, +0x0000100000000000ULL, 0x0000100001000000ULL, 0x0000100000010000ULL, 0x0000100001010000ULL, +0x0000100000000100ULL, 0x0000100001000100ULL, 0x0000100000010100ULL, 0x0000100001010100ULL, +0x0000100010000000ULL, 0x0000100011000000ULL, 0x0000100010010000ULL, 0x0000100011010000ULL, +0x0000100010000100ULL, 0x0000100011000100ULL, 0x0000100010010100ULL, 0x0000100011010100ULL, +0x0000101000000000ULL, 0x0000101001000000ULL, 0x0000101000010000ULL, 0x0000101001010000ULL, +0x0000101000000100ULL, 0x0000101001000100ULL, 0x0000101000010100ULL, 0x0000101001010100ULL, +0x0000101010000000ULL, 0x0000101011000000ULL, 0x0000101010010000ULL, 0x0000101011010000ULL, +0x0000101010000100ULL, 0x0000101011000100ULL, 0x0000101010010100ULL, 0x0000101011010100ULL, +0x0010000000000000ULL, 0x0010000001000000ULL, 0x0010000000010000ULL, 0x0010000001010000ULL, +0x0010000000000100ULL, 0x0010000001000100ULL, 0x0010000000010100ULL, 0x0010000001010100ULL, +0x0010000010000000ULL, 0x0010000011000000ULL, 0x0010000010010000ULL, 0x0010000011010000ULL, +0x0010000010000100ULL, 0x0010000011000100ULL, 0x0010000010010100ULL, 0x0010000011010100ULL, +0x0010001000000000ULL, 0x0010001001000000ULL, 0x0010001000010000ULL, 0x0010001001010000ULL, +0x0010001000000100ULL, 0x0010001001000100ULL, 0x0010001000010100ULL, 0x0010001001010100ULL, +0x0010001010000000ULL, 0x0010001011000000ULL, 0x0010001010010000ULL, 0x0010001011010000ULL, +0x0010001010000100ULL, 0x0010001011000100ULL, 0x0010001010010100ULL, 0x0010001011010100ULL, +0x0010100000000000ULL, 0x0010100001000000ULL, 0x0010100000010000ULL, 0x0010100001010000ULL, +0x0010100000000100ULL, 0x0010100001000100ULL, 0x0010100000010100ULL, 0x0010100001010100ULL, +0x0010100010000000ULL, 0x0010100011000000ULL, 0x0010100010010000ULL, 0x0010100011010000ULL, +0x0010100010000100ULL, 0x0010100011000100ULL, 0x0010100010010100ULL, 0x0010100011010100ULL, +0x0010101000000000ULL, 0x0010101001000000ULL, 0x0010101000010000ULL, 0x0010101001010000ULL, +0x0010101000000100ULL, 0x0010101001000100ULL, 0x0010101000010100ULL, 0x0010101001010100ULL, +0x0010101010000000ULL, 0x0010101011000000ULL, 0x0010101010010000ULL, 0x0010101011010000ULL, +0x0010101010000100ULL, 0x0010101011000100ULL, 0x0010101010010100ULL, 0x0010101011010100ULL } +/* END CSTYLED */ }; @@ -258,16 +260,16 @@ des_ks(uint64_t *ks, uint64_t key) uint64_t c, d; c = pc1_table[0][key >> 57] | - ((pc1_table[0][(key >> 49) & 127ull]) << 1) | - ((pc1_table[0][(key >> 41) & 127ull]) << 2) | - ((pc1_table[0][(key >> 33) & 127ull]) << 3) | - pc1_table[1][(key >> 25) & 127ull] | - ((pc1_table[1][(key >> 17) & 127ull]) << 1) | - ((pc1_table[1][(key >> 9) & 127ull]) << 2) | - ((pc1_table[1][(key >> 1) & 127ull]) << 3); + ((pc1_table[0][(key >> 49) & 127ULL]) << 1) | + ((pc1_table[0][(key >> 41) & 127ULL]) << 2) | + ((pc1_table[0][(key >> 33) & 127ULL]) << 3) | + pc1_table[1][(key >> 25) & 127ULL] | + ((pc1_table[1][(key >> 17) & 127ULL]) << 1) | + ((pc1_table[1][(key >> 9) & 127ULL]) << 2) | + ((pc1_table[1][(key >> 1) & 127ULL]) << 3); - d = (c & 0xfffffffull) | ((c & 0xfffffffull) << 28); - c = (c & 0xfffffff0000000ull) | ((c & 0xfffffff0000000ull) >> 28); + d = (c & 0xfffffffULL) | ((c & 0xfffffffULL) << 28); + c = (c & 0xfffffff0000000ULL) | ((c & 0xfffffff0000000ULL) >> 28); for (i = 0; i < 16; i++) { c = c << ss[i]; diff --git a/usr/src/common/crypto/sha1/sha1.c b/usr/src/common/crypto/sha1/sha1.c index 66d9867363..36a4914a71 100644 --- a/usr/src/common/crypto/sha1/sha1.c +++ b/usr/src/common/crypto/sha1/sha1.c @@ -429,11 +429,11 @@ havevis() * VIS SHA-1 consts. */ static uint64_t VIS[] = { - 0x8000000080000000, - 0x0002000200020002, - 0x5a8279996ed9eba1, - 0x8f1bbcdcca62c1d6, - 0x012389ab456789ab}; + 0x8000000080000000ULL, + 0x0002000200020002ULL, + 0x5a8279996ed9eba1ULL, + 0x8f1bbcdcca62c1d6ULL, + 0x012389ab456789abULL}; extern void SHA1TransformVIS(uint64_t *, uint64_t *, uint32_t *, uint64_t *); @@ -542,7 +542,7 @@ SHA1Update(SHA1_CTX *ctx, const uint8_t *input, uint32_t input_len) * for alignments other than 4-bytes. */ if (usevis) { - if (((uint64_t)(&input[i]) & 0x3)) { + if (((uint64_t)(uintptr_t)(&input[i]) & 0x3)) { /* * Main processing loop - input misaligned */ |