Commit e997758c authored by Tom Lane's avatar Tom Lane

More pgcrypto fixes: avoid bogus alignment assumptions in sha2,

be more wary about having a value for BYTE_ORDER, clean up randomly-
chosen ways of including Postgres core headers.
Marko Kreen and Tom Lane
parent 3c52d17f
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $PostgreSQL: pgsql/contrib/pgcrypto/blf.c,v 1.7 2005/07/11 15:07:59 tgl Exp $
*/ */
/* /*
...@@ -40,9 +42,9 @@ ...@@ -40,9 +42,9 @@
* Bruce Schneier. * Bruce Schneier.
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h"
#include "px.h"
#include "blf.h" #include "blf.h"
/* Function for Feistel Networks */ /* Function for Feistel Networks */
......
...@@ -8,10 +8,11 @@ ...@@ -8,10 +8,11 @@
* *
* $FreeBSD: src/lib/libcrypt/crypt-md5.c,v 1.5 1999/12/17 20:21:45 peter Exp $ * $FreeBSD: src/lib/libcrypt/crypt-md5.c,v 1.5 1999/12/17 20:21:45 peter Exp $
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/crypt-md5.c,v 1.4 2005/07/11 15:07:59 tgl Exp $
*/ */
/* $PostgreSQL: pgsql/contrib/pgcrypto/crypt-md5.c,v 1.3 2003/11/29 22:39:28 pgsql Exp $ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "px-crypt.h" #include "px-crypt.h"
......
...@@ -26,16 +26,16 @@ ...@@ -26,16 +26,16 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/fortuna.c,v 1.1 2005/07/10 13:46:27 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/fortuna.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include <sys/time.h> #include <sys/time.h>
#include <time.h> #include <time.h>
#include "rijndael.h" #include "rijndael.h"
#include "sha2.h" #include "sha2.h"
#include "fortuna.h" #include "fortuna.h"
......
...@@ -26,15 +26,14 @@ ...@@ -26,15 +26,14 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/internal.c,v 1.19 2005/07/10 17:22:54 tgl Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/internal.c,v 1.20 2005/07/11 15:07:59 tgl Exp $
*/ */
#include "postgres.h"
#include <postgres.h>
#include <time.h> #include <time.h>
#include "px.h" #include "px.h"
#include "md5.h" #include "md5.h"
#include "sha1.h" #include "sha1.h"
#include "sha2.h" #include "sha2.h"
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/mbuf.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/mbuf.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
/* $PostgreSQL: pgsql/contrib/pgcrypto/md5.c,v 1.12 2004/08/29 16:43:05 tgl Exp $ */
/* $KAME: md5.c,v 1.3 2000/02/22 14:01:17 itojun Exp $ */ /* $KAME: md5.c,v 1.3 2000/02/22 14:01:17 itojun Exp $ */
/* /*
...@@ -28,13 +27,22 @@ ...@@ -28,13 +27,22 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
*
* $PostgreSQL: pgsql/contrib/pgcrypto/md5.c,v 1.13 2005/07/11 15:07:59 tgl Exp $
*/ */
#include "postgres.h" #include "postgres.h"
#include "px.h"
#include <sys/param.h>
#include "px.h"
#include "md5.h" #include "md5.h"
/* sanity check */
#if !defined(BYTE_ORDER) || (BYTE_ORDER != LITTLE_ENDIAN && BYTE_ORDER != BIG_ENDIAN)
#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
#endif
#define SHIFT(X, s) (((X) << (s)) | ((X) >> (32 - (s)))) #define SHIFT(X, s) (((X) << (s)) | ((X) >> (32 - (s))))
#define F(X, Y, Z) (((X) & (Y)) | ((~X) & (Z))) #define F(X, Y, Z) (((X) & (Y)) | ((~X) & (Z)))
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/openssl.c,v 1.23 2005/07/11 14:38:05 tgl Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/openssl.c,v 1.24 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
......
...@@ -26,12 +26,10 @@ ...@@ -26,12 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-armor.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-armor.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include <string.h>
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,10 +26,11 @@ ...@@ -26,10 +26,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-cfb.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-cfb.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "mbuf.h" #include "mbuf.h"
#include "px.h" #include "px.h"
#include "pgp.h" #include "pgp.h"
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-compress.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-compress.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "mbuf.h" #include "mbuf.h"
#include "px.h" #include "px.h"
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#ifndef DISABLE_ZLIB #ifndef DISABLE_ZLIB
#include <zlib.h> #include <zlib.h>
#define ZIP_OUT_BUF 8192 #define ZIP_OUT_BUF 8192
#define ZIP_IN_BLOCK 8192 #define ZIP_IN_BLOCK 8192
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-decrypt.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-decrypt.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,10 +26,11 @@ ...@@ -26,10 +26,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-encrypt.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-encrypt.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include <time.h> #include <time.h>
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-info.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-info.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-mpi-internal.c,v 1.1 2005/07/10 13:46:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-mpi-internal.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-mpi-openssl.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-mpi-openssl.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include <openssl/bn.h> #include <openssl/bn.h>
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-mpi.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-mpi.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,13 +26,14 @@ ...@@ -26,13 +26,14 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pgsql.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pgsql.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include <fmgr.h>
#include <parser/scansup.h> #include "fmgr.h"
#include <mb/pg_wchar.h> #include "parser/scansup.h"
#include "mb/pg_wchar.h"
#include "mbuf.h" #include "mbuf.h"
#include "px.h" #include "px.h"
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubdec.c,v 1.2 2005/07/10 15:37:03 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubdec.c,v 1.3 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubenc.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubenc.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubkey.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubkey.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp-s2k.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-s2k.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/pgp.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "mbuf.h" #include "mbuf.h"
......
...@@ -26,10 +26,11 @@ ...@@ -26,10 +26,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/px-crypt.c,v 1.11 2005/03/21 05:22:14 neilc Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/px-crypt.c,v 1.12 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
#include "px-crypt.h" #include "px-crypt.h"
......
...@@ -26,11 +26,10 @@ ...@@ -26,11 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/px-hmac.c,v 1.6 2005/03/21 05:19:55 neilc Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/px-hmac.c,v 1.7 2005/07/11 15:07:59 tgl Exp $
*/ */
#include "postgres.h"
#include <postgres.h>
#include "px.h" #include "px.h"
......
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/px.c,v 1.12 2005/07/10 03:57:55 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/px.c,v 1.13 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h" #include "px.h"
......
...@@ -26,11 +26,10 @@ ...@@ -26,11 +26,10 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $PostgreSQL: pgsql/contrib/pgcrypto/random.c,v 1.11 2005/07/10 03:55:28 momjian Exp $ * $PostgreSQL: pgsql/contrib/pgcrypto/random.c,v 1.12 2005/07/11 15:07:59 tgl Exp $
*/ */
#include "postgres.h"
#include <postgres.h>
#include "px.h" #include "px.h"
...@@ -49,7 +48,6 @@ ...@@ -49,7 +48,6 @@
#define TRY_DEV_RANDOM #define TRY_DEV_RANDOM
#include <errno.h>
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h> #include <unistd.h>
......
/* $OpenBSD: rijndael.c,v 1.6 2000/12/09 18:51:34 markus Exp $ */ /* $OpenBSD: rijndael.c,v 1.6 2000/12/09 18:51:34 markus Exp $ */
/* $PostgreSQL: pgsql/contrib/pgcrypto/rijndael.c,v 1.11 2005/07/11 15:07:59 tgl Exp $ */
/* This is an independent implementation of the encryption algorithm: */ /* This is an independent implementation of the encryption algorithm: */
/* */ /* */
/* RIJNDAEL by Joan Daemen and Vincent Rijmen */ /* RIJNDAEL by Joan Daemen and Vincent Rijmen */
...@@ -38,11 +40,19 @@ Mean: 500 cycles = 51.2 mbits/sec ...@@ -38,11 +40,19 @@ Mean: 500 cycles = 51.2 mbits/sec
*/ */
#include <postgres.h> #include "postgres.h"
#include "px.h"
#include <sys/param.h>
#include "px.h"
#include "rijndael.h" #include "rijndael.h"
/* sanity check */
#if !defined(BYTE_ORDER) || (BYTE_ORDER != LITTLE_ENDIAN && BYTE_ORDER != BIG_ENDIAN)
#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
#endif
#define PRE_CALC_TABLES #define PRE_CALC_TABLES
#define LARGE_TABLES #define LARGE_TABLES
......
/* $PostgreSQL: pgsql/contrib/pgcrypto/sha1.c,v 1.15 2005/05/25 21:40:39 momjian Exp $ */
/* $KAME: sha1.c,v 1.3 2000/02/22 14:01:18 itojun Exp $ */ /* $KAME: sha1.c,v 1.3 2000/02/22 14:01:18 itojun Exp $ */
/* /*
...@@ -28,6 +27,8 @@ ...@@ -28,6 +27,8 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
*
* $PostgreSQL: pgsql/contrib/pgcrypto/sha1.c,v 1.16 2005/07/11 15:07:59 tgl Exp $
*/ */
/* /*
* FIPS pub 180-1: Secure Hash Algorithm (SHA-1) * FIPS pub 180-1: Secure Hash Algorithm (SHA-1)
...@@ -36,18 +37,16 @@ ...@@ -36,18 +37,16 @@
*/ */
#include "postgres.h" #include "postgres.h"
#include "px.h"
#include <sys/param.h>
#include "px.h"
#include "sha1.h" #include "sha1.h"
/* sanity check */ /* sanity check */
#if BYTE_ORDER != BIG_ENDIAN #if !defined(BYTE_ORDER) || (BYTE_ORDER != LITTLE_ENDIAN && BYTE_ORDER != BIG_ENDIAN)
#if BYTE_ORDER != LITTLE_ENDIAN #error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
#define unsupported 1
#endif #endif
#endif
#ifndef unsupported
/* constant table */ /* constant table */
static uint32 _K[] = {0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6}; static uint32 _K[] = {0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6};
...@@ -346,5 +345,3 @@ sha1_result(struct sha1_ctxt * ctxt, uint8 *digest0) ...@@ -346,5 +345,3 @@ sha1_result(struct sha1_ctxt * ctxt, uint8 *digest0)
digest[19] = ctxt->h.b8[16]; digest[19] = ctxt->h.b8[16];
#endif #endif
} }
#endif /* unsupported */
/* $PostgreSQL: pgsql/contrib/pgcrypto/sha2.c,v 1.1 2005/07/10 13:46:29 momjian Exp $ */
/* $OpenBSD: sha2.c,v 1.6 2004/05/03 02:57:36 millert Exp $ */ /* $OpenBSD: sha2.c,v 1.6 2004/05/03 02:57:36 millert Exp $ */
/* /*
...@@ -33,9 +32,13 @@ ...@@ -33,9 +32,13 @@
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $From: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $ * $From: sha2.c,v 1.1 2001/11/08 00:01:51 adg Exp adg $
*
* $PostgreSQL: pgsql/contrib/pgcrypto/sha2.c,v 1.2 2005/07/11 15:07:59 tgl Exp $
*/ */
#include <postgres.h> #include "postgres.h"
#include <sys/param.h>
#include "sha2.h" #include "sha2.h"
...@@ -496,7 +499,6 @@ SHA256_Update(SHA256_CTX *context, const uint8 *data, size_t len) ...@@ -496,7 +499,6 @@ SHA256_Update(SHA256_CTX *context, const uint8 *data, size_t len)
void void
SHA256_Final(uint8 digest[], SHA256_CTX *context) SHA256_Final(uint8 digest[], SHA256_CTX *context)
{ {
uint32 *d = (uint32 *)digest;
unsigned int usedspace; unsigned int usedspace;
/* If no digest buffer is passed, we don't bother doing this: */ /* If no digest buffer is passed, we don't bother doing this: */
...@@ -542,12 +544,10 @@ SHA256_Final(uint8 digest[], SHA256_CTX *context) ...@@ -542,12 +544,10 @@ SHA256_Final(uint8 digest[], SHA256_CTX *context)
int j; int j;
for (j = 0; j < 8; j++) { for (j = 0; j < 8; j++) {
REVERSE32(context->state[j],context->state[j]); REVERSE32(context->state[j],context->state[j]);
*d++ = context->state[j];
} }
} }
#else
bcopy(context->state, d, SHA256_DIGEST_LENGTH);
#endif #endif
bcopy(context->state, digest, SHA256_DIGEST_LENGTH);
} }
/* Clean up state data: */ /* Clean up state data: */
...@@ -823,8 +823,6 @@ SHA512_Last(SHA512_CTX *context) ...@@ -823,8 +823,6 @@ SHA512_Last(SHA512_CTX *context)
void void
SHA512_Final(uint8 digest[], SHA512_CTX *context) SHA512_Final(uint8 digest[], SHA512_CTX *context)
{ {
uint64 *d = (uint64 *)digest;
/* If no digest buffer is passed, we don't bother doing this: */ /* If no digest buffer is passed, we don't bother doing this: */
if (digest != NULL) { if (digest != NULL) {
SHA512_Last(context); SHA512_Last(context);
...@@ -836,12 +834,10 @@ SHA512_Final(uint8 digest[], SHA512_CTX *context) ...@@ -836,12 +834,10 @@ SHA512_Final(uint8 digest[], SHA512_CTX *context)
int j; int j;
for (j = 0; j < 8; j++) { for (j = 0; j < 8; j++) {
REVERSE64(context->state[j],context->state[j]); REVERSE64(context->state[j],context->state[j]);
*d++ = context->state[j];
} }
} }
#else
bcopy(context->state, d, SHA512_DIGEST_LENGTH);
#endif #endif
bcopy(context->state, digest, SHA512_DIGEST_LENGTH);
} }
/* Zero out state data */ /* Zero out state data */
...@@ -869,8 +865,6 @@ SHA384_Update(SHA384_CTX *context, const uint8 *data, size_t len) ...@@ -869,8 +865,6 @@ SHA384_Update(SHA384_CTX *context, const uint8 *data, size_t len)
void void
SHA384_Final(uint8 digest[], SHA384_CTX *context) SHA384_Final(uint8 digest[], SHA384_CTX *context)
{ {
uint64 *d = (uint64 *)digest;
/* If no digest buffer is passed, we don't bother doing this: */ /* If no digest buffer is passed, we don't bother doing this: */
if (digest != NULL) { if (digest != NULL) {
SHA512_Last((SHA512_CTX *)context); SHA512_Last((SHA512_CTX *)context);
...@@ -882,12 +876,10 @@ SHA384_Final(uint8 digest[], SHA384_CTX *context) ...@@ -882,12 +876,10 @@ SHA384_Final(uint8 digest[], SHA384_CTX *context)
int j; int j;
for (j = 0; j < 6; j++) { for (j = 0; j < 6; j++) {
REVERSE64(context->state[j],context->state[j]); REVERSE64(context->state[j],context->state[j]);
*d++ = context->state[j];
} }
} }
#else
bcopy(context->state, d, SHA384_DIGEST_LENGTH);
#endif #endif
bcopy(context->state, digest, SHA384_DIGEST_LENGTH);
} }
/* Zero out state data */ /* Zero out state data */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment