]> git.sesse.net Git - cubemap/log
cubemap
8 years agoMake the HTTP client send the right Host: header.
Steinar H. Gunderson [Mon, 9 May 2016 21:26:16 +0000 (23:26 +0200)]
Make the HTTP client send the right Host: header.

8 years agoFix an issue where Metacube output would not include updated headers (e.g. on encoder...
Steinar H. Gunderson [Mon, 18 Apr 2016 22:17:46 +0000 (00:17 +0200)]
Fix an issue where Metacube output would not include updated headers (e.g. on encoder restart).

8 years agoAdd suppor for raw (non-Metacube) inputs over HTTP. Only really useful for TS.
Steinar H. Gunderson [Sat, 9 Apr 2016 23:15:21 +0000 (01:15 +0200)]
Add suppor for raw (non-Metacube) inputs over HTTP. Only really useful for TS.

8 years agoExplicitly specify proto2 syntax to silence a warning.
Steinar H. Gunderson [Sat, 9 Apr 2016 23:15:00 +0000 (01:15 +0200)]
Explicitly specify proto2 syntax to silence a warning.

8 years agoInstall the systemd service without obeying PREFIX.
Philipp Kern [Sat, 2 Apr 2016 13:52:33 +0000 (15:52 +0200)]
Install the systemd service without obeying PREFIX.

8 years agoBump versoin to 1.2.3-dev.
Steinar H. Gunderson [Sun, 3 Apr 2016 23:54:44 +0000 (01:54 +0200)]
Bump versoin to 1.2.3-dev.

8 years agoRelease Cubemap 1.2.2. 1.2.2
Steinar H. Gunderson [Fri, 1 Apr 2016 23:35:42 +0000 (01:35 +0200)]
Release Cubemap 1.2.2.

8 years agoFix an issue where access.log would have the wrong timestamp.
Steinar H. Gunderson [Fri, 1 Apr 2016 23:17:18 +0000 (01:17 +0200)]
Fix an issue where access.log would have the wrong timestamp.

The refactoring to use monotonic timestamps did not take into account
that the timestamps are used for the access log, so it'd contain
(roughly) time since boot instead of the actual time of day. Fixed by
measuring the offset between the two (although if the clock is wrong
at the time of logging, the connection time will be wrong -- as opposed
to if the clock is wrong at the time of connect, hard to say which is
the better). Reported by Joachim Tingvold.

While we are at it, change some of the timespec functions so that we
get slightly more precise timing in the logs (it could be about a second
off). For cosmetics only.

8 years agoFix HTTP connections to IPv6 address literals.
Steinar H. Gunderson [Mon, 28 Mar 2016 22:36:57 +0000 (00:36 +0200)]
Fix HTTP connections to IPv6 address literals.

8 years agoUp the Metacube block limit yet again; MP4 can create huge clusters.
Steinar H. Gunderson [Mon, 28 Mar 2016 22:35:39 +0000 (00:35 +0200)]
Up the Metacube block limit yet again; MP4 can create huge clusters.

8 years agoAdd a missing compilation step to the README.
Steinar H. Gunderson [Mon, 28 Mar 2016 22:35:08 +0000 (00:35 +0200)]
Add a missing compilation step to the README.

8 years agoUpdate email address.
Steinar H. Gunderson [Wed, 17 Feb 2016 19:42:17 +0000 (20:42 +0100)]
Update email address.

9 years agoAdd a configure script, for easier override of CXXFLAGS etc.
Steinar H. Gunderson [Thu, 3 Sep 2015 19:14:41 +0000 (21:14 +0200)]
Add a configure script, for easier override of CXXFLAGS etc.

9 years agoAdd missing libsystemd-dev package to HOWTO.
Steinar H. Gunderson [Thu, 3 Sep 2015 19:12:05 +0000 (21:12 +0200)]
Add missing libsystemd-dev package to HOWTO.

9 years agoBump version number to 1.2.2-pre.
Steinar H. Gunderson [Sun, 30 Aug 2015 11:18:24 +0000 (13:18 +0200)]
Bump version number to 1.2.2-pre.

9 years agoRelease Cubemap 1.2.1. 1.2.1
Steinar H. Gunderson [Sun, 30 Aug 2015 11:16:48 +0000 (13:16 +0200)]
Release Cubemap 1.2.1.

9 years agoRename ping to gen204, and change the response type to a 204 No Response, since that...
Steinar H. Gunderson [Sun, 16 Aug 2015 11:26:20 +0000 (13:26 +0200)]
Rename ping to gen204, and change the response type to a 204 No Response, since that is a bit more appropriate than a dummy one.

9 years agoAdd a simple HTTP endpoint that returns a very short string.
Steinar H. Gunderson [Sat, 15 Aug 2015 22:50:05 +0000 (00:50 +0200)]
Add a simple HTTP endpoint that returns a very short string.

The intention is for clients to be able to probe the endpoint
to figure out which server is the fastest. To this end,
it supports CORS headers so that XHR is allowed to differentiate
servers that are down from servers that respond properly.

9 years agoRename header_or_error to header_or_short_response, as it will soon be able to contai...
Steinar H. Gunderson [Sat, 15 Aug 2015 22:27:33 +0000 (00:27 +0200)]
Rename header_or_error to header_or_short_response, as it will soon be able to contain pongs.

Similarly, rename the state from SENDING_ERROR to SENDING_SHORT_RESPONSE.

9 years agoUse libsystemd to inform systemd accurately about when the service is up and running.
Steinar H. Gunderson [Mon, 10 Aug 2015 22:13:39 +0000 (00:13 +0200)]
Use libsystemd to inform systemd accurately about when the service is up and running.

9 years agoRemove std:: from all code in .cpp files, for consistency.
Steinar H. Gunderson [Fri, 7 Aug 2015 22:20:00 +0000 (00:20 +0200)]
Remove std:: from all code in .cpp files, for consistency.

9 years agoAdd a missing const.
Steinar H. Gunderson [Fri, 7 Aug 2015 22:16:47 +0000 (00:16 +0200)]
Add a missing const.

9 years agoBetter documentation of config options in cubemap.config.sample.
Steinar H. Gunderson [Fri, 7 Aug 2015 20:54:50 +0000 (22:54 +0200)]
Better documentation of config options in cubemap.config.sample.

There were too many options that were basically undocumented by now;
add some hopefully helpful comments.

9 years agoBump version number to 1.2.1-pre.
Steinar H. Gunderson [Fri, 24 Jul 2015 16:11:33 +0000 (18:11 +0200)]
Bump version number to 1.2.1-pre.

9 years agoRelease Cubemap 1.2.0. 1.2.0
Steinar H. Gunderson [Fri, 24 Jul 2015 16:10:43 +0000 (18:10 +0200)]
Release Cubemap 1.2.0.

9 years agoMinor grammatical fix.
Steinar H. Gunderson [Thu, 23 Jul 2015 20:50:10 +0000 (22:50 +0200)]
Minor grammatical fix.

9 years agoUse CLOCK_MONOTONIC for serialization time as well.
Steinar H. Gunderson [Thu, 23 Jul 2015 20:21:25 +0000 (22:21 +0200)]
Use CLOCK_MONOTONIC for serialization time as well.

This removes the last use of non-monotonic timers, even if it's
only for logging information.

Don't use COARSE, since we have no idea how coarse that is
and we want millisecond-level precision. But we don't really
care about the nanoseconds.

9 years agoUse CLOCK_MONOTONIC_COARSE in httpinput.cpp; we do not need precise timing here.
Steinar H. Gunderson [Thu, 23 Jul 2015 20:18:37 +0000 (22:18 +0200)]
Use CLOCK_MONOTONIC_COARSE in httpinput.cpp; we do not need precise timing here.

9 years agoAllow prebuffer to happen by playing data from the backlog.
Steinar H. Gunderson [Thu, 23 Jul 2015 16:31:06 +0000 (18:31 +0200)]
Allow prebuffer to happen by playing data from the backlog.

This won't reduce the latency (although it shouldn't increase it either, unless
you have extreme bitrate changes), but it should give a picture on screen much
sooner, hopefully getting rid of the “what's going on, why is nothing starting”
feeling.

