1
0
mirror of https://gitlab.xiph.org/xiph/icecast-common.git synced 2024-11-03 04:17:20 -05:00
Commit Graph

49 Commits

Author SHA1 Message Date
Philipp Schafft
c45b02414a Fix: Do not strcasecmp() content-type if unset (NULL)
Thanks to lns for finding it.
2020-02-12 10:59:57 +00:00
Philipp Schafft
d20ca18692 Update: Updated copyright statements 2019-04-28 09:40:47 +00:00
Philipp Schafft
6492a456a1 Feature: Allow enumeration of parser content 2018-09-20 09:58:28 +00:00
Philipp Schafft
03659eb096 Feature: Added reference counting to httpp parser object 2018-09-20 09:58:28 +00:00
Philipp Schafft
aeddcad5df Feature: Added httpp_request_info() 2018-09-20 09:58:28 +00:00
Philipp Schafft
1f57410788 Fix: Actually insert nodes into the tree if they are new 2018-09-20 09:58:28 +00:00
Philipp Schafft
7d2b9fa3fd Feature: Added httpp_get_param_var() so multi-value access is possible 2018-09-20 09:58:28 +00:00
Philipp Schafft
53c13dd00e Update: Replaced next member with an array of values 2018-09-20 09:58:28 +00:00
Philipp Schafft
0117b90aa6 Update: Added a (still unused) next member to the http_var_t structure 2018-09-20 09:58:28 +00:00
Philipp Schafft
09fb1ce137 Fix: Consider extra arguments in HTTP request line invalid 2018-09-12 09:26:59 +00:00
Philipp Schafft
368fbd4442 Update: Code style 2018-09-12 09:22:46 +00:00
Philipp Schafft
31f24e9869 Feature: Added httpp_get_param() which does POST, then queryparams 2018-06-18 21:36:19 +00:00
Philipp Schafft
937268e288 Feature: Added support to parse POST data 2018-06-18 14:39:03 +00:00
Philipp Schafft
ae2a956d88 Feature: Added support for HTTP Methods: OPTIONS, DELETE, TRACE, CONNECT
This added support for the standard HTTP/1.1 methods:
 * OPTIONS
  - Query the server to tell what features are supported.
 * DELETE
  - Delete a resource on a server. In Icecast2 context this is
    about what is known as 'kick source'.
 * TRACE
  - Asks the server to return the request to the client as body.
    The client is to send a body-less request and the server
    will return with a 200 OK and the body to to be the exact
    bitstream it got from the client (or any (reverse) proxy).
    The Content-Type is to be set to 'message/http'.
 * CONNECT
  - Client asks the server to proxy the request to the given resource.
    This hardly seems to make sense for Icecast2 but may be used by
    some clients such as libshout. Therefor I added it as well
    so we have at least an ID assigned to it.

Please note that this is a ABI breaker and you will need to recompile
your projects (use 'make clean all').

See: RFC2616
2015-02-10 08:42:59 +00:00
Philipp Schafft
536582171d Prevent various redefined definitions in win32-specific code
From: Erik van Pienbroek <epienbro@fedoraproject.org>
Date: Mon, 22 Dec 2014 18:02:09 +0100
2014-12-24 11:40:30 +00:00
Thomas B. Ruecker
8685e6ed5a Explicitly license httpp log net thread and timing
This change was ACKd by all authors and explicitly states the license
to be LGPLv2 in all files to match COPYING. This removes ambiguity
when using these files e.g. as part of libshout.

For a list of authors, pease refer to the copyright headers of each
file.
2014-12-05 09:31:08 +00:00
Philipp Schafft
7572febbd8 expose converting of method names to enum values as httpp_str_to_method()
svn path=/icecast/trunk/httpp/; revision=19348
2014-11-22 04:44:47 +00:00
Philipp Schafft
b5fca17bfb fixing some compiler warnings
svn path=/icecast/trunk/httpp/; revision=19281
2014-11-07 23:14:00 +00:00
Philipp Schafft
5983b0f6ba commited support for HTTP PUT, See #1812
svn path=/icecast/trunk/httpp/; revision=18452
2012-07-16 16:05:21 +00:00
Karl Heyes
8e7def3ad4 minor cleanups.
svn path=/icecast/trunk/httpp/; revision=16213
2009-07-07 16:37:31 +00:00
Karl Heyes
98546247b1 const updates, again no functional change
svn path=/icecast/trunk/httpp/; revision=13560
2007-08-16 22:52:24 +00:00
Karl Heyes
792df7892f store the original full uri if there are query parameters. small cleanup to
prototype definitions

svn path=/icecast/trunk/httpp/; revision=9453
2005-06-15 02:32:26 +00:00
Karl Heyes
431e4d1ac2 simple sanity check
svn path=/icecast/trunk/httpp/; revision=9126
2005-04-08 03:48:08 +00:00
oddsock
cec0361503 removal of old and unused code
add '+' to those fields that are url decoded.

