GNOME Bugzilla – Bug 676037
Invalid Content-Range: for request with Range: bytes={length of file}-
Last modified: 2012-07-27 20:43:58 UTC
It is possible to make Rygel generate invalid Content-Range header like that one: Content-Range : bytes 1000-999/1000 by sending request with Range: header like this: Range: bytes=1000- which in correct implementation should trigger "416 Requested Range Not Satisfiable". It is possible to trigger this by accessing music track from XBMC, and because libcurl which it uses internally, get stuck when receives header like this, whole app get stuck.
Are you sure this is with 0.14.x? I extended the byte seeking unittest to include that example that and it passes here
Oh wait, I was on the wrong branch. This is fixed in master.
Created attachment 214032 [details] [review] core: Fix content range check
This fixes it for me, it's pretty much identical to patch i made myself, but as i was not sure if change it introduces to TimeSeekRange.dlna.org: header generation were correct, i didn't propose it.
The semantics for timeseek should be the same. Can you check if XBMC also accepts an INVALID_ARGS error there?
Looks like 416 error is not required by XBMC, as it works with 400 (which master send in this situation) and 402 (which INVALID_ARGS generates?).
Fixed in master and last 0.14 release.