9 years agoMake the SENDING_HEADER state fall through.
Steinar H. Gunderson [Thu, 23 Jul 2015 16:23:48 +0000 (18:23 +0200)]
Make the SENDING_HEADER state fall through.

In the case where we really are in WAITING_KEYFRAME, we will go to
sleep immediately in the state below, but there's also a case
where we could end up directly in SENDING_DATA and don't want to
wait for the stream to get more data to start sending.

9 years agoAdd a helper variable.
Steinar H. Gunderson [Thu, 23 Jul 2015 16:22:03 +0000 (18:22 +0200)]
Add a helper variable.

9 years agoRemove an obsolete comment.
Steinar H. Gunderson [Thu, 23 Jul 2015 16:21:07 +0000 (18:21 +0200)]
Remove an obsolete comment.

9 years agoReset the list of suitable starting points when changing header.
Steinar H. Gunderson [Thu, 23 Jul 2015 15:54:19 +0000 (17:54 +0200)]
Reset the list of suitable starting points when changing header.

9 years agoStore multiple suitable starting points for each stream.
Steinar H. Gunderson [Thu, 23 Jul 2015 15:48:06 +0000 (17:48 +0200)]
Store multiple suitable starting points for each stream.

We still only use the last one. This will change soon.

9 years agoPartially revert last patch.
Steinar H. Gunderson [Thu, 23 Jul 2015 15:29:13 +0000 (17:29 +0200)]
Partially revert last patch.

