diff options
author | 2013-04-09 16:49:12 -0700 | |
---|---|---|
committer | 2013-04-12 16:26:34 -0700 | |
commit | f7666eb41326bac483d1cae686e73ede46662920 (patch) | |
tree | f1f8684095978a1f1bd8582a143408d31a144d43 | |
parent | Fix xbmc on older x86 platforms (diff) | |
download | JoseQ-f7666eb41326bac483d1cae686e73ede46662920.tar.gz JoseQ-f7666eb41326bac483d1cae686e73ede46662920.tar.bz2 JoseQ-f7666eb41326bac483d1cae686e73ede46662920.zip |
Fix handling of long cipherstrings/lists with OpenSSL
From upstream:
https://github.com/fatbob313/umurmur/commit/35d4608d0e
-rw-r--r-- | media-sound/umurmur/Manifest | 18 | ||||
-rw-r--r-- | media-sound/umurmur/files/Fix-handling-of-long-cipherstrings-lists-with-OpenSSL.patch | 58 | ||||
-rw-r--r-- | media-sound/umurmur/umurmur-0.2.10-r1.ebuild | 76 |
3 files changed, 144 insertions, 8 deletions
diff --git a/media-sound/umurmur/Manifest b/media-sound/umurmur/Manifest index 76b1ecf..ff9b583 100644 --- a/media-sound/umurmur/Manifest +++ b/media-sound/umurmur/Manifest @@ -1,8 +1,10 @@ -AUX umurmur-0.2.8-polarssl-1.1.1.patch 1766 RMD160 e2e21da917bbb1865aef89f60d576b0417993c34 SHA1 81b19ea4bc7aa12a0c21c18d9e23012646c04181 SHA256 8d0ee47be178a04c2cbc43ead2e8cb789e69b5958ddd81208eea5c79d2ce971c -AUX umurmur.conf 1639 RMD160 5dd94d9f8358b65afb2187dca1cd060d8ff0afb8 SHA1 8134cea75f16a01d10f64be03e334f570b78869f SHA256 32ee6824594e16e5f20c8b08923a517063a54cbdf5116caa6f76f4098be97442 -AUX umurmurd.confd 185 RMD160 877c8d10f263317b17b47f52592568ab20d99a48 SHA1 f7b21d7f094fbe7b541cdd0a143cf27019a290e5 SHA256 ed2d207e2ec5f3df61b9d28827e59513c7d3a72b891488206a59c4d7a571893e -AUX umurmurd.initd 475 RMD160 de59bf25897e09c54f2ec4554c0f501a95607b48 SHA1 5b9fde01b6f3ceff74a3b00c3f5671f2f3cc84ce SHA256 5e53c46069a3473eb5cb849c3dea5e4beb36b7ef742b10022bf7dc7bff3c72ce -DIST umurmur-0.2.10.tar.gz 161937 RMD160 9967ab086832d9da7ff68b740fef1ea567ca6923 SHA1 5a53b021078dfbdf001c9af9ff207ea84bcf8222 SHA256 7e4f962a04f2a683b5f855726c059c504f6b2ee09fe290a5a2468d53b7042931 -DIST umurmur-0.2.8.tar.gz 155357 RMD160 a7f5f002def702b2820067e51a86e35386bb9895 SHA1 4e497663d0612efb1b61f61663a8d4c27e90777f SHA256 62c43da2f07125977cf8024a0775ed697101816c3fa8f36345780901aaf08736 -EBUILD umurmur-0.2.10.ebuild 2045 RMD160 a04f0e04f963bc733ad7348289d0c803436f37ad SHA1 72c7f7dead2bc1827cf8412aaf62692f065d7922 SHA256 7b85b795f51ec452554ddb1c6c2c9fb7d8da4c1fd7fabd7a6b31c23bc82b7d8c -EBUILD umurmur-0.2.8.ebuild 2197 RMD160 db6ce3d14ce0eda5b431abcbee7e0c5d284191fb SHA1 5dcc1faa592154a0135af9acabd63d1916f14b12 SHA256 bd8cf76ae3ed6511119d7e5baddb2eff9b2db2a73beff111324b3b5351a75559 +AUX Fix-handling-of-long-cipherstrings-lists-with-OpenSSL.patch 1938 SHA256 b154c0edc9c3900876251ce305c6f6a08adfceccdc73e6ea48bde388a6476ea9 SHA512 7fc7f583d6e12afc262c055dfda92c5e81cefe03c157d7d9f99b647cd43f42ad8e277553dda70953e8965e0529c2a4af78bc9755c4bc5467ed3dd6496c1ce118 WHIRLPOOL afa6272742bc7acd7b0e3a8a6502af916efe78bd65e363ef771826355a37da4ac059b74a22fc0359cd62716190f588b077a66bc9468619c3c74c0d058cba3d33 +AUX umurmur-0.2.8-polarssl-1.1.1.patch 1766 SHA256 8d0ee47be178a04c2cbc43ead2e8cb789e69b5958ddd81208eea5c79d2ce971c SHA512 d87d5356bec2393c2eb84e93e56ffe16d5bc5606a0dc30833592f245239bdec7c0ed8a8f71c1fc348b0db6ab21e45be2df37e32752f1833615bef646e7370a4b WHIRLPOOL 2c20dea45ab5395b249fe81e3ac8977367d736fa782b7f4469cb8d9bb76429b0fbc0fce224214e6c20e3abd663465b67b36098fb9683fef513fdf23098c0ccbf +AUX umurmur.conf 1639 SHA256 32ee6824594e16e5f20c8b08923a517063a54cbdf5116caa6f76f4098be97442 SHA512 0a5882dca2daf686716d7b78f916e4506c7b98e3460ccd56aace087dca88b686b659e32b325bf253922cc824049a800b06e5006ea04cc5539c82b63cda5cccea WHIRLPOOL e3ee76ed340704521a612859cfbe306b4bb333e10034acbb2d21443a7ed990344d537b54d2859da5d6879c7e90dcf79e925efad0f9cc6b4ba8a14720274bfb41 +AUX umurmurd.confd 185 SHA256 ed2d207e2ec5f3df61b9d28827e59513c7d3a72b891488206a59c4d7a571893e SHA512 955ac262533f6ff685f7fb5211bd8084cfb10ca6f83bebb76e04c839761e2cd82478ff09563ca76ab4457432850a910036460f12516c5c29105b1cc6090e9285 WHIRLPOOL bd98d48f1e75a3341f7def75ea9f48f1ea4c9bdc1afb2a9b89450d7c998df2fced66fed0a1e84349bb29add50c78a045e6be27939fbb4b276d8b1b26a3de76f6 +AUX umurmurd.initd 475 SHA256 5e53c46069a3473eb5cb849c3dea5e4beb36b7ef742b10022bf7dc7bff3c72ce SHA512 5f10b3ec2fa7fd7333d48da0dc6351c89a0b5147eca259cb8f3caf77599f45a4c649f7541740183df8cf529a567d9a198113f747bb227ff37226f74fb430d4c6 WHIRLPOOL 39664ce49aaf7d00a78cd34e7d5c46ae400e45f02ffa052aabea555a9b527046484a2593466e3e6d77bea21dc4ab1abdf2874d03f6c9e0a37ba9cb36c97f019c +DIST umurmur-0.2.10.tar.gz 161937 SHA256 7e4f962a04f2a683b5f855726c059c504f6b2ee09fe290a5a2468d53b7042931 SHA512 7e47e748a12a19eebdce7f49a2a75b0c50ab378c8c0f6a841582c24df25842661b248c54410433e2e9e66932cd73a04f127f9be9a9b9ffeb696494bee976f102 WHIRLPOOL bf3a20956d2330dfa056fc2447c54c3321defd9a4b0989108b6c6a4e1f9df74ad86c5fcfab097dfb10f8c128afe1e21dadb0b9eeca3db7d9c362272c842c88fa +DIST umurmur-0.2.8.tar.gz 155357 SHA256 62c43da2f07125977cf8024a0775ed697101816c3fa8f36345780901aaf08736 SHA512 e2564bf4be4a4c68c100d2b72b69fbe31733e3de11f476b76de5007fbe10d17271b2dcb6957ef00070d005a955a77138e12aa18b0fb128bab8c822f030a98388 WHIRLPOOL 674b321965a0985c66bdfc3e99e6f6bc73263cd3693311e0a738c275a95b34726363ac7747e8fa487d55f0327c140049ffdc8431e426ca04f143db699a63c5cf +EBUILD umurmur-0.2.10-r1.ebuild 2146 SHA256 17fac717033e79978c9c4ba651c1b3e0686018bacf6aa5e6134d09319a3f84e3 SHA512 fd61ac289b367efdde211b02ec70c212f13c9e37d4b5dba8ec835e275797f932f9d8e768ced0eba4548b6206938f56ec8f1e241d5e66d5fd4d67c6023bae8d87 WHIRLPOOL 8d039e708317779d0fdc325b369e38b0df4f85b9272ce4fd91eb59cc803534545e1ab6ec64557fae70fbdb2330ab429a73fab569eda0022ac5151c304ff02fd2 +EBUILD umurmur-0.2.10.ebuild 2045 SHA256 7b85b795f51ec452554ddb1c6c2c9fb7d8da4c1fd7fabd7a6b31c23bc82b7d8c SHA512 74eef797bd74e017d5848284f5437d7876b14f559175cbf5f7e2d139637dc52130d45465f74d6af8a2f80f220f374b20cfbabbeea3889df5447fb8607b673f1d WHIRLPOOL d2a404d50e80b7c59b4110f26adb9814ed244474584215541f550ac8ab664a4287af2d51d1737c6aedcc88473fedadd8a5939e62b7e90e2c079dcadad35a116a +EBUILD umurmur-0.2.8.ebuild 2197 SHA256 bd8cf76ae3ed6511119d7e5baddb2eff9b2db2a73beff111324b3b5351a75559 SHA512 e81ac72b61dfddd23e490f9f31ac2cd89cd00b3ad4ab4ba15bc9a331927124ebb50044cd7bb0de9c80b58115b8fa3ce474671fbbce617e78f7c394811140994e WHIRLPOOL de77f761403f39a503124bc4c0505d50d2e8f376dbfcbe412d90882df8ec76c37854ca12b2198368208a51aa2a46b662e46c13d96ebd86c2c3be91f3ab670f08 diff --git a/media-sound/umurmur/files/Fix-handling-of-long-cipherstrings-lists-with-OpenSSL.patch b/media-sound/umurmur/files/Fix-handling-of-long-cipherstrings-lists-with-OpenSSL.patch new file mode 100644 index 0000000..f5a96f7 --- /dev/null +++ b/media-sound/umurmur/files/Fix-handling-of-long-cipherstrings-lists-with-OpenSSL.patch @@ -0,0 +1,58 @@ +From 35d4608d0e044df48ee8cea13d3cbeafbb33535d Mon Sep 17 00:00:00 2001 +From: Martin Johansson <martin@fatbob.nu> +Date: Wed, 29 Aug 2012 21:37:25 +0200 +Subject: [PATCH] Fix handling of long cipherstrings/lists with OpenSSL + +--- + src/ssl.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/src/ssl.c b/src/ssl.c +index 0c70427..2204a3c 100644 +--- a/src/ssl.c ++++ b/src/ssl.c +@@ -508,10 +508,10 @@ void SSLi_init(void) + { + const SSL_METHOD *method; + SSL *ssl; +- int i, offset = 0; ++ int i, offset = 0, cipherstringlen = 0; + STACK_OF(SSL_CIPHER) *cipherlist = NULL, *cipherlist_new = NULL; + SSL_CIPHER *cipher; +- char cipherstring[1024]; ++ char *cipherstring, tempstring[128]; + + SSL_library_init(); + OpenSSL_add_all_algorithms(); /* load & register all cryptos, etc. */ +@@ -544,11 +544,16 @@ void SSLi_init(void) + } + Log_debug("List of ciphers:"); + if (cipherlist_new) { +- for ( i = 0; (cipher = sk_SSL_CIPHER_value(cipherlist_new, i)) != NULL; i++) { ++ for (i = 0; (cipher = sk_SSL_CIPHER_value(cipherlist_new, i)) != NULL; i++) { + Log_debug("%s", SSL_CIPHER_get_name(cipher)); +- offset += snprintf(cipherstring + offset, 1024 - offset, "%s:", SSL_CIPHER_get_name(cipher)); ++ cipherstringlen += strlen(SSL_CIPHER_get_name(cipher)) + 1; ++ } ++ cipherstring = malloc(cipherstringlen + 1); ++ if (cipherstring == NULL) ++ Log_fatal("Out of memory"); ++ for (i = 0; (cipher = sk_SSL_CIPHER_value(cipherlist_new, i)) != NULL; i++) { ++ offset += sprintf(cipherstring + offset, "%s:", SSL_CIPHER_get_name(cipher)); + } +- cipherstring[offset - 1] = '\0'; + } + + if (cipherlist_new) +@@ -559,6 +564,8 @@ void SSLi_init(void) + + if (SSL_CTX_set_cipher_list(context, cipherstring) == 0) + Log_fatal("Failed to set cipher list!"); ++ ++ free(cipherstring); + + SSL_CTX_set_verify(context, SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE, + verify_callback); +-- +1.8.1.5 + diff --git a/media-sound/umurmur/umurmur-0.2.10-r1.ebuild b/media-sound/umurmur/umurmur-0.2.10-r1.ebuild new file mode 100644 index 0000000..4a51e15 --- /dev/null +++ b/media-sound/umurmur/umurmur-0.2.10-r1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +inherit eutils + +DESCRIPTION="Minimalistic Murmur (Mumble server)" +HOMEPAGE="http://code.google.com/p/umurmur/" +SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz" + +LICENSE="BSD-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="polarssl" + +DEPEND="dev-libs/protobuf-c + dev-libs/libconfig + polarssl? ( >=net-libs/polarssl-1.1 ) + !polarssl? ( dev-libs/openssl )" + +RDEPEND="${DEPEND}" + +pkg_setup() { + enewgroup umurmur || die + enewuser umurmur "" "" "" umurmur || die +} + +src_prepare() { + epatch "${FILESDIR}/Fix-handling-of-long-cipherstrings-lists-with-OpenSSL.patch" +} + +src_configure() { + local myconf + + # build uses polarssl by default, but instead, make it use openssl unless + # polarssl is desired. + use !polarssl && myconf="${myconf} --with-ssl=openssl" + + econf ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + + newinitd "${FILESDIR}/umurmurd.initd" umurmurd || die + newconfd "${FILESDIR}/umurmurd.confd" umurmurd || die + + dodoc AUTHORS ChangeLog || die "dodoc failed" + newdoc README.md README || die "newdoc failed" + + # Some permissions are adjusted as the config may contain a server + # password, and /etc/umurmur will typically contain the cert and the key + # used to sign it, which are read after priveleges are dropped. + insinto /etc + doins "${FILESDIR}/umurmur.conf" || die + fperms 0640 /etc/umurmur.conf || die + + dodir /etc/umurmur || die + fperms 0750 /etc/umurmur || die + fowners root:umurmur /etc/umurmur || die +} + +pkg_postinst() { + elog "A configuration file has been installed at /etc/umurmur.conf - you may " + elog "want to review it. See also http://code.google.com/p/umurmur/wiki/Configuring02x" + + if use polarssl ; then + elog + elog "Because you have enabled PolarSSL support, umurmurd will use a" + elog "predefined test-certificate and key if none are configured, which" + elog "is insecure. See http://code.google.com/p/umurmur/wiki/Installing02x#Installing_uMurmur_with_PolarSSL_support" + elog "for more information on how to create your certificate and key" + fi +} |