[OpenAFS] iTunes Update breaks OpenAFS for Windows on 32-bit Windows

Jeffrey Altman jaltman@secure-endpoints.com
Thu, 11 Jun 2009 12:18:24 -0400


There is an open ticket in OpenAFS RT with an Apple Bug number
associated with it.

Work arounds for OpenAFS users:

  1. Modify the base address of the mdnsNSP.dll
  2. Upgrade to a 64-bit version of Windows
  3. Reduce the size of the cache to 500MB.

Jeffrey Altman


ENEM | Hans Melgers wrote:
> Thanks for the update, i just had a first case with this problem. 
> Is apple informed about this (and is there a chance they will change it ?) ?
> Is it possible to get a workaround in future versions in case they don’t ?
> 
> 
> 
> -----Original Message-----
> From: openafs-info-admin@openafs.org [mailto:openafs-info-admin@openafs.org] On Behalf Of Jeffrey Altman
> Sent: woensdag 10 juni 2009 18:38
> To: openafs
> Subject: [OpenAFS] iTunes Update breaks OpenAFS for Windows on 32-bit Windows
> 
> 
> Please advise your help desk staff to be on the lookout for a sudden
> increase in complaints about OpenAFS for Windows not working. 
> 
> The symptoms are that \\AFS is inaccessible and an examination of the
> %windir%\temp\afsd_init.log file indicates a memory mapping failure when
> attempting to load the AFSCache file.  This problem is likely to affect
> any user of OpenAFS for Windows on 32-bit Windows with iTunes installed
> that set their cache size to be larger than 500mb. 
> 
> The problem:
> 
> Apple updated the Bonjour distribution as part of the most recent iTunes
> update.  Included in the distribution is a file called mdnsNSP.dll which
> is inserted into the process memory space of every application on the
> system that makes use of the WinSock APIs.  This DLL permits Bonjour
> discovery services to be used as a DNS replacement automatically.  Apple
> set an image base of (16080000 to 160A4FFF) which is smack in the middle
> of the 32-bit process data range instead of using a value around
> 60000000 as recommended by Microsoft.
> 
> The work around:
> 
> The Microsoft SDK provides a tool called rebase.exe which is used by
> developers to modify the base address of a DLL.  The following
> operations can be used to move mdnsNSP.dll to the correct location in
> memory.
> 
>     1. cd to c:\program files\bonjour
>     2. rename mdnsNSP.dll to mdnsNSP.dll.inuse
>     3. copy mdnsNSP.dll.inuse to mdnsNSP.dll
>     4. rebase -d -b 0x60000000 mdnsNSP.dll
> 
> The next time the OpenAFS for Windows service is started the dll will be
> loaded into the correct range in memory. 
> 
> Unfortunately, it is likely that the next iTunes update will break this
> again.  End users are also unlikely to have access to the rebase.exe
> command.
> 
> The command "dumpbin /headers mdnsNSP.dll" can be used to determine the
> image base.
> 
> The affected version of mdnsNSP.dll is 1.0.6.2.
> 
> Jeffrey Altman
> 
> 
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info
> 
> 
> 
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info
>