add_data_raw() does not change the stream suitability points at all;
it just writes to disk. Thus, we don't need this complicated little dance
to give it multiple blocks.

9 years agoTrack stream start suitability separately for each data block added.
Steinar H. Gunderson [Thu, 23 Jul 2015 10:22:35 +0000 (12:22 +0200)]
Track stream start suitability separately for each data block added.

When having queued data, keep the separate stream start suitability flag
for each iovec instead of just storing the index of the last block.
This is a no-op in itself, but it is a prerequisite for tracking it in
the backlog as well, which we want to do to be able to have force_prebuffer
give out older data -- that requires tracking not only the last suitable
starting point, but multiple ones backwards in time.

Also add a TODO to update starting point(s) when the header changes.

9 years agoRename queued_data_last_starting_point to queued_data_last_starting_point_index,...
Steinar H. Gunderson [Wed, 22 Jul 2015 22:53:29 +0000 (00:53 +0200)]
Rename queued_data_last_starting_point to queued_data_last_starting_point_index, since otherwise it sounds like a number of bytes.

9 years agoMake the warning on dropping junk bytes clearer.
Steinar H. Gunderson [Wed, 22 Jul 2015 22:48:23 +0000 (00:48 +0200)]
Make the warning on dropping junk bytes clearer.

9 years agoAdd missing postcondition comment.
Steinar H. Gunderson [Wed, 22 Jul 2015 22:47:23 +0000 (00:47 +0200)]
Add missing postcondition comment.

9 years agoRespect prebuffering_bytes= on existing streams when reloading.
Steinar H. Gunderson [Wed, 22 Jul 2015 22:01:39 +0000 (00:01 +0200)]
Respect prebuffering_bytes= on existing streams when reloading.

9 years agoParse and log referer and user-agent headers in requests.
Steinar H. Gunderson [Wed, 22 Jul 2015 13:05:14 +0000 (15:05 +0200)]
Parse and log referer and user-agent headers in requests.

9 years agoTabs are seemingly accepted as linear white space in HTTP headers.
Steinar H. Gunderson [Wed, 22 Jul 2015 09:48:30 +0000 (11:48 +0200)]
Tabs are seemingly accepted as linear white space in HTTP headers.

9 years agoSplit HTTP header parsing into a common function.
Steinar H. Gunderson [Wed, 22 Jul 2015 09:46:42 +0000 (11:46 +0200)]
Split HTTP header parsing into a common function.

9 years agoMake a comment more precise.
Steinar H. Gunderson [Wed, 22 Jul 2015 00:27:06 +0000 (02:27 +0200)]
Make a comment more precise.

9 years agoReplace an assert with a small hack.
Steinar H. Gunderson [Wed, 22 Jul 2015 00:12:37 +0000 (02:12 +0200)]
Replace an assert with a small hack.

Instead of checking that connect times are monotonic, explicitly make them
so if they're not. This seems safest, in case the monotonic clock goes
backwards a small bit (e.g. when changing CPUs). We don't need it for the
serialized case since we explicitly sort those by time; the assert can stay.

9 years agoTime out clients still in READING_REQUEST after 60 seconds.
Steinar H. Gunderson [Tue, 21 Jul 2015 23:57:04 +0000 (01:57 +0200)]
Time out clients still in READING_REQUEST after 60 seconds.

Seemingly there are some of these around, and I've seen them eat up
fds in a long-running server. There's some pain in sorting the clients
on deserialization, but apart from that, this ended up being relatively
pain-free and should be efficient enough.

9 years agoChange the connected time from time_t to timespec.
Steinar H. Gunderson [Tue, 21 Jul 2015 23:08:00 +0000 (01:08 +0200)]
Change the connected time from time_t to timespec.

The primary gain as the code stands is that we become immune to
issues with the clock going backwards etc. in logs (since we can
now use a monotonic timer).

However, the motivating change is that we will soon be implementing request
read timeouts. At that point, not only will the clock data be much more
important to get right, but it will also be nice to have more fine-grained
timestamps to be able to locate clients semi-uniquely in a sorted list.

9 years agoMerge branch 'master' of /srv/git.sesse.net/www/cubemap
Steinar H. Gunderson [Fri, 10 Jul 2015 21:46:37 +0000 (23:46 +0200)]
Merge branch 'master' of /srv/git.sesse.net/www/cubemap

9 years agoAdd support for forced prebuffering.
Steinar H. Gunderson [Fri, 10 Jul 2015 21:29:42 +0000 (23:29 +0200)]
Add support for forced prebuffering.

The motivation is jwPlayer, which for HTTP files expects to be able
to do no prebuffering and just download full speed nevertheless
(as it assumes they are static files, not streams) -- when it cannot,
it shows an ugly icon on top of the stream all the time. So we add
an option for forced prebuffering (three seconds seems to be about
fine) which means we wait sending until we have a pretty big backlog.

Ideally, we would be able to actually send old data instead of just
waiting (which would mean that the client doesn't need the extra wait
at the beginning), but it's complicated with having to remember old
keyframe positions, changed stream headers etc.

9 years agoBeef up the warning limit for large blocks a bit; MKV chunks can get pretty big.
Steinar H. Gunderson [Fri, 10 Jul 2015 21:01:50 +0000 (23:01 +0200)]
Beef up the warning limit for large blocks a bit; MKV chunks can get pretty big.

9 years agoUse accept4() to save a system call. Probably inconsequential, but still nice.
Steinar H. Gunderson [Sat, 13 Jun 2015 20:40:40 +0000 (22:40 +0200)]
Use accept4() to save a system call. Probably inconsequential, but still nice.

10 years agoBump version number to 1.1.3-pre.
Steinar H. Gunderson [Mon, 7 Jul 2014 17:39:46 +0000 (19:39 +0200)]
Bump version number to 1.1.3-pre.

10 years agoRelease Cubemap 1.1.2. 1.1.2
Steinar H. Gunderson [Mon, 7 Jul 2014 17:39:35 +0000 (19:39 +0200)]
Release Cubemap 1.1.2.

10 years agoRemove some leftover debug code that would cause compile errors.
Steinar H. Gunderson [Mon, 7 Jul 2014 17:39:08 +0000 (19:39 +0200)]
Remove some leftover debug code that would cause compile errors.

