Digital Audio Access Protocol

Source: Wikipedia, the free encyclopedia.

The Digital Audio Access Protocol (DAAP) is the proprietary protocol introduced by Apple in its iTunes software to share media across a local network.

DAAP addresses the same problems for Apple as the

Digital Living Network Alliance
(DLNA).

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.

A DAAP server is a specialized

subnet. The DAAP service uses TCP port 3689 by default.[2]

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). The Register speculates that Apple made this move in response to pressure from the record labels.[3] 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, Exaile (with a plugin), Songbird (with a plugin), 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 within months of release.[4]

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 third-party DAAP servers, and all DAAP clients without support for this feature, including iTunes itself before version 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.

DAAP clients

Name Platform: Desktop Platform: Portable Platform: Devices/Other Platform: TVs Development status
iOS Music app (formerly iPod app) iOS (by setting: password on Settings, then More>Shared), since iOS 4.3 Native
Amarok Windows, Mac, Linux Active
Banshee Windows, Mac, Linux Active
Crossfire Cross-platform Ajax-based Firefly client, with multiple browser support

Safari (inc. iOS), Nokia, Opera, IE, Chrome

Active
DAAP Client Android Dormant
DAAP Media Player Android Active
Diapente Android Dormant
FireflyClient Independent (uses Java) Dormant
Get it together Any Java supported platform Dormant
iTunes Windows, Mac iOS Apple TV Native
LimeWire Windows, Mac, Linux Active
One2OhMyGod Any Java supported platform Dormant
Rhythmbox Linux Active
Roku Soundbridge and Radio Roku Dormant
WiFiTunes PocketPC Dormant
Songbird Windows, Mac, Linux (unsupported) Dormant, via plugin for 1.8.0
SoundBox Windows, Mac Active
Silverplay Only
Silverlight
required
Active
Simple DAAP Client iOS Dormant
Winamp with ml_daap plugin Windows Winamp discontinued on 12/20/2013; ml_daap dormant, depends on Apple Bonjour support for Windows
XBMC
Windows, Mac, Linux
XBMC Live
iPad
Apple TV (2nd generation) only, and some others Active

DAAP servers

Name Operating system Development status
Linux macOS Microsoft Windows Other
iTunes No No Yes No Active
Apple Music
No Yes No No Active
OwnTone Yes No No FreeBSD Active
Firefly Media Server (mt-daapd) Yes Yes Yes FreeBSD Dormant
Tangerine Yes Yes Yes FreeBSD Dormant
spydaap DAAP server (python) Yes Yes Yes FreeBSD Dormant
FreeNAS
and NAS4Free
No No No FreeBSD Active
NASLite M2 Yes No No No Active
OpenMediaVault Yes No No No Active
Ampache Yes Yes Yes FreeBSD Active
Rhythmbox Yes No No No Active
node-daapd Yes No No No Dormant
Wild Media Server (UPnP, DLNA, HTTP) Yes Yes Yes No Active
canary Yes Yes No No Active
dmapd Yes No No No Active

See also

Notes and references

  1. ^ "Unofficial DAAP protocol documentation" Archived 2012-02-22 at the Wayback Machine by Daniel Garcia, retrieved December 2, 2006
  2. ^ "Well Known Port Numbers" by IANA, November 30, 2006, retrieved December 2, 2006
  3. ^ "Apple halts iTunes' Internet sharing ability" by Tony Smith, The Register, May 28, 2003, retrieved August 31, 2006
  4. ^ "iTunes 4.5 Authentication Cracked". April 29, 2004. Retrieved March 12, 2007.