1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-12-04 14:46:30 -05:00
Commit Graph

590 Commits

Author SHA1 Message Date
Karl Heyes
89bffcd104 add fallback mime type for css
svn path=/icecast/trunk/icecast/; revision=8154
2004-11-01 23:41:58 +00:00
oddsock
6127fea475 * fix bug of not using url decoding value when processing audio_info string
* we now process server name and description if we are not a public stream
* Added quality to status.xsl

svn path=/icecast/trunk/icecast/; revision=8131
2004-10-29 15:31:56 +00:00
Karl Heyes
17c178555f correct type for volatile usage and uncomment log message for stats updating
svn path=/icecast/trunk/icecast/; revision=8123
2004-10-27 14:13:29 +00:00
oddsock
f86d02bb58 add volatile keywords to a few variables
reset max_interval back to 0 on slave initialization

svn path=/icecast/trunk/icecast/; revision=8112
2004-10-27 03:29:56 +00:00
Karl Heyes
9652319c38 An alias could disappear from under us, so copy the string
svn path=/icecast/trunk/icecast/; revision=8108
2004-10-26 19:29:12 +00:00
Karl Heyes
7eed9c793b small updates. reject source client with invalid mountpoint, avoid aliasing
issues with queue and id, and change handler to avoid leaving clients on the
connection queue (rare)

svn path=/icecast/trunk/icecast/; revision=8107
2004-10-26 16:31:16 +00:00
Karl Heyes
3026e1d089 small cleanups. fix buffer sizing, const and unused struct member
svn path=/icecast/trunk/icecast/; revision=8104
2004-10-26 14:21:36 +00:00
Karl Heyes
bc9ab55cbb avoid aliasing issues, and make sure each server can take a seperate
default interval as defined in the xml

svn path=/icecast/trunk/icecast/; revision=8101
2004-10-25 21:10:10 +00:00
Karl Heyes
82c116a72d the check for the public stream flag wasn't working correctly in all cases
svn path=/icecast/trunk/icecast/; revision=8100
2004-10-25 20:46:12 +00:00
Karl Heyes
8aaf433aa4 add check for header when relaying from v2.0
svn path=/icecast/trunk/icecast/; revision=8098
2004-10-25 18:51:45 +00:00
oddsock
a52caeb2b0 fix line endings...
svn path=/icecast/trunk/icecast/; revision=8096
2004-10-25 15:51:50 +00:00
Karl Heyes
000a33b9cb a couple of potential bad pointer type problems
svn path=/icecast/trunk/icecast/; revision=8095
2004-10-25 15:42:04 +00:00
oddsock
b8f3963aad Fix CLF on win32. Apparently, windows doesn't support the %z flag of strftime() so we need to roll our own...Buzilla Bug #509
svn path=/icecast/trunk/icecast/; revision=8091
2004-10-25 14:43:07 +00:00
Karl Heyes
7b9b8e70a3 The _inc/_dec routines can race causing incorrect values as they don't account
for unprocessed stat events.  Here I push the actual calculations to the stats
thread. The API is maintained however all stats for a specific source can be
dropped with one call now.

svn path=/icecast/trunk/icecast/; revision=8090
2004-10-25 14:03:42 +00:00
Karl Heyes
80561957f0 fix a busy CPU case when slow and fast file serving clients are connected at
the same time.  Flag clients on return from select/poll and only process those.
Also fix a rare race which could leave clients in pending

svn path=/icecast/trunk/icecast/; revision=8070
2004-10-24 00:34:15 +00:00
Karl Heyes
17537d2457 When starting relay threads, have the relay thread do the connection not the
slave thread.  Also improve cleanup handling and log messages as well

svn path=/icecast/trunk/icecast/; revision=8068
2004-10-23 00:44:29 +00:00
Michael Smith
1c28b0cce1 Correct a typo in one message, and change "WARNING" to "ERROR" in another,
since it's a fatal error.


svn path=/icecast/trunk/icecast/; revision=7983
2004-10-12 04:49:56 +00:00
Karl Heyes
75bb8ea0ce merged from kh branch, allow for handling the vsnprintf return code better
on older systems.

svn path=/icecast/trunk/net/; revision=7917
2004-10-06 14:07:55 +00:00
Michael Smith
b6e001ce8d When creating a source (in source_reserve), issue a warning if the mountpoint
does not start with a /, since clients will then be unable to connect to it

svn path=/icecast/trunk/icecast/; revision=7899
2004-10-01 00:42:19 +00:00
Karl Heyes
afde2e509c the YP code could end up maintaining duplicate entries if the source
reconnect delay is very short.

svn path=/icecast/trunk/icecast/; revision=7761
2004-09-15 14:21:04 +00:00
Karl Heyes
079c759e6d passed pointer could be NULL
svn path=/icecast/trunk/icecast/; revision=7615
2004-08-23 19:01:18 +00:00
Karl Heyes
1fe2325479 add optional tags to example xml and remove unused source_t item
svn path=/icecast/trunk/icecast/; revision=7607
2004-08-22 15:00:35 +00:00
Karl Heyes
ac73dff07a Add a couple of warnings, YP code not built and failed streamlist
from master server

