Hi James,
Nice job stomping the memory leak, btw.

There is an interesting/useful feature of Windows (NT, 2000 & XP) WRT .ini files and the registry...

Since the Windows OpenAFS client code uses the api calls:

GetPrivateProfileString() & SetPrivateProfileString()

to get and set values in the submount file 'afssbmt.ini', it is easy to redirect .ini file data to/from a specifiable region(s) of the registry. This requires no change to the binary, just some registry mods. Furthermore, the granularity is at the 'section' level, not the file level. The submount file contains two sections:
[AFS Submounts] and [AFS Mappings].


This means that 'mappings' section might be redirected to HKEY_CURRENT_USER, while the 'submounts' list could be shared. I have done only limited investigation with this idea; I have redirected 'afsdsbmt.ini' reads and writes to the registry on my machine. However, it's **not a shared system**, so it only demonstrates the basic premise, at best.

For more information go to this page and scroll down to the 5th paragraph of the "Remarks" section:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getprivateprofilestring.asp

It begins:

"Windows Server 2003, Windows XP/2000/NT:
Calls to private profile functions may be mapped to the registry instead of to the specified initialization files. This mapping occurs when the initialization file and section are specified in the registry under the following keys:


HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping"

On my system, it's set up like this:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\afsdsbmt.ini]
"AFS Mappings"="USR:Software\\OpenAFS\\mappings"
"AFS Submounts"="SYS:TransarcCorporation\\AFSClient\\submounts"


The prefixes 'USR:' and 'SYS:' are explained in the link above.

--Scott


_______________________________________________ OpenAFS-devel mailing list [EMAIL PROTECTED] https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to