Commit Graph

23 Commits

Author SHA1 Message Date
Ace Jones d231faff2d Handle DAAP activity request
Reply to the DAAP /activity request with 204 / No content. Used by iTunes to
ping the server while streaming.
2009-12-20 14:43:28 +01:00
Julien BLACHE b9e7df5be3 Return a proper Content-Type when streaming videos
Clients like Front Row expect video/<type> for video streaming, whereas iTunes
likes application/x-dmap-tagged when streaming audio.

Based on a patch by Ace Jones <ace.jones1@yahoo.com>.
2009-12-08 21:04:30 +01:00
Julien BLACHE 946758cec7 Rework iTunes 9 absolute request uri fix 2009-11-14 11:23:03 +01:00
Julien BLACHE f8f183f2f6 Fixup iTunes 9 Request-URI before processing
iTunes 9 sends requests with a Request-URI like
  daap://10.1.1.20:3689/server-info

The DAAP server expected the Request-URI to be just /server-info, and so
couldn't match the request to any handler.

In addition, evhttp would declare this request a proxy request which also
broke keep-alive handling resulting in the server closing the connection
after the reply. iTunes doesn't like that.
2009-11-13 21:53:47 +01:00
Julien BLACHE c36b3c360d Fix DAAP request regexps - IDs can (thankfully) be more than 1-digit long 2009-11-01 12:39:11 +01:00
Julien BLACHE e1c0b6d4b7 Move *_offsetof() macro definitions to db.h 2009-06-11 23:17:17 +02:00
Julien BLACHE c589d92b14 Use db_get_count() wherever applicable; simplify db_{pl,files}_get_count() prototypes 2009-06-11 18:41:50 +02:00
Julien BLACHE a200703393 Switch to the new database code 2009-06-10 19:04:18 +02:00
Julien BLACHE 52d3fd1064 Clear evkeyvalq structs before use; fix crasher 2009-06-07 19:06:59 +02:00
Julien BLACHE 28350ae9a6 Look for a query or filter parameter in DAAP queries
The filter is passed in the query parameter if it's a search, but if it's
a browse it's in the filter parameter.
2009-06-07 19:06:51 +02:00
Julien BLACHE 7642b1c6d7 Use the new ANTLR parser for DAAP queries 2009-06-07 19:06:50 +02:00
Julien BLACHE 68db2ae7c2 Add new ANTLR parser for DAAP queries 2009-06-07 19:06:46 +02:00
Julien BLACHE cefd3f3d1d Make dmap_fields_hash static 2009-06-01 18:01:24 +02:00
Julien BLACHE 11fd038d16 Use new logger facility 2009-05-09 17:14:06 +02:00
Julien BLACHE 10bb9dec57 Remove useless daapd.h 2009-05-05 16:22:11 +02:00
Julien BLACHE e4fe084619 Use embedded evhttp 2009-05-03 11:16:57 +02:00
Julien BLACHE c9868175fd Implement URI encoding quirk for iTunes and Roku
iTunes and Roku devices do not encode + as %2B in the query string and
do not encode space as + either in the query string (though at least the
Roku encode space as %20 everywhere). This needs to be worked around or
browse queries fail to parse because + was decoded as space when the query
really needs a + character.
2009-05-03 11:16:57 +02:00
Julien BLACHE 09ef188d90 Add authentication to web interface, RSP and DAAP 2009-05-03 11:16:57 +02:00
Julien BLACHE 7a601d7daa Enable streaming of transcoded content 2009-05-03 11:16:57 +02:00
Julien BLACHE e5cc417e96 Add DJB hash function to misc.[ch] and use it 2009-05-03 11:16:51 +02:00
Julien BLACHE 0a1c4545dc Move safe_ato[il]() to misc.[ch] 2009-04-30 14:46:37 +02:00
Julien BLACHE 91414c10d7 Use a hashtable for dmap fields lookup
The hashtable is built around an AVL tree and the DJB hash function;
the AVL tree is built at init time and the init routine checks for
collisions.
2009-04-30 13:57:40 +02:00
Julien BLACHE 00876facde Introduce DAAP protocol implementation
Same restrictions as RSP at the moment:
 - no transcoding
 - no authentication
2009-04-30 13:57:34 +02:00