svn path=/icecast/trunk/icecast/; revision=7599
2004-08-21 12:56:24 +00:00
Karl Heyes
2a991af1a6 unlikely to occur race, but fix it anyway
svn path=/icecast/trunk/icecast/; revision=7597
2004-08-20 22:59:09 +00:00
Karl Heyes
69af6210c0 small memory leak, only happened when a source exited
svn path=/icecast/trunk/icecast/; revision=7596
2004-08-20 22:55:27 +00:00
Karl Heyes
15016583ab make caller of restart_logging pass the config, don't assume it's locked
svn path=/icecast/trunk/icecast/; revision=7595
2004-08-20 21:40:44 +00:00
Karl Heyes
9c44a7d184 merged singleq branch 7177:7591
svn path=/icecast/trunk/icecast/; revision=7592
2004-08-20 15:13:59 +00:00
Michael Smith
490e64663c -b was broken. Fix it.
svn path=/icecast/trunk/icecast/; revision=7509
2004-08-10 05:17:56 +00:00
Karl Heyes
ebebad5e74 add extra boundary checks when splitting headers
svn path=/icecast/trunk/httpp/; revision=7507
2004-08-10 00:03:14 +00:00
Karl Heyes
dac2723dbe encode any xml entities in the stats before applying them to the
xsl pages

svn path=/icecast/trunk/icecast/; revision=7494
2004-08-07 02:33:12 +00:00
oddsock
ebecd7cb0a fix m3u generation logic that was not working for static files
svn path=/icecast/trunk/icecast/; revision=7439
2004-07-31 22:25:07 +00:00
Karl Heyes
62bff456c2 make sure sock_connected does not block with timeout 0, use -1
for that, also handle the sock_connected return values properly
in the case of timeout.

svn path=/icecast/trunk/net/; revision=7349
2004-07-26 16:03:52 +00:00
Michael Smith
bef7e4e022 Make it even more explicit what went wrong when log opening failed, since many
people don't seem to be able to figure it out.


svn path=/icecast/trunk/icecast/; revision=7265
2004-07-23 02:49:33 +00:00
oddsock
a4a8186681 forgot to switch the default value too..thanks Brendan..
svn path=/icecast/trunk/icecast/; revision=7257
2004-07-22 18:34:28 +00:00
Karl Heyes
94d24f406e cleanup patch, push per client write error trap lower down
svn path=/icecast/trunk/icecast/; revision=7165
2004-07-16 15:47:12 +00:00
brendan
8d52fab499 Add source comment to previous metadata bug fix: [sic]
svn path=/icecast/trunk/icecast/; revision=7100
2004-07-12 02:21:18 +00:00
brendan
54c90a90fe Migrate .cvsignore to svn:ignore
svn path=/icecast/trunk/log/; revision=7091
2004-07-11 16:51:34 +00:00
brendan
16e1815f14 Migrate .cvsignore to svn:ignore
svn path=/icecast/trunk/icecast/; revision=7090
2004-07-11 16:50:28 +00:00
brendan
085f8d61aa The inline metadata text was losing the final character when the string length was a
multiple of 16.

svn path=/icecast/trunk/icecast/; revision=7089
2004-07-11 16:46:02 +00:00
brendan
b235f57273 Move .cvsignore into svn:ignore
svn path=/icecast/trunk/avl/; revision=7021
2004-07-06 19:22:26 +00:00
Karl Heyes
a99d5ef19b minor build fix
svn path=/icecast/trunk/httpp/; revision=6874
2004-06-25 19:39:12 +00:00
Karl Heyes
813d54bee1 wait 5 mins on failed YP request, also log a default
message if no error message is sent back

svn path=/icecast/trunk/icecast/; revision=6862
2004-06-25 18:25:10 +00:00
giles
d6d634ac02 Recommit of changes lost in the server migration
Original commit (r6810) 2004-06-04 03:15:36 -0400 (Fri, 04 Jun 2004) by msmith.

Fix #526. Fallbacks weren't being found when the primary was disconnected (for
newly-connecting clients).

svn path=/icecast/trunk/icecast/; revision=6810
2004-06-06 03:08:19 +00:00
Karl Heyes
fe2a763e9e make sure YP entries are flushed out when a source stops. Avoid
segv on failed icecast startup and add some log messages.

svn path=/icecast/trunk/icecast/; revision=6807
2004-06-02 19:34:14 +00:00
oddsock
fcef29c60a remove geturl.c from icecast.dsp
add a #define for snprintf for win32

svn path=/icecast/trunk/icecast/; revision=6757
2004-05-26 02:37:20 +00:00
oddsock
56cd1de3c5 added ability to disallow concurrent connections from the same username if using htpasswd listener authentication.
svn path=/icecast/trunk/icecast/; revision=6711
2004-05-17 04:33:46 +00:00
Michael Smith
71388d47c6 Some servers apparently send a Content-Type header of audio/x-mpeg.
Make icecast understand this.


svn path=/icecast/trunk/icecast/; revision=6649
2004-05-11 02:24:18 +00:00
Karl Heyes
55ba59f3f7 Update of the YP code. This should resolve several YP issues that
have been reported, the main one being icecast instability when
there is a YP server outage.


