changeset 39693:0d87ac50f584

crypto: use byteswap * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: * lib/sm3.c: Include <byteswap.h>. (SWAP): Use its macros rather than reinventing the wheel. * modules/crypto/md4, modules/crypto/md5-buffer: * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer: * modules/crypto/sha512-buffer, modules/crypto/sm3: (Depends-on): Add byteswap.
author Paul Eggert <eggert@cs.ucla.edu>
date Sun, 17 Jun 2018 14:35:37 -0700
parents f79968d997d7
children f75f2ff5aac1
files ChangeLog lib/md4.c lib/md5.c lib/sha1.c lib/sha256.c lib/sha512.c lib/sm3.c modules/crypto/md4 modules/crypto/md5-buffer modules/crypto/sha1-buffer modules/crypto/sha256-buffer modules/crypto/sha512-buffer modules/crypto/sm3
diffstat 13 files changed, 29 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Jun 17 14:26:28 2018 -0700
+++ b/ChangeLog	Sun Jun 17 14:35:37 2018 -0700
@@ -1,3 +1,14 @@
+2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+	crypto: use byteswap
+	* lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
+	* lib/sm3.c: Include <byteswap.h>.
+	(SWAP): Use its macros rather than reinventing the wheel.
+	* modules/crypto/md4, modules/crypto/md5-buffer:
+	* modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
+	* modules/crypto/sha512-buffer, modules/crypto/sm3:
+	(Depends-on): Add byteswap.
+
 2018-06-17  Pádraig Brady  <P@draigBrady.com>
 
 	gendocs.sh: fix support for legacy --texi2html
--- a/lib/md4.c	Sun Jun 17 14:26:28 2018 -0700
+++ b/lib/md4.c	Sun Jun 17 14:35:37 2018 -0700
@@ -33,9 +33,9 @@
 # include "unlocked-io.h"
 #endif
 
+#include <byteswap.h>
 #ifdef WORDS_BIGENDIAN
-# define SWAP(n)                                                        \
-  (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
+# define SWAP(n) bswap_32 (n)
 #else
 # define SWAP(n) (n)
 #endif
--- a/lib/md5.c	Sun Jun 17 14:26:28 2018 -0700
+++ b/lib/md5.c	Sun Jun 17 14:35:37 2018 -0700
@@ -52,9 +52,9 @@
 # define md5_buffer __md5_buffer
 #endif
 
+#include <byteswap.h>
 #ifdef WORDS_BIGENDIAN
-# define SWAP(n)                                                        \
-    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
+# define SWAP(n) bswap_32 (n)
 #else
 # define SWAP(n) (n)
 #endif
--- a/lib/sha1.c	Sun Jun 17 14:26:28 2018 -0700
+++ b/lib/sha1.c	Sun Jun 17 14:35:37 2018 -0700
@@ -37,11 +37,11 @@
 # include "unlocked-io.h"
 #endif
 
+#include <byteswap.h>
 #ifdef WORDS_BIGENDIAN
 # define SWAP(n) (n)
 #else
-# define SWAP(n) \
-    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
+# define SWAP(n) bswap_32 (n)
 #endif
 
 #define BLOCKSIZE 32768
--- a/lib/sha256.c	Sun Jun 17 14:26:28 2018 -0700
+++ b/lib/sha256.c	Sun Jun 17 14:35:37 2018 -0700
@@ -36,11 +36,11 @@
 # include "unlocked-io.h"
 #endif
 
+#include <byteswap.h>
 #ifdef WORDS_BIGENDIAN
 # define SWAP(n) (n)
 #else
-# define SWAP(n) \
-    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
+# define SWAP(n) bswap_32 (n)
 #endif
 
 #define BLOCKSIZE 32768
--- a/lib/sha512.c	Sun Jun 17 14:26:28 2018 -0700
+++ b/lib/sha512.c	Sun Jun 17 14:35:37 2018 -0700
@@ -36,18 +36,11 @@
 # include "unlocked-io.h"
 #endif
 
+#include <byteswap.h>
 #ifdef WORDS_BIGENDIAN
 # define SWAP(n) (n)
 #else
-# define SWAP(n) \
-    u64or (u64or (u64or (u64shl (n, 56),                                \
-                         u64shl (u64and (n, u64lo (0x0000ff00)), 40)),  \
-                  u64or (u64shl (u64and (n, u64lo (0x00ff0000)), 24),   \
-                         u64shl (u64and (n, u64lo (0xff000000)),  8))), \
-           u64or (u64or (u64and (u64shr (n,  8), u64lo (0xff000000)),   \
-                         u64and (u64shr (n, 24), u64lo (0x00ff0000))),  \
-                  u64or (u64and (u64shr (n, 40), u64lo (0x0000ff00)),   \
-                         u64shr (n, 56))))
+# define SWAP(n) bswap_64 (n)
 #endif
 
 #define BLOCKSIZE 32768
--- a/lib/sm3.c	Sun Jun 17 14:26:28 2018 -0700
+++ b/lib/sm3.c	Sun Jun 17 14:35:37 2018 -0700
@@ -49,11 +49,11 @@
 # define dbg_printf printf
 #endif
 
+#include <byteswap.h>
 #ifdef WORDS_BIGENDIAN
 # define SWAP(n) (n)
 #else
-# define SWAP(n) \
-    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
+# define SWAP(n) bswap_32 (n)
 #endif
 
 #define BLOCKSIZE 32768
--- a/modules/crypto/md4	Sun Jun 17 14:26:28 2018 -0700
+++ b/modules/crypto/md4	Sun Jun 17 14:35:37 2018 -0700
@@ -7,6 +7,7 @@
 m4/md4.m4
 
 Depends-on:
+byteswap
 stdalign
 stdint
 
--- a/modules/crypto/md5-buffer	Sun Jun 17 14:26:28 2018 -0700
+++ b/modules/crypto/md5-buffer	Sun Jun 17 14:35:37 2018 -0700
@@ -9,6 +9,7 @@
 m4/md5.m4
 
 Depends-on:
+byteswap
 extern-inline
 stdalign
 stdint
--- a/modules/crypto/sha1-buffer	Sun Jun 17 14:26:28 2018 -0700
+++ b/modules/crypto/sha1-buffer	Sun Jun 17 14:35:37 2018 -0700
@@ -9,6 +9,7 @@
 m4/sha1.m4
 
 Depends-on:
+byteswap
 extern-inline
 stdalign
 stdint
--- a/modules/crypto/sha256-buffer	Sun Jun 17 14:26:28 2018 -0700
+++ b/modules/crypto/sha256-buffer	Sun Jun 17 14:35:37 2018 -0700
@@ -9,6 +9,7 @@
 m4/sha256.m4
 
 Depends-on:
+byteswap
 extern-inline
 stdalign
 stdint
--- a/modules/crypto/sha512-buffer	Sun Jun 17 14:26:28 2018 -0700
+++ b/modules/crypto/sha512-buffer	Sun Jun 17 14:35:37 2018 -0700
@@ -9,6 +9,7 @@
 m4/sha512.m4
 
 Depends-on:
+byteswap
 extern-inline
 stdalign
 stdint
--- a/modules/crypto/sm3	Sun Jun 17 14:26:28 2018 -0700
+++ b/modules/crypto/sm3	Sun Jun 17 14:35:37 2018 -0700
@@ -7,6 +7,7 @@
 m4/sm3.m4
 
 Depends-on:
+byteswap
 extern-inline
 stdalign
 stdint