summaryrefslogtreecommitdiff
path: root/libavformat/http.c
Commit message (Collapse)AuthorAge
* http: use av_strlcpy instead of strcpy() without size checksJanne Grunau2012-10-09
| | | | Fixes CID700730.
* http: Increase buffer sizes to cope with longer URIsDuncan Salerno2012-09-28
| | | | | | | | | | | | | Use the MAX_URL_SIZE define where applicable. Increase buffer sizes for all buffers that need to fit a long pathname - buffers that need to fit only the hostname (and other short strings, but not the pathname - such as "headers" in http_connect) are kept at 1024 bytes for now. Also increase the max line length in http_read_header, since it might need to contain a full url for Location: redirects. Signed-off-by: Martin Storsjö <martin@martin.st>
* avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: remove unnecessary inclusions of unistd.hMans Rullgard2012-06-20
| | | | | | These files do not use anything provided by unistd.h. Signed-off-by: Mans Rullgard <mans@mansr.com>
* http: replace atoll() with strtoll()Ronald S. Bultje2012-06-19
|
* http: Properly handle chunked transfer-encoding for replies to post dataMartin Storsjö2012-06-17
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Fail reading if the connection has gone awayMartin Storsjö2012-06-17
| | | | | | | This can happen if doing a new request using the same socket, but the new request failed, which clears the urlcontext. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add the url_shutdown function for https, tooMartin Storsjö2012-06-01
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Simplify code by removing a local variableMartin Storsjö2012-06-01
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Clear the old URLContext pointer when closedMartin Storsjö2012-06-01
| | | | | | | This fixes issues with opening http urls that have authentication or redirects, introduced in commit e999b641. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Pass the proper return code of net IO operationsSamuel Pitoiset2012-05-30
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add 'post_data', a new option which sets custom HTTP post dataSamuel Pitoiset2012-05-30
| | | | | | | This allows doing http posts with a content-length header sent in advance, avoiding chunked encoding. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add support for reusing the http socket for subsequent requestsSamuel Pitoiset2012-05-28
| | | | | | | Introduce ff_http_do_new_request(), a new function which sends a new HTTP request, reusing the existing connection to the server. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add support for using persistent connectionsSamuel Pitoiset2012-05-28
| | | | | | | Add a new AVOption 'multiple_requests', which indicates if we want to use persistent connections (ie. Connection: keep-alive). Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add support for reading http POST reply headersSamuel Pitoiset2012-05-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add http_shutdown() for ending writing of postsSamuel Pitoiset2012-05-22
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Factorize the code by adding http_read_header()Samuel Pitoiset2012-05-20
| | | | | | This function is used for reading http reply headers. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Clear the auth state on redirectsMartin Storsjö2012-03-13
| | | | | | | Currently we only try continuing with the same auth mechanism as the initial request. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Retry auth if it failed due to being staleMartin Storsjö2012-03-13
| | | | | | | Allow up to 4 retries for normal requests, where both the proxy and the target server might need to authenticate. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: Add an URLProtocol flag for indicating that a protocol uses networkMartin Storsjö2012-01-05
| | | | | | | This definition is in two files, since the definitions will move to the private header at the next bump. Signed-off-by: Martin Storsjö <martin@martin.st>
* Remove extraneous semicolonsMans Rullgard2011-12-11
| | | | | | These semicolons cause invalid empty top-level declarations. Signed-off-by: Mans Rullgard <mans@mansr.com>
* http: Make sure proxyauth is initializedMartin Storsjö2011-12-01
| | | | | | | | | This string will be passed to ff_http_auth_create_response even if no proxy is used, resulting in reading uninitialized memory. The other auth string is always initialized by av_url_split. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Don't use the normal http proxy mechanism for httpsMartin Storsjö2011-11-18
| | | | | | | | | | The tls protocol handles connections via proxies internally. With TLS/SSL, the peer verification requires that the client speaks directly with the server, since the proxy doesn't have the remote server's private key. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Reorder two code blocksMartin Storsjö2011-11-18
| | | | | | This is in preparation for a later commit. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add a new protocol for opening connections via http proxiesMartin Storsjö2011-11-18
| | | | | | | | | | This opens a plain TCP connection through the proxy via the CONNECT HTTP method. Normally, this is allowed for connections on port 443, but can in general be used to allow connections to any port (depending on proxy configuration), and could thus be used to tunnel any TCP connection via a HTTP proxy. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Split out the non-chunked buffer reading part from http_readMartin Storsjö2011-11-18
| | | | | | | This is in preparation for a later commit, where this function is reused. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: add support for passing options to protocols.Anton Khirnov2011-11-13
| | | | | Not used anywhere yet, support for passing options from avio_open() will follow.
* avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_allocMartin Storsjö2011-11-13
| | | | | Change all uses of these function to pass the relevant callback on.
* http: Handle proxy authenticationMartin Storsjö2011-11-11
| | | | | | | | Tested with both Basic and Digest authentication, and tested with both proxy authentication and authentication for the requested resource at the same time. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Print an error message for Authorization Required, tooMartin Storsjö2011-11-11
| | | | | | | | | | | The error was hidden before, to avoid showing an error on the first request where no auth has been provided, when the server indicates which authentication method to use. Now the error is printed if an authentication method was used, but failed. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Don't add a Range: bytes=0- header for POSTMartin Storsjö2011-11-10
| | | | | | That header simply doesn't make sense in that context. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Change the chunksize AVOption into chunked_postMartin Storsjö2011-11-10
| | | | | | | | | | | | | | | | | The chunksize internal variable has two different uses - for reading, it's the amount of data left of the current chunk (or -1 if the server doesn't send data in chunked mode), where it's only an internal state variable. For writing, it's used to decide whether to enable chunked encoding (by default), by using the value 0, or disable chunked encoding (value -1). This, while consistent, doesn't make much sense to expose as an AVOption. This splits the usage of the internal variable into two variables, chunksize which is used for reading (as before), and chunked_post which is the user-settable option, with the values 0 and 1, where 1 is default. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Add encoding/decoding flags to the AVOptionsAnton Khirnov2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: use different classes for http and https.Anton Khirnov2011-11-10
|
* http: Change an error log message to a warningMartin Storsjö2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Remove the now unused ff_http_set_headers custom functionMartin Storsjö2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Make custom headers settable via an AVOptionMartin Storsjö2011-11-10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all usage of strcasecmp/strncasecmpReimar Döffinger2011-11-06
| | | | | | | | | | | All current usages of it are incompatible with localization. For example strcasecmp("i", "I") != 0 is possible, but would break many of the places where it is used. Instead use our own implementations that always treat the data as ASCII. Signed-off-by: Martin Storsjö <martin@martin.st>
* http: Remove the custom function for disabling chunked postsMartin Storsjö2011-11-05
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat: Add the https protocolMartin Storsjö2011-11-05
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace outdated references to ffmpeg tool with avconv.Diego Biurrun2011-11-02
|
* AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*Anton Khirnov2011-10-12
|
* http: Consider the stream as seekable if the reply contains Accept-Ranges: bytesStefan Fritsch2011-09-04
| | | | | | | | | | | | The initial request contains "Range: 0-", which servers normally have responded with "HTTP/1.1 206 Partial Content" reply with a Content-Range header, which was used as indicator for seekability. Apache, since 2.2.20, responds with "HTTP/1.1 200 OK" for these requests, which is more friendly to caches and proxies, but the seekability still is indicated via the Accept-Ranges: bytes header. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: use designated initializers for AVClasses.Anton Khirnov2011-05-17
|
* AVOptions: make default_val a union, as proposed in AVOption2.Anton Khirnov2011-05-10
| | | | This breaks API and ABI.
* libavformat: Make protocols pass URLContext as log context where availableMartin Storsjö2011-04-20
| | | | | | | Since the libavformat major bump, URLContext contains an AVClass, making it a usable log context. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbolsStefano Sabatini2011-04-19
| | | | | | | | Make AVIO_FLAG_ access constants work as flags, and in particular fix the behavior of functions (such as avio_check()) which expect them to be flags rather than modes. This breaks API.
* lavf: use designated initializers for all protocolsAnton Khirnov2011-04-08
| | | | | This is more readable and makes it easier to reorder URLProtocol members.
* avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-07
|
* avio: make url_get_file_handle() internal.Anton Khirnov2011-04-04
|