10 years agoBump version number to 1.1.2-pre.
Steinar H. Gunderson [Sun, 6 Jul 2014 12:42:41 +0000 (14:42 +0200)]
Bump version number to 1.1.2-pre.

10 years agoRelease Cubemap 1.1.1. 1.1.1
Steinar H. Gunderson [Sun, 6 Jul 2014 12:42:17 +0000 (14:42 +0200)]
Release Cubemap 1.1.1.

10 years agoAdd an example of IPv6 SSM to the config file.
Steinar H. Gunderson [Thu, 3 Jul 2014 23:04:57 +0000 (01:04 +0200)]
Add an example of IPv6 SSM to the config file.

10 years agoFix some issues in parsing IPv6 multicast addresses.
Steinar H. Gunderson [Thu, 3 Jul 2014 23:03:56 +0000 (01:03 +0200)]
Fix some issues in parsing IPv6 multicast addresses.

10 years agoChange the default backlog size to 10MB; I have seen the 1MB limit backfire a bit...
Steinar H. Gunderson [Thu, 3 Jul 2014 22:54:18 +0000 (00:54 +0200)]
Change the default backlog size to 10MB; I have seen the 1MB limit backfire a bit too many times for HD video now.

10 years agoFix a typo.
Steinar H. Gunderson [Sun, 11 May 2014 07:42:46 +0000 (09:42 +0200)]
Fix a typo.

10 years agoBump version number to 1.1.1-pre.
Steinar H. Gunderson [Thu, 1 May 2014 04:21:37 +0000 (21:21 -0700)]
Bump version number to 1.1.1-pre.

10 years agoRelease Cubemap 1.1.0. 1.1.0
Steinar H. Gunderson [Thu, 1 May 2014 04:21:23 +0000 (21:21 -0700)]
Release Cubemap 1.1.0.

10 years agoCoding style consistency fix.
Steinar H. Gunderson [Tue, 29 Apr 2014 03:34:05 +0000 (20:34 -0700)]
Coding style consistency fix.

10 years agoBump man page date.
Steinar H. Gunderson [Sat, 26 Apr 2014 23:11:08 +0000 (01:11 +0200)]
Bump man page date.

10 years agoSupport joining multicast addresses (both ASM and SSM).
Steinar H. Gunderson [Sat, 26 Apr 2014 22:41:08 +0000 (00:41 +0200)]
Support joining multicast addresses (both ASM and SSM).

10 years agoCorrect the README and man page files for removed information.
Steinar H. Gunderson [Sat, 26 Apr 2014 22:38:19 +0000 (00:38 +0200)]
Correct the README and man page files for removed information.

10 years agoRemove information about fwmark from the man page.
Steinar H. Gunderson [Sat, 26 Apr 2014 18:17:09 +0000 (20:17 +0200)]
Remove information about fwmark from the man page.

10 years agoSupport setting outgoing interface for multicast.
Steinar H. Gunderson [Sat, 26 Apr 2014 18:01:00 +0000 (20:01 +0200)]
Support setting outgoing interface for multicast.

This should complete multicast output support.

10 years agoSupport setting TTL on outgoing UDP streams. Especially useful for multicast.
Steinar H. Gunderson [Sat, 26 Apr 2014 17:00:37 +0000 (19:00 +0200)]
Support setting TTL on outgoing UDP streams. Especially useful for multicast.

10 years agoDo not store the UDP pacing rate; we do not use it after the constructor.
Steinar H. Gunderson [Sat, 26 Apr 2014 16:56:02 +0000 (18:56 +0200)]
Do not store the UDP pacing rate; we do not use it after the constructor.

10 years agoFix a bug where a socket could be closed twice.
Steinar H. Gunderson [Sat, 26 Apr 2014 16:45:47 +0000 (18:45 +0200)]
Fix a bug where a socket could be closed twice.

