diff options
author | Kurt Jaeger <pi@FreeBSD.org> | 2014-07-30 03:57:23 +0000 |
---|---|---|
committer | Kurt Jaeger <pi@FreeBSD.org> | 2014-07-30 03:57:23 +0000 |
commit | b95d127471e2fd17cc8d189dbeec094e3ff556db (patch) | |
tree | 15807f23c2499ac331641e73da0725c3432fea04 /security/p5-Crypt-GCrypt | |
parent | 626234f3eae064cb91ca281da3c79d84b69bf30c (diff) | |
download | ports-b95d127471e2fd17cc8d189dbeec094e3ff556db.tar.gz ports-b95d127471e2fd17cc8d189dbeec094e3ff556db.zip |
security/libgcrypt: 1.5.3_3 -> 1.6.1
- Update to 1.6.1
- Remove some unneeded patches
- Fix pkg-plist
- report configure bug upstream
https://bugs.g10code.com/gnupg/issue1668
- report API breakage downstream and find that MacPorts had the same issue
https://rt.cpan.org/Ticket/Display.html?id=97201
- bump PORTREVISION for dependent ports (approx. 100 ports)
- Thanks to exp-run by antoine@ to find ports that break
- patch ports that would otherwise break
security/shishi with PR 192164 is already committed
[1] devel/ccrtp
[2] editors/abiword
[3] security/p5-Crypt-GCrypt
PR: 191256, 192162 [1], 192163 [2], 192166 [3]
Submitted by: Carlos Jacobo Puga Medina <cjpugmed@gmail.com>
Approved by: maintainer timeout, antoine (exp-run), portmgr (implicit)
Notes
Notes:
svn path=/head/; revision=363436
Diffstat (limited to 'security/p5-Crypt-GCrypt')
-rw-r--r-- | security/p5-Crypt-GCrypt/Makefile | 4 | ||||
-rw-r--r-- | security/p5-Crypt-GCrypt/files/patch-GCrypt.xs | 143 |
2 files changed, 147 insertions, 0 deletions
diff --git a/security/p5-Crypt-GCrypt/Makefile b/security/p5-Crypt-GCrypt/Makefile index 71f9f65da1ff..cbc5933bdcc4 100644 --- a/security/p5-Crypt-GCrypt/Makefile +++ b/security/p5-Crypt-GCrypt/Makefile @@ -3,6 +3,7 @@ PORTNAME= Crypt-GCrypt PORTVERSION= 1.26 +PORTREVISION= 1 CATEGORIES= security perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- @@ -20,4 +21,7 @@ CONFIGURE_ARGS= GCRYPTINCPATH=${LOCALBASE}/include \ USE_PERL5= configure USES= perl5 +post-stage: + ${STRIP_CMD} ${STAGEDIR}${SITE_PERL}/${PERL_ARCH}/auto/Crypt/GCrypt/GCrypt.so + .include <bsd.port.mk> diff --git a/security/p5-Crypt-GCrypt/files/patch-GCrypt.xs b/security/p5-Crypt-GCrypt/files/patch-GCrypt.xs new file mode 100644 index 000000000000..b1e041e18232 --- /dev/null +++ b/security/p5-Crypt-GCrypt/files/patch-GCrypt.xs @@ -0,0 +1,143 @@ +--- GCrypt.xs.orig 2011-05-27 22:04:03.000000000 +0200 ++++ GCrypt.xs 2014-07-27 16:14:05.000000000 +0200 +@@ -56,9 +56,13 @@ + int type; + int action; + gcry_cipher_hd_t h; ++/* + gcry_ac_handle_t h_ac; ++*/ + gcry_md_hd_t h_md; ++/* + gcry_ac_key_t key_ac; ++*/ + gcry_error_t err; + int mode; + int padding; +@@ -203,7 +207,9 @@ + char *s, *algo_s, *mode_s, *key_s; + int i, algo, mode; + unsigned int c_flags, ac_flags, md_flags; ++/* + gcry_ac_id_t ac_algo; ++*/ + bool have_mode; + CODE: + New(0, RETVAL, 1, struct Crypt_GCrypt_s); +@@ -322,25 +328,19 @@ + if (!(algo = gcry_md_map_name(algo_s))) + croak("Unknown digest algorithm %s", algo_s); + +- RETVAL->err = gcry_md_open(&RETVAL->h_md, algo, md_flags); ++ RETVAL->err = gcry_md_open(&RETVAL->h_md, algo, md_flags); + if (RETVAL->h_md == NULL) XSRETURN_UNDEF; + +- if (md_flags & GCRY_MD_FLAG_HMAC) { +- /* what if this overwrites the earlier error value? */ +- RETVAL->err = gcry_md_setkey(RETVAL->h_md, key_s, RETVAL->keylen); ++ if (md_flags & GCRY_MD_FLAG_HMAC) { ++ /* what if this overwrites the earlier error value? */ ++ RETVAL->err = gcry_md_setkey(RETVAL->h_md, key_s, RETVAL->keylen); ++ } + } +- } + if (RETVAL->type == CG_TYPE_ASYMM) { + + croak("Asymmetric cryptography is not yet supported by Crypt::GCrypt"); ++ XSRETURN_UNDEF; + +- RETVAL->err = gcry_ac_name_to_id(algo_s, &ac_algo); +- if (RETVAL->err) +- croak("Unknown algorithm %s", algo_s); +- +- /* Init ac */ +- RETVAL->err = gcry_ac_open(&RETVAL->h_ac, ac_algo, ac_flags); +- if (RETVAL->h_ac == NULL) XSRETURN_UNDEF; + } + + +@@ -532,39 +532,6 @@ + OUTPUT: + RETVAL + +-SV * +-cg_sign(gcr, in) +- Crypt_GCrypt gcr; +- SV *in; +- PREINIT: +- gcry_mpi_t in_mpi, out_mpi; +- gcry_ac_data_t outdata; +- size_t len; +- const void *inbuf; +- const char *label; +- char* outbuf; +- CODE: +- /* +- in_mpi = gcry_mpi_new(0); +- out_mpi = gcry_mpi_new(0); +- inbuf = SvPV(in, len); +- printf("inbuf: %s\n", inbuf); +- gcry_mpi_scan( &in_mpi, GCRYMPI_FMT_STD, inbuf, strlen(inbuf), NULL ); +- printf("Key: %s\n", gcr->key_ac); +- gcr->err = gcry_ac_data_sign(gcr->h_ac, gcr->key_ac, in_mpi, &outdata); +- if (gcr->err) { +- croak( gcry_strerror(gcr->err) ); +- } +- printf("Here\n"); +- gcr->err = gcry_ac_data_get_index (outdata, 0, 0, &label, &out_mpi); +- printf("Before (%s)\n", label); +- gcry_mpi_print(GCRYMPI_FMT_STD, outbuf, 1024, NULL, out_mpi); +- printf("After\n"); +- RETVAL = newSVpv(outbuf, 0); +- */ +- OUTPUT: +- RETVAL +- + void + cg_start(gcr, act) + Crypt_GCrypt gcr; +@@ -594,8 +561,10 @@ + PREINIT: + char *k, *s; + char *mykey, *buf; ++/* + gcry_ac_key_type_t keytype; + gcry_ac_data_t keydata; ++*/ + gcry_mpi_t mpi; + size_t len; + CODE: +@@ -617,22 +586,7 @@ + + /* Set key for asymmetric criptography */ + if (gcr->type == CG_TYPE_ASYMM) { +- k = SvPV(ST(2), len); +- +- /* Key type */ +- keytype = -1; +- s = SvPV(ST(1), len); +- if (strcmp(s, "private") == 0) keytype = GCRY_AC_KEY_SECRET; +- if (strcmp(s, "public") == 0) keytype = GCRY_AC_KEY_PUBLIC; +- if (keytype == -1) +- croak("Key must be private or public"); +- +- gcry_control(GCRYCTL_INIT_SECMEM, strlen(k)); +- mpi = gcry_mpi_snew(0); +- /* gcry_mpi_scan( &mpi, GCRYMPI_FMT_STD, k, NULL, NULL ); */ +- gcr->err = gcry_ac_data_new(&keydata); +- gcr->err = gcry_ac_data_set(keydata, GCRY_AC_FLAG_COPY, "s", mpi); +- gcr->err = gcry_ac_key_init(&gcr->key_ac, gcr->h_ac, keytype, keydata); ++ croak("Asymmetric cryptography is not yet supported by Crypt::GCrypt"); + } + + void +@@ -796,7 +750,9 @@ + Crypt_GCrypt gcr; + CODE: + if (gcr->type == CG_TYPE_CIPHER) gcry_cipher_close(gcr->h); ++/* + if (gcr->type == CG_TYPE_ASYMM) gcry_ac_close(gcr->h_ac); ++*/ + if (gcr->type == CG_TYPE_DIGEST) gcry_md_close(gcr->h_md); + + if (gcr->need_to_call_finish == 1) |