After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 356627 - Cannot read DAAP share after iTunes 7 upgrade
Cannot read DAAP share after iTunes 7 upgrade
Status: RESOLVED NOTGNOME
Product: rhythmbox
Classification: Other
Component: DAAP
0.9.4.1
Other All
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-09-18 21:11 UTC by canadrian
Modified: 2010-05-30 10:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description canadrian 2006-09-18 21:11:19 UTC
Please describe the problem:
The shared library from an OS X copy iTunes 7 is unusable. The name of the share shows up in rhythmbox, but clicking on it shows no songs contained in the library.

Steps to reproduce:
1. Share library in iTunes 7 uder OS X
2. Open Rhythmbox
3. Click on OS X iTues 7 shared library


Actual results:
No items are displayed in the shared library

Expected results:
I should see over 13000 songs and videos

Does this happen every time?
Yes

Other information:
Comment 1 Jonathan Matthew 2006-09-18 23:01:03 UTC
I'm somewhat tempted to close this as NOTGNOME, but that wouldn't be very productive.  My extremely brief investigation suggests that iTunes 7 has changed the cryptographic nonsense it uses to authenticate clients.

Have you tried any other DAAP clients?   Banshee, itunesbrowser, and I'm sure a few others use different DAAP client code bases, so their success or failure might tell us something.
Comment 2 Alex Lancaster 2006-09-18 23:24:52 UTC
Out of curiosity, what happens in the reverse case?  Can iTunes 7 read a rhythmbox DAAP share if it's enabled?

