summaryrefslogtreecommitdiff
path: root/src/input/input_http.c
AgeCommit message (Collapse)Author
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-08-26Add a user agent & protocol hack to allow viewing of Apple film trailers.Darren Salt
2009-02-10Fix broken size checks in various input plugins (ref. CVE-2008-5239).Darren Salt
2009-01-04Fix for CVE-2008-5239Matthias Hopf
xine-lib 1.1.12, and other 1.1.15 and earlier versions, does not properly handle (a) negative and (b) zero values during unspecified read function calls in input_file.c, input_net.c, input_smb.c, and input_http.c, which allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via vectors such as (1) a file or (2) an HTTP response, which triggers consequences such as out-of-bounds reads and heap-based buffer overflows.
2008-06-20Allow input plugins to report MIME types as optional data. Implement for http.Darren Salt
This is an input plugin API extension; ABI is unchanged. The version is not bumped (we can't bump it due to 1.2).
2008-06-09Fix Shoutcast NSV detection.Darren Salt
Leading whitespace could prevent this from working.
2008-05-09Use snprintf() return value rather than calling strlen() multiple times.Diego 'Flameeyes' Pettenò
Instead of using strlen() to get the new size of the string every time, use the value returned by snprintf() to gather the size of the final string. --HG-- extra : transplant_source : %AA%0D%D3d9%D6%99%D7BP%21w%F3%DE%8Au%90l%AD%16
2008-05-07Cleanup http_proxy environment variable handling.Diego 'Flameeyes' Pettenò
Instead of duplicating twice the http_proxy environment variable value, do so only once, avoid a strlen() call when checking if the string is not empty, remove the http_proxy variable entirely, don't free the duplicated string as that's what it's used.
2008-05-07Replace strn?cpy() + strn?cat() calls with a?sprintf().Diego 'Flameeyes' Pettenò
Instead of creating strings through a series os string copy and concatenations, use directly the appropriate printf-like function.
2008-05-07Use asprintf() rather than malloc() + sprintf().Diego 'Flameeyes' Pettenò
Using asprintf() instead of malloc() + sprintf() reduces the lines of code in xine-lib (moving the allocation to the C library or asprintf replacement), makes it safer to access the string and can also improve performance whenever the value returned by a function was used as parameter, as before it had to run the function twice in almost every case (once for strlen(), once for sprintf()).
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
The xine_xmalloc() function is going to be deprecated, as its behaviour is rarely needed as such, and it's thus misused. With this, almost all uses of xine_xmalloc() with static size (for instance the value returned by sizeof()) or with a size that is guaranteed not to be zero (like strlen()+1) are replaced with calls to either calloc(1, ...) or malloc(). malloc() is used whenever the allocated memory is going to be immediately overwritten, while calloc() is used in every other case, as it sets the whole memory area to zero. --HG-- extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-10Fix detection of last.fm servers.Diego 'Flameeyes' Pettenò
I'm not sure whether they changed the Server response to the current "last.fm proxy streamer" or if depending of what server you hit it answer that rather than the previous "last.fm Streaming Server", so for now just look if the Server response starts with "last.fm", which covers both cases.
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-07-14Handle transparently redirect done through m3u playlists.Diego 'Flameeyes' Pettenò
Thanks to Harald Sitter from Amarok team for reporting a testcase.
2007-06-10Backport last.fm support to 1.1 branch.Diego 'Flameeyes' Pettenò
2007-05-11Throw a XINE_MSG_PERMISSION_ERROR error when HTTP returns a 401 statushadess@cookie.hadess.net
Patch from Dmitri Fedortchenko <dimo <at> angelhill.net>, required for upstream Totem bug: http://bugzilla.gnome.org/show_bug.cgi?id=418316
2007-05-02Fix proxy usage when the hostnames cannot be resolved.Diego 'Flameeyes' Pettenò
Thanks to Jeff Mitchell for reporting and testing the fix. This change reverses the meaning of _x_use_proxy() function to be the one expected by human logic (1 -> use proxy, 0 -> don't use proxy), this way a failure in hostname resolution would result in the proxy being used rather than discarded. Basically now you can use xine behind a proxy when you can't get out to the DNS servers (or where the DNS servers don't resolve Internet hosts that you are not allowed to connect to).
2007-03-17Some servers does not send a human-readable http status description, for ↵Diego 'Flameeyes' Pettenò
those, check only the status code. This fixes WikipediaWeekly podcasts for instance. CVS patchset: 8706 CVS date: 2007/03/17 16:47:16
2007-02-20Fix a lot of format warnings in lprintf calls (mostly %ldd -> %"PRId64").Diego 'Flameeyes' Pettenò
CVS patchset: 8608 CVS date: 2007/02/20 00:34:55
2007-01-19Make get_mrl return a const char * too.Diego 'Flameeyes' Pettenò
CVS patchset: 8524 CVS date: 2007/01/19 01:05:24
2007-01-18Make get_description function return a const char * rather than just a char ↵Diego 'Flameeyes' Pettenò
*, so that 'return "something"' is valid. Note that _()/gettext() returns a char * but statically allocated, that the documentation considers constant. CVS patchset: 8519 CVS date: 2007/01/18 23:02:18
2006-12-08Fix wrong length specification for strncat() calls.Matthias Hopf
Consolidated multiple strncat() calls to snprintf(). CVS patchset: 8407 CVS date: 2006/12/08 16:26:10
2006-11-30Return a different code for every possible output, makes simpler to debug ↵Diego 'Flameeyes' Pettenò
what caused the failure. CVS patchset: 8395 CVS date: 2006/11/30 10:54:18
2006-09-13Return -1 when a connection error happens, so that other input plugins are ↵Diego 'Flameeyes' Pettenò
not tried and the proper error message is returned. CVS patchset: 8233 CVS date: 2006/09/13 23:28:22
2006-09-13Use the media.network.timeout setting already defined as timeout for the ↵Diego 'Flameeyes' Pettenò
connection; this way the user can configure a shorter timeout if they are on fast lines. CVS patchset: 8228 CVS date: 2006/09/13 22:50:43
2006-09-13Don't use the proxy if the host resolves to 127.0.0.1 (localhost).Diego 'Flameeyes' Pettenò
Missing check for IPv6 localhost. CVS patchset: 8224 CVS date: 2006/09/13 17:08:19
2006-07-10Implement visibility support, available on GCC 4.0 and later and on some 3.4 ↵Diego 'Flameeyes' Pettenò
(through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway. CVS patchset: 8101 CVS date: 2006/07/10 22:08:12
2006-06-20Fix generic warnings.Diego 'Flameeyes' Pettenò
CVS patchset: 8065 CVS date: 2006/06/20 01:46:41
2006-06-06Fixed input buffer size check (using correct size). (CVE-2006-2802)Matthias Hopf
CVS patchset: 8014 CVS date: 2006/06/06 16:39:25
2006-06-02Improve quotation mark handling for StreamTitle in Shoutcast streams.Darren Salt
(Based on a patch from Diego Pettenò.) CVS patchset: 8011 CVS date: 2006/06/02 22:44:58
2006-05-31Fix the spelling of the new buffer-full error message.Darren Salt
CVS patchset: 8002 CVS date: 2006/05/31 21:14:40
2006-05-31HTTP input: buffer overflow fix. (Diego Pettenò) (CVE-2006-2802)Darren Salt
CVS patchset: 8001 CVS date: 2006/05/31 20:58:22
2006-05-03Make various arrays and structures (mainly xine_plugin_info) const.Darren Salt
(Diego Pettenò) CVS patchset: 7985 CVS date: 2006/05/03 19:46:06
2006-04-21HTTP authentication fix: remove proxy requirement (patch from Diego Pettenò)Darren Salt
This patch removes a dummy check on proxy usage before applying authentication. This was caused by a copy-paste error in older revision of this file, and then drifted to the current problem while the code evolved. With this simple change, authenticated streams works just fine. A big thanks to Mark Kretschmann from the amaroK team who noticed the problem and helped tracking it down. CVS patchset: 7979 CVS date: 2006/04/21 23:27:49
2006-04-12Added support for the peercast:// uri used by Peercast (htpp://peercast.org).Claudio Ciccani
CVS patchset: 7968 CVS date: 2006/04/12 15:37:07
2005-10-14input plugin time seeking patch.Miguel Freitas
hopefuly somebody will be able to help fixing the mess i did in dvdnav ;) CVS patchset: 7759 CVS date: 2005/10/14 21:02:16
2005-05-21**BUGFIX**James Stembridge
Don't skip first character of title if the second character is a space Remove any trailing <BR> from the comment CVS patchset: 7557 CVS date: 2005/05/21 16:16:35
2005-02-07Added PLUGIN_MUST_PRELOAD to all input plugins registering config entries.Thibaut Mattern
Added PLUGIN_NO_UNLOAD to the gnome_vfs plugin because unloading this plugins cause troubles (segfault). Current plugin loader preloads all input and demuxer plugins, so adding these flags will not change the current behavior of the lib. CVS patchset: 7390 CVS date: 2005/02/07 23:58:57
2005-02-06Added a plugin_node_t pointer to the input plugin struct.Thibaut Mattern
Incremented all input plugins API version. CVS patchset: 7384 CVS date: 2005/02/06 15:00:34
2005-02-03**BUGFIX**František Dvořák
Fixed build on solaris: - use libresolv in hstrerror check - replace PRIiMAX and PRIXMAX by PRIdMAX and PRIxMAX Removed timezone struct for MinGW from public os_types.h, update header comment. Fixed build musepack library on some platforms using xine types. Thanks to Niki W. Waibel for reporting and testing. CVS patchset: 7378 CVS date: 2005/02/03 07:19:03
2005-01-17Merge shoutcast/icecast header parsing with http header parsing.Thibaut Mattern
Fixed bug: http://sourceforge.net/tracker/index.php?func=detail&aid=1098490&group_id=9655&atid=109655 CVS patchset: 7356 CVS date: 2005/01/17 19:27:51
2005-01-13Fix a long standing bug with shoutcast.Thibaut Mattern
CVS patchset: 7340 CVS date: 2005/01/13 19:37:15
2005-01-05Warning fixes (Maarten Vanraes).Darren Salt
CVS patchset: 7326 CVS date: 2005/01/05 21:48:05
2005-01-05input.http_no_proxy -> media.network.http_no_proxyDarren Salt
Change separator from ", " to ",". Make domain matching stricter - require that the character at the start of the match or the immediately preceding character is a dot. Add '=DOMAIN' (full match: domain "foo.bar" matches host "foo.bar" only). Modify config option's description and help text accordingly. CVS patchset: 7323 CVS date: 2005/01/05 00:37:29
2004-12-24Fix crash related to relative HTTP redirect URLs.Darren Salt
These URLs are now canonicalised. CVS patchset: 7297 CVS date: 2004/12/24 01:59:11
2004-12-12huge patch ahead: reorganizing config entries with automatic conversionMichael Roitzsch
and backwards compatible translation Sorry, I got a litte tired proof-reading the patch, so their might be bugs lurking around. I will give it some further examination and (as necessary) fixing tomorrow. CVS patchset: 7233 CVS date: 2004/12/12 22:00:47
2004-12-01- handle "uvox://" URLsThibaut Mattern
- handle stupid Nullsoft URL scheme like : http://208.53.131.46:9502;stream.nsv CVS patchset: 7183 CVS date: 2004/12/01 22:55:31
2004-09-28Get SCNx64 and SCNxMAX format macros working properly on Mac OS XAndre Pang
CVS patchset: 7006 CVS date: 2004/09/28 15:38:11
2004-09-20Build system improvements:František Dvořák
- use replacement functions (macro AC_REPLACE_FUNCS and variable LTLIBOBJS), each function is in a file placed into lib/ directory, it was not necessary, but it looks nice, IMHO - headers cleanups (this was needed): - prototypes of replacement funtions and macros are placed into separate os_internal.h (and included by config.h) - drop include inttypes.h from public xine.h, replaced by custom os_type.h, idea origins from Ogg/Vorbis public headers - disable generating inttypes.h: generated replacement isn't enough for xine-lib but nobody complained (and for M$VC we have special version) - better including headers for win32, let dvdnav use its mutex wrapper - updated M$VC port Result: - xine is compiled nicely by MinGW, CygWin and paritaly M$VC - frontends in M$VC port don't require additional helping headers - moved some platform specific things from xine-utils and win32/contrib to lib/ Finally I can start with real coding. :-) CVS patchset: 6982 CVS date: 2004/09/20 19:30:02