summaryrefslogtreecommitdiff
path: root/libavformat/http.c
Commit message (Collapse)AuthorAge
* Merge commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e'Michael Niedermayer2015-02-14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e': avformat: Don't anonymously typedef structs Conflicts: libavformat/adtsenc.c libavformat/aiffenc.c libavformat/avidec.c libavformat/gif.c libavformat/iff.c libavformat/img2dec.c libavformat/jvdec.c libavformat/matroskadec.c libavformat/udp.c libavformat/wtvdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Don't anonymously typedef structsDiego Biurrun2015-02-14
| |
* | avformat/http: Use av_freep() avoid leaving stale pointers in memoryMichael Niedermayer2014-12-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: simplify chained_options copyingMichael Niedermayer2014-11-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Fix the timeout option not working when connecting to a HTTP url that ↵Brandon Lees2014-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | requires authentication. In http_open_cnx, the patch restores the AVDictionary if connection needs to be re-tried because of a authentication/redirect status code. Previously, if a 401/407/30x status code was encountered, http_open_cnx would restart at the redo label, but any options used by the underlying protocol would be missing because they were removed by the first attempt. Signed-off-by: Brandon Lees <brandon@n-hega.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: pass return code from http_open_cnx_internal() on its failureAndrey Utkin2014-10-23
| | | | | | | | | | | | | | | | Previously, AVERROR(EIO) was returned on failure of http_open_cnx_internal(). Now the value is passed to upper level, thus it is possible to distinguish ECONNREFUSED, ETIMEDOUT, ENETUNREACH etc. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: Use ff_http_averror()Andrey Utkin2014-10-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: Introduce ff_http_averror()Andrey Utkin2014-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | int ff_http_averror(int status_code, int default_averror) This helper function returns AVERROR_ value from 3-digit HTTP status code. Second argument, default_averror, is used if no specific AVERROR_ is available. It is introduced because in different places of code different return codes are used - -1, AVERROR(EIO), AVERROR_INVALIDDATA. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: remove special case for cookies attributes.Nicolas George2014-08-17
| | | | | | | | | | With the previous change, unknown attributes are all ignored, as specified by the RFC.
* | lavf/http: fix cookie parsing.Nicolas George2014-08-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The current code would use any unknown attribute-value pair as the cookie value. RFC 6265 states that the first key-value pair is the actual cookie, and the attribute-value pairs only start after. With the current code: Set-Cookie: test=good_value; path=/; dummy=42 gives this: Cookie: dummy=42 instead of this with the new code: Cookie: test=good_value
* | Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'Michael Niedermayer2014-08-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867': cosmetics: Write NULL pointer inequality checks more compactly Conflicts: libavcodec/dvdsubdec.c libavcodec/h263dec.c libavcodec/libxvid.c libavcodec/rv10.c libavcodec/utils.c libavformat/format.c libavformat/matroskadec.c libavformat/segment.c libavutil/opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Write NULL pointer inequality checks more compactlyGabriel Dume2014-08-15
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '7ccb847f0f1f28199fa254847b91b6e50fb92832'Michael Niedermayer2014-08-15
|\| | | | | | | | | | | | | * commit '7ccb847f0f1f28199fa254847b91b6e50fb92832': http: Reduce scope of a variable in parse_content_encoding() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Reduce scope of a variable in parse_content_encoding()Diego Biurrun2014-08-15
| | | | | | | | Also fixes an unused variable warning with zlib disabled.
* | Merge commit '4e629ef80e62a54636cb46033998177dd08cf3ad'Michael Niedermayer2014-08-14
|\| | | | | | | | | | | | | * commit '4e629ef80e62a54636cb46033998177dd08cf3ad': http: Fix authentication, broken since 6a463e7fb Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Fix authentication, broken since 6a463e7fbMartin Storsjö2014-08-13
| | | | | | | | | | | | | | | | | | | | The cur_*auth_type variables were set before the http_connect call prior to 6a463e7fb - their sole purpose is to record the authentication type used to do the latest request, since parsing the http response sets the new type in the auth state. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '7e38903b5c86a759549e70647ae42bb22d353b14'Michael Niedermayer2014-08-13
|\| | | | | | | | | | | | | | | | | | | | | * commit '7e38903b5c86a759549e70647ae42bb22d353b14': http: enable icy metadata by default. Conflicts: Changelog libavformat/http.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: enable icy metadata by default.Andrew Stone2014-08-13
| | | | | | | | | | | | | | It won't hurt servers that don't care about the header, and those that do will include it by default. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '7601f9412a2d3387617a45966b65b452a632c27a'Michael Niedermayer2014-08-13
|\| | | | | | | | | | | | | * commit '7601f9412a2d3387617a45966b65b452a632c27a': http: export icecast metadata as an option with name "metadata". Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: export icecast metadata as an option with name "metadata".Andrew Stone2014-08-13
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '8bf3bf69ad7333bf0c45f4d2797fc2c61bc8922f'Michael Niedermayer2014-08-13
|\| | | | | | | | | | | | | * commit '8bf3bf69ad7333bf0c45f4d2797fc2c61bc8922f': http: Stop reading after receiving the whole file for non-chunked transfers Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Stop reading after receiving the whole file for non-chunked transfersMartin Storsjö2014-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously this logic was only used if the server didn't respond with Connection: close, but use it even for that case, if the server response is non-chunked. Originally the http code has relied on Connection: close to close the socket when the file/stream is received - the http protocol code just kept reading from the socket until the socket was closed. In f240ed18 we added a check for the file size, because some http servers didn't respond with Connection: close (and wouldn't close the socket) even though we requested it, which meant that the http protocol blocked for a long time at the end of files, waiting for a socket level timeout. When reading over tls, trying to read at the end of the connection, when the peer has closed the connection, can produce spurious (but harmless) warnings. Therefore always voluntarily stop reading when the specified file size has been received, if not using a chunked transfer encoding. (For chunked transfers, we already return 0 as soon as we get the chunk header indicating end of stream.) Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '6a463e7fb4f028c52d2e2d054f9483f4fff492bc'Michael Niedermayer2014-08-04
|\| | | | | | | | | | | | | | | * commit '6a463e7fb4f028c52d2e2d054f9483f4fff492bc': http: Refactor http_open_cnx See: c2a170ac0ddd53516d004cd2bf55ceaffa59642a Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Refactor http_open_cnxLuca Barbato2014-08-03
| | | | | | | | | | | | | | | | | | Split return value handling from the actual opening. Incidentally fixes the https -> http redirect issue reported by Compn on behalf of rcombs. CC: libav-stable@libav.org
* | avformat/http: fix tls/tcp protocol after a 302 move in httpsRodger Combs2014-08-04
| | | | | | | | | | | | Fixes ticket 3824 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'ce2e858f5b3416c2d54f7f8c14e901f75c48b785'Michael Niedermayer2014-07-24
|\| | | | | | | | | | | | | | | | | | | * commit 'ce2e858f5b3416c2d54f7f8c14e901f75c48b785': http: K&R formatting cosmetics Conflicts: libavformat/http.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: K&R formatting cosmeticsDiego Biurrun2014-07-23
| | | | | | | | Also comment some #endifs and reshuffle headers into canonical order.
* | Merge commit '7bdd2ff6825951f7a6a6008303acfce7c2a63532'Michael Niedermayer2014-07-22
|\| | | | | | | | | | | | | | | | | | | * commit '7bdd2ff6825951f7a6a6008303acfce7c2a63532': http: Use a constant for the supported header size Conflicts: libavformat/http.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Use a constant for the supported header sizeLuca Barbato2014-07-22
| |
* | Merge commit '389380c27915b0505fed538cd54c035c891fabd9'Michael Niedermayer2014-07-22
|\| | | | | | | | | | | | | * commit '389380c27915b0505fed538cd54c035c891fabd9': http: Do move the class instantiation in the conditional block Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Do move the class instantiation in the conditional blockLuca Barbato2014-07-21
| | | | | | | | Remove a warning if https support is disabled.
* | Merge commit '28df1d24112c6ad0763985df2faeeb198cfbad69'Michael Niedermayer2014-07-22
|\| | | | | | | | | | | | | * commit '28df1d24112c6ad0763985df2faeeb198cfbad69': http: Provide an option to override the HTTP method Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Provide an option to override the HTTP methodLuca Barbato2014-07-21
| | | | | | | | Certain servers accept only PUT as valid method.
* | avformat/http: remove never twice executable loopMichael Niedermayer2014-05-14
| | | | | | | | | | | | | | Fixes CID1197069 Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | http: restructure http_connect error handling pathwm42014-03-23
| | | | | | | | | | | | | | | | The authstr memory allocations make it annoying to error in the middle of the header setup code, so apply the usual C error handling idiom to make it easier to error at any point. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | http: never send 'Cookie: (null)' to the serverwm42014-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | | If a domain has some cookies set, but matching the cookie fails due to the port being different, get_cookies() succeeds, but sets cookies to NULL. The caller of get_cookies() didn't check for the NULL value. This also avoids passing NULL to libc string functions, which is undefined behavior Fixes Ticket2180 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-03-12
|\| | | | | | | | | | | | | * qatar/master: http: Properly initialize icy headers string Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Properly initialize icy headers stringAlessandro Ghedini2014-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The icy_metadata_headers string never gets initialized, so, during the first call to av_strlcatf() in parse_icy(), strlen() will be called on a pointer to uninitialized memory. At best this causes some garbage data to be left at the start of the string. By initializing icy_metadata_headers to the empty string, the first call to strlen() will always return 0, so that data is appended from the start of the string. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'e77a2ea9505863e50bf013706f66bf8b7325e524'Michael Niedermayer2014-03-12
|\| | | | | | | | | | | | | * commit 'e77a2ea9505863e50bf013706f66bf8b7325e524': http: Declare more parameters as const where possible Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Declare more parameters as const where possibleMartin Storsjö2014-03-12
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-03-12
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: http: Allow setting a Content-Type for POST requests Conflicts: libavformat/http.c See: c01d1d4ddf4d8240427341af1c077f6455243576 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Allow setting a Content-Type for POST requestsClément Bœsch2014-03-11
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * http: Improve options descriptionsAlessandro Ghedini2014-03-11
| | | | | | | | | | | | Add documentation where missing. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'ab76d9f628ad46e1d3bbf26c5bf1f87083f239ab'Michael Niedermayer2014-03-12
|\| | | | | | | | | | | | | | | | | | | | | * commit 'ab76d9f628ad46e1d3bbf26c5bf1f87083f239ab': http: Always allow no-op seek Conflicts: libavformat/http.c See: 857841c1b63bf3ffacef03da2bd6275d55ead769 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Always allow no-op seekAnssi Hannula2014-03-11
| | | | | | | | | | | | This also allows checking stream position as per ffurl_seek() doxy. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '2ec33d27127251bbc45e1f88e60691ad59cf2319'Michael Niedermayer2014-03-12
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '2ec33d27127251bbc45e1f88e60691ad59cf2319': http: Add support for selecting a request range Conflicts: doc/protocols.texi libavformat/http.c See: d52882faef368264f9fe5a595274ec84d3446132 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Add support for selecting a request rangeAnssi Hannula2014-03-11
| | | | | | | | | | | | Comment from Reimar Döffinger included as pro memoria. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'ddfc98906373d1f17f6205cedd14c68d7a75995f'Michael Niedermayer2014-03-12
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'ddfc98906373d1f17f6205cedd14c68d7a75995f': http: Support setting custom User-Agent Conflicts: doc/protocols.texi libavformat/http.c See: 2bb1c713cc7e8fd018a3a0b579145a31a1c47bce Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * http: Support setting custom User-AgentClément Bœsch2014-03-11
| | | | | | | | | | | | | | Contextually make the default User-Agent use the common "Name/Version" pattern. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'e58c85b0686892960042232e51c77168b264838a'Michael Niedermayer2014-03-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e58c85b0686892960042232e51c77168b264838a': http: Export Content-Type information Conflicts: doc/protocols.texi libavformat/http.c See: 76d851b65619e5a0fe4cc5248a6858287fe890b4 See: 20899c54f03c413b225e8839a3c5318ab47abe55 See: 255ec768da6f6e821775888621da2156764598da Merged-by: Michael Niedermayer <michaelni@gmx.at>