Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Feb 2016 20:54:10 +0000 (UTC)
From:      "Carlos J. Puga Medina" <cpm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r408514 - in head/security/libgcrypt: . files
Message-ID:  <201602082054.u18KsAO0033738@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@fbsd.es
+MAINTAINER=	cpm@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602082054.u18KsAO0033738>