I have an application which uses FSMountServerVolumeSync to mount remote volumes. My code passes a URL containing the username, server and share to be mounted, like this: afp://<username>@<server>/<share>. When the program executes, the password is fetched from the Keychain and is passed as a parameter to FSMountServerVolumeSync. Pre-Tiger, this worked and the target volume would mount on the desktop w/o user interaction. Now this fails for AFP volumes but, SMB volumes still work using this construct. With AFP, I get the authentication dialog box, with the username and password already filled in, but after clicking OK, I get this error.
Mount Failed Could not mount <share>
I've verified that the password in the Keychain is correct and I have re-entered it when the auth box comes up and it still fails with the same error. Passing the same URL using cmd-K from the Finder also ends with the same error. What I have found out, from the Finder at least, is that if you only pass the server, afp://<server>, you get the auth box and then after authentication, a list of available volumes. After you select a volume, it mounts as expected. I have not seen any changes in the documentation, Files.h (where FSMountServerVolumeSync and its cousins reside) or the Keychain API that account for this. The 10.4.1 upgrade did not fix this, so my question is: has anyone seen this problem? Is there a workaround? TIA
"My Break-Dancing days are over, but there's always the Funky Chicken" --The Full Monty
|