summaryrefslogtreecommitdiff
path: root/libavformat/http.c
Commit message (Collapse)AuthorAge
* lavf/http: Fix parsing http request data to not read over '\0'.Stephan Holljes2015-08-25
| | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* lavf/http: Implement server side network code.Stephan Holljes2015-08-01
| | | | | | | | add http_accept, add http_handshake and move handshake logic there, handle connection closing. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* Merge commit '5ae178539b91d25710b7bb322d156c31aea9f8bf'Michael Niedermayer2015-07-30
|\ | | | | | | | | | | | | * commit '5ae178539b91d25710b7bb322d156c31aea9f8bf': http: Add the trailing endlines if they are missing Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * http: Add the trailing endlines if they are missingLuca Barbato2015-07-30
| | | | | | | | | | Makes slightly easier the life of those want to use the option from the command line
* | lavf/http: Correctly terminate session with HTTP POST client.Stephan Holljes2015-06-10
| | | | | | | | | | | | | | | | | | Send a footer to correctly close client sockets. This fixes network errors in client applications. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: Add simple autodetection for client HTTP method, based on ↵Stephan Holljes2015-06-06
| | | | | | | | | | | | AVIO_FLAG_READ. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Indent else-clause.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Properly process HTTP header on listen.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Rudimentary error handling for HTTP requests received from clients.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Process HTTP header before sending response.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | lavf/http: Document method option.Stephan Holljes2015-06-06
| | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
* | avformat/http: Mark lower_proto as const in http_listen()Michael Niedermayer2015-05-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: support HTTPS when listeningRodger Combs2015-05-02
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1a3eb042c704dea190c644def5b32c9cee8832b8': Replace av_dlog with normal av_log at trace level Conflicts: ffplay.c libavdevice/fbdev_dec.c libavfilter/avfilter.c libavfilter/internal.h libavfilter/setpts.c libavfilter/src_movie.c libavfilter/vf_crop.c libavfilter/vf_drawtext.c libavfilter/vf_fieldorder.c libavformat/assdec.c libavformat/avidec.c libavformat/flvdec.c libavformat/http.c libavformat/ipmovie.c libavformat/isom.c libavformat/mov.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/mpegtsenc.c libavformat/mux.c libavformat/mxfdec.c libavformat/nsvdec.c libavformat/oggdec.c libavformat/r3d.c libavformat/rtspdec.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace av_dlog with normal av_log at trace levelVittorio Giovara2015-04-19
| | | | | | | | This applies to every library where performance is not critical.
* | avformat/http: Fix 2 typosMichael Niedermayer2015-04-19
| | | | | | | | | | Found-by: wm4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: Return an error in case of prematurely ending dataMichael Niedermayer2015-04-19
| | | | | | | | | | | | Fixes Ticket 4039 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: handle case where the server returns a redirect during a seekRodger Combs2015-04-13
| | | | | | | | | | | | | | | | | | | | txoffer (e.g. http://tori.aoi-chan.com/ ) redirects to the same URI on your first request, and serves the actual file on the second. It's stupid, but AFAIK technically compliant. We'd previously see the server not handing back a Range header and return an error; now, instead, we see that there's a redirect and keep track of the offset we want while trying again at the new URL. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavformat/http.c: Make http-listen work as an input stream.Stephan Holljes2015-04-11
| | | | | | | | | | | | | | With this patch http can be used to listen for POST data to be used as an input stream. Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavformat/http.c: Fix missing parenthesis in http_listen()Stephan Holljes2015-04-06
| | | | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: add proof-of-concept http server.Stephan Holljes2015-04-05
| | | | | | | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Reviewed-By: Nicolas George <george@nsup.org>
* | avformat/http: Fix null check on allocated valueHimangi Saraogi2015-03-31
| | | | | | | | | | | | probably fixes CID 1292299 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: replace cookies with updated values instead of appending foreverMicah Galizia2015-03-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/http: support auto reconnectZhang Rui2015-03-13
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | 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>