This would only happen if a HTTP input that wasn't fully setup yet
was no longer in use after an reload. This would normally manifest itself as
a “close(): Bad file descriptor”, but could also end up closing an arbitrary
descriptor, causing various sorts of havoc.

10 years agoRemove mark= from cubemap.config.sample, as the option no longer exists.
Steinar H. Gunderson [Sat, 26 Apr 2014 08:42:39 +0000 (10:42 +0200)]
Remove mark= from cubemap.config.sample, as the option no longer exists.

10 years agoFix O_TMPFILE usage.
Steinar H. Gunderson [Thu, 24 Apr 2014 22:51:13 +0000 (00:51 +0200)]
Fix O_TMPFILE usage.

Seemingly open() needs to take a pathname only, not a full filename.
This made us _always_ go into the mkstemp() path, which was of course
not the intention.

10 years agoSet umask explicitly before calling mkstemp().
Steinar H. Gunderson [Thu, 24 Apr 2014 22:49:51 +0000 (00:49 +0200)]
Set umask explicitly before calling mkstemp().

For the benefit of super-old glibc versions (pre-2.06).

Found by Coverity Scan.

10 years agoCheck the return value of fclose() in config.cpp.
Steinar H. Gunderson [Thu, 24 Apr 2014 22:41:44 +0000 (00:41 +0200)]
Check the return value of fclose() in config.cpp.

It's unclear to me exactly how this could fail for a read-only file,
but it's good practice nevertheless.

Found by Coverity Scan.

10 years agoRemove support for mark pools.
Steinar H. Gunderson [Thu, 24 Apr 2014 21:56:41 +0000 (23:56 +0200)]
Remove support for mark pools.

This has been fully obsoleted by the fq qdisc, which is easier to set up,
more scalable and does not require root privileges. Removing it also removes
a significant chunk of code, which is good.

10 years agoSet the default number of files to 16384; the default is seemingly 1024, which can...
Steinar H. Gunderson [Mon, 21 Apr 2014 17:05:11 +0000 (19:05 +0200)]
Set the default number of files to 16384; the default is seemingly 1024, which can easily bite you very hard.

10 years agoBump version number to 1.0.5-pre.
Steinar H. Gunderson [Sun, 13 Apr 2014 20:42:18 +0000 (22:42 +0200)]
Bump version number to 1.0.5-pre.

10 years agoMake sure we don't overwrite an existing configuration on make install.
Steinar H. Gunderson [Sun, 13 Apr 2014 20:34:51 +0000 (22:34 +0200)]
Make sure we don't overwrite an existing configuration on make install.

10 years agoStop leaking the state fd on reload.
Steinar H. Gunderson [Sun, 13 Apr 2014 20:33:19 +0000 (22:33 +0200)]
Stop leaking the state fd on reload.

10 years agoStop logging loss fraction; it is only spam now, and we have the information in ...
Steinar H. Gunderson [Sun, 13 Apr 2014 19:32:21 +0000 (21:32 +0200)]
Stop logging loss fraction; it is only spam now, and we have the information in .stats.

10 years agoCheck /proc/self/exe instead of argv[0].
Steinar H. Gunderson [Sun, 13 Apr 2014 19:31:09 +0000 (21:31 +0200)]
Check /proc/self/exe instead of argv[0].

10 years agoFix URL parsing of HTTP inputs with no port.
Steinar H. Gunderson [Sun, 13 Apr 2014 19:30:44 +0000 (21:30 +0200)]
Fix URL parsing of HTTP inputs with no port.

10 years agoRelease Cubemap 1.0.4. 1.0.4
Steinar H. Gunderson [Sun, 23 Mar 2014 16:35:16 +0000 (17:35 +0100)]
Release Cubemap 1.0.4.

10 years agoFix a segfault on reload introduced by the pacing changes.
Steinar H. Gunderson [Sun, 23 Mar 2014 16:31:25 +0000 (17:31 +0100)]
Fix a segfault on reload introduced by the pacing changes.