svn path=/icecast/trunk/icecast/; revision=6646
2004-05-10 16:17:56 +00:00
Michael Smith
dc9903512d Use remove() then rename() only on win32 - where it's required.
Don't use it on unix systems, which don't need it, and where doing 
_only_ rename() preserves atomicity. 

svn path=/icecast/trunk/icecast/; revision=6625
2004-05-05 05:05:05 +00:00
oddsock
dfdff77871 some special handling with rename() needed for win32
svn path=/icecast/trunk/icecast/; revision=6616
2004-05-03 14:59:40 +00:00
oddsock
e597b63c6a proper config file handling...
svn path=/icecast/trunk/icecast/; revision=6615
2004-05-03 14:56:57 +00:00
oddsock
15b9c16c1c patch to allow public listing of shoutcast servers that are relaying icecast streams
svn path=/icecast/trunk/icecast/; revision=6614
2004-05-03 14:55:44 +00:00
oddsock
9f7895bd42 created an auth page which can be used to serve appropriate m3u's which contain authentication information.
svn path=/icecast/trunk/icecast/; revision=6612
2004-04-30 17:32:34 +00:00
oddsock
d642846c80 added web based interface to htpasswd client authentication
svn path=/icecast/trunk/icecast/; revision=6610
2004-04-30 14:36:07 +00:00
Michael Smith
cd47258bb4 Disable burst-on-connect by default
svn path=/icecast/trunk/icecast/; revision=6607
2004-04-30 02:28:58 +00:00
oddsock
32718b5b4e new feature in icecast : burst-on-connect - allows an initial burst of data to connecting listeners, thus reducing the startup time of a stream.
svn path=/icecast/trunk/icecast/; revision=6606
2004-04-29 15:23:13 +00:00
oddsock
89f9f38d78 added HAVE_LOCALTIME_R to project file
added #define for snprintf (win32 requires _snprintf)

svn path=/icecast/trunk/icecast/; revision=6594
2004-04-25 23:28:36 +00:00
Michael Smith
935a06ef55 Fix copy/paste error in sending 400 errors (reported by wayne zhao).
svn path=/icecast/trunk/icecast/; revision=6553
2004-04-20 07:05:07 +00:00
Michael Smith
c2b3ed7146 Fix overflow when base64 decoding invalid base64.
svn path=/icecast/trunk/icecast/; revision=6533
2004-04-19 02:55:56 +00:00
Michael Smith
a66e69cb1c Give details in error messages on failure to open log files.
svn path=/icecast/trunk/icecast/; revision=6495
2004-04-07 01:53:46 +00:00
Michael Smith
e8eddcd7b4 Make icecast keep parsing command line options after -c.
Error message if fork fails.

All untested; the conversion broke the build.


svn path=/icecast/trunk/icecast/; revision=6152
2004-03-22 02:16:57 +00:00
Michael Smith
ba356d5eaf Another patch from Dale Ghent, this silences some warnings from the compiler.
svn path=/trunk/icecast/; revision=5928
2004-03-09 23:52:20 +00:00
Michael Smith
5edb4df406 Revert previous; this was fixed in a better way.
svn path=/trunk/icecast/; revision=5927
2004-03-09 23:49:24 +00:00
Michael Smith
a11d01b268 Use sys/types.h in md5.c, patch from Dale Ghent
svn path=/trunk/icecast/; revision=5926
2004-03-09 23:41:58 +00:00
giles
287ed24dd8 Include inttypes.h from the compatibility header if it's available and stdint.h is not. This
provides the stdint types on solaris and a number of other non-C99 platforms.

svn path=/trunk/icecast/; revision=5925
2004-03-09 18:33:06 +00:00
Michael Smith
5323b27c95 Couple of minor contributed patches.
- Solaris/autoconf nanosleep checking
- use time_t as appropriate for yp

svn path=/trunk/icecast/; revision=5921
2004-03-09 02:36:01 +00:00
Michael Smith
fa8ceacb5c Oops. Hack up the macro some more so it compiles properly.
svn path=/trunk/icecast/; revision=5878
2004-03-02 00:10:58 +00:00
Michael Smith
398dfff59d Fix macro to use ; instead of ,
This gets rid of some warnings in later gcc versions.

svn path=/trunk/icecast/; revision=5875
2004-03-01 02:28:48 +00:00
Karl Heyes
c8ecb463f9 remove warning wrt time_t
svn path=/trunk/icecast/; revision=5874
2004-02-29 14:55:04 +00:00
Karl Heyes
6ba8c0b2cd free up any per-client format specific resources, fixes a small memory
leak with mp3 streams

svn path=/trunk/icecast/; revision=5873
2004-02-29 14:38:15 +00:00
Karl Heyes
a255c92b5f update move clients code, small cleanups in other places
svn path=/trunk/icecast/; revision=5869
2004-02-27 15:15:40 +00:00
Karl Heyes
9916341436 separate source initialisation, and collect the YP setup code into one area
svn path=/trunk/icecast/; revision=5868
2004-02-26 16:51:43 +00:00
Karl Heyes
aff756a4c7 Add per mount queue size and source timeout, which can override the
general settings.

