Commit Graph

173 Commits

Author SHA1 Message Date
Martin Storsjö
a9a3364c31 Allocate the HTTPContext through URLProtocol.priv_data_size
Originally committed as revision 23708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 14:12:34 +00:00
Martin Storsjö
db30234794 HTTP: Add a method for initializing the authentication state from another connection
Originally committed as revision 23685 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 19:40:30 +00:00
Martin Storsjö
17b1493f74 Reindent
Originally committed as revision 23684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 19:02:35 +00:00
Martin Storsjö
ea02b593a1 HTTP: Compact the code for writing chunked post data
Originally committed as revision 23683 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 19:02:05 +00:00
Martin Storsjö
077026ccf3 HTTP: Get rid of the is_chunked variable, use the chunksize variable instead
Originally committed as revision 23682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 19:01:32 +00:00
Martin Storsjö
a6a9158973 HTTP: Clarify a comment
Originally committed as revision 23681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 18:40:53 +00:00
Ronald S. Bultje
45c611a95b Reset chunksize back to zero (= no chunked encoding) after each new open
connection (e.g. a seek). This fixes the theoretical case where a server
sends a file first using chunked encoding, and then using non-chunked
encoding.

Originally committed as revision 23665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-20 21:41:02 +00:00
Ronald S. Bultje
f37246952a Use url_write(), not http_write(), for sending the HTTP headers. This prevents
them from being sent using chunked encoding (I don't think this ever happened,
but either way it would be wrong).

Originally committed as revision 23664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-20 21:38:16 +00:00
Martin Storsjö
130b096aea Make sure the http protocol handler returns errors if a delayed open had failed
Originally committed as revision 23548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-09 09:19:36 +00:00
Martin Storsjö
bdb57a9198 Initialize the http connection in http_seek, too
This makes url_fsize return correct values for delay opened connections
that have not yet been initialized.
This fixes using the image2 demuxer with http sources.

Originally committed as revision 23546 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-09 08:29:51 +00:00
Martin Storsjö
e4f28e0890 Reindent
Originally committed as revision 23534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 11:58:22 +00:00
Josh Allmann
f2b9b19fad Add support for disabling chunked transfer encoding for the http protocol
Patch by Josh Allmann, josh dot allmann at gmail

Originally committed as revision 23531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 11:48:03 +00:00
Martin Storsjö
701ea516ee Fix handling of errors in the http protocol
If http_connect fails, we've already stored the new connection handle in s->hd,
so clear it so http_close won't double-free it.

10l to me for not spotting it during review

Originally committed as revision 23529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 11:18:22 +00:00
Martin Storsjö
4ceb8b3460 Fix bugs in the http custom header handling
Initialize the buffer av_strlcatf writes into.
Add the dash at the end of the Range header.

10l to me for not spotting it earlier

Originally committed as revision 23528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 11:06:36 +00:00
Josh Allmann
6964d510e8 Add the capability to write custom HTTP headers
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 23526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 10:26:16 +00:00
Josh Allmann
0f3254b83d Modify the behaviour of http_open to implicitly delay connection establishment
The connection is made on the first http_read, http_write or http_seek.

Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 23525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 10:04:39 +00:00
Martin Storsjö
dd798dcd11 http: Set http_code to 200 when doing a POST
This avoids reading and comparing uninitialized memory.

Originally committed as revision 23464 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 06:35:12 +00:00
Martin Storsjö
27241cbffe Declare the url_write buffer parameter as const
Originally committed as revision 23401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-01 07:46:23 +00:00
Martin Storsjö
9405f733d9 Split out http authentication handling into a separate file
This prepares for adding support for more authentication methods

Originally committed as revision 22660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 22:32:05 +00:00
Aurelien Jacobs
e4a9e3cc7c move ff_url_split() and ff_url_join() declarations to internal.h
those functions are not part of the public API

Originally committed as revision 22534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 23:59:48 +00:00
Martin Storsjö
f984dcf6dd Reindent
Originally committed as revision 22322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:05:03 +00:00
Martin Storsjö
c5c6e67c28 Rename url_split to ff_url_split
Since this function isn't in the public API, it should have an ff_ prefix.

Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:03:25 +00:00
Martin Storsjö
57b5555c91 Use ff_url_join for assembling URLs, instead of snprintf
This ensures proper escaping of numerical IPv6 addresses.

The RTSP (de)muxer needs its own network initialization, since it isn't
a protocol and url_open hasn't been called yet.

Originally committed as revision 22226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-05 22:35:21 +00:00
Baptiste Coudurier
08c8e66a99 restore old buffer content when seek failed in http protocol, fix issue #1631
Originally committed as revision 21208 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 23:27:52 +00:00
Ronald S. Bultje
2edabfdfdb Reindent after r21166.
Originally committed as revision 21167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 16:36:23 +00:00
Tomas Härdin
08f7a8ac32 Use chunked encoding for HTTP uploads. Patch by Tomas Härdin
<$firstname.$lastname()codemill,se>.

