From 1c5234c1b13693e7dfdf186c4eeed56b26b27a2b Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Mon, 4 Mar 2013 15:09:26 +0000 Subject: main/rtmpdump: fix for adobe auth against akamai servers --- main/rtmpdump/APKBUILD | 18 +++++++++++++----- main/rtmpdump/akamai1.patch | 28 ++++++++++++++++++++++++++++ main/rtmpdump/akamai2.patch | 28 ++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 main/rtmpdump/akamai1.patch create mode 100644 main/rtmpdump/akamai2.patch (limited to 'main/rtmpdump') diff --git a/main/rtmpdump/APKBUILD b/main/rtmpdump/APKBUILD index 551db45921..3189ce8900 100644 --- a/main/rtmpdump/APKBUILD +++ b/main/rtmpdump/APKBUILD @@ -3,7 +3,7 @@ pkgname=rtmpdump verbase=2.4 pkgver=2.4_git20130304 -pkgrel=0 +pkgrel=1 pkgdesc="A tool to download rtmp:// and rtmpe:// streams" url="http://rtmpdump.mplayerhq.hu/" arch="all" @@ -15,7 +15,9 @@ subpackages="$pkgname-dev $pkgname-doc librtmp" giturl="git://git.ffmpeg.org/rtmpdump" disturl="dev.alpinelinux.org:/archive/rtmpdump" -source="http://dev.alpinelinux.org/archive/rtmpdump/rtmpdump-${pkgver}.tar.gz" +source="http://dev.alpinelinux.org/archive/rtmpdump/rtmpdump-${pkgver}.tar.gz + akamai1.patch + akamai2.patch" _builddir="$srcdir"/$pkgname-$pkgver @@ -46,6 +48,12 @@ librtmp() { mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ } -md5sums="bcf4d0c3b8f34aedc29eb6283f97b1e7 rtmpdump-2.4_git20130304.tar.gz" -sha256sums="2022929fde03d2b097b330d2283349460e77c8fa097a117bf35f5aa4bf22151e rtmpdump-2.4_git20130304.tar.gz" -sha512sums="05f0698e62a2bde3be642e2a6fc9ced5ef89f7a1e4d5ab879805859e9f484ec0550694a9dd637d45b339311bbca2f81dfe9d913f774c201ff042511d909f0eb2 rtmpdump-2.4_git20130304.tar.gz" +md5sums="bcf4d0c3b8f34aedc29eb6283f97b1e7 rtmpdump-2.4_git20130304.tar.gz +3788679684481c05d544c2264236cd21 akamai1.patch +c9c0d09778fd781596affb6f950af9e3 akamai2.patch" +sha256sums="2022929fde03d2b097b330d2283349460e77c8fa097a117bf35f5aa4bf22151e rtmpdump-2.4_git20130304.tar.gz +d0261408b0093cfc2a3a0202adcf5a9d24b5241c792d40a81018f9cc56f133d6 akamai1.patch +fb0821c1502099f0bc50cabd260e08c1298a31f1f6345d60407233c66994a435 akamai2.patch" +sha512sums="05f0698e62a2bde3be642e2a6fc9ced5ef89f7a1e4d5ab879805859e9f484ec0550694a9dd637d45b339311bbca2f81dfe9d913f774c201ff042511d909f0eb2 rtmpdump-2.4_git20130304.tar.gz +37d433925cef893de38ad69250ae42ec148272e817d1ad8a4a12b608431fb35dbdf5687a524be6b65fa7a2a6b05146c0fbedaad0ebbd48248f5863ea817311ed akamai1.patch +8bfd526e8f53ff2505a56dbc5b1f9596ab838ebb996845b3d1005f0a0125e5e5775717dd1b1ea854a1f9fa5bb7608325fd972905b1b4c991d07880c38097b8c8 akamai2.patch" diff --git a/main/rtmpdump/akamai1.patch b/main/rtmpdump/akamai1.patch new file mode 100644 index 0000000000..9aa26facbc --- /dev/null +++ b/main/rtmpdump/akamai1.patch @@ -0,0 +1,28 @@ +http://lists.mplayerhq.hu/pipermail/rtmpdump/2012-December/002251.html + +From: Björn Axelsson + +This was broken in e42b5d09. This makes adobe auth against +akamai servers work again. +--- + librtmp/rtmp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c +index b966710..d64a0bb 100644 +--- a/librtmp/rtmp.c ++++ b/librtmp/rtmp.c +@@ -2514,8 +2514,8 @@ PublisherAuth(RTMP *r, AVal *description) + #define RESPONSE_LEN 32 + #define CHALLENGE2_LEN 16 + #define SALTED2_LEN (32+8+8+8) +-#define B64DIGEST_LEN 22 /* 16 byte digest => 22 b64 chars */ +-#define B64INT_LEN 6 /* 4 byte int => 6 b64 chars */ ++#define B64DIGEST_LEN 24 /* 16 byte digest => 22 b64 chars + 2 chars padding */ ++#define B64INT_LEN 8 /* 4 byte int => 6 b64 chars + 2 chars padding */ + #define HEXHASH_LEN (2*MD5_DIGEST_LENGTH) + char response[RESPONSE_LEN]; + char challenge2[CHALLENGE2_LEN]; +-- +1.7.9.4 + diff --git a/main/rtmpdump/akamai2.patch b/main/rtmpdump/akamai2.patch new file mode 100644 index 0000000000..a4fc4720ac --- /dev/null +++ b/main/rtmpdump/akamai2.patch @@ -0,0 +1,28 @@ +http://lists.mplayerhq.hu/pipermail/rtmpdump/2012-December/002252.html + +Some servers (akamai) only include a 'challenge' parameter, no +'opaque' parameter, while others (wowza) include both 'opaque' +and 'challenge'. If 'opaque' is provided, it should be used here, +otherwise 'challenge', but never both. + +After this patch, adobe auth works against both wowza and akamai +servers. +--- + librtmp/rtmp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/librtmp/rtmp.c b/librtmp/rtmp.c +index d64a0bb..7f1c7ff 100644 +--- a/librtmp/rtmp.c ++++ b/librtmp/rtmp.c +@@ -2609,7 +2609,7 @@ PublisherAuth(RTMP *r, AVal *description) + /* response = base64enc(md5(hash1 + opaque + challenge2)) */ + if (opaque.av_len) + MD5_Update(&md5ctx, opaque.av_val, opaque.av_len); +- if (challenge.av_len) ++ else if (challenge.av_len) + MD5_Update(&md5ctx, challenge.av_val, challenge.av_len); + MD5_Update(&md5ctx, challenge2, B64INT_LEN); + MD5_Final(md5sum_val, &md5ctx); +-- +1.7.9.4 -- cgit v1.2.3