svn path=/trunk/icecast/; revision=5867
2004-02-26 11:56:48 +00:00
Karl Heyes
b7fbcef133 revert previous patch, mike didn't want it...
svn path=/trunk/icecast/; revision=5866
2004-02-26 10:39:56 +00:00
Karl Heyes
450d448422 add missing lock on source tree
svn path=/trunk/icecast/; revision=5865
2004-02-25 21:43:52 +00:00
Karl Heyes
32f52c6211 send mp3 url metadata into a format specific routine
svn path=/trunk/icecast/; revision=5864
2004-02-25 20:23:07 +00:00
Karl Heyes
f6f31cdc24 *** empty log message ***
svn path=/trunk/icecast/; revision=5863
2004-02-25 20:11:31 +00:00
Karl Heyes
7371d0ab21 move the source client '200 OK' response to the source client specific part
of the source thread, and rearrange stats around that

svn path=/trunk/icecast/; revision=5862
2004-02-25 16:24:30 +00:00
Karl Heyes
dac1cf97dc small cleanup and don't shutdown curl too early
svn path=/trunk/icecast/; revision=5860
2004-02-24 21:02:44 +00:00
Karl Heyes
176804e436 Add accumulative stats back for source connections and don't hold locks
while writing responses back to the client.

svn path=/trunk/icecast/; revision=5853
2004-02-20 17:42:57 +00:00
Michael Smith
7b7a9f73d2 Oops. As oddsock says, this was broken, and didn't compile, and was unneccesary
anyway. reverted.

svn path=/trunk/icecast/; revision=5849
2004-02-20 02:09:00 +00:00
Michael Smith
92027f475b Patch for preventing stats from staying around too long - stats thread should
only go to sleep when it has nothing to do.

svn path=/trunk/icecast/; revision=5848
2004-02-20 01:25:28 +00:00
Karl Heyes
466a5cb60c Make source client connections reserve the source mountpoint and get rid
of the unused source setup code.

svn path=/trunk/icecast/; revision=5846
2004-02-19 21:16:59 +00:00
Karl Heyes
ae825afd3e Make the slave thread reserve relay mountpoints, and prevent reconnection
when a relay is currently active.

svn path=/trunk/icecast/; revision=5845
2004-02-19 20:28:21 +00:00
Karl Heyes
a83553ad8f functions to allow for reserving a source_t with a mountpoint
svn path=/trunk/icecast/; revision=5844
2004-02-19 16:32:26 +00:00
Karl Heyes
6d969934f5 Add checks for whether a source is active
svn path=/trunk/icecast/; revision=5843
2004-02-19 15:24:06 +00:00
Karl Heyes
ebf6603c07 small YP memory cleanup
svn path=/trunk/icecast/; revision=5842
2004-02-19 14:48:31 +00:00
Karl Heyes
66082000b4 minor cleanup
svn path=/trunk/icecast/; revision=5834
2004-02-17 15:46:05 +00:00
Karl Heyes
c3f0d43821 handle error condition at connection
svn path=/trunk/net/; revision=5833
2004-02-17 14:17:57 +00:00
Karl Heyes
2accfe55e5 fix possible bad pointer reference when finding fallback mount
svn path=/trunk/icecast/; revision=5830
2004-02-17 00:09:14 +00:00
Karl Heyes
012b3f4246 YP related cleanup, avoid bad pointer reference on HUP
svn path=/trunk/icecast/; revision=5829
2004-02-16 21:59:08 +00:00
Karl Heyes
5574d519c9 a few cleanups and a fix for async connects
svn path=/trunk/net/; revision=5821
2004-02-12 21:28:35 +00:00
Michael Smith
350c524cc8 I Hate String Handling In C.
svn path=/trunk/icecast/; revision=5818
2004-02-10 04:37:30 +00:00
Michael Smith
3d9d45c488 Another fix: the length of the _string_ is not the same as the metadata length
(the metadata is null-padded out to a multiple of 16 bytes), so we have to deal
with that.

svn path=/trunk/icecast/; revision=5817
2004-02-10 04:29:54 +00:00
Michael Smith
6128c0631c Oops. Fix null-terminator.
svn path=/trunk/icecast/; revision=5816
2004-02-10 04:20:43 +00:00
Michael Smith
7bc7ea581a Fire off stats event for metadata updates when we get metadata inline.
This fixes stats.xml listings for mp3 slave relays with metadata.
We get rid of 'metadata_raw', since we now have to format out that stuff anyway.

svn path=/trunk/icecast/; revision=5815
2004-02-10 03:50:39 +00:00
Karl Heyes
682753ea10 minor cleanup
svn path=/trunk/icecast/; revision=5809
2004-02-03 00:48:02 +00:00
Karl Heyes
aabbde37bc cleanup headers sent to listeners
svn path=/trunk/icecast/; revision=5808
2004-02-03 00:29:36 +00:00
Karl Heyes
b24028f620 recheck the relays after the HUP has been handled
svn path=/trunk/icecast/; revision=5807
2004-02-02 19:22:11 +00:00
oddsock
c95f2cea8d added win32 support to libshout
- new MSVC6 project files
- os.h with WIN32 specific typedefs
- fixed some casting issues which were causing precision errors on win32
- apparently select doesn't work with microsecond granularity so we will use Sleep() which does.

svn path=/trunk/timing/; revision=5796
2004-01-30 00:08:02 +00:00
Karl Heyes
d7dc5d327c minor cleanup
svn path=/trunk/icecast/; revision=5795
2004-01-29 23:23:53 +00:00
Karl Heyes
c90fb2ea55 cleanup duplicate work, fix rare but potential deadlock, and
fix silly bug introduced ealrier

svn path=/trunk/icecast/; revision=5794
2004-01-29 16:46:54 +00:00
Michael Smith
0aad6d849c 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
Karl Heyes
78ee74cf3e change thread startup/shutdown order slightly wrt to slave thread
svn path=/trunk/icecast/; revision=5791
2004-01-28 23:23:10 +00:00
Karl Heyes
c9d6c049ef oops, missed these from previous commit, the lock is now taken further up
svn path=/trunk/icecast/; revision=5789
2004-01-28 02:17:57 +00:00
Karl Heyes
87da84a021 make sure the source doesn't disappear from under us when an admin
request is performed.

svn path=/trunk/icecast/; revision=5788
2004-01-28 01:22:36 +00:00
Karl Heyes
6c6a22bf45 minor cleanups, and only have one thread responding to TERM
svn path=/trunk/avl/; revision=5787
2004-01-27 02:16:25 +00:00
Karl Heyes
1665a4f7d9 fix potential deadlock case at source stream startup
svn path=/trunk/icecast/; revision=5786
2004-01-26 22:42:22 +00:00
Karl Heyes
fbd92a913e add localtime_r checks, useful the threads
svn path=/trunk/icecast/; revision=5785
2004-01-26 21:49:07 +00:00
oddsock
610a2c022a fixed small bug where if using fallbacks and the main mount was not connected, icecast was not connecting client to the fallback mount.
svn path=/trunk/icecast/; revision=5780
2004-01-21 15:19:48 +00:00
Michael Smith
d668d4dfa6 Fix nasty bug in file serving code, would probably have made it fail with
multiple simultaneous requests.

svn path=/trunk/icecast/; revision=5764
2004-01-16 00:43:16 +00:00
oddsock
8a78baa149 - properly initialize the authorizer structure, otherwise by default it is enabled
- add new element (listenurl) to the stats for use in things like java player applets

svn path=/trunk/icecast/; revision=5763
2004-01-15 15:37:25 +00:00
oddsock
6dc92dae79 fixed some variable definitions to be ANSI compatable.
updated win32 project files with new files

svn path=/trunk/icecast/; revision=5761
2004-01-15 04:24:57 +00:00
Michael Smith
57dd5f71a5 Client authentication added.
Melanie's multilevel fallbacks added (after major changes).

svn path=/trunk/icecast/; revision=5760
2004-01-15 01:01:09 +00:00
oddsock
360c18b5b8 add option to display icecast version string, and cleaned up usage a bit..
svn path=/trunk/icecast/; revision=5720
2003-12-29 16:18:48 +00:00
Karl Heyes
e8546d44d4 Fetching the stream list was failing after the config file was re-read.
svn path=/trunk/icecast/; revision=5701
2003-12-17 23:03:38 +00:00
Karl Heyes
1e7316b4b2 failure case, keep the source count in sync with the number of sources
running, locking for shutdown was also affected.

svn path=/trunk/icecast/; revision=5700
2003-12-17 22:54:43 +00:00
oddsock
e8a61ce5d3 fixed master-slave relaying...
* slaves now ask for /admin/streamlist.txt which serves a plaintext version of the source list (this is what it was expecting to get)
* /admin/streamlist still serves XML (which slave.c wasn't expecting)
* fixed a few cases of pointer invalidation due to possible config re-reading.
* slave relay now uses relay password to get the list of streams to relay

svn path=/trunk/icecast/; revision=5695
2003-12-12 23:06:44 +00:00
oddsock
5e075b9202 Remove explicit exit() calls...this was possibly causing some cases of immediate UI termination without any messages...
svn path=/trunk/avl/; revision=5683
2003-12-04 16:27:30 +00:00
oddsock
c20bc3c346 Remove stats_callback() which is only used by the win32 UI...The stats gathering done by the UI has been completely rewritten to eliminate some reported instability.
svn path=/trunk/icecast/; revision=5682
2003-12-04 16:25:28 +00:00
oddsock
6a67e82db8 Added win32 include for getpid()
svn path=/trunk/icecast/; revision=5681
2003-12-04 16:24:34 +00:00
oddsock
70ae454647 get rid of the fullpath of the module that is logged...Stupid VC6....
svn path=/trunk/icecast/; revision=5680
2003-12-04 16:23:51 +00:00
Karl Heyes
25dcbd976d fix segv when fallback or dumpfilename are not specified
svn path=/trunk/icecast/; revision=5675
2003-12-02 01:11:12 +00:00
Karl Heyes
112ce96cf0 Add optional pidfile. Writes process id of icecast to named file
svn path=/trunk/icecast/; revision=5674
2003-12-01 23:30:13 +00:00
Karl Heyes
b795bb58dc cleanup bad pointer access after config re-read
svn path=/trunk/icecast/; revision=5673
2003-12-01 17:18:37 +00:00
oddsock
9a53ac6510 Icecast we are
svn path=/trunk/icecast/; revision=5629
2003-11-25 02:51:02 +00:00
oddsock
6671ab765d Base ICECAST2_VERSION_STRING off VERSION_STRING which is generated by autoconf..win32 projects will have to manually define this currently..blah.
svn path=/trunk/icecast/; revision=5628
2003-11-25 02:41:23 +00:00
oddsock
a3ab569ba1 lets make the ICECAST_VERSION_STRING a bit less of a maintance issue...
svn path=/trunk/icecast/; revision=5627
2003-11-22 22:23:04 +00:00
Karl Heyes
e3dbbbc81b if relay is for an mp3 stream, then get inline metadata by default if
possible

svn path=/trunk/icecast/; revision=5600
2003-11-18 00:59:51 +00:00
Karl Heyes
7ec7e90916 fix minor leak on config file read
svn path=/trunk/icecast/; revision=5599
2003-11-18 00:49:59 +00:00
Karl Heyes
cfc2695927 patch from mike, unlock logger on failure case.
svn path=/trunk/log/; revision=5597
2003-11-17 23:53:37 +00:00
oddsock
d525290195 added WIN32-ism
svn path=/trunk/icecast/; revision=5589
2003-11-17 22:38:58 +00:00
Karl Heyes
a093271f95 type warning cleanup
svn path=/trunk/icecast/; revision=5586
2003-11-17 21:36:03 +00:00
Karl Heyes
47f877569f While tracking down the bug which causes the zombie thread manager while
streaming mp3 with metadata, this patch has turned out to be successful at
maintaining a working icecast for the few users who have reported the problem

The patch essentially removes the use of the alloca and uses the malloc-type
calls instead.

svn path=/trunk/icecast/; revision=5562
2003-11-11 18:21:49 +00:00
oddsock
fe95280339 added bypassing of thread_sleep() in certain cases.
this came from KarlH.

svn path=/trunk/icecast/; revision=5526
2003-10-31 19:21:00 +00:00
oddsock
e554386ef0 proper cleanup of the rwlocks in the avl trees.
This was causing some major memory leakage on win32, but was not seen
on unix.  Icecast2 on win32 is leakfree again :)

svn path=/trunk/avl/; revision=5525
2003-10-31 19:18:42 +00:00
brendan
ff15b29177 typo
svn path=/trunk/timing/; revision=5492
2003-10-20 16:32:55 +00:00
brendan
2bfba7c60a Leigh Smith's MINGW32 compatibility patch, with modifications for better
autoconf feng shui

svn path=/trunk/m4/; revision=5490
2003-10-20 03:08:46 +00:00
Karl Heyes
4f41ecedb6 another compiler cleanup wrt 64bit int/pointer mismatches, thanks to
the ports maintainers

svn path=/trunk/avl/; revision=5182
2003-07-29 00:30:36 +00:00
Karl Heyes
571ced86d5 We need to state both of these to get the dependencies and linking working
as expected.

svn path=/trunk/icecast/; revision=5181
2003-07-27 22:53:58 +00:00
Karl Heyes
7e0894c0c9 Plug small memory leak when a thread exits.
Allow new threads to inherit scheduling policy.
Use long instead of int in thread_exit, thanks to the ports maintainers for
the heads up.

svn path=/trunk/thread/; revision=5179
2003-07-27 18:19:31 +00:00
Karl Heyes
39ad755a25 remove unwanted bits left in from previous commits
svn path=/trunk/icecast/; revision=5178
2003-07-27 01:13:06 +00:00
Karl Heyes
0c6493aa6d place the config reread flag in the global structure
svn path=/trunk/icecast/; revision=5175
2003-07-25 14:29:33 +00:00
Karl Heyes
9482db6016 avoid hitting the mutex's in the signal handler, we could block, which is
not something we want to do. Some mutex implementations are signal based.

svn path=/trunk/icecast/; revision=5174
2003-07-24 23:45:29 +00:00
Karl Heyes
69de4ea61e minor fixes. autoconf/make init clenaup, missing includes added and
compiler warnings removed

svn path=/trunk/icecast/; revision=5173
2003-07-24 16:21:22 +00:00
brendan
f14dcdc023 use _GNU_SOURCE where possible
guard unistd.h with CHROOT rather than HAVE_UNISTD_H, since that's how it's
tested in configure.in

svn path=/trunk/icecast/; revision=5171
2003-07-24 05:32:37 +00:00
brendan
a434767c34 Mike's #include patch
svn path=/trunk/icecast/; revision=5170
2003-07-24 05:24:00 +00:00
Karl Heyes
8654a18f72 minor cleanups
svn path=/trunk/icecast/; revision=5168
2003-07-23 00:27:10 +00:00
Karl Heyes
52b917d2c3 Make icecast use the shared M4 macros. Cleanup the other files.
svn path=/trunk/icecast/; revision=5157
2003-07-21 02:23:41 +00:00
Karl Heyes
43953202a2 refer to cfgfile.h instead of config.h for icecast.xml, and use config.h
for autoconf

svn path=/trunk/icecast/; revision=5156
2003-07-21 01:58:54 +00:00
Karl Heyes
88fd04cfd0 a move over from config.c config.h. This is so that config.h can be built
by autoconf.  config.h is also the name expected by the convenience libs

svn path=/trunk/icecast/; revision=5154
2003-07-21 01:39:39 +00:00
Karl Heyes
59f13c6f76 The xml cleanup occurs after this anyway, and doing this here can cause
bad things to occur when xslt gets used.

svn path=/trunk/icecast/; revision=5152
2003-07-18 19:54:02 +00:00
Karl Heyes
508d25641d avoid header namespace clashes
svn path=/trunk/icecast/; revision=5146
2003-07-16 19:41:59 +00:00
brendan
62ce258d46 Assign LGP to thread module
svn path=/trunk/thread/; revision=5138
2003-07-14 02:17:52 +00:00
brendan
12db251614 Assign LGPL to files (as implied by COPYING)
svn path=/trunk/net/; revision=5137
2003-07-14 02:14:59 +00:00
Karl Heyes
421df597fa Add log cycling on HUP signals. Currently reopens log files in append mode
so allows for continuing the log, or cycling just one log.   log filename
changes work as well.

svn path=/trunk/icecast/; revision=5129
2003-07-11 23:54:50 +00:00
Karl Heyes
d637781802 inverted logic used by some of the new functions fixed, locking updates
and some code cleanups

svn path=/trunk/log/; revision=5128
2003-07-11 23:36:49 +00:00
Karl Heyes
142c1b0609 don't terminate stream when debugging
svn path=/trunk/icecast/; revision=5127
2003-07-11 19:03:30 +00:00
Karl Heyes
d0e828a040 Modify logging framework for providing log cycling. By default the logging
is indefinite but here ices2 is capping the logs at around 2Meg, which is
currently fixed.

The renamed log filename is simple (xxx.old) but using a timestamp could
be implemented.  Explicit log re-opening (eg HUP handling) is implemented
but not currently used.

svn path=/trunk/log/; revision=5107
2003-07-09 02:45:22 +00:00
oddsock
78e3977e2d unused variable
svn path=/trunk/icecast/; revision=5104
2003-07-08 14:11:32 +00:00
oddsock
d5b71bce49 don't overwrite info in one yp with info from another :)
svn path=/trunk/icecast/; revision=5103
2003-07-08 14:11:01 +00:00
oddsock
c6caf7f19c more portable va_copy for win32
svn path=/trunk/net/; revision=5098
2003-07-08 02:39:33 +00:00
oddsock
b1cd3085f2 cleaned a bit
svn path=/trunk/icecast/; revision=5094
2003-07-07 22:04:29 +00:00
oddsock
8ce77fc778 win32 goodies
svn path=/trunk/icecast/; revision=5093
2003-07-07 22:02:39 +00:00
brendan
729d65ae52 va_copy is undefined on windows
svn path=/trunk/net/; revision=5092
2003-07-07 21:33:58 +00:00
brendan
ff09d9eaa9 The last of the convenience lib cleanups. A little forethought in designing
a keyboard macro made this one a lot easier.

svn path=/trunk/thread/; revision=5090
2003-07-07 20:38:34 +00:00
brendan
5685b9a866 MAX may be defined elsewhere
svn path=/trunk/avl/; revision=5086
2003-07-07 03:37:23 +00:00
brendan
fd289cfe4d httpp goes through the rinse cycle
svn path=/trunk/httpp/; revision=5085
2003-07-07 01:49:27 +00:00
brendan
1af405ee9c I missed a spot. And another one.
svn path=/trunk/avl/; revision=5084
2003-07-07 01:40:08 +00:00
brendan
8278b004fe net gets the namespace deep cleansing treatment.
I suspect all this may be unnecessary, only because I've never heard of this
before. But then, I don't do much library work, and better safe than sorry.

svn path=/trunk/net/; revision=5083
2003-07-07 01:32:42 +00:00
brendan
3833c824ae Namespace cleanup: _mangle exported symbols, declare others static.
This is tedious.

svn path=/trunk/avl/; revision=5082
2003-07-07 01:10:14 +00:00
brendan
cbfb283e6f Move MP3 headers back into format_mp3.c per Mike's desire.
I removed icy- support from the generic send headers function, as it is my
understanding that only MP3 sources use icy headers. PLEASE correct me
if I am wrong.

I also added code in the mp3 function to convert ice-audio-info bitrate to
an icy-br header. ice-audio-info is for YP, icy-br for clients. Perhaps we
should send both to clients though?

svn path=/trunk/icecast/; revision=5079
2003-07-06 15:27:50 +00:00
brendan
004152cf7a Write a newline after the m3u entry (patch by Paul Bryan).
svn path=/trunk/icecast/; revision=5067
2003-07-05 06:36:16 +00:00
giles
a2400995a0 Add a name mangling mechanism so we can safely compile in code we share with applications that might link with use. Currently only hooked up for the timing liblet, but thread is the real target.
Basically we define _mangle() in config.h, and use that in timing.h (if available) to prepend the package name to all the symbols in the header and including C files. It's thus fairly invisible.

Unfortunately the prefix is hardwired, so it's another thing that has to be maintained by hand (not that is changes often, but we can't make it a macro). AH_VERBATIM seems to be the only way to add a macro that takes arguments, and it explicitly doesn't do shell expansion. Further, @PACKAGE@ substitution doesn't happen on config.h.in. Insert standard autotools frustration here.

svn path=/trunk/timing/; revision=5060
2003-07-04 23:18:26 +00:00
brendan
7c40c8ae92 Get everthing in make dist, and remove bitkeeper cruft
svn path=/trunk/avl/; revision=5050
2003-07-03 12:59:06 +00:00
brendan
e21a3fc19e Convert ice headers to icy headers for MP3 streams.
TODO: rewrite ice-audio-info bitrate tag to icy-br.

svn path=/trunk/icecast/; revision=5045
2003-07-03 01:39:59 +00:00
brendan
205d225b73 When relaying MP3 we reported the source metainterval as well as our own,
causing stuttering in some clients. Thank goodness icecast uses an
odd metainterval, or this bug would never have been discoverd :)

svn path=/trunk/icecast/; revision=5044
2003-07-03 01:36:06 +00:00
Karl Heyes
f6efb106de this was never used and it's handled elsewhere anyway
svn path=/trunk/net/; revision=5042
2003-07-02 21:29:08 +00:00
brendan
26e3be189a finish what we started re: resolver
svn path=/trunk/net/; revision=5026
2003-07-01 18:49:07 +00:00
Karl Heyes
7fda8c6afb infinite loop/memory leak fix for private streams when yp is enabled
svn path=/trunk/icecast/; revision=5019
2003-06-29 18:12:09 +00:00
oddsock
4b92ae2baa - add_yp_info moved into yp.c
- all yp adds/touches are now done within a single thread.
  This should eliminate any "thread growth" issues and make
  things behave much nicer when yp problems arise.  We should
  eventually change the add/touches to non-blocking sockets,
  which will be needed for large numbers of streams doing adds/touches.

svn path=/trunk/icecast/; revision=5012
2003-06-26 13:33:55 +00:00
oddsock
abb6cddbf0 - added startup of yp add/touch thread
svn path=/trunk/icecast/; revision=5011
2003-06-26 13:33:15 +00:00
oddsock
fb9292658b - fixed small memory leak
svn path=/trunk/icecast/; revision=5010
2003-06-26 13:32:34 +00:00
oddsock
303c11197f - moved add_yp_info into yp.c
- most of the yp processing now moved into the yp add/touch thread
- use ice/icy-public rather than ice/icy-private to coorespond to libshout and general convention
- memory leak fixed with audio-info

svn path=/trunk/icecast/; revision=5009
2003-06-26 13:32:04 +00:00
oddsock
dd6af7e848 - force touches when vorbis metadata changes
svn path=/trunk/icecast/; revision=5008
2003-06-26 13:31:38 +00:00
oddsock
428c1f1f36 - force touches when mp3 metadata is updated via admin interface
svn path=/trunk/icecast/; revision=5007
2003-06-26 13:31:17 +00:00
Karl Heyes
f2e1bc2419 handle error returned from listening sockets, can cause busy looping
svn path=/trunk/icecast/; revision=4986
2003-06-20 18:50:24 +00:00
Karl Heyes
ea2dc4a67f ermmm, let's use the right operator.
svn path=/trunk/httpp/; revision=4963
2003-06-18 15:52:25 +00:00
Karl Heyes
032ad5d9ff 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
Karl Heyes
a4d20515f1 remove file descriptor leak when IPv6 is being used.
svn path=/trunk/net/; revision=4960
2003-06-18 11:05:49 +00:00
brendan
e49e587c01 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
Karl Heyes
b41664426c Lets put this in the right place.
svn path=/trunk/net/; revision=4889
2003-06-06 11:19:50 +00:00
Karl Heyes
b4cdad000d Another net change, making it more bullet-proof, before could silently miss
data. so now we allocate enough space for the write to succeed fully.

svn path=/trunk/icecast/; revision=4888
2003-06-06 00:05:19 +00:00
brendan
57f344b1e3 whoops
svn path=/trunk/net/; revision=4887
2003-06-05 19:18:00 +00:00
brendan
7fce0b586b Karl's sys/select.h patch for fbsd. It must be under another std include on
OS X for some reason.

svn path=/trunk/net/; revision=4886
2003-06-05 19:02:36 +00:00
brendan
6431c0c6a9 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
oddsock
a8d602fe33 fixed check for regular file type in win32-specific code
svn path=/trunk/icecast/; revision=4879
2003-06-05 04:15:58 +00:00
brendan
47cef92fcc Karl's patch for a namespace collision he reports on some BSD systems.
svn path=/trunk/net/; revision=4861
2003-06-03 18:29:23 +00:00
Michael Smith
9e8e9a5024 Fix some function comments, sock_write_string() and sock_write may NOT be
called with a non-blocking socket

svn path=/trunk/net/; revision=4845
2003-05-29 12:18:04 +00:00
brendan
494f8fc2b6 Fix curl version test.
YP is enabled by default but automatically turned off if the curl test fails
(unless --enable-yp is explicitly passed to configure, in which case configure
will fail if the curl test fails).

svn path=/trunk/icecast/; revision=4831
2003-05-28 15:04:53 +00:00