Originally committed as revision 21166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 16:36:00 +00:00
Peter Holik
7995ed8e69 Add support for "chunked" data blocks. Patch by Peter Holik (peter holik at).
Originally committed as revision 19256 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-23 15:38:53 +00:00
Peter Holik
a52dc730cf Cosmetics : Use dprintf instead of printf.
Patch by Peter Holik < $firstname @ $lastname . at >

Originally committed as revision 19126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 17:32:59 +00:00
Jai Menon
2b01a52031 Cosmetics : Fix indentation after last commit.
Originally committed as revision 19125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 16:46:40 +00:00
Peter Holik
682d49f4ea Introduce http_get_line and modify http_connect to use http_get_line.
Patch by Peter Holik <$firstname @ $lastname . at>

Originally committed as revision 19124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-06 16:44:21 +00:00
Ronald S. Bultje
f0a8039464 Add url_get_file_handle(), which is used to get the file descriptor
associated with the I/O handle (e.g. the fd returned by open()). See
"[RFC] rtsp.c EOF support" thread.

There were previously some URI-specific implementations of the same idea,
e.g. rtp_get_file_handles() and udp_get_file_handle(). All of these are
deprecated by this patch and will be removed at the next major API bump.

Originally committed as revision 17779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 17:04:51 +00:00
Ronald S. Bultje
d176f90387 Reduce allocated length of the HTTP authentication request field buffer, as
noticed by Stefano and Luca in the "[PATCH]RTSP Basic Authentication"
mailinglist thread.

av_base64_encode() was recently changed. The previous implementation required
12 extra bytes (ceil(len(src)/3.)*4+12), whereas the new one is guaranteed to
fit in an exact buffer (ceil(len(src)/3.)*4), plus one extra byte for the
trailing zero. This change fixes no bug, it just slightly decreases the
amount of allocated memory.

Originally committed as revision 17761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:26:17 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Reimar Döffinger
2907abed17 Remove a pointless cast.
Originally committed as revision 11819 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 22:03:01 +00:00
Reimar Döffinger
b630a39ecd Missing 'const' in cast.
Originally committed as revision 11814 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-02 20:58:58 +00:00
Michael Niedermayer
359154bc1b Revert hack which should have never been commited.
------------------------------------------------------------------------
r464 | philipjsg | 2002-05-09 03:19:15 +0200 (Thu, 09 May 2002) | 3 lines

* Add a sleep when doing the post to ffserver. Yes, this is the wrong
  solution.

Originally committed as revision 11336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 03:32:32 +00:00
Ramiro Polla
a5e979f42c os_support.h is also needed for usleep and lseek on MinGW.
Originally committed as revision 11075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-22 02:27:39 +00:00
Panagiotis Issaris
6f3e0b2174 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:23:32 +00:00
Måns Rullgård
f7d78f3654 replace the uses of old string functions that Reimar missed
Originally committed as revision 9406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-24 11:27:12 +00:00
Måns Rullgård
75e61b0e88 use new string functions
based on patch by Reimar Döffinger

Originally committed as revision 9401 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-23 23:10:32 +00:00
Alex Beregszaszi
c8df9c6358 Use usleep instead of sleep, some MinGW versions lack sleep.
Originally committed as revision 9044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-17 10:30:03 +00:00
Diego Biurrun
e42dba481f typos/grammar
Originally committed as revision 8641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 14:09:20 +00:00
Luca Barbato
bd03c380ce expose av_base64_decode and av_base64_encode
Originally committed as revision 8448 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-19 00:48:47 +00:00
Ronald S. Bultje
ecb4a895b2 Properly initialize filesize during input buffer initialization.
patch by Ronald S. Bultje, rbultje ronald.bitfreak net

Originally committed as revision 8343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-12 14:51:18 +00:00
Alex Beregszaszi
7b19aa64dc handle http error codes
Originally committed as revision 8272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-06 13:38:41 +00:00
Ronald S. Bultje
167c553176 Close connection on EOF
this makes downloading some asx files from MS
streaming servers work again (they would hang on eos).
The http request header property connection:close is needed for _some_
1.1 HTTP servers to close the connection at the end of file.
patch by Ronald S. Bultje % rbultje A ronald P bitfreak P net%
Original thread:
Date: Mar 3, 2007 10:48 PM
Subject: [Ffmpeg-devel] [PATCH] close connection on end-of-file

Originally committed as revision 8221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-04 11:59:29 +00:00
Ronald S. Bultje
a3fd2bd87d make HTTP MOVED messages also work in ffmpeg (302 is essentially the same as 303).
patch by "Ronald S. Bultje" % rbultje A ronald P bitfreak P net%
original thread:
Date: Mar 4, 2007 1:21 AM
Subject: [Ffmpeg-devel] http move

