From: Alon Bar-Lev Date: Wed, 31 Dec 2014 18:27:34 +0000 (+0000) Subject: Fix misc CVEs, bug#534110 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c7db17a561c10e7a75d7b3ff44d7a41222d9ea49;p=gentoo.git Fix misc CVEs, bug#534110 Package-Manager: portage-2.2.14/cvs/Linux x86_64 Manifest-Sign-Key: 0xBF20DC51 --- diff --git a/app-crypt/gnupg/ChangeLog b/app-crypt/gnupg/ChangeLog index 8d922fef821f..4d45479c81e5 100644 --- a/app-crypt/gnupg/ChangeLog +++ b/app-crypt/gnupg/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for app-crypt/gnupg # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/ChangeLog,v 1.561 2014/12/17 19:05:55 k_f Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/ChangeLog,v 1.562 2014/12/31 18:27:16 alonbl Exp $ + +*gnupg-2.0.26-r3 (31 Dec 2014) +*gnupg-2.1.1-r1 (31 Dec 2014) + + 31 Dec 2014; Alon Bar-Lev + +files/gnupg-2.0.26-misc-cve.patch, +files/gnupg-2.1.1-misc-cve.patch, + +gnupg-2.0.26-r3.ebuild, +gnupg-2.1.1-r1.ebuild, -gnupg-2.1.1.ebuild: + Fix misc CVEs, bug#534110 *gnupg-2.1.1 (17 Dec 2014) diff --git a/app-crypt/gnupg/Manifest b/app-crypt/gnupg/Manifest index f90f5c023ab9..2a3051b52f2e 100644 --- a/app-crypt/gnupg/Manifest +++ b/app-crypt/gnupg/Manifest @@ -3,6 +3,8 @@ Hash: SHA256 AUX gnupg-2.0.17-gpgsm-gencert.patch 1121 SHA256 fa8369a4466b3cce54215a348940422f46f4d359f9e9b3c7029a1138870888df SHA512 ecde032b205cc16c33ff21ded55b93e74058cd804d68e4a0738ac70d54b5b388b6f709d21719a5e418c662b7ee74bc4aef7a0c59de106e2d4bd06b7bc1a11138 WHIRLPOOL 5dc4d3de29290e8e274a0f4fef871cea7f49553846254d819ca776000978a72c694212559d9ad03312f94f71f406de4641c0575188d340017a7937b01753b8a0 AUX gnupg-2.0.26-Need-to-init-the-trustdb-for-import.patch 895 SHA256 063f50e8293282ec59ccf30567dafc16f5cdec800d2965acf8cf8a5050d8a9b3 SHA512 85423d0c0a2d6e85d569bd31c8f8209fb8707c827f041055bc2a1b20ec1372257574a2b72d86cdc1fa61188966bbb0e0ca176505bbd2bb1e2df12257f33ae259 WHIRLPOOL b9ee365eb55e637ca80b1ab88f1b48a9f925be73aba4f3e8e1c5526cbdb18a4c6326aa0282b45c6ad285b9c0d2f624e161679abd41bfcbd6cbf37764c0123467 +AUX gnupg-2.0.26-misc-cve.patch 3201 SHA256 d0f16d14da9868b79d17fa49ff284ec05fb45ef61f35c864bde9e38dc7539de2 SHA512 bb2860e5d8bb1567238e25d05cda7cb76557fa43dca3b8e802f7b4664e9b46e10187f2cbb76d1bcea5816d14c936d704fd606bdf125855ef3401b08412ac1fed WHIRLPOOL eefd707be37662bccd63d671496c79b30a07c13fb7497562887c678495020c382b5fb664ec8d5c76c45077fd6cfe36d4fc33f804b544f0efd042f6eaa5d2ed36 +AUX gnupg-2.1.1-misc-cve.patch 3548 SHA256 cef5fabc9b02366a33ed79e35b887fcb47e1d46f674f787da11e09b2ec8e5801 SHA512 9616ba2cdc513bc4982a2d66e1e06dcea6e52abba1e14033ab179e19b84ebaf43c60c3d3238ce38c7517c8fc4478570c0ea37f9e23f519d00bb720263d64e5dc WHIRLPOOL 2ab9c19edd012c4267d30aaf38f0880ea3cac2cf1f222cc37a883f69e839cd50486d3f4bd23fb191d3a97ed5557040088d764fa78acdf5eb9982937d1199eee3 DIST gnupg-1.4.18.tar.bz2 3649557 SHA256 b7b5fdda78849955e0cdbc5a085f3a08f8b7fba126c622085debb62def5d6388 SHA512 f9619ede8e0d2844774e07fb42359444c5ab8e15565a87f419f76cc3d781940c564f35f429131686fdd7559c5c2edb49506b3c0a1feecbd95438743075be3e63 WHIRLPOOL 780876be0603fd0605b192721e2bbb770ad67d98acba8ef0fd769ab3241467696da5f49a189d89600d076691bf2cedb1294ffade5c44f6d24512d6a93a6f8981 DIST gnupg-2.0.25.tar.bz2 4301689 SHA256 b3abe97df096cf53d6a422ac922f3c48e688bc892b7ccf669b92f0b7fc6c5823 SHA512 8b80c86ec53ed3b82d15a8e316baf175691e06e1bcac28d66c61fd37d07e26196a7ee7855e6eb958c301cee764866cc3cf00e5ec0aef23abddf7427bb3d23fb1 WHIRLPOOL 786f3db3af0c96249e128ce3a30dee7e9fbec38d75ed29138f0dfdcbe4f4377c39d4152844087cec0147921eed73c1a01382b542c6a27e86e8bd9265f67e65e2 DIST gnupg-2.0.26.tar.bz2 4303384 SHA256 7758e30dc382ae7a7167ed41b7f936aa50af5ea2d6fccdef663b5b750b65b8e0 SHA512 5dd23baaac764fd48abd235ed52a85a2c7fd68b98fcde45c0f294ddb3b5629e8b1bd894585fbed4e6a6cb2bc4a5552c098c3cf1a849fffa469424fd0a4fee726 WHIRLPOOL 8d9b30337957f6bfeddea29116d862ef0c0ddd06d59bc2799db236b91b2c6767aad6f37f2166fc431c5d9454eb41f49f3e261bc38d0e89361f0c467f4591cd5a @@ -10,23 +12,15 @@ DIST gnupg-2.1.1.tar.bz2 4801472 SHA256 70ecd01d2875db62624c911c2fd815742f50aef5 EBUILD gnupg-1.4.18.ebuild 3763 SHA256 37cedb3946b555e83111f5096b3dd73f9506175976be10d648f8eb76b0b5fd3a SHA512 3dd165eb15a4946a9e2157549f0da6864e84c054a6369d7053730a899b50c5f05a703c1ce8e208b9de21b135bc8888f0f13835fce50f0e9eec467140e7e63355 WHIRLPOOL 9c64d59b7c444dde1fb601a6ab8d1085525153174b5995009ff7758866e56b88028056b42154fa0e28b3328978e15df515e4c65e65cb667fc17b75fb340e8e15 EBUILD gnupg-2.0.25.ebuild 4747 SHA256 6c57559a986cb9271891d041a6f1e7903ccce835c00d7ea16818078f56f11d78 SHA512 f3d81564eb1c708d188d357521f3c6c43f15a8ac8f2758d14328cc3d7cc40306af50a8269f09dd2f80ec6469dc5f31dd2864008d7526dd9f108b1972ce1a7000 WHIRLPOOL f41c54bef5b0b4b7a7cba514c4c39d2cc938eae5e56c8a225755435393f4e483e5c1bd02d02dd0c86c9d6a945ccfe40090523b7f35228a899043dfa79eff9ba1 EBUILD gnupg-2.0.26-r2.ebuild 4886 SHA256 7f49e6631f28793979c32481138669548e2308df2532e355b21cddf9a44e1c4b SHA512 76ed7eee2a8ebd34a733e4b1484ce2b46226e35da5a1b4e911176d3209dd39dcf25b410808c3f08ebc060b351cd2266dec96dd0374bd3a828394c7efc3aa27a9 WHIRLPOOL 6d9d5eaa5367fad5b0e668138dc1485c50604885458e8958ddfda329222f663eef342ddf64e46eb9c871f41c96a9858f26acadab1a3d3b95f12eb0d0f07ed0c8 +EBUILD gnupg-2.0.26-r3.ebuild 4928 SHA256 2116ba200f294f1665bc3f213a67a5202ba0172fe29b5cfcd2bdeb3807f0d960 SHA512 15ed4bbb1915a6daca053c7cbd71a79cb11f36b7cbbb11e90a017be0b2842444db676d1426913df808e0d471e8e8fbc1304229af774c621698ec54c25336bf48 WHIRLPOOL ac66f6e039d40e4a789b7b9efa84f085310f39dbdc2131323d0cf939e5ffe866170f832adda07b00a25863919f5d5d155bb30d563654fdc764b024c667ac0c9a EBUILD gnupg-2.0.26.ebuild 4815 SHA256 c1dad0a216f9af5605619bfd4ccc6d02caf49051d3532ecc039966284a807dc4 SHA512 7bd67cd37735a92b45ec167f30b038a830c7da1834d6e7500768bae2a4c89e9c9994012d78f4d52f4ad520cf7a7e1e1b42125dcecc5f408da0e4dbfa40afbf45 WHIRLPOOL 3d4d532f357d949cb02d4e61f86a9d724c10212a9329abf600e1adf5be6430c24992e076b4674b5c66e332928530a6fec166c5838a2eaa9fe4845a6f80eeb02c -EBUILD gnupg-2.1.1.ebuild 4611 SHA256 088ee08c9ca88eb06182524dccb1095a21a2804f9c75bea1d0eaf50d841d22a4 SHA512 9058ee7cfb3e1ed095bf31de2915e35c345542caed13622690530c4581e41541ab1ee82ec664a3fb05280ba8845e6273123a216daa8001f816e94a9c2201175e WHIRLPOOL 7e12abc2542092bd49d8d2d5141f83c55b77172fa11b922d51fe711ad01f8e1290dd4f4137a9cf64034c68dffca8f93569baf628b41dc4602294a5cf7cdebae6 -MISC ChangeLog 82394 SHA256 b97df831a243761eabcfde4ba0ce2ff1e6c773a298325df4bb2b03d168266d7c SHA512 62156da33548ea0eb613823c7c46a865a46e334420e3a734326c941a5be72e2883a76e48d72ade94967e0af1c6c96f61b8938c3500ca13798d361acc33caca39 WHIRLPOOL 415613e7c681c6d035e86851c326e71a7f71871ad2b0ceeeeae073cc82edfcdd47d880295334533192a4c4a4b295b48d42c1bb32e5f589ae03c6a40b021701e6 +EBUILD gnupg-2.1.1-r1.ebuild 4659 SHA256 7f91ba1562b043ce44dc81f8718b8f49d4e22fa7000473132ac204f6cceccab1 SHA512 411a35236734b483e9812463161c4bdb6304d1be8e28e4c1846aba564d265e1e61a9c210c8b28f7a38a5df8c0eb78369fa90d85087de16feeb620a5eae991e43 WHIRLPOOL df52d80a0da889dad8f8c9d9016e02f1e05cd9a72f7f1e1e312698be71c8c23784990d551bfc4086bd5a9a85a5fccdb74c6c73d1e8cf98c4c6bbba3e1c262a3f +MISC ChangeLog 82681 SHA256 893e8ab32ed148eaa8d6b9da4de5d50181ec60ad1ce9cf3af2a62e4ed2c15816 SHA512 d12b116ac12923aec01ebb249be64949330f5df0669308f1d6d378fd0b432901253bfa41334c589fbe68962cddf8e3de88f67c475aefe029f38a5dcd6e93f52c WHIRLPOOL 5653e27842e09db96778d3c5e7a4f04c4709a59da2919c7810751fc72465529a86063fc984a4a82b792db391e3e4586edbd931d48fa27ac015ad21359a18dd05 MISC metadata.xml 1032 SHA256 cbef1621eb1364c8d12ac18e71cf4aabfced9ecd3c990a3f3cdf066902dc97bb SHA512 5e2ef4380effe027a0b0b8a11a29ed1996b3b5256ee333909d4a7cfcb18ea1e9dead9b8303c7dffc1ad10014dea79e827b1d84caa92294f4d3dfc29ff23a6af5 WHIRLPOOL a24c7f71ed140f34dd59b10314869d0c5482063be20faefa1591595feb856c79bc57a6b344dd467875cf3389d8cd14e2d41f2312f51d3b77dcbe27af97b7f129 -----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 -iQIcBAEBCAAGBQJUkdMCAAoJEPw7F94F4TaguVwP/1I9dj/Z2HE+jpRdWy3OdgGx -ew2qYKn5eOQLepEixbJljS4lX/YFJ17acFJKQeC0+HEU9Rt3KdqUd4IkNtFefxTy -rfYI3VhrCKFEAxilqmbP5sMFc1pvQ4I/MLTQJGIuwBWRjLUyzB0Io8dN/bgLJ64n -4wdYGVXJUMzMpDWyenDFALhksmd/k257DbxUNDiqRrjbuJxnDaQ+PKOhW7Ab2huc -ydtTn0dpuZTMav1gu7NhZNmeI7iQ4mpFE5eeZ7/DT4yFQ3+57flMSJzS9mEZzFDe -6Mcy6TBkAN58ehghPSAAS2akgpHy509FRlwFe1bkn0zC9Q9HCUhW6MKMIj3OG1QD -zTxUyqeAVwU+zq1SjNMZbc0POY8X0uus/4awunlOzJIOlYJF22HCeAyDOK2J7GCh -U8AxZdjbWUHtNuSKJdiWvfF0JPR/O1wwEPImSc+0bc2NYQx587pIuiyZK2jqMOCv -aaC29znhWTNFuwYXLK4NWK61NDB3uD+LFxPcSpYDopGqKBuOc1zRkG+DRgOn8a8X -DS/HSn9WWZvl+C0qkxr1G36QazgQ2xLWr0OtgV/RzCjEd7Pdq2s1Ewdx7dqsDLoa -e+690ALRrZycRxEdrOisViS/M3GJx5F9NoQbhkqEn8UcD57K0+eY0LuglCaEGixj -VkpsdqdBUmbZsbj2FnmB -=581M +iF4EAREIAAYFAlSkQBUACgkQXYk9GL8g3FF+1wEAl7bXLyu3QL0F8/QbWszsrl9h +sDMl87F2R7mrWdWpiecA/16Fzh1mlWK/w9k7KtsLcgF1p2rqWt4fTy634sDhd42r +=STPu -----END PGP SIGNATURE----- diff --git a/app-crypt/gnupg/files/gnupg-2.0.26-misc-cve.patch b/app-crypt/gnupg/files/gnupg-2.0.26-misc-cve.patch new file mode 100644 index 000000000000..734a04abd553 --- /dev/null +++ b/app-crypt/gnupg/files/gnupg-2.0.26-misc-cve.patch @@ -0,0 +1,118 @@ +From ed8383c618e124cfa708c9ee87563fcdf2f4649c Mon Sep 17 00:00:00 2001 +From: Daniel Kahn Gillmor +Date: Fri, 19 Dec 2014 18:53:34 -0500 +Subject: [PATCH] sm: Avoid double-free on iconv failure + +* sm/minip12.c: (p12_build) if jnlib_iconv_open fails, avoid +double-free of pwbuf. + +-- + +Observed by Joshua Rogers , who proposed a +slightly different fix. + +Debian-Bug-Id: 773472 + +Added fix at a second place - wk. +--- + sm/minip12.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/agent/minip12.c b/agent/minip12.c +index 01b91b7..ca4d248 100644 +--- a/agent/minip12.c ++++ b/agent/minip12.c +@@ -2422,6 +2422,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen, + " requested charset '%s': %s\n", + charset, strerror (errno)); + gcry_free (pwbuf); ++ pwbuf = NULL; + goto failure; + } + +@@ -2436,6 +2437,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen, + " requested charset '%s': %s\n", + charset, strerror (errno)); + gcry_free (pwbuf); ++ pwbuf = NULL; + jnlib_iconv_close (cd); + goto failure; + } +-- +1.7.10.4 + +From b0b3803e8c2959dd67ca96debc54b5c6464f0d41 Mon Sep 17 00:00:00 2001 +From: Daniel Kahn Gillmor +Date: Fri, 19 Dec 2014 18:07:55 -0500 +Subject: [PATCH] scd: Avoid double-free on error condition in scd + +* scd/command.c (cmd_readkey): avoid double-free of cert + +-- + +When ksba_cert_new() fails, cert will be double-freed. + +Debian-Bug-Id: 773471 + +Original patch changed by wk to do the free only at leave. +--- + scd/command.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/scd/command.c b/scd/command.c +index dd4191f..1cc580a 100644 +--- a/scd/command.c ++++ b/scd/command.c +@@ -804,10 +804,8 @@ cmd_readkey (assuan_context_t ctx, char *line) + + rc = ksba_cert_new (&kc); + if (rc) +- { +- xfree (cert); +- goto leave; +- } ++ goto leave; ++ + rc = ksba_cert_init_from_mem (kc, cert, ncert); + if (rc) + { +-- +1.7.10.4 + +From abd5f6752d693b7f313c19604f0723ecec4d39a6 Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Mon, 22 Dec 2014 12:16:46 +0100 +Subject: [PATCH] dirmngr,gpgsm: Return NULL on fail + +* dirmngr/ldapserver.c (ldapserver_parse_one): Set SERVER to NULL. +* sm/gpgsm.c (parse_keyserver_line): Ditto. +-- + +Reported-by: Joshua Rogers + + "If something inside the ldapserver_parse_one function failed, + 'server' would be freed, then returned, leading to a + use-after-free. This code is likely copied from sm/gpgsm.c, which + was also susceptible to this bug." + +Signed-off-by: Werner Koch +--- + dirmngr/ldapserver.c | 1 + + sm/gpgsm.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/sm/gpgsm.c b/sm/gpgsm.c +index 3398d17..72bceb4 100644 +--- a/sm/gpgsm.c ++++ b/sm/gpgsm.c +@@ -862,6 +862,7 @@ parse_keyserver_line (char *line, + { + log_info (_("%s:%u: skipping this line\n"), filename, lineno); + keyserver_list_free (server); ++ server = NULL; + } + + return server; +-- +1.7.10.4 + diff --git a/app-crypt/gnupg/files/gnupg-2.1.1-misc-cve.patch b/app-crypt/gnupg/files/gnupg-2.1.1-misc-cve.patch new file mode 100644 index 000000000000..1a54a3d8d58f --- /dev/null +++ b/app-crypt/gnupg/files/gnupg-2.1.1-misc-cve.patch @@ -0,0 +1,130 @@ +From ed8383c618e124cfa708c9ee87563fcdf2f4649c Mon Sep 17 00:00:00 2001 +From: Daniel Kahn Gillmor +Date: Fri, 19 Dec 2014 18:53:34 -0500 +Subject: [PATCH] sm: Avoid double-free on iconv failure + +* sm/minip12.c: (p12_build) if jnlib_iconv_open fails, avoid +double-free of pwbuf. + +-- + +Observed by Joshua Rogers , who proposed a +slightly different fix. + +Debian-Bug-Id: 773472 + +Added fix at a second place - wk. +--- + sm/minip12.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sm/minip12.c b/sm/minip12.c +index 01b91b7..ca4d248 100644 +--- a/sm/minip12.c ++++ b/sm/minip12.c +@@ -2422,6 +2422,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen, + " requested charset '%s': %s\n", + charset, strerror (errno)); + gcry_free (pwbuf); ++ pwbuf = NULL; + goto failure; + } + +@@ -2436,6 +2437,7 @@ p12_build (gcry_mpi_t *kparms, const void *cert, size_t certlen, + " requested charset '%s': %s\n", + charset, strerror (errno)); + gcry_free (pwbuf); ++ pwbuf = NULL; + jnlib_iconv_close (cd); + goto failure; + } +-- +1.7.10.4 + +From b0b3803e8c2959dd67ca96debc54b5c6464f0d41 Mon Sep 17 00:00:00 2001 +From: Daniel Kahn Gillmor +Date: Fri, 19 Dec 2014 18:07:55 -0500 +Subject: [PATCH] scd: Avoid double-free on error condition in scd + +* scd/command.c (cmd_readkey): avoid double-free of cert + +-- + +When ksba_cert_new() fails, cert will be double-freed. + +Debian-Bug-Id: 773471 + +Original patch changed by wk to do the free only at leave. +--- + scd/command.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/scd/command.c b/scd/command.c +index dd4191f..1cc580a 100644 +--- a/scd/command.c ++++ b/scd/command.c +@@ -804,10 +804,8 @@ cmd_readkey (assuan_context_t ctx, char *line) + + rc = ksba_cert_new (&kc); + if (rc) +- { +- xfree (cert); +- goto leave; +- } ++ goto leave; ++ + rc = ksba_cert_init_from_mem (kc, cert, ncert); + if (rc) + { +-- +1.7.10.4 + +From abd5f6752d693b7f313c19604f0723ecec4d39a6 Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Mon, 22 Dec 2014 12:16:46 +0100 +Subject: [PATCH] dirmngr,gpgsm: Return NULL on fail + +* dirmngr/ldapserver.c (ldapserver_parse_one): Set SERVER to NULL. +* sm/gpgsm.c (parse_keyserver_line): Ditto. +-- + +Reported-by: Joshua Rogers + + "If something inside the ldapserver_parse_one function failed, + 'server' would be freed, then returned, leading to a + use-after-free. This code is likely copied from sm/gpgsm.c, which + was also susceptible to this bug." + +Signed-off-by: Werner Koch +--- + dirmngr/ldapserver.c | 1 + + sm/gpgsm.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/dirmngr/ldapserver.c b/dirmngr/ldapserver.c +index 20a574c..5808c5b 100644 +--- a/dirmngr/ldapserver.c ++++ b/dirmngr/ldapserver.c +@@ -125,6 +125,7 @@ ldapserver_parse_one (char *line, + { + log_info (_("%s:%u: skipping this line\n"), filename, lineno); + ldapserver_list_free (server); ++ server = NULL; + } + + return server; +diff --git a/sm/gpgsm.c b/sm/gpgsm.c +index 3398d17..72bceb4 100644 +--- a/sm/gpgsm.c ++++ b/sm/gpgsm.c +@@ -862,6 +862,7 @@ parse_keyserver_line (char *line, + { + log_info (_("%s:%u: skipping this line\n"), filename, lineno); + keyserver_list_free (server); ++ server = NULL; + } + + return server; +-- +1.7.10.4 + diff --git a/app-crypt/gnupg/gnupg-2.0.26-r3.ebuild b/app-crypt/gnupg/gnupg-2.0.26-r3.ebuild new file mode 100644 index 000000000000..9e03d08aa770 --- /dev/null +++ b/app-crypt/gnupg/gnupg-2.0.26-r3.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-2.0.26-r3.ebuild,v 1.1 2014/12/31 18:27:16 alonbl Exp $ + +EAPI="5" + +inherit eutils flag-o-matic toolchain-funcs + +DESCRIPTION="The GNU Privacy Guard, a GPL pgp replacement" +HOMEPAGE="http://www.gnupg.org/" +SRC_URI="mirror://gnupg/gnupg/${P}.tar.bz2" +# SRC_URI="ftp://ftp.gnupg.org/gcrypt/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="bzip2 doc ldap nls mta readline static selinux smartcard tools usb" + +COMMON_DEPEND_LIBS=" + >=dev-libs/libassuan-2 + >=dev-libs/libgcrypt-1.4:0= + >=dev-libs/libgpg-error-1.11 + >=dev-libs/libksba-1.0.7 + >=dev-libs/pth-1.3.7 + >=net-misc/curl-7.10 + sys-libs/zlib + bzip2? ( app-arch/bzip2 ) + readline? ( sys-libs/readline ) + smartcard? ( usb? ( virtual/libusb:0 ) ) + ldap? ( net-nds/openldap )" +COMMON_DEPEND_BINS="|| ( app-crypt/pinentry app-crypt/pinentry-qt )" + +# Existence of executables is checked during configuration. +DEPEND="${COMMON_DEPEND_LIBS} + ${COMMON_DEPEND_BINS} + static? ( + >=dev-libs/libassuan-2[static-libs] + >=dev-libs/libgcrypt-1.4:0=[static-libs] + >=dev-libs/libgpg-error-1.11[static-libs] + >=dev-libs/libksba-1.0.7[static-libs] + >=dev-libs/pth-1.3.7[static-libs] + >=net-misc/curl-7.10[static-libs] + sys-libs/zlib[static-libs] + bzip2? ( app-arch/bzip2[static-libs] ) + ) + nls? ( sys-devel/gettext ) + doc? ( sys-apps/texinfo )" + +RDEPEND="!static? ( ${COMMON_DEPEND_LIBS} ) + ${COMMON_DEPEND_BINS} + mta? ( virtual/mta ) + !<=app-crypt/gnupg-2.0.1 + selinux? ( sec-policy/selinux-gpg ) + nls? ( virtual/libintl )" + +REQUIRED_USE="smartcard? ( !static )" + +src_prepare() { + epatch "${FILESDIR}/${PN}-2.0.17-gpgsm-gencert.patch" + epatch "${FILESDIR}/${P}-Need-to-init-the-trustdb-for-import.patch" + epatch "${FILESDIR}/${P}-misc-cve.patch" + epatch_user +} + +src_configure() { + local myconf=() + + # 'USE=static' support was requested: + # gnupg1: bug #29299 + # gnupg2: bug #159623 + use static && append-ldflags -static + + if use smartcard; then + myconf+=( + --enable-scdaemon + $(use_enable usb ccid-driver) + ) + else + myconf+=( --disable-scdaemon ) + fi + + if use elibc_SunOS || use elibc_AIX; then + myconf+=( --disable-symcryptrun ) + else + myconf+=( --enable-symcryptrun ) + fi + + econf \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --enable-gpg \ + --enable-gpgsm \ + --enable-agent \ + --without-adns \ + "${myconf[@]}" \ + $(use_enable bzip2) \ + $(use_enable nls) \ + $(use_enable mta mailto) \ + $(use_enable ldap) \ + $(use_with readline) \ + CC_FOR_BUILD="$(tc-getBUILD_CC)" +} + +src_compile() { + default + + if use doc; then + cd doc + emake html + fi +} + +src_install() { + default + + use tools && dobin tools/{convert-from-106,gpg-check-pattern} \ + tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys,make-dns-cert} + + emake DESTDIR="${D}" -f doc/Makefile uninstall-nobase_dist_docDATA + rm "${ED}"/usr/share/gnupg/help* || die + + dodoc ChangeLog NEWS README THANKS TODO VERSION doc/FAQ doc/DETAILS \ + doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER doc/help* + + dosym gpg2 /usr/bin/gpg + dosym gpgv2 /usr/bin/gpgv + dosym gpg2keys_hkp /usr/libexec/gpgkeys_hkp + dosym gpg2keys_finger /usr/libexec/gpgkeys_finger + dosym gpg2keys_curl /usr/libexec/gpgkeys_curl + if use ldap; then + dosym gpg2keys_ldap /usr/libexec/gpgkeys_ldap + fi + echo ".so man1/gpg2.1" > "${ED}"/usr/share/man/man1/gpg.1 + echo ".so man1/gpgv2.1" > "${ED}"/usr/share/man/man1/gpgv.1 + + dodir /etc/env.d + echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg + + if use doc; then + dohtml doc/gnupg.html/* doc/*.png + fi +} + +pkg_postinst() { + elog "If you wish to view images emerge:" + elog "media-gfx/xloadimage, media-gfx/xli or any other viewer" + elog "Remember to use photo-viewer option in configuration file to activate" + elog "the right viewer." + elog + + if use smartcard; then + elog "To use your OpenPGP smartcard (or token) with GnuPG you need one of" + use usb && elog " - a CCID-compatible reader, used directly through libusb;" + elog " - sys-apps/pcsc-lite and a compatible reader device;" + elog " - dev-libs/openct and a compatible reader device;" + elog " - a reader device and drivers exporting either PC/SC or CT-API interfaces." + elog "" + elog "General hint: you probably want to try installing sys-apps/pcsc-lite and" + elog "app-crypt/ccid first." + fi + + ewarn "Please remember to restart gpg-agent if a different version" + ewarn "of the agent is currently used. If you are unsure of the gpg" + ewarn "agent you are using please run 'killall gpg-agent'," + ewarn "and to start a fresh daemon just run 'gpg-agent --daemon'." +} diff --git a/app-crypt/gnupg/gnupg-2.1.1.ebuild b/app-crypt/gnupg/gnupg-2.1.1-r1.ebuild similarity index 96% rename from app-crypt/gnupg/gnupg-2.1.1.ebuild rename to app-crypt/gnupg/gnupg-2.1.1-r1.ebuild index 7b1b48931b32..c59232df8373 100644 --- a/app-crypt/gnupg/gnupg-2.1.1.ebuild +++ b/app-crypt/gnupg/gnupg-2.1.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-2.1.1.ebuild,v 1.1 2014/12/17 19:05:55 k_f Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/gnupg/gnupg-2.1.1-r1.ebuild,v 1.1 2014/12/31 18:27:16 alonbl Exp $ EAPI="5" @@ -59,6 +59,7 @@ S="${WORKDIR}/${MY_P}" src_prepare() { epatch "${FILESDIR}/${PN}-2.0.17-gpgsm-gencert.patch" + epatch "${FILESDIR}/${P}-misc-cve.patch" epatch_user }