(no commit message)
[openafs-wiki.git] / AFSLore / WindowsAFSServers.mdwn
1 -- [[JeffreyAltman]] - 14 Jun 2008
2
3 This page provides a partial list of the work that must be done to update the AFS Servers on the Microsoft Windows platform.
4
5 ## <a name="NetRestrict and _NetInfo configu"></a> [[NetRestrict]] and [[NetInfo]] configuration files
6
7 The Windows AFS Servers (nor the client) has no support for the AFS [[NetRestrict]] and [[NetInfo]] files. This makes it very difficult to deploy servers on Windows systems which often include a variety of network adapters beyond just the physical adapter. The location of AFSDIR\_SERVER\_NETRESTRICT\_FILEPATH and AFSDIR\_SERVER\_NETINFO\_FILEPATH have already been defined in src/util/dirpath\_nt.h and src/util/dirpath.c.
8
9 ## <a name="The NT vol back end"></a> The NT vol back end
10
11 The NT vol back end (ntops.c) is based upon the [[NameI]] back end for UNIX but is designed to work with NTFS. Over the years the UNIX [[NameI]] back end has received a number of bug fixes and improvements. We need to verify that none of these changes must also be implemented for the NT back end. [link to namei\_ops.c cvs history](http://www.openafs.org/cgi-bin/cvsweb.cgi/openafs/src/vol/namei_ops.c?only_with_tag=MAIN)
12
13 Need to modify the mappings of vice partitions to NTFS disk locations. Would prefer to permit arbitrary paths to the current drive letter mapping.
14
15 Now that DAFS has been implemented we may want to restart the NT vol backend from scratch.
16
17 ## <a name="Missing command line parameters"></a> Missing command line parameters
18
19 - Enable --syslog option for Windows servers. Consider using a project like <http://syslog-win32.sourceforge.net/> for linking to the AFS Services. A syslog daemon product such as <http://www.codeproject.com/KB/IP/Syslogd.aspx> can be used to collect the events.
20
21 - Enable --auditlog option. Must add support for Windows named pipes instead of files.
22
23 - Enable rx configuration options.
24
25 ## <a name="Miscellaneous"></a> Miscellaneous
26
27 There are a number of random comments in the code choosing arbitrary values for Windows. Must replace arbitrary decisions with values based upon the actual capabilities of the system.
28
29 ## <a name="Ignore kaserver"></a> Ignore kaserver
30
31 Assume that kaserver does not exist. Instead, we will count on the presence of either Active Directory or some external krb5 kdc.
32
33 ## <a name="Viced"></a> Viced
34
35 - [[ProcessSize]] and STATS64\_PROCESSSIZE should be set to the Private Bytes allocation for the current process. Use [[GetProcessMemoryInfo]]().
36
37 - The arbitrary definiton of NT\_OPEN\_MAX should be replaced by an attempt to read the value of HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\USERProcessHandleQuota which has a default value of 10,000 if the registry value is not present.
38
39 ## <a name="FSync Interface"></a> FSync Interface
40
41  - The FSync interface is UNIX optimized.   Replacing FSync with a Windows specific LPC mechanism should be examined.
42
43 ## <a name="Bos Server"></a> Bos Server
44
45  - The Bos server process is wrapped with an NT Service "BosCtlSvc".  There might be a better way to handle this.
46
47 ## <a name="Server Configuration"></a> Server Configuration
48
49  - The Windows client now reads all of its data from the registry.  Even the CellServDB has a registry equivalent although it is not required.
50
51  - At present the configuration files match those of the Unix implementation.  Providing a registry based alternate might be desirable in some environments.
52