Originally committed as revision 8219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-04 11:52:46 +00:00
Luca Barbato
558b86a5d0 Reverting stray commit part II, r8156 had the base64 export patch mixed with the nutdec patch
Originally committed as revision 8158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-28 03:40:23 +00:00
Luca Barbato
9fca9c0316 Reverting stray commit part I
Originally committed as revision 8157 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-28 03:37:54 +00:00
Luca Barbato
bb0eb714bd get_packetheader() forgot to read the header_checksum in big packets
patch from Clemens Ladisch cladisch AT fastmail dot net
(stray base64 patch reverted in the next commits)

Originally committed as revision 8156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-28 03:28:31 +00:00
François Revol
8fa36ae09d This fixes error handling for BeOS, removing the need for some ifdefs.
AVERROR_ defines are moved to avcodec.h as they are needed in there as well. Feel free to move that to avutil/common.h.
Bumped up avcodec/format version numbers as though it's binary compatible we will want to rebuild apps as error values changed.
Please from now on use return AVERROR(EFOO) instead of the ugly return -EFOO in your code.
This also removes the need for berrno.h.

Originally committed as revision 7965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-13 18:26:14 +00:00
Ramiro Polla
42572ef53f move networking #includes into separate file
patch by Ramiro Polla angustia =a= arrozcru =d= no-ip =d= org

Originally committed as revision 7817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-04 17:05:44 +00:00
Guillaume Poirier
706c0d6509 use more portable PRIu64
Originally committed as revision 7707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-25 10:01:28 +00:00
François Revol
e9d511dc7e The long awaited BeOS cleanup, phase 1
Originally committed as revision 7581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-18 17:22:30 +00:00
Ronald S. Bultje
fb2b4fc50a add support for HTTP seeking
patch by Ronald S. Bultje % rbultje A ronald P bitfreak P net %
Original thread:
Date: Jan 4, 2007 5:42 AM
Subject: [Ffmpeg-devel] [PATCH/RFC] http seeking

Originally committed as revision 7505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-14 22:02:38 +00:00
Ryan Martell
a7c6aa73fe switch to common base64 routines in lavf
Patch by Ryan Martell % rdm4 A martellventures P com %
Original thread:
Date: Oct 29, 2006 2:45 AM
Subject: Re: [Ffmpeg-devel] [PATCH] Base64 code

Originally committed as revision 6832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-29 11:53:07 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
I. Po
cfc4bd4695 Fix memleak, patch by I. Po % yyymmmm # gmail O com %
Original thread:
Date: Jul 18, 2006 3:49 PM
Subject: Re: [Ffmpeg-devel] [PATCH] http.c: http_connect() memleak

Originally committed as revision 5785 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-19 08:06:24 +00:00
Michael Niedermayer
7028259a0d simplify b64_encode()
maybe this should be moved to libavutil ...

Originally committed as revision 5782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-18 18:51:35 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Måns Rullgård
88730be651 kill warnings patch by (Måns Rullgård <mru inprovide com>)
Originally committed as revision 3977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-24 19:08:50 +00:00
Michael Niedermayer
568e18b15e integer overflows, heap corruption
possible arbitrary code execution cannot be ruled out in some cases
precautionary checks

Originally committed as revision 3813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-08 14:21:33 +00:00
Petr Doubek
6ba5cbc699 HTTP Authentication Patch by (Petr Doubek <doubek at vision dot ee dot ethz dot ch>)
tested and submitted by (Torsten Spindler <spindler at hbt dot arch dot ethz dot ch>)

Originally committed as revision 3381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-12 00:09:32 +00:00
Mike Melanson
0bd586c50d sweeping change from -EIO -> AVERROR_IO
Originally committed as revision 3239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-19 03:59:34 +00:00
Michael Niedermayer
9eef2b77b2 no read loop tcp/http and http CRLF fix by (Leon van Stuivenberg <l dot vanstuivenberg at chello dot nl>)
Originally committed as revision 2885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-14 02:59:33 +00:00
Alex Beregszaszi
4250dafc96 using LIBAVFORMAT_IDENT
Originally committed as revision 2575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-08 17:50:38 +00:00
Fabrice Bellard
4358d5def3 removed ctype.h header
Originally committed as revision 2225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-08 20:04:44 +00:00
Alex Beregszaszi
ce2749d2c4 simplified
Originally committed as revision 1655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-09 16:07:19 +00:00
Zdenek Kabelac
0c1a9edad4 * UINTX -> uintx_t INTX -> intx_t
Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-11 16:35:48 +00:00
Fabrice Bellard
abac617591 renamed libav to libavformat
Originally committed as revision 1276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-25 19:07:40 +00:00