summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2007-06-11 14:15:42 +1000
committerDamien Miller <djm@mindrot.org>2007-06-11 14:15:42 +1000
commit34a176995fe658e221b3a14730b695dd9f6943e5 (patch)
treee340f065770686f09a355f72328341f76d06c189
parent22b7b4933108dd07c9000bffcde8c13dbdcd240f (diff)
- (djm) [configure.ac umac.c] If platform doesn't provide swap32(3), then
fallback to provided bit-swizzing functions
-rw-r--r--ChangeLog4
-rw-r--r--configure.ac5
-rw-r--r--umac.c13
3 files changed, 12 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b59ef79f..6905defb0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -24,6 +24,8 @@
24 [sshd_config.5] 24 [sshd_config.5]
25 oops, here too: put the MAC list into a display, like we do for 25 oops, here too: put the MAC list into a display, like we do for
26 ciphers, since groff has trouble with wide lines; 26 ciphers, since groff has trouble with wide lines;
27 - (djm) [configure.ac umac.c] If platform doesn't provide swap32(3), then
28 fallback to provided bit-swizzing functions
27 29
2820070605 3020070605
29 - (dtucker) OpenBSD CVS Sync 31 - (dtucker) OpenBSD CVS Sync
@@ -2999,4 +3001,4 @@
2999 OpenServer 6 and add osr5bigcrypt support so when someone migrates 3001 OpenServer 6 and add osr5bigcrypt support so when someone migrates
3000 passwords between UnixWare and OpenServer they will still work. OK dtucker@ 3002 passwords between UnixWare and OpenServer they will still work. OK dtucker@
3001 3003
3002$Id: ChangeLog,v 1.4684 2007/06/11 04:07:12 djm Exp $ 3004$Id: ChangeLog,v 1.4685 2007/06/11 04:15:42 djm Exp $
diff --git a/configure.ac b/configure.ac
index 985ccb62d..143c164a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.380 2007/05/09 22:57:43 tim Exp $ 1# $Id: configure.ac,v 1.381 2007/06/11 04:15:43 djm Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,7 +15,7 @@
15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 16
17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
18AC_REVISION($Revision: 1.380 $) 18AC_REVISION($Revision: 1.381 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21AC_CONFIG_HEADER(config.h) 21AC_CONFIG_HEADER(config.h)
@@ -1300,6 +1300,7 @@ AC_CHECK_FUNCS( \
1300 strtonum \ 1300 strtonum \
1301 strtoll \ 1301 strtoll \
1302 strtoul \ 1302 strtoul \
1303 swap32 \
1303 sysconf \ 1304 sysconf \
1304 tcgetpgrp \ 1305 tcgetpgrp \
1305 truncate \ 1306 truncate \
diff --git a/umac.c b/umac.c
index 676705c9c..29c202a21 100644
--- a/umac.c
+++ b/umac.c
@@ -122,7 +122,11 @@ typedef unsigned int UWORD; /* Register */
122/* --- Endian Conversion --- Forcing assembly on some platforms */ 122/* --- Endian Conversion --- Forcing assembly on some platforms */
123/* ---------------------------------------------------------------------- */ 123/* ---------------------------------------------------------------------- */
124 124
125#if 0 125#if HAVE_SWAP32
126#define LOAD_UINT32_REVERSED(p) (swap32(*(UINT32 *)(p)))
127#define STORE_UINT32_REVERSED(p,v) (*(UINT32 *)(p) = swap32(v))
128#else /* HAVE_SWAP32 */
129
126static UINT32 LOAD_UINT32_REVERSED(void *ptr) 130static UINT32 LOAD_UINT32_REVERSED(void *ptr)
127{ 131{
128 UINT32 temp = *(UINT32 *)ptr; 132 UINT32 temp = *(UINT32 *)ptr;
@@ -137,15 +141,12 @@ static void STORE_UINT32_REVERSED(void *ptr, UINT32 x)
137 *(UINT32 *)ptr = (i >> 24) | ((i & 0x00FF0000) >> 8 ) 141 *(UINT32 *)ptr = (i >> 24) | ((i & 0x00FF0000) >> 8 )
138 | ((i & 0x0000FF00) << 8 ) | (i << 24); 142 | ((i & 0x0000FF00) << 8 ) | (i << 24);
139} 143}
140#endif 144#endif /* HAVE_SWAP32 */
141 145
142/* The following definitions use the above reversal-primitives to do the right 146/* The following definitions use the above reversal-primitives to do the right
143 * thing on endian specific load and stores. 147 * thing on endian specific load and stores.
144 */ 148 */
145 149
146#define LOAD_UINT32_REVERSED(p) (swap32(*(UINT32 *)(p)))
147#define STORE_UINT32_REVERSED(p,v) (*(UINT32 *)(p) = swap32(v))
148
149#if (__LITTLE_ENDIAN__) 150#if (__LITTLE_ENDIAN__)
150#define LOAD_UINT32_LITTLE(ptr) (*(UINT32 *)(ptr)) 151#define LOAD_UINT32_LITTLE(ptr) (*(UINT32 *)(ptr))
151#define STORE_UINT32_BIG(ptr,x) STORE_UINT32_REVERSED(ptr,x) 152#define STORE_UINT32_BIG(ptr,x) STORE_UINT32_REVERSED(ptr,x)
@@ -154,8 +155,6 @@ static void STORE_UINT32_REVERSED(void *ptr, UINT32 x)
154#define STORE_UINT32_BIG(ptr,x) (*(UINT32 *)(ptr) = (UINT32)(x)) 155#define STORE_UINT32_BIG(ptr,x) (*(UINT32 *)(ptr) = (UINT32)(x))
155#endif 156#endif
156 157
157
158
159/* ---------------------------------------------------------------------- */ 158/* ---------------------------------------------------------------------- */
160/* ---------------------------------------------------------------------- */ 159/* ---------------------------------------------------------------------- */
161/* ----- Begin KDF & PDF Section ---------------------------------------- */ 160/* ----- Begin KDF & PDF Section ---------------------------------------- */