diff options
author | John N. Laliberte <allanonjl@gentoo.org> | 2006-07-20 14:23:51 +0000 |
---|---|---|
committer | John N. Laliberte <allanonjl@gentoo.org> | 2006-07-20 14:23:51 +0000 |
commit | 214237041017f51ac47d50da04a02dcb2a48b53e (patch) | |
tree | 5b8d8d3e6c000017f18621f34ec633441377ca65 /media-libs/libmms | |
parent | Stable on HPPA. (diff) | |
download | historical-214237041017f51ac47d50da04a02dcb2a48b53e.tar.gz historical-214237041017f51ac47d50da04a02dcb2a48b53e.tar.bz2 historical-214237041017f51ac47d50da04a02dcb2a48b53e.zip |
apply patch to fix #139320
Package-Manager: portage-2.1.1_pre2-r6
Diffstat (limited to 'media-libs/libmms')
-rw-r--r-- | media-libs/libmms/ChangeLog | 8 | ||||
-rw-r--r-- | media-libs/libmms/Manifest | 39 | ||||
-rw-r--r-- | media-libs/libmms/files/digest-libmms-0.2-r1 | 3 | ||||
-rw-r--r-- | media-libs/libmms/files/libmms_0.2-7-cumulative.diff | 144 | ||||
-rw-r--r-- | media-libs/libmms/libmms-0.2-r1.ebuild | 43 |
5 files changed, 217 insertions, 20 deletions
diff --git a/media-libs/libmms/ChangeLog b/media-libs/libmms/ChangeLog index d0640df5f741..dff18f4711ec 100644 --- a/media-libs/libmms/ChangeLog +++ b/media-libs/libmms/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-libs/libmms # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libmms/ChangeLog,v 1.4 2006/04/27 23:08:23 marienz Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libmms/ChangeLog,v 1.5 2006/07/20 14:23:51 allanonjl Exp $ + +*libmms-0.2-r1 (20 Jul 2006) + + 20 Jul 2006; John N. Laliberte <allanonjl@gentoo.org> + +files/libmms_0.2-7-cumulative.diff, +libmms-0.2-r1.ebuild: + apply patch to fix #139320 27 Apr 2006; Marien Zwart <marienz@gentoo.org> files/digest-libmms-0.1, Manifest: diff --git a/media-libs/libmms/Manifest b/media-libs/libmms/Manifest index ad1304dbe904..a904adfb1a0e 100644 --- a/media-libs/libmms/Manifest +++ b/media-libs/libmms/Manifest @@ -1,21 +1,26 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -DIST libmms-0.1.tar.gz 317089 RMD160 69ad1ce1fac476fd9ef96f7e52168c64b3addc22 SHA256 69c57099a355d633e6aaa274441d381590b420a5736bcec4236a7b049bb8fefb size 317089 -DIST libmms-0.2.tar.gz 337792 RMD160 6622df753852c37cccd457c2f7dc242d6b39ce93 SHA256 68392f88a2c392b7e329eeda9b953c32fbb5a28b7ab9eb8f55a8b3bdd4570774 size 337792 -EBUILD libmms-0.1.ebuild 695 RMD160 28e409faada2f53e2da5e99e277bfdcc2a9054ad SHA1 0833b076484df4deac588e2704ce342472ff1f91 SHA256 7ee14a90a8759d2c0eaceb6caa7ecd80172129a27fe63c3ecc50fa1a644b5f02 size 695 +AUX libmms_0.2-7-cumulative.diff 5117 RMD160 3b793b2e28df2067c5609bce9d3272b9ad1373e1 SHA1 0b99e9724f9da123b23ac03112933636937f96ce SHA256 e0bb98f88791af9c5ab98fe03ab5655f7e142d98ceef80091394296f39f9fa70 +MD5 9df2f36e8dd650cea074002acb3ca6ee files/libmms_0.2-7-cumulative.diff 5117 +RMD160 3b793b2e28df2067c5609bce9d3272b9ad1373e1 files/libmms_0.2-7-cumulative.diff 5117 +SHA256 e0bb98f88791af9c5ab98fe03ab5655f7e142d98ceef80091394296f39f9fa70 files/libmms_0.2-7-cumulative.diff 5117 +DIST libmms-0.1.tar.gz 317089 RMD160 69ad1ce1fac476fd9ef96f7e52168c64b3addc22 SHA256 69c57099a355d633e6aaa274441d381590b420a5736bcec4236a7b049bb8fefb +DIST libmms-0.2.tar.gz 337792 RMD160 6622df753852c37cccd457c2f7dc242d6b39ce93 SHA1 9a5934a82b3e741687089003fc17e782b534d2f2 SHA256 68392f88a2c392b7e329eeda9b953c32fbb5a28b7ab9eb8f55a8b3bdd4570774 +EBUILD libmms-0.1.ebuild 695 RMD160 28e409faada2f53e2da5e99e277bfdcc2a9054ad SHA1 0833b076484df4deac588e2704ce342472ff1f91 SHA256 7ee14a90a8759d2c0eaceb6caa7ecd80172129a27fe63c3ecc50fa1a644b5f02 MD5 2212cc14c348bdad98ef338b15f853a2 libmms-0.1.ebuild 695 RMD160 28e409faada2f53e2da5e99e277bfdcc2a9054ad libmms-0.1.ebuild 695 SHA256 7ee14a90a8759d2c0eaceb6caa7ecd80172129a27fe63c3ecc50fa1a644b5f02 libmms-0.1.ebuild 695 -EBUILD libmms-0.2.ebuild 691 RMD160 7d4004a2d2a3a65b8674b3eae1efa6d07559e519 SHA1 b5f1b3ff596d4fef781d057c990703d1f0d685ac SHA256 9eac5a2d496ec2bea9056e9ea0ca3bef0a801687210c41df29bdc57e946f3849 size 691 +EBUILD libmms-0.2-r1.ebuild 834 RMD160 124a6b4d9b21bdc6e680fcc91d6cd90b018a3e8a SHA1 b64eb2b109cc8b279eebb13b21efc4a7eabb4239 SHA256 65f82196d82029ae5d9d2d4c15a13d6793af0e39f9177f9c1c49cb2af10f08ef +MD5 ceb68d14eeae2381d9bfdcda7c96c2bd libmms-0.2-r1.ebuild 834 +RMD160 124a6b4d9b21bdc6e680fcc91d6cd90b018a3e8a libmms-0.2-r1.ebuild 834 +SHA256 65f82196d82029ae5d9d2d4c15a13d6793af0e39f9177f9c1c49cb2af10f08ef libmms-0.2-r1.ebuild 834 +EBUILD libmms-0.2.ebuild 691 RMD160 7d4004a2d2a3a65b8674b3eae1efa6d07559e519 SHA1 b5f1b3ff596d4fef781d057c990703d1f0d685ac SHA256 9eac5a2d496ec2bea9056e9ea0ca3bef0a801687210c41df29bdc57e946f3849 MD5 cce4a4e54cf8b1d60c6705d07b5a857e libmms-0.2.ebuild 691 RMD160 7d4004a2d2a3a65b8674b3eae1efa6d07559e519 libmms-0.2.ebuild 691 SHA256 9eac5a2d496ec2bea9056e9ea0ca3bef0a801687210c41df29bdc57e946f3849 libmms-0.2.ebuild 691 -MISC ChangeLog 753 RMD160 ad15fa42a13eae17fc1edc8487cc9a8260d8dfa6 SHA1 d7c23bd05d6ac8d5e3ca59d7fa5fa3112a76b1a7 SHA256 7714a244abdeb3c865e059824778178c347f62a1d37561a62bef6626d18a9da3 size 753 -MD5 2949ff5ad8da607e5432aff7f1551747 ChangeLog 753 -RMD160 ad15fa42a13eae17fc1edc8487cc9a8260d8dfa6 ChangeLog 753 -SHA256 7714a244abdeb3c865e059824778178c347f62a1d37561a62bef6626d18a9da3 ChangeLog 753 -MISC metadata.xml 219 RMD160 3c14311697b915c6a273082bd7cba08447e6b45c SHA1 3223e703a0e171d71558a2b5db3e0f1aad1a32ba SHA256 afd40aa6637498b842ffcd2e01ac9afffab8ad2ab6b80ea0010d2ec1969a55c9 size 219 +MISC ChangeLog 933 RMD160 703c7cbc73d76004883744cf46ce30f9f30f6170 SHA1 49493c5882c1e63f83ace47e8c3cb810e0f765a7 SHA256 6a3c7d66be84827154999ad6c6201e4553649ce542e6bae65114f31994b45570 +MD5 a85a44f294993f390f75b280a625ac1c ChangeLog 933 +RMD160 703c7cbc73d76004883744cf46ce30f9f30f6170 ChangeLog 933 +SHA256 6a3c7d66be84827154999ad6c6201e4553649ce542e6bae65114f31994b45570 ChangeLog 933 +MISC metadata.xml 219 RMD160 3c14311697b915c6a273082bd7cba08447e6b45c SHA1 3223e703a0e171d71558a2b5db3e0f1aad1a32ba SHA256 afd40aa6637498b842ffcd2e01ac9afffab8ad2ab6b80ea0010d2ec1969a55c9 MD5 ee8187af1037122f09238b1622b8ed52 metadata.xml 219 RMD160 3c14311697b915c6a273082bd7cba08447e6b45c metadata.xml 219 SHA256 afd40aa6637498b842ffcd2e01ac9afffab8ad2ab6b80ea0010d2ec1969a55c9 metadata.xml 219 @@ -25,10 +30,6 @@ SHA256 a64068026d402a7ef8c8611ed13aff0f1139e705458369cbb2a4f697a578e8e4 files/di MD5 ea71fd5a706a7837237ce138299cb95d files/digest-libmms-0.2 232 RMD160 0dc81fa915ef093fa72b4745a15faac4a80bf50a files/digest-libmms-0.2 232 SHA256 2623e64d0ad1a361be78a5254868093d06e33748bc0275c9f7a66216ee3178da files/digest-libmms-0.2 232 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.3 (GNU/Linux) - -iD8DBQFEUU7uW78445TWHXcRArnaAJwPkII3OtVs2AxnbR2oxjg3t/njZQCeOvnu -jD7PsGUDRf9U3TRQoW0G+Hw= -=43+x ------END PGP SIGNATURE----- +MD5 ea71fd5a706a7837237ce138299cb95d files/digest-libmms-0.2-r1 232 +RMD160 0dc81fa915ef093fa72b4745a15faac4a80bf50a files/digest-libmms-0.2-r1 232 +SHA256 2623e64d0ad1a361be78a5254868093d06e33748bc0275c9f7a66216ee3178da files/digest-libmms-0.2-r1 232 diff --git a/media-libs/libmms/files/digest-libmms-0.2-r1 b/media-libs/libmms/files/digest-libmms-0.2-r1 new file mode 100644 index 000000000000..a376980bc503 --- /dev/null +++ b/media-libs/libmms/files/digest-libmms-0.2-r1 @@ -0,0 +1,3 @@ +MD5 7e7117f8a28b21ce11beb3d2816066ff libmms-0.2.tar.gz 337792 +RMD160 6622df753852c37cccd457c2f7dc242d6b39ce93 libmms-0.2.tar.gz 337792 +SHA256 68392f88a2c392b7e329eeda9b953c32fbb5a28b7ab9eb8f55a8b3bdd4570774 libmms-0.2.tar.gz 337792 diff --git a/media-libs/libmms/files/libmms_0.2-7-cumulative.diff b/media-libs/libmms/files/libmms_0.2-7-cumulative.diff new file mode 100644 index 000000000000..63a4c13aefc1 --- /dev/null +++ b/media-libs/libmms/files/libmms_0.2-7-cumulative.diff @@ -0,0 +1,144 @@ +--- libmms-0.2.orig/src/mms.c ++++ libmms-0.2/src/mms.c +@@ -144,7 +144,7 @@ + int stream_types[ASF_MAX_NUM_STREAMS]; + off_t start_packet_seq; /* for live streams != 0, need to keep it around */ + int need_discont; /* whether we need to set start_packet_seq */ +- int asf_packet_len; ++ uint32_t asf_packet_len; + uint64_t file_len; + char guid[37]; + uint32_t bitrates[ASF_MAX_NUM_STREAMS]; +@@ -477,7 +477,7 @@ + } + + static void string_utf16(iconv_t url_conv, char *dest, char *src, int len) { +- memset(dest, 0, 1000); ++ memset(dest, 0, 2 * len); + + if (url_conv == (iconv_t)-1) { + int i; +@@ -503,7 +503,7 @@ + static void string_utf16(int unused, char *dest, char *src, int len) { + int i; + +- memset (dest, 0, 1000); ++ memset (dest, 0, 2 * len); + + for (i = 0; i < len; i++) { + dest[i * 2] = src[i]; +@@ -539,13 +539,17 @@ + goto error; + + header->packet_len = LE_32(this->buf + 8) + 4; ++ if (header->packet_len > BUF_SIZE - 12) { ++ header->packet_len = 0; ++ goto error; ++ } + lprintf("mms command\n"); + packet_type = MMS_PACKET_COMMAND; + } else { + header->packet_seq = LE_32(this->buf); + header->packet_id_type = this->buf[4]; + header->flags = this->buf[5]; +- header->packet_len = LE_16(this->buf + 6) - 8; ++ header->packet_len = (LE_16(this->buf + 6) - 8) & 0xffff; + if (header->packet_id_type == ASF_HEADER_PACKET_ID_TYPE) { + lprintf("asf header\n"); + packet_type = MMS_PACKET_ASF_HEADER; +@@ -674,6 +678,11 @@ + break; + case MMS_PACKET_ASF_HEADER: + case MMS_PACKET_ASF_PACKET: ++ if (header.packet_len + this->asf_header_len > ASF_HEADER_LEN) { ++ lprintf( "***LOG:*** -- " ++ "libmms: asf packet too large\n"); ++ return 0; ++ } + len = io_read(io, this->s, + this->asf_header + this->asf_header_len, header.packet_len); + if (len != header.packet_len) { +@@ -720,6 +729,12 @@ + case GUID_ASF_FILE_PROPERTIES: + + this->asf_packet_len = LE_32(this->asf_header + i + 92 - 24); ++ if (this->asf_packet_len > BUF_SIZE) { ++ this->asf_packet_len = 0; ++ lprintf( "***LOG:*** -- " ++ "libmms: asf packet len too large\n"); ++ break; ++ } + this->file_len = LE_64(this->asf_header + i + 40 - 24); + lprintf ("file object, packet length = %d (%d)\n", + this->asf_packet_len, LE_32(this->asf_header + i + 96 - 24)); +@@ -1420,8 +1435,20 @@ + + /* explicit padding with 0 */ + lprintf("padding: %d bytes\n", this->asf_packet_len - header.packet_len); +- memset(this->buf + header.packet_len, 0, this->asf_packet_len - header.packet_len); +- this->buf_size = this->asf_packet_len; ++ { ++ char *base = (char *)(this->buf); ++ char *start = base + header.packet_len; ++ char *end = start + this->asf_packet_len - header.packet_len; ++ if ((start > base) && (start < (base+BUF_SIZE-1)) && ++ (start < end) && (end < (base+BUF_SIZE-1))) { ++ memset(this->buf + header.packet_len, 0, this->asf_packet_len - header.packet_len); ++ } ++ if (this->asf_packet_len > BUF_SIZE) { ++ this->buf_size = BUF_SIZE; ++ } else { ++ this->buf_size = this->asf_packet_len; ++ } ++ } + } + break; + } +--- libmms-0.2.orig/src/mmsh.c ++++ libmms-0.2/src/mmsh.c +@@ -184,7 +184,7 @@ + int num_stream_ids; + int stream_ids[ASF_MAX_NUM_STREAMS]; + int stream_types[ASF_MAX_NUM_STREAMS]; +- int packet_length; ++ uint32_t packet_length; + int64_t file_length; + char guid[37]; + uint32_t bitrates[ASF_MAX_NUM_STREAMS]; +@@ -604,6 +604,10 @@ + case GUID_ASF_FILE_PROPERTIES: + + this->packet_length = LE_32(this->asf_header + i + 92 - 24); ++ if (this->packet_length > CHUNK_SIZE) { ++ this->packet_length = 0; ++ break; ++ } + this->file_length = LE_64(this->asf_header + i + 40 - 24); + lprintf ("file object, packet length = %d (%d)\n", + this->packet_length, LE_32(this->asf_header + i + 96 - 24)); +@@ -1054,9 +1058,22 @@ + this->chunk_length, this->packet_length); + return 0; + } +- memset(this->buf + this->chunk_length, 0, +- this->packet_length - this->chunk_length); +- this->buf_size = this->packet_length; ++ ++ { ++ char *base = (char *)(this->buf); ++ char *start = base + this->chunk_length; ++ char *end = start + this->packet_length - this->chunk_length; ++ if ((start > base) && (start < (base+CHUNK_SIZE-1)) && ++ (start < end) && (end < (base+CHUNK_SIZE-1))) { ++ memset(start, 0, ++ this->packet_length - this->chunk_length); ++ } ++ if (this->packet_length > CHUNK_SIZE) { ++ this->buf_size = CHUNK_SIZE; ++ } else { ++ this->buf_size = this->packet_length; ++ } ++ } + return 1; + } else { + lprintf ("mmsh: read error, %d != %d\n", len, this->chunk_length); diff --git a/media-libs/libmms/libmms-0.2-r1.ebuild b/media-libs/libmms/libmms-0.2-r1.ebuild new file mode 100644 index 000000000000..c3c9c9967675 --- /dev/null +++ b/media-libs/libmms/libmms-0.2-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libmms/libmms-0.2-r1.ebuild,v 1.1 2006/07/20 14:23:51 allanonjl Exp $ + +inherit eutils + +DESCRIPTION="Common library for accessing Microsoft Media Server (MMS) media streaming protocol" + +HOMEPAGE="http://libmms.sourceforge.net" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" +LICENSE="LGPL-2.1" + +SLOT="0" +KEYWORDS="~x86" +IUSE="" + +RDEPEND=">=dev-libs/glib-2" + +DEPEND="${RDEPEND} + dev-util/pkgconfig" + +src_unpack() { + unpack "${A}" + cd "${S}" + + # patch for bug #139320 + epatch "${FILESDIR}"/${PN}_0.2-7-cumulative.diff +} + +src_compile() { + + econf || die + emake || die "emake failed" + +} + +src_install() { + + make DESTDIR=${D} install || die + + dodoc AUTHORS ChangeLog NEWS README* TODO + +} |