svn commit: r408514 - in head/security/libgcrypt: . files
Carlos J. Puga Medina
cpm at FreeBSD.org
Mon Feb 8 20:54:12 UTC 2016
Author: cpm
Date: Mon Feb 8 20:54:10 2016
New Revision: 408514
URL: https://svnweb.freebsd.org/changeset/ports/408514
Log:
This patch fixes alignment of self-test context in salsa20 required
for amd64 implementation.
Other changes:
- Regenerate patches to make portlint(1) happy
- Update MAINTAINER to my @FreeBSD.org address
- Bump PORTREVISION
PR: 206919
Approved by: junovitch (mentor)
Added:
head/security/libgcrypt/files/patch-cipher_salsa20.c (contents, props changed)
head/security/libgcrypt/files/patch-src_gcrypt.h.in (contents, props changed)
Deleted:
head/security/libgcrypt/files/patch-cipher-Makefile.in
head/security/libgcrypt/files/patch-git_f5832285
Modified:
head/security/libgcrypt/Makefile
Modified: head/security/libgcrypt/Makefile
==============================================================================
--- head/security/libgcrypt/Makefile Mon Feb 8 19:51:27 2016 (r408513)
+++ head/security/libgcrypt/Makefile Mon Feb 8 20:54:10 2016 (r408514)
@@ -2,11 +2,11 @@
PORTNAME= libgcrypt
PORTVERSION= 1.6.4
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= security
MASTER_SITES= GNUPG
-MAINTAINER= cpm at fbsd.es
+MAINTAINER= cpm at FreeBSD.org
COMMENT= General purpose crypto library based on code used in GnuPG
LICENSE= GPLv2 LGPL21
Added: head/security/libgcrypt/files/patch-cipher_salsa20.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/security/libgcrypt/files/patch-cipher_salsa20.c Mon Feb 8 20:54:10 2016 (r408514)
@@ -0,0 +1,61 @@
+--- cipher/salsa20.c.orig 2016-02-03 17:12:14 UTC
++++ cipher/salsa20.c
+@@ -485,7 +485,8 @@ salsa20r12_encrypt_stream (void *context
+ static const char*
+ selftest (void)
+ {
+- SALSA20_context_t ctx;
++ byte ctxbuf[sizeof(SALSA20_context_t) + 15];
++ SALSA20_context_t *ctx;
+ byte scratch[8+1];
+ byte buf[256+64+4];
+ int i;
+@@ -502,32 +503,35 @@ selftest (void)
+ static const byte ciphertext_1[] =
+ { 0xE3, 0xBE, 0x8F, 0xDD, 0x8B, 0xEC, 0xA2, 0xE3};
+
+- salsa20_setkey (&ctx, key_1, sizeof key_1);
+- salsa20_setiv (&ctx, nonce_1, sizeof nonce_1);
++ /* 16-byte alignment required for amd64 implementation. */
++ ctx = (SALSA20_context_t *)((uintptr_t)(ctxbuf + 15) & ~(uintptr_t)15);
++
++ salsa20_setkey (ctx, key_1, sizeof key_1);
++ salsa20_setiv (ctx, nonce_1, sizeof nonce_1);
+ scratch[8] = 0;
+- salsa20_encrypt_stream (&ctx, scratch, plaintext_1, sizeof plaintext_1);
++ salsa20_encrypt_stream (ctx, scratch, plaintext_1, sizeof plaintext_1);
+ if (memcmp (scratch, ciphertext_1, sizeof ciphertext_1))
+ return "Salsa20 encryption test 1 failed.";
+ if (scratch[8])
+ return "Salsa20 wrote too much.";
+- salsa20_setkey( &ctx, key_1, sizeof(key_1));
+- salsa20_setiv (&ctx, nonce_1, sizeof nonce_1);
+- salsa20_encrypt_stream (&ctx, scratch, scratch, sizeof plaintext_1);
++ salsa20_setkey (ctx, key_1, sizeof(key_1));
++ salsa20_setiv (ctx, nonce_1, sizeof nonce_1);
++ salsa20_encrypt_stream (ctx, scratch, scratch, sizeof plaintext_1);
+ if (memcmp (scratch, plaintext_1, sizeof plaintext_1))
+ return "Salsa20 decryption test 1 failed.";
+
+ for (i = 0; i < sizeof buf; i++)
+ buf[i] = i;
+- salsa20_setkey (&ctx, key_1, sizeof key_1);
+- salsa20_setiv (&ctx, nonce_1, sizeof nonce_1);
++ salsa20_setkey (ctx, key_1, sizeof key_1);
++ salsa20_setiv (ctx, nonce_1, sizeof nonce_1);
+ /*encrypt*/
+ salsa20_encrypt_stream (&ctx, buf, buf, sizeof buf);
+ /*decrypt*/
+- salsa20_setkey (&ctx, key_1, sizeof key_1);
+- salsa20_setiv (&ctx, nonce_1, sizeof nonce_1);
+- salsa20_encrypt_stream (&ctx, buf, buf, 1);
+- salsa20_encrypt_stream (&ctx, buf+1, buf+1, (sizeof buf)-1-1);
+- salsa20_encrypt_stream (&ctx, buf+(sizeof buf)-1, buf+(sizeof buf)-1, 1);
++ salsa20_setkey (ctx, key_1, sizeof key_1);
++ salsa20_setiv (ctx, nonce_1, sizeof nonce_1);
++ salsa20_encrypt_stream (ctx, buf, buf, 1);
++ salsa20_encrypt_stream (ctx, buf+1, buf+1, (sizeof buf)-1-1);
++ salsa20_encrypt_stream (ctx, buf+(sizeof buf)-1, buf+(sizeof buf)-1, 1);
+ for (i = 0; i < sizeof buf; i++)
+ if (buf[i] != (byte)i)
+ return "Salsa20 encryption test 2 failed.";
Added: head/security/libgcrypt/files/patch-src_gcrypt.h.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/security/libgcrypt/files/patch-src_gcrypt.h.in Mon Feb 8 20:54:10 2016 (r408514)
@@ -0,0 +1,20 @@
+--- src/gcrypt.h.in.orig 2015-09-07 12:05:57 UTC
++++ src/gcrypt.h.in
+@@ -506,7 +506,7 @@ enum gcry_mpi_flag
+ GCRYMPI_FLAG_USER1 = 0x0100,/* User flag 1. */
+ GCRYMPI_FLAG_USER2 = 0x0200,/* User flag 2. */
+ GCRYMPI_FLAG_USER3 = 0x0400,/* User flag 3. */
+- GCRYMPI_FLAG_USER4 = 0x0800,/* User flag 4. */
++ GCRYMPI_FLAG_USER4 = 0x0800 /* User flag 4. */
+ };
+
+
+@@ -1343,7 +1343,7 @@ enum gcry_mac_algos
+ /* Flags used with the open function. */
+ enum gcry_mac_flags
+ {
+- GCRY_MAC_FLAG_SECURE = 1, /* Allocate all buffers in "secure" memory. */
++ GCRY_MAC_FLAG_SECURE = 1 /* Allocate all buffers in "secure" memory. */
+ };
+
+ /* Create a MAC handle for algorithm ALGO. FLAGS may be given as an bitwise OR
More information about the svn-ports-head
mailing list