(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 ## <a name="Missing command line parameters"></a> Missing command line parameters
16
17 - 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.
18
19 - Enable --auditlog option. Must add support for Windows named pipes instead of files.
20
21 - Enable rx configuration options.
22
23 ## <a name="Miscellaneous"></a> Miscellaneous
24
25 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.
26
27 ## <a name="Ignore kaserver"></a> Ignore kaserver
28
29 Assume that kaserver does not exist. Instead, we will count on the presence of either Active Directory or some external krb5 kdc.
30
31 ## <a name="Viced"></a> Viced
32
33 - [[ProcessSize]] and STATS64\_PROCESSSIZE should be set to the Private Bytes allocation for the current process. Use [[GetProcessMemoryInfo]]().
34
35 - 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.
36
37 ## <a name="FSync Interface"></a> FSync Interface
38
39  - The FSync interface is UNIX optimized.   Replacing FSync with a Windows specific LPC mechanism should be examined.
40
41 ## <a name="Bos Server"></a> Bos Server
42
43  - The Bos server process is wrapped with an NT Service "BosCtlSvc".  There might be a better way to handle this.
44
45 ## <a name="Server Configuration"></a> Server Configuration
46
47  - The Windows client now reads all of its data from the registry.  Even the CellServDB has a registry equivalent although it is not required.
48
49  - At present the configuration files match those of the Unix implementation.  Providing a registry based alternate might be desirable in some environments.
50