DIGITAL AUDIO ACCESS PROTOCOL
The 'Digital Audio Access Protocol' (DAAP) is the protocol introduced by Apple in its iTunes software to share media across a local network.
The DAAP protocol was originally introduced in iTunes version 4.0.[1] Initially, Apple did not officially release a protocol description, but it has been reverse-engineered to a sufficient degree that reimplementations of the protocol for non-iTunes platforms have been possible. Recently, however, Apple has begun to license the protocol specification for commercial implementations.[2]
A DAAP server is a specialized HTTP server, which performs two functions. It sends a list of songs and it streams requested songs to clients. There are also provisions to notify the client of changes to the server.1 Requests are sent to the server by the client in form of URLs and are responded to with data in application/x-dmap-tagged mime-type, which can be converted to XML by the client.1. iTunes uses the ZeroConf (also known as Bonjour) service to announce and discover DAAP shares on a local subnet. The DAAP service utilizes TCP port 3689 by default.[3]
DAAP is one of two media sharing schemes that Apple has currently released. The other, Digital Photo Access Protocol (DPAP), is used by iPhoto for sharing images. They both rely on an underlying protocol, Digital Media Access Protocol (DMAP).
Early versions of iTunes allowed users to connect to shares across the Internet, however, in recent versions only computers on the same subnet can share music (workarounds such as port tunneling are possible). It is widely believed that Apple made this move in response to pressure from the record labels.[4] More recent versions of iTunes also limit the number of clients to 5 unique IP addresses within a 24 hour period.
DAAP has also been implemented in other non-iTunes media applications such as Banshee, Amarok, Rhythmbox, and WiFiTunes.
Beginning with iTunes 4.2, Apple introduced authentication to DAAP sharing, meaning that the only clients that could connect to iTunes servers were other instances of iTunes. This was further modified in iTunes 4.5 to use a custom hashing algorithm, rather than the standard MD5 function used previously. Both authentication methods were successfully reverse engineered[5] within months of release.
With iTunes 7.0, a new 'Client-DAAP-Validation' header hash is needed when connecting to an iTunes 7.0 server. This does not affect 3rd party DAAP servers, but all current DAAP clients (including official iTunes before iTunes 7.0) will fail to connect to an iTunes 7.0 server, receiving a '403 Forbidden' HTTP error. The iTunes 7.0 authentication traffic analysis seem to indicate that a certificate exchange is performed to calculate the hash sent in the 'Client-DAAP-Validation' header.
★ List of software using Digital Audio Access Protocol
★ Protocol
★ OpenDAAP forum
★ Unofficial DAAP protocol documentation
★ DAAP, a C++ implementation of DAAP. (no longer developed)
★ libopendaap, a C implementation of DAAP
★ DAAPD, another implementation of DAAP on Unix.
★ Firefly/mt-daapd, implementation of the DAAP protocol (both video and audio) for Windows, Linux and (soon) Mac OSX.
★ iTunes 7.0 traffic analysis
1. "Unofficial DAAP protocol documentation" by Daniel Garcia, retrieved December 02, 2006
2. "Open DAAP forum", retrieved December 02, 2006
3. "Well Known Port Numbers" by ''IANA'', November 30, 2006, retrieved December 02, 2006
4. "Apple halts iTunes' Internet sharing ability" by Tony Smith, ''The Register'', May 28, 2003, retrieved August 31, 2006
5. " iTunes 4.5 Authentication Cracked", April 29, 2004, retrieved March 12, 2007
| Contents |
| Description |
| DAAP authentication |
| See also |
| External links |
| Notes and references |
Description
The DAAP protocol was originally introduced in iTunes version 4.0.[1] Initially, Apple did not officially release a protocol description, but it has been reverse-engineered to a sufficient degree that reimplementations of the protocol for non-iTunes platforms have been possible. Recently, however, Apple has begun to license the protocol specification for commercial implementations.[2]
A DAAP server is a specialized HTTP server, which performs two functions. It sends a list of songs and it streams requested songs to clients. There are also provisions to notify the client of changes to the server.1 Requests are sent to the server by the client in form of URLs and are responded to with data in application/x-dmap-tagged mime-type, which can be converted to XML by the client.1. iTunes uses the ZeroConf (also known as Bonjour) service to announce and discover DAAP shares on a local subnet. The DAAP service utilizes TCP port 3689 by default.[3]
DAAP is one of two media sharing schemes that Apple has currently released. The other, Digital Photo Access Protocol (DPAP), is used by iPhoto for sharing images. They both rely on an underlying protocol, Digital Media Access Protocol (DMAP).
Early versions of iTunes allowed users to connect to shares across the Internet, however, in recent versions only computers on the same subnet can share music (workarounds such as port tunneling are possible). It is widely believed that Apple made this move in response to pressure from the record labels.[4] More recent versions of iTunes also limit the number of clients to 5 unique IP addresses within a 24 hour period.
DAAP has also been implemented in other non-iTunes media applications such as Banshee, Amarok, Rhythmbox, and WiFiTunes.
DAAP authentication
Beginning with iTunes 4.2, Apple introduced authentication to DAAP sharing, meaning that the only clients that could connect to iTunes servers were other instances of iTunes. This was further modified in iTunes 4.5 to use a custom hashing algorithm, rather than the standard MD5 function used previously. Both authentication methods were successfully reverse engineered[5] within months of release.
With iTunes 7.0, a new 'Client-DAAP-Validation' header hash is needed when connecting to an iTunes 7.0 server. This does not affect 3rd party DAAP servers, but all current DAAP clients (including official iTunes before iTunes 7.0) will fail to connect to an iTunes 7.0 server, receiving a '403 Forbidden' HTTP error. The iTunes 7.0 authentication traffic analysis seem to indicate that a certificate exchange is performed to calculate the hash sent in the 'Client-DAAP-Validation' header.
See also
★ List of software using Digital Audio Access Protocol
★ Protocol
External links
★ OpenDAAP forum
★ Unofficial DAAP protocol documentation
★ DAAP, a C++ implementation of DAAP. (no longer developed)
★ libopendaap, a C implementation of DAAP
★ DAAPD, another implementation of DAAP on Unix.
★ Firefly/mt-daapd, implementation of the DAAP protocol (both video and audio) for Windows, Linux and (soon) Mac OSX.
★ iTunes 7.0 traffic analysis
Notes and references
1. "Unofficial DAAP protocol documentation" by Daniel Garcia, retrieved December 02, 2006
2. "Open DAAP forum", retrieved December 02, 2006
3. "Well Known Port Numbers" by ''IANA'', November 30, 2006, retrieved December 02, 2006
4. "Apple halts iTunes' Internet sharing ability" by Tony Smith, ''The Register'', May 28, 2003, retrieved August 31, 2006
5. " iTunes 4.5 Authentication Cracked", April 29, 2004, retrieved March 12, 2007
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español