From: hyc <hyc@400ebc74-4327-4243-bc38-086b20814532> Date: Tue, 29 Dec 2009 22:47:18 +0000 (+0000) Subject: Add "ask" param, don't talk to HTTP server if we already have cached hash X-Git-Tag: v2.4~366 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dfc78137a3feb528be1a5657e475c3a4425d4365;p=rtmpdump Add "ask" param, don't talk to HTTP server if we already have cached hash git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@133 400ebc74-4327-4243-bc38-086b20814532 --- diff --git a/rtmpdump.c b/rtmpdump.c index f7ddb0a..0e1c2ec 100644 --- a/rtmpdump.c +++ b/rtmpdump.c @@ -47,7 +47,7 @@ #ifdef CRYPTO #define HASHLEN 32 -extern int SWFVerify(const char *url, unsigned int *size, unsigned char *hash); +extern int SWFVerify(const char *url, unsigned int *size, unsigned char *hash, int ask); #endif #define RTMPDUMP_VERSION "v2.0" @@ -1289,7 +1289,7 @@ main(int argc, char **argv) } case 'W': STR2AVAL(swfUrl, optarg); - if (SWFVerify(optarg, &swfSize, hash) == 0) + if (SWFVerify(optarg, &swfSize, hash, 1) == 0) { swfHash.av_val = (char *)hash; swfHash.av_len = HASHLEN; diff --git a/streams.c b/streams.c index 0cbc0b9..d66c8bf 100644 --- a/streams.c +++ b/streams.c @@ -39,7 +39,7 @@ #ifdef CRYPTO #define HASHLEN 32 -extern int SWFVerify(const char *url, unsigned int *size, unsigned char *hash); +extern int SWFVerify(const char *url, unsigned int *size, unsigned char *hash, int ask); #endif #define RTMPDUMP_STREAMS_VERSION "v2.0" @@ -947,7 +947,7 @@ ParseOption(char opt, char *arg, RTMP_REQUEST * req) unsigned char hash[HASHLEN]; STR2AVAL(req->swfUrl, arg); - if (SWFVerify(arg, &req->swfSize, hash) == 0) + if (SWFVerify(arg, &req->swfSize, hash, 1) == 0) { req->swfHash.av_val = malloc(HASHLEN); req->swfHash.av_len = HASHLEN; diff --git a/swfvfy.c b/swfvfy.c index 56806e5..1a45955 100644 --- a/swfvfy.c +++ b/swfvfy.c @@ -219,7 +219,7 @@ leave: #define HEX2BIN(a) (((a)&0x40)?((a)&0xf)+9:((a)&0xf)) int -SWFVerify(const char *url, unsigned int *size, unsigned char *hash) +SWFVerify(const char *url, unsigned int *size, unsigned char *hash, int ask) { FILE *f = NULL; char *path, *home, date[64]; @@ -288,6 +288,9 @@ SWFVerify(const char *url, unsigned int *size, unsigned char *hash) } } + if (got && !ask) + return 0; + in.first = 1; in.date = date; HMAC_CTX_init(&ctx);