PS.  It's not just the DAAP stuff that's been changed (possibly to prevent interoperation but that's speculation), but also iPod firmware upgrades have caused problems, see:

http://abock.org/2006/09/14/we-need-you-and-apple-sucks-part-2/
Comment 3 Jonathan Matthew 2006-09-18 23:33:50 UTC
iTunes 7 clients can still use rhythmbox DAAP shares.  No one other than apple wants to implement their client authentication scheme.
Comment 4 Alex Lancaster 2006-09-19 00:17:42 UTC
Any idea how much reverse engineering it will take to figure out what changed between iTunes 6 & 7?  I did a quick search on the web, the banshee list and bugzilla, but no other reports I could see.
Comment 5 Erik Volkman 2006-09-20 16:11:44 UTC
I'm also having this problem but would suspect that it's not a rhythmbox specific problem. Does anybody have data on whether iTunes 6 can connect to an iTunes 7 db?

Banshee has the same problem so it's not rhythmbox specific. Furthermore this is the error that DAAP (through Banshee) spits out when trying to connect.

Connecting to DAAP share: 172.19.165.2:3689 (Gerald’s Music)

Unhandled Exception: DAAP.ContentException: Failed to find content code for: 1634027088
in <0x0054e> DAAP.ContentParser:Parse (DAAP.ContentCodeBag bag, System.Byte[] buffer, System.String root, System.Int32 offset)
in <0x0004a> DAAP.ContentParser:ParseChildren (DAAP.ContentCodeBag bag, System.Byte[] buffer, Int32 offset, Int32 length)
in <0x0044a> DAAP.ContentParser:Parse (DAAP.ContentCodeBag bag, System.Byte[] buffer, System.String root, System.Int32 offset)
in <0x00025> DAAP.ContentParser:Parse (DAAP.ContentCodeBag bag, System.Byte[] buffer, System.String root)
in <0x0000f> DAAP.ContentParser:Parse (DAAP.ContentCodeBag bag, System.Byte[] buffer)
in <0x00098> DAAP.Client:.ctor (System.Net.IPAddress address, UInt16 port)
in <0x0003b> DAAP.Client:.ctor (DAAP.Service service)
in <0x00031> Banshee.Plugins.Daap.DaapSource+<>AnonHelp<1>:<#AnonymousMethod>1 ()
in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void ()
Comment 6 Mike Hommey 2006-09-23 11:12:57 UTC
http://www.snorp.net/log/2006/09/12/itunes-7/#comments

Seems like Apple changed their validation hash calculation. FYI, iTunes 6 can't connect to iTunes 7 shares, but contrary to rhythmbox, gives an error message saying it can't open the share (can't remember the exact message)
Comment 7 Alex Lancaster 2006-09-25 02:33:44 UTC
Confirming bug.
Comment 8 Sebastien Bacher 2006-12-17 12:09:24 UTC
Ubuntu bug about that: https://launchpad.net/products/rhythmbox/+bug/62842

The banshee task has already been fixed
Comment 9 James "Doc" Livingston 2006-12-17 12:36:42 UTC
If by "Banshee has been fixed" you mean "displays an message to the user about it not being supported". I guess we could display a nice message too, but iTunes 7 won't be supported until someone reverse-engineers the new broken-md5 hash.
Comment 10 Sebastien Bacher 2006-12-17 13:18:46 UTC
I've not tried banshee, your comment seems right from the ChangeLog though
Comment 11 Alex Lancaster 2006-12-17 13:23:13 UTC
Here is the upstream banshee bug: bug #380972.
Comment 12 Jonathan 2007-02-12 06:30:19 UTC
I don't see why this seems to be a minor issue in the eyes of the developers. It essentially entirely breaks access to DAAP shares in Rhythmbox because iTunes is pretty much the only DAAP program in heavy use.
Comment 13 Alex Lancaster 2007-02-12 09:51:08 UTC
It's not a minor issue, but since Apple deliberately (it appears) broke the protocol to prevent third-party clients (including iTunes < 7) from connecting to iTunes 7 servers they may have also made it difficult to reverse engineer (otherwise it probably would have been done by now).

Also, once one project figures it out (e.g. banshee or rhythmbox) the fix will probably be easily ported to other open source projects, but it will probably require somebody to sit down and do a lot of trial and error reverse engineering which isn't exactly a fun task.  Are you volunteering? ;)
Comment 14 Jonathan 2007-02-12 20:33:07 UTC
I would volunteer if I even knew where to start. I know c++ fairly well but nothing about networking or DAAP.
Comment 15 Jonathan Matthew 2007-02-16 09:49:31 UTC
These people seem to be involved in an effort to crack the new client authentication scheme:  http://www.saveourtunes.com/
Comment 16 Justin Stanley 2007-03-20 16:07:43 UTC
Hey guys, I am running the SaveOurTunes project which Jonathan kindly referenced above. We are working on cracking the DAAP auth problem but could use all the help we can get. Right now we need people great with assembly and java. See the website for details or email saveourtunes {at} gmail {dot} com (In reply to comment #15)

> These people seem to be involved in an effort to crack the new client
> authentication scheme:  http://www.saveourtunes.com/
> 

Comment 17 Hubert Figuiere (:hub) 2008-08-14 13:16:21 UTC
Giving a usefull error message would actually be a first step. This message should educate users about Apple badness.

Today it still just "hang", and whatever is the reason, it is not good.
Comment 18 William Jon McCann 2008-10-17 19:46:05 UTC
Fixing the hang is a one line change that I had a fix for at some point but lost in a repo update.  IIRC we were just not calling one of the callbacks on an error condition or something like that.
Comment 19 Jonathan Matthew 2008-11-09 08:20:31 UTC
I've added a specific error message for this case - "Rhythmbox is not able to connect to iTunes 7 servers".
Comment 20 Teppo Turtiainen 2008-11-09 08:51:03 UTC
(In reply to comment #19)
> I've added a specific error message for this case - "Rhythmbox is not able to
> connect to iTunes 7 servers".

I think we should also say why. Something like "Rhythmbox is not able to
connect to iTunes 7 servers because Apple has intentionally prevented this."
Comment 21 Ellis Antaya 2009-04-07 19:40:39 UTC
i have the same problem here using Rhythmbox 0.11.6 on Ubuntu 8.10 (the Intrepid Ibex)
i wonder, where can i found information about the resolution of this "bug".
by the time i wrote thoses line, iTunes is now at version 8 i think.
Comment 22 Jonathan Matthew 2009-04-08 00:38:44 UTC
There is no resolution.  Rhythmbox cannot connect to iTunes DAAP shares.