svn path=/icecast/trunk/httpp/; revision=8346
2004-12-07 22:42:50 +00:00
Karl Heyes
d85ee1db3f add extra boundary checks when splitting headers
svn path=/icecast/trunk/httpp/; revision=7507
2004-08-10 00:03:14 +00:00
Michael Smith
d5bc449998 Add Copyright notice to each source file, as requested by debian.
svn path=/trunk/httpp/; revision=5792
2004-01-29 01:02:12 +00:00
brendan
533772ff76 httpp goes through the rinse cycle
svn path=/trunk/httpp/; revision=5085
2003-07-07 01:49:27 +00:00
Karl Heyes
ec380c4565 ermmm, let's use the right operator.
svn path=/trunk/httpp/; revision=4963
2003-06-18 15:52:25 +00:00
Karl Heyes
5408558756 minor cleanup, removes compiler warning, makes it static, and doesn't
re-evaluate string length each time.

svn path=/trunk/httpp/; revision=4961
2003-06-18 11:13:11 +00:00
brendan
c8d79db03a gcc 3.3 warns: dereferencing type-punned pointer will break strict-aliasing rules
svn path=/trunk/httpp/; revision=4906
2003-06-09 22:30:09 +00:00
brendan
ced88f98a8 Karl's patch for freebsd, minus the sys/select.h test which breaks on OS X.
Also enables IPV6 in libshout!

svn path=/trunk/httpp/; revision=4884
2003-06-05 17:09:12 +00:00
Michael Smith
d0cf9fe000 Brendan was getting pissed off about inconsistent indentation styles.
Convert all tabs to 4 spaces. All code must now use 4 space indents.

svn path=/trunk/avl/; revision=4492
2003-03-15 02:10:19 +00:00
Karl Heyes
a420bd0b4f reduce include file namespace clutter for libshout and the associated
smaller libs.

svn path=/trunk/avl/; revision=4456
2003-03-09 22:56:46 +00:00
Karl Heyes
2116bd0d5e include the automake config.h file if the application defines one
svn path=/trunk/avl/; revision=4450
2003-03-08 16:05:38 +00:00
Michael Smith
cd0f3c47e0 Set another parameter in the icy protocol parse that logging expects
svn path=/trunk/httpp/; revision=4446
2003-03-08 05:27:17 +00:00
Michael Smith
8dec7ae9d5 Added support for shoutcast login protocol (ewww...)
svn path=/trunk/httpp/; revision=4444
2003-03-08 04:57:02 +00:00
brendan
8dbdefbc10 Use gnu archive ACX_PTHREAD macro to figure out how to compile thread support.
Also make it possible to build libshout without threads, albeit without locking
in the resolver or avl trees.
New option --disable-pthread too.

svn path=/trunk/avl/; revision=4411
2003-03-06 01:55:20 +00:00
Michael Smith
38a1834bd6 Fix some warnings, fix cflags.
svn path=/trunk/httpp/; revision=4258
2003-01-17 09:01:04 +00:00
brendan
1a0cbc33a3 Indentation again, don't mind me
svn path=/trunk/httpp/; revision=4252
2003-01-16 05:48:31 +00:00
brendan
15836f4cb1 Make indentation consistent before doing other work
svn path=/trunk/httpp/; revision=4250
2003-01-15 23:46:56 +00:00
Michael Smith
7d17253c50 mp3 metadata complete. Still untested.
svn path=/trunk/httpp/; revision=4191
2002-12-31 06:28:39 +00:00
Michael Smith
cf0e4947ca bugfixes for httpp_parse_response
svn path=/trunk/httpp/; revision=3834
2002-08-16 14:22:44 +00:00
Michael Smith
68db62a86f Cleaned up version of Ciaran Anscomb's relaying patch.
svn path=/trunk/httpp/; revision=3760
2002-08-05 14:48:04 +00:00
Michael Smith
e1ae0d0ea2 Memory leaks. Lots of little ones.
svn path=/trunk/httpp/; revision=3275
2002-05-03 15:04:56 +00:00
Michael Smith
d4d6716a52 Buffer overflows.
Requires a change to the format plugin interface - jack: if you want this
done differently, feel free to change it (or ask me to).

svn path=/trunk/httpp/; revision=3219
2002-04-05 09:28:26 +00:00
Michael Smith
508795aa8b Bunch of fixes:
- connections are now matched to format plugins based on content-type headers,
   and are rejected if there isn't a format handler for that content-type, or
   there is no content-type at all.
 - format_vorbis now handles pages with granulepos of -1 in the headers
   correctly (this happens if the headers are fairly large, because of
   many comments, for example).
 - various #include fixes.
 - buffer overflow in httpp.c fixed.

svn path=/trunk/avl/; revision=3042
2002-02-11 09:11:18 +00:00
Jack Moffitt
42ce945f12 Thanks to Akos Maroy <darkeye@tyrell.hu> for this. These variables need to
be uppercase always in order to comply with the HTTP specification.
While not a problem internal to icecast, they were slipping into the log
files and breaking some less-than-robust parsers.

svn path=/trunk/httpp/; revision=2197
2001-10-20 07:40:09 +00:00
Jack Moffitt
5b7d386256 Win32 compatibility courtesy of Oddsock.
svn path=/trunk/httpp/; revision=2188
2001-10-20 04:41:54 +00:00
Jack Moffitt
a8824b7f95 Initial revision
svn path=/trunk/avl/; revision=1997
2001-09-10 02:24:39 +00:00