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>