10 years agoRemove the Metacube VLC patch; it is now upstream.
Steinar H. Gunderson [Sat, 15 Mar 2014 01:08:04 +0000 (02:08 +0100)]
Remove the Metacube VLC patch; it is now upstream.

10 years agoCompile with large file support, especially since pwritev() on 32-bit x86 seems to...
Steinar H. Gunderson [Thu, 6 Feb 2014 23:42:40 +0000 (00:42 +0100)]
Compile with large file support, especially since pwritev() on 32-bit x86 seems to be broken without.

10 years agoBump version number to 1.0.4-pre.
Steinar H. Gunderson [Thu, 6 Feb 2014 21:40:07 +0000 (22:40 +0100)]
Bump version number to 1.0.4-pre.

10 years agoRelease Cubemap 1.0.3. 1.0.3
Steinar H. Gunderson [Thu, 6 Feb 2014 21:37:28 +0000 (22:37 +0100)]
Release Cubemap 1.0.3.

10 years agoFix compilation error with newer glibc; broken after IWYU. origin/HEAD origin/master
Steinar H. Gunderson [Thu, 6 Feb 2014 21:35:04 +0000 (22:35 +0100)]
Fix compilation error with newer glibc; broken after IWYU.

10 years agoBump version number to 1.0.3-pre.
Steinar H. Gunderson [Mon, 3 Feb 2014 23:47:49 +0000 (00:47 +0100)]
Bump version number to 1.0.3-pre.

10 years agoRelease Cubemap 1.0.2. 1.0.2
Steinar H. Gunderson [Mon, 3 Feb 2014 23:39:57 +0000 (00:39 +0100)]
Release Cubemap 1.0.2.

10 years agoThe SO_MAX_PACING_RATE patches are now released in 3.13.
Steinar H. Gunderson [Mon, 3 Feb 2014 23:37:49 +0000 (00:37 +0100)]
The SO_MAX_PACING_RATE patches are now released in 3.13.

10 years agoFix handling of streams with no data.
Steinar H. Gunderson [Sun, 2 Feb 2014 23:25:41 +0000 (00:25 +0100)]
Fix handling of streams with no data.

The original plan here was to let the client hang until we had
some headers to send (ie., first send an empty header and then
0 bytes data, and then send the client back from SENDING_DATA
to SENDING_HEADER as we got data).

However, as time went by, we started inserting stuff in the middle of the
headers ourselves, resulting in us sending pretty much a junk header.
Worse, this would be sent on to other relays, corrupting the version of
the Metacube stream.

Simply return 503 Not Available now instead if the stream is still
starting up; it's pretty much as good, and has fewer edge cases
to worry about.

10 years agoFix a crash bug on reload.
Steinar H. Gunderson [Sun, 2 Feb 2014 21:36:43 +0000 (22:36 +0100)]
Fix a crash bug on reload.

This could happen in the case where we reloaded while still waiting for
the request from a given client.

10 years agoRemove some legacy from older versions that nobody uses anymore.
Steinar H. Gunderson [Sat, 1 Feb 2014 21:58:11 +0000 (22:58 +0100)]
Remove some legacy from older versions that nobody uses anymore.

10 years agoMinor deduplication.
Steinar H. Gunderson [Sun, 1 Dec 2013 01:41:15 +0000 (02:41 +0100)]
Minor deduplication.

10 years agoFix some duplicated IP address parsing code.
Steinar H. Gunderson [Sun, 1 Dec 2013 00:27:50 +0000 (01:27 +0100)]
Fix some duplicated IP address parsing code.

10 years agoMove some config stuff into an anonymous namespace.
Steinar H. Gunderson [Sun, 1 Dec 2013 00:21:21 +0000 (01:21 +0100)]
Move some config stuff into an anonymous namespace.

10 years agoFix some signed/unsigned comparison warnings (pacing_rate should be uint32_t everywhe...
Steinar H. Gunderson [Sun, 1 Dec 2013 00:18:41 +0000 (01:18 +0100)]
Fix some signed/unsigned comparison warnings (pacing_rate should be uint32_t everywhere, not just in UDPStream).