]> arthur.barton.de Git - netatalk.git/blobdiff - man/man5/afp.conf.5.tmpl
Import manpage from XML
[netatalk.git] / man / man5 / afp.conf.5.tmpl
index 782835f4168733975704aac73640836c72544b6a..e12561a2eb963fc05136e7a5b47f361e94322fb1 100644 (file)
@@ -2,12 +2,12 @@
 .\"     Title: afp.conf
 .\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
 .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
-.\"      Date: 19 Mar 2012
+.\"      Date: 22 Nov 2012
 .\"    Manual: Netatalk 3.0
 .\"    Source: Netatalk 3.0
 .\"  Language: English
 .\"
-.TH "AFP\&.CONF" "5" "19 Mar 2012" "Netatalk 3.0" "Netatalk 3.0"
+.TH "AFP\&.CONF" "5" "22 Nov 2012" "Netatalk 3.0" "Netatalk 3.0"
 .\" -----------------------------------------------------------------
 .\" * set default formatting
 .\" -----------------------------------------------------------------
@@ -37,7 +37,7 @@ The file consists of sections and parameters\&. A section begins with the name o
 .RS 4
 .\}
 .nf
-        \fIname\fR = \fIvalue \fR
+\fIname\fR = \fIvalue \fR
       
 .fi
 .if n \{\
@@ -93,14 +93,13 @@ baz:
 .RS 4
 .\}
 .nf
-        [baz]
-        path = /foo/bar
+[baz]
+path = /foo/bar
       
 .fi
 .if n \{\
 .RE
 .\}
-.sp
 .SH "SPECIAL SECTIONS"
 .SS "The [Global] section"
 .PP
@@ -125,9 +124,9 @@ The following example illustrates this\&. Given all user home directories are st
 .RS 4
 .\}
 .nf
-        [Homes]
-        path = afp\-data
-        basedir regex = /home
+[Homes]
+path = afp\-data
+basedir regex = /home
       
 .fi
 .if n \{\
@@ -143,14 +142,14 @@ this results in an AFP home volume with a path of
 Parameters define the specific attributes of sections\&.
 .PP
 Some parameters are specific to the [Global] section (e\&.g\&.,
-\fIlogtype\fR)\&. All others are permissible only in volume sections\&. The letter
+\fIlog type\fR)\&. All others are permissible only in volume sections\&. The letter
 \fIG\fR
 in parentheses indicates that a parameter is specific to the [Global] section\&. The letter
 \fIV\fR
 indicates that a parameter can be specified in a volume specific section\&.
 .SH "VARIABLE SUBSTITUTIONS"
 .PP
-You can use variables in both volume path and volume name\&.
+You can use variables in volume names\&. The use of variables in paths is not supported for now\&.
 .sp
 .RS 4
 .ie n \{\
@@ -230,27 +229,35 @@ $$
 .RS 4
 prints dollar sign ($)
 .RE
+.SH "EXPLANATION OF GLOBAL PARAMETERS"
+.SS "Authentication Options"
 .PP
-\fBExample.\ \&Using variable substitution when defining volumes\fR
+admin auth user = \fIuser\fR \fB(G)\fR
+.RS 4
+Specifying eg "\fBadmin auth user = root\fR" whenever a normal user login fails, afpd will try to authenticate as the specified
+\fBadmin auth user\fR\&. If this succeeds, a normal session is created for the original connecting user\&. Said differently: if you know the password of
+\fBadmin auth user\fR, you can authenticate as any other user\&.
+.RE
 .PP
-.if n \{\
+k5 keytab = \fIpath\fR \fB(G)\fR, k5 service = \fIservice\fR \fB(G)\fR, k5 realm = \fIrealm\fR \fB(G)\fR
 .RS 4
-.\}
-.nf
-          [Groupdir for $g]
-          /home/groups/$g
-
-          [$f is the best one]
-          ~
-        
-.fi
-.if n \{\
+These are required if the server supports the Kerberos 5 authentication UAM\&.
+.RE
+.PP
+nt domain = \fIDOMAIN\fR \fB(G)\fR, nt separator = \fISEPERATOR\fR \fB(G)\fR
+.RS 4
+Use for eg\&. winbind authentication, prepends both strings before the username from login and then tries to authenticate with the result through the availabel and active UAM authentication modules\&.
+.RE
+.PP
+save password = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(G)\fR
+.RS 4
+Enables or disables the ability of clients to save passwords locally\&.
+.RE
+.PP
+set password = \fIBOOLEAN\fR (default: \fIno\fR) \fB(G)\fR
+.RS 4
+Enables or disables the ability of clients to change their passwords via chooser or the "connect to server" dialog\&.
 .RE
-.\}
-.sp
-We define "groupdirs" for each primary group and use a personalized server name for homedir shares\&.
-.SH "EXPLANATION OF GLOBAL PARAMETERS"
-.SS "Authentication Methods"
 .PP
 uam list = \fIuam list\fR \fB(G)\fR
 .RS 4
@@ -270,8 +277,7 @@ uams_clrtxt\&.so
 .PP
 uams_randum\&.so
 .RS 4
-allows Random Number and Two\-Way Random Number Exchange for authentication (requires a separate file containing the passwords, either :ETCDIR:/afppasswd file or the one specified via
-\fB\-passwdfile\fR\&. See
+allows Random Number and Two\-Way Random Number Exchange for authentication (requires a separate file containing the passwords, either :ETCDIR:/afppasswd file or the one specified via "\fBpasswd file\fR"\&. See
 \fBafppasswd\fR(1)
 for details\&. (legacy)
 .RE
@@ -294,112 +300,7 @@ Allow Kerberos V for authentication (optional)
 .PP
 uam path = \fIpath\fR \fB(G)\fR
 .RS 4
-Sets the default path for UAMs for this server (default is :ETCDIR:/uams)\&.
-.RE
-.PP
-k5 keytab = \fIpath\fR \fB(G)\fR, k5 service = \fIservice\fR \fB(G)\fR, k5 realm = \fIrealm\fR \fB(G)\fR
-.RS 4
-These are required if the server supports the Kerberos 5 authentication UAM\&.
-.RE
-.PP
-nt domain = \fIDOMAIN\fR \fB(G)\fR, nt separator = \fISEPERATOR\fR \fB(G)\fR
-.RS 4
-Use for eg\&. winbind authentication, prepends both strings before the username from login and then tries to authenticate with the result through the availabel and active UAM authentication modules\&.
-.RE
-.PP
-admin auth user = \fIuser\fR \fB(G)\fR
-.RS 4
-Specifying eg "\fBadmin auth user = root\fR" whenever a normal user login fails, afpd will try to authenticate as the specified
-\fBadmin auth user\fR\&. If this succeeds, a normal session is created for the original connecting user\&. Said differently: if you know the password of
-\fBadmin auth user\fR, you can authenticate as any other user\&.
-.RE
-.PP
-ldap server = \fIhost\fR \fB(G)\fR
-.RS 4
-Name or IP address of your LDAP Server\&. This is only needed for explicit ACL support in order to be able to query LDAP for UUIDs\&.
-.sp
-You can use
-\fBafpldaptest\fR(1)
-to syntactically check your config\&.
-.RE
-.PP
-ldap auth method = \fInone|simple|sasl\fR \fB(G)\fR
-.RS 4
-Authentication method:
-\fBnone | simple | sasl\fR
-.PP
-none
-.RS 4
-anonymous LDAP bind
-.RE
-.PP
-simple
-.RS 4
-simple LDAP bind
-.RE
-.PP
-sasl
-.RS 4
-SASL\&. Not yet supported !
-.RE
-.RE
-.PP
-ldap auth dn = \fIdn\fR \fB(G)\fR
-.RS 4
-Distinguished Name of the user for simple bind\&.
-.sp
-.RE
-.PP
-ldap auth pw = \fIpassword\fR \fB(G)\fR
-.RS 4
-Distinguished Name of the user for simple bind\&.
-.sp
-.RE
-.PP
-ldap userbase = \fIbase dn\fR \fB(G)\fR
-.RS 4
-DN of the user container in LDAP\&.
-.sp
-.RE
-.PP
-ldap userscope = \fIscope\fR \fB(G)\fR
-.RS 4
-Search scope for user search:
-\fBbase | one | sub\fR
-.sp
-.RE
-.PP
-ldap groupbase = \fIbase dn\fR \fB(G)\fR
-.RS 4
-DN of the group container in LDAP\&.
-.sp
-.RE
-.PP
-ldap groupscope = \fIscope\fR \fB(G)\fR
-.RS 4
-Search scope for user search:
-\fBbase | one | sub\fR
-.sp
-.RE
-.PP
-ldap uuuid attr = \fIdn\fR \fB(G)\fR
-.RS 4
-Name of the LDAP attribute with the UUIDs\&.
-.sp
-Note: this is used both for users and groups\&.
-.sp
-.RE
-.PP
-ldap name attr = \fIdn\fR \fB(G)\fR
-.RS 4
-Name of the LDAP attribute with the users short name\&.
-.sp
-.RE
-.PP
-ldap group attr = \fIdn\fR \fB(G)\fR
-.RS 4
-Name of the LDAP attribute with the groups short name\&.
-.sp
+Sets the default path for UAMs for this server (default is :LIBDIR:/netatalk)\&.
 .RE
 .SS "Charset Options"
 .PP
@@ -424,14 +325,6 @@ option\&. If you\'re using extended characters in the configuration files for
 \fBafpd\fR, make sure your terminal matches the
 \fBunix charset\fR\&.
 .PP
-unix charset = \fICHARSET\fR \fB(G)\fR
-.RS 4
-Specifies the servers unix charset, e\&.g\&.
-\fIISO\-8859\-15\fR
-or
-\fIUTF8\fR\&. This is used to convert strings to/from the systems locale, e\&.g\&. for authenthication, server messages and volume names\&. Defaults to the systems locale setting\&.
-.RE
-.PP
 mac charset = \fICHARSET\fR \fB(G)/(V)\fR
 .RS 4
 Specifies the Mac clients charset, e\&.g\&.
@@ -440,11 +333,22 @@ Specifies the Mac clients charset, e\&.g\&.
 \fIMAC_ROMAN\fR\&.
 .RE
 .PP
-vol charset = \fICHARSET\fR \fB(G)/(V)\fR
+unix charset = \fICHARSET\fR \fB(G)\fR
 .RS 4
-Specifies the encoding of the volumes filesystem, defaults to
+Specifies the servers unix charset, e\&.g\&.
+\fIISO\-8859\-15\fR
+or
+\fIEUC\-JP\fR\&. This is used to convert strings to/from the systems locale, e\&.g\&. for authenthication, server messages and volume names\&. If
+\fILOCALE\fR
+is set, the systems locale is used\&. Defaults to
 \fIUTF8\fR\&.
 .RE
+.PP
+vol charset = \fICHARSET\fR \fB(G)/(V)\fR
+.RS 4
+Specifies the encoding of the volumes filesystem\&. By default, it is the same as
+\fBunix charset\fR\&.
+.RE
 .SS "Password Options"
 .PP
 passwd file = \fIpath\fR \fB(G)\fR
@@ -458,15 +362,26 @@ Sets the minimum password length, if supported by the UAM
 .RE
 .SS "Network Options"
 .PP
-fqdn = \fIname:port\fR \fB(G)\fR
+advertise ssh = \fIBOOLEAN\fR (default: \fIno\fR) \fB(G)\fR
 .RS 4
-Specifies a fully\-qualified domain name, with an optional port\&. This is discarded if the server cannot resolve it\&. This option is not honored by AppleShare clients <= 3\&.8\&.3\&. This option is disabled by default\&. Use with caution as this will involve a second name resolution step on the client side\&. Also note that afpd will advertise this name:port combination but not automatically listen to it\&.
-.RE
-.PP
-hostname = \fIname\fR \fB(G)\fR
+Allows old Mac OS X clients (10\&.3\&.3\-10\&.4) to automagically establish a tunneled AFP connection through SSH\&. If this option is set, the server\'s answers to client\'s FPGetSrvrInfo requests contain an additional entry\&. It depends on both client\'s settings and a correctly configured and running
+\fBsshd\fR(8)
+on the server to let things work\&.
+.if n \{\
+.sp
+.\}
 .RS 4
-Use this instead of the result from calling hostname for dertermening which IP address to advertise, therfore the hostname is resolved to an IP which is the advertised\&. This is NOT used for listening and it is also overwritten by
-\fBafp listen\fR\&.
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBNote\fR
+.ps -1
+.br
+Setting this option is not recommended since globally encrypting AFP connections via SSH will increase the server\'s load significantly\&. On the other hand, Apple\'s client side implementation of this feature in MacOS X versions prior to 10\&.3\&.4 contained a security flaw\&.
+.sp .5v
+.RE
 .RE
 .PP
 afp listen = \fIip address[:port] [ip adress[:port] \&.\&.\&.]\fR \fB(G)\fR
@@ -476,12 +391,6 @@ Specifies the IP address that the server should advertise
 listens to\&. The default is advertise the first IP address of the system, but to listen for any incoming request\&. The network address may be specified either in dotted\-decimal format for IPv4 or in hexadecimal format for IPv6\&.
 .RE
 .PP
-cnid listen = \fIip address[:port] [ip adress[:port] \&.\&.\&.]\fR \fB(G)\fR
-.RS 4
-Specifies the IP address that the CNID server should listen on\&. The default is
-\fBlocalhost:4700\fR\&.
-.RE
-.PP
 afp port = \fIport number\fR \fB(G)\fR
 .RS 4
 Allows a different TCP port to be used for AFP\&. The default is 548\&. Also sets the default port applied when none specified in an
@@ -489,11 +398,10 @@ Allows a different TCP port to be used for AFP\&. The default is 548\&. Also set
 option\&.
 .RE
 .PP
-sleep time = \fInumber\fR \fB(G)\fR
+cnid listen = \fIip address[:port] [ip adress[:port] \&.\&.\&.]\fR \fB(G)\fR
 .RS 4
-Keep sleeping AFP sessions for
-\fInumber\fR
-hours before disconnecting clients in sleep mode\&. Default is 10 hours\&.
+Specifies the IP address that the CNID server should listen on\&. The default is
+\fBlocalhost:4700\fR\&.
 .RE
 .PP
 disconnect time = \fInumber\fR \fB(G)\fR
@@ -503,15 +411,38 @@ Keep disconnected AFP sessions for
 hours before dropping them\&. Default is 24 hours\&.
 .RE
 .PP
+dsireadbuf = \fInumber\fR \fB(G)\fR
+.RS 4
+Scale factor that determines the size of the DSI/TCP readahead buffer, default is 12\&. This is multiplies with the DSI server quantum (default ~300k) to give the size of the buffer\&. Increasing this value might increase throughput in fast local networks for volume to volume copies\&.
+\fINote\fR: This buffer is allocated per afpd child process, so specifying large values will eat up large amount of memory (buffer size * number of clients)\&.
+.RE
+.PP
+fqdn = \fIname:port\fR \fB(G)\fR
+.RS 4
+Specifies a fully\-qualified domain name, with an optional port\&. This is discarded if the server cannot resolve it\&. This option is not honored by AppleShare clients <= 3\&.8\&.3\&. This option is disabled by default\&. Use with caution as this will involve a second name resolution step on the client side\&. Also note that afpd will advertise this name:port combination but not automatically listen to it\&.
+.RE
+.PP
+hostname = \fIname\fR \fB(G)\fR
+.RS 4
+Use this instead of the result from calling hostname for dertermening which IP address to advertise, therfore the hostname is resolved to an IP which is the advertised\&. This is NOT used for listening and it is also overwritten by
+\fBafp listen\fR\&.
+.RE
+.PP
+max connections = \fInumber\fR \fB(G)\fR
+.RS 4
+Sets the maximum number of clients that can simultaneously connect to the server (default is 200)\&.
+.RE
+.PP
 server quantum = \fInumber\fR \fB(G)\fR
 .RS 4
 This specifies the DSI server quantum\&. The default value is 303840\&. The maximum value is 0xFFFFFFFFF, the minimum is 32000\&. If you specify a value that is out of range, the default value will be set\&. Do not change this value unless you\'re absolutely sure, what you\'re doing
 .RE
 .PP
-dsireadbuf = \fInumber\fR \fB(G)\fR
+sleep time = \fInumber\fR \fB(G)\fR
 .RS 4
-Scale factor that determines the size of the DSI/TCP readahead buffer, default is 12\&. This is multiplies with the DSI server quantum (default ~300k) to give the size of the buffer\&. Increasing this value might increase throughput in fast local networks for volume to volume copies\&.
-\fINote\fR: This buffer is allocated per afpd child process, so specifying large values will eat up large amount of memory (buffer size * number of clients)\&.
+Keep sleeping AFP sessions for
+\fInumber\fR
+hours before disconnecting clients in sleep mode\&. Default is 10 hours\&.
 .RE
 .PP
 tcprcvbuf = \fInumber\fR \fB(G)\fR
@@ -523,37 +454,39 @@ tcpsndbuf = \fInumber\fR \fB(G)\fR
 .RS 4
 Try to set TCP send buffer using setsockpt()\&. Often OSes impose restrictions on the applications ability to set this value\&.
 .RE
-.SS "Miscellaneous Options"
 .PP
-vol dbpath = \fIpath\fR \fB(G)\fR
+use sendfile = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(G)\fR
 .RS 4
-Sets the database information to be stored in path\&. You have to specifiy a writable location, even if the volume is read only\&. The default is
-$localstatedir/netatalk/CNID/, where $localstatedir defaults to
-/var\&.
+Whether to use sendfile
+syscall for sending file data to clients\&.
 .RE
 .PP
-basedir regex = \fIregex\fR \fB(H)\fR
+zeroconf = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(G)\fR
 .RS 4
-Regular expression which matches the parent directory of the user homes\&. In the simple case this is just a path ie
-\fBbasedir regex = /home\fR
+Whether to use automatic Zeroconf
+service registration if Avahi or mDNSResponder were compiled in\&.
 .RE
+.SS "Miscellaneous Options"
 .PP
-home name = \fIname\fR \fB(H)\fR
+admin group = \fIgroup\fR \fB(G)\fR
 .RS 4
-AFP user home volume name\&. The default is
-\fIusers\'s home\fR\&.
+Allows users of a certain group to be seen as the superuser when they log in\&. This option is disabled by default\&.
 .RE
 .PP
-vol preset = \fIname\fR \fB(G)/(V)\fR
+afp read locks = \fIBOOLEAN\fR (default: \fIno\fR) \fB(G)\fR
 .RS 4
-Use section
-\fBname\fR
-as option preset for all volumes (when set in the global section) or for one volume (when set in that volume\'s section)\&.
+Whether to apply locks to the byte region read in FPRead calls\&. The AFP spec mandates this, but it\'s not really in line with UNIX semantics and is a performance hug\&.
 .RE
 .PP
-admin group = \fIgroup\fR \fB(G)\fR
+basedir regex = \fIregex\fR \fB(H)\fR
 .RS 4
-Allows users of a certain group to be seen as the superuser when they log in\&. This option is disabled by default\&.
+Regular expression which matches the parent directory of the user homes\&. In the simple case this is just a path ie
+\fBbasedir regex = /home\fR
+.RE
+.PP
+close vol = \fIBOOLEAN\fR (default: \fIno\fR) \fB(G)\fR
+.RS 4
+Whether to close volumes possibly opened by clients when they\'re removed from the configuration and the configuration is reloaded\&.
 .RE
 .PP
 cnid server = \fIipaddress[:port]\fR \fB(G)/(V)\fR
@@ -568,6 +501,11 @@ Maximum possible entries in the directory cache\&. The cache stores directories
 Default size is 8192, maximum size is 131072\&. Given value is rounded up to nearest power of 2\&. Each entry takes about 100 bytes, which is not much, but remember that every afpd child process for every connected user has its cache\&.
 .RE
 .PP
+extmap file = \fIpath\fR \fB(G)\fR
+.RS 4
+Sets the path to the file which defines file extension type/creator mappings\&. (default is :ETCDIR:/AppleVolumes\&.system)\&.
+.RE
+.PP
 fce listener = \fIhost[:port]\fR \fB(G)\fR
 .RS 4
 Enables sending FCE events to the specified
@@ -597,40 +535,52 @@ guest account = \fIname\fR \fB(G)\fR
 Specifies the user that guests should use (default is "nobody")\&. The name should be quoted\&.
 .RE
 .PP
-loginmesg = \fImessage\fR \fB(G)\fR
+home name = \fIname\fR \fB(H)\fR
+.RS 4
+AFP user home volume name\&. The default is
+\fIusers\'s home\fR\&.
+.RE
+.PP
+keep sessions = \fIBOOLEAN\fR (default: \fIno\fR) \fB(G)\fR
+.RS 4
+Enable "Continuous AFP Service"\&. This means restarting AFP and CNID service daemons master processes, but keeping the AFP session processes\&. This can be used to install (most) updates to Netatalk without interruping active AFP sessions\&. Existing AFP sessions will still run the version from before updating, but new AFP sessions will run the updated code\&. After enabling this option when sending SIGQUIT to the
+\fInetatalk\fR
+service controller process, the AFP and CNID daemons will exit and then the service controller will restart them\&. AFP session processes are notified of the master afpd shutdown, they will then sleep 15\-20 seconds and then try to reconnect their IPC channel to the master afpd process\&. The IPC channel between the AFP master service daemon and the AFP session child is used for keeping session state of AFP sessions in the AFP master process\&. The session state is needed when AFP clients experience eg network outages and try to reconnect to the AFP server\&.
+.RE
+.PP
+login message = \fImessage\fR \fB(G)/(V)\fR
 .RS 4
 Sets a message to be displayed when clients logon to the server\&. The message should be in
 \fBunix charset\fR
 and should be quoted\&. Extended characters are allowed\&.
 .RE
 .PP
+map acls = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(G)\fR
+.RS 4
+Whether to map filesystem ACLs to effective permissions\&.
+.RE
+.PP
 mimic model = \fImodel\fR \fB(G)\fR
 .RS 4
 Specifies the icon model that appears on clients\&. Defaults to off\&. Examples: RackMac (same as Xserve), PowerBook, PowerMac, Macmini, iMac, MacBook, MacBookPro, MacBookAir, MacPro, AppleTV1,1, AirPort\&.
 .RE
 .PP
-signature = { user:<text> | auto } \fB(G)\fR
+signature = <text> \fB(G)\fR
 .RS 4
-Specify a server signature\&. This option is useful while running multiple independent instances of afpd on one machine (eg\&. in clustered environments, to provide fault isolation etc\&.)\&. Default is "auto"\&. "auto" signature type allows afpd generating signature and saving it to
-:ETCDIR:/afp_signature\&.conf
-automatically (based on random number)\&. "host" signature type switches back to "auto" because it is obsoleted\&. "user" signature type allows administrator to set up a signature string manually\&. The maximum length is 16 characters\&.
+Specify a server signature\&. The maximum length is 16 characters\&. This option is useful for clustered environments, to provide fault isolation etc\&. By default, afpd generate signature and saving it to
+:STATEDIR:/netatalk/afp_signature\&.conf
+automatically (based on random number)\&. See also asip\-status\&.pl(1)\&.
+.RE
 .PP
-\fBExample.\ \&Three server definitions using 2 different server signatures\fR
-.sp
-.if n \{\
+solaris share reservations = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(G)\fR
 .RS 4
-.\}
-.nf
-first \-signature user:USERS
-                  second \-signature user:USERS
-                  third \-signature user:ADMINS
-.fi
-.if n \{\
+Use share reservations on Solaris\&. Solaris CIFS server uses this too, so this makes a lock coherent multi protocol server\&.
 .RE
-.\}
-
-
-First two servers will appear as one logical AFP service to the clients \- if user logs in to first one and then connects to second one, session will be automatically redirected to the first one\&. But if client connects to first and then to third, will be asked for password twice and will see resources of both servers\&. Traditional method of signature generation causes two independent afpd instances to have the same signature and thus cause clients to be redirected automatically to server (s)he logged in first\&.
+.PP
+vol dbpath = \fIpath\fR \fB(G)\fR
+.RS 4
+Sets the database information to be stored in path\&. You have to specifiy a writable location, even if the volume is read only\&. The default is
+:STATEDIR:/netatalk/CNID/\&.
 .RE
 .PP
 volnamelen = \fInumber\fR \fB(G)\fR
@@ -642,8 +592,8 @@ Max length of UTF8\-MAC volume name for Mac OS X\&. Note that Hangul is especial
 .\}
 .nf
 73:  limit of Mac OS X 10\&.1
-                80:  limit for Mac OS X 10\&.4/10\&.5 (default)
-                255: limit of spec
+80:  limit of Mac OS X 10\&.4/10\&.5 (default)
+255: limit of recent Mac OS X
 .fi
 .if n \{\
 .RE
@@ -651,6 +601,13 @@ Max length of UTF8\-MAC volume name for Mac OS X\&. Note that Hangul is especial
 .sp
 Mac OS 9 and earlier are not influenced by this, because Maccharset volume name is always limitted to 27 bytes\&.
 .RE
+.PP
+vol preset = \fIname\fR \fB(G)/(V)\fR
+.RS 4
+Use section
+\fBname\fR
+as option preset for all volumes (when set in the [Global] section) or for one volume (when set in that volume\'s section)\&.
+.RE
 .SS "Logging Options"
 .PP
 log file = \fIlogfile\fR \fB(G)\fR
@@ -662,7 +619,7 @@ If not specified Netatalk logs to syslogs daemon facilify\&. Otherwise it logs t
 log level = \fItype:level [type:level \&.\&.\&.]\fR \fB(G)\fR, log level = \fItype:level,[type:level, \&.\&.\&.]\fR \fB(G)\fR
 .RS 4
 Specify that any message of a loglevel up to the given
-\fBloglevel\fR
+\fBlog level\fR
 should be logged\&.
 .sp
 By default afpd logs to syslog with a default logging setup equivalent to
@@ -687,110 +644,143 @@ Both logtype and loglevels are case insensitive\&.
 .sp .5v
 .RE
 .RE
-.SS "Server Options"
+.SS "Debug Parameters"
 .PP
-server options =
-\fIoption,[option,\&.\&.\&.]\fR
-\fB(G)\fR
+These options are useful for debugging only\&.
 .PP
-server options =
-\fIoption [option \&.\&.\&.]\fR
-\fB(G)\fR
+tickleval = \fInumber\fR \fB(G)\fR
+.RS 4
+Sets the tickle timeout interval (in seconds)\&. Defaults to 30\&.
+.RE
 .PP
-This allows multiple options to be specified in a comma or space delimited format\&. The available options are:
+timeout = \fInumber\fR \fB(G)\fR
+.RS 4
+Specify the number of tickles to send before timing out a connection\&. The default is 4, therefore a connection will timeout after 2 minutes\&.
+.RE
 .PP
-[no]savepassword \fB(G)\fR
+client polling = \fIBOOLEAN\fR (default: \fIno\fR) \fB(G)\fR
 .RS 4
-Enables or disables the ability of clients to save passwords locally
+With this option enabled, afpd won\'t advertise that it is capable of server notifications, so that connected clients poll the server every 10 seconds to detect changes in opened server windows\&.
+\fINote\fR: Depending on the number of simultaneously connected clients and the network\'s speed, this can lead to a significant higher load on your network!
+.sp
+Do not use this option any longer as present Netatalk correctly supports server notifications, allowing connected clients to update folder listings in case another client changed the contents\&.
 .RE
+.SS "Options for ACL handling"
+.PP
+For a basic mode of operation there\'s nothing to configure\&. afpd reads ACLs on the fly, calculating effective permissions and returning the calculated permissions via the so called UARights permission bits\&. On a Mac the Finder uses these bits to adjust permission in Finder windows\&. For example folder whos UNIX mode would only result in in read\-only permissions for a user will not be displayed with a read\-only icon and the user will be able to write to the folder given the folder has an ACL giving the user write access\&.
+.PP
+However, neither in Finder "Get Info" windows nor in Terminal will you be able to see the ACLs, that\'s a result of how ACLs in OS X are designed\&. If you want to be able to display ACLs on the client, things get more involed as you must then setup both client and server to be part on a authentication domain (directory service, eg LDAP, OpenDirectory)\&. The reason is, that in OS X ACLs are bound to UUIDs, not just uid\'s or gid\'s\&. Therefor afpd must be able to map every filesystem uid and gid to a UUID so that it can return the server side ACLs which are bound to UNIX uid and gid mapped to OS X UUIDs\&. Get it? Read on\&.
+.PP
+Netatalk can query a directory server using LDAP queries\&. Either the directory server already provides an UUID attribute for user and groups (Active Directory, Open Directory) or you reuse an unused attribute (or add a new one) to you directory server (eg OpenLDAP)\&.
+.PP
+The following LDAP options must be configured for Netatalk:
+.PP
+ldap auth method = \fInone|simple|sasl\fR \fB(G)\fR
+.RS 4
+Authentication method:
+\fBnone | simple | sasl\fR
 .PP
-[no]setpassword \fB(G)\fR
+none
 .RS 4
-Enables or disables the ability of clients to change their passwords via chooser or the "connect to server" dialog
+anonymous LDAP bind
 .RE
 .PP
-advertise_ssh \fB(G)\fR
+simple
 .RS 4
-Allows Mac OS X clients (10\&.3\&.3\-10\&.4) to automagically establish a tunneled AFP connection through SSH\&. If this option is set, the server\'s answers to client\'s FPGetSrvrInfo requests contain an additional entry\&. It depends on both client\'s settings and a correctly configured and running
-\fBsshd\fR(8)
-on the server to let things work\&.
-.if n \{\
-.sp
-.\}
+simple LDAP bind
+.RE
+.PP
+sasl
 .RS 4
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBNote\fR
-.ps -1
-.br
-Setting this option is not recommended since globally encrypting AFP connections via SSH will increase the server\'s load significantly\&. On the other hand, Apple\'s client side implementation of this feature in MacOS X versions prior to 10\&.3\&.4 contained a security flaw\&.
-.sp .5v
+SASL\&. Not yet supported !
 .RE
 .RE
 .PP
-nozeroconf \fB(G)\fR
+ldap auth dn = \fIdn\fR \fB(G)\fR
 .RS 4
-Disable automatic Zeroconf
-service registration if support was compiled in\&.
+Distinguished Name of the user for simple bind\&.
 .RE
 .PP
-client_polling \fB(G)\fR
+ldap auth pw = \fIpassword\fR \fB(G)\fR
 .RS 4
-With this switch enabled, afpd won\'t advertise that it is capable of server notifications, so that connected clients poll the server every 10 seconds to detect changes in opened server windows\&.
-\fINote\fR: Depending on the number of simultaneously connected clients and the network\'s speed, this can lead to a significant higher load on your network!
-.if n \{\
+Distinguished Name of the user for simple bind\&.
+.RE
+.PP
+ldap server = \fIhost\fR \fB(G)\fR
+.RS 4
+Name or IP address of your LDAP Server\&. This is only needed for explicit ACL support in order to be able to query LDAP for UUIDs\&.
 .sp
-.\}
+You can use
+\fBafpldaptest\fR(1)
+to syntactically check your config\&.
+.RE
+.PP
+ldap userbase = \fIbase dn\fR \fB(G)\fR
 .RS 4
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBNote\fR
-.ps -1
-.br
-Do not use this option any longer as Netatalk 2\&.x correctly supports server notifications, allowing connected clients to update folder listings in case another client changed the contents\&.
-.sp .5v
+DN of the user container in LDAP\&.
 .RE
+.PP
+ldap userscope = \fIscope\fR \fB(G)\fR
+.RS 4
+Search scope for user search:
+\fBbase | one | sub\fR
 .RE
 .PP
-[no]icon \fB(G)\fR
+ldap groupbase = \fIbase dn\fR \fB(G)\fR
 .RS 4
-[Don\'t] Use the platform\-specific icon\&. Recent Mac OS don\'t display it any longer\&.
+DN of the group container in LDAP\&.
 .RE
 .PP
-keepsessions \fB(G)\fR
+ldap groupscope = \fIscope\fR \fB(G)\fR
 .RS 4
-Enable "Continuous AFP Service"\&. This means the ability to stop the master afpd process with a SIGQUIT signal, possibly install an afpd update and start the afpd process\&. Existing AFP sessions afpd processes will remain unaffected\&. Technically they will be notified of the master afpd shutdown, sleep 15\-20 seconds and then try to reconnect their IPC channel to the master afpd process\&. If this reconnect fails, the sessions are in an undefined state\&. Therefor it\'s absolutely critical to restart the master process in time!
+Search scope for user search:
+\fBbase | one | sub\fR
 .RE
 .PP
-noacl2maccess \fB(G)\fR
+ldap uuid attr = \fIdn\fR \fB(G)\fR
 .RS 4
-Don\'t map filesystem ACLs to effective permissions\&.
+Name of the LDAP attribute with the UUIDs\&.
+.sp
+Note: this is used both for users and groups\&.
 .RE
-.SS "Debug Parameters"
 .PP
-These options are useful for debugging only\&.
+ldap name attr = \fIdn\fR \fB(G)\fR
+.RS 4
+Name of the LDAP attribute with the users short name\&.
+.RE
 .PP
-tickleval = \fInumber\fR \fB(G)\fR
+ldap uuid string = \fISTRING\fR \fB(G)\fR
 .RS 4
-Sets the tickle timeout interval (in seconds)\&. Defaults to 30\&.
+Format of the uuid string in the directory\&. A series of x and \-, where every x denotes a value 0\-9a\-f and every \- is a seperator\&.
+.sp
+Default: xxxxxxxx\-xxxx\-xxxx\-xxxx\-xxxxxxxxxxxx
 .RE
 .PP
-timeout = \fInumber\fR \fB(G)\fR
+ldap uuid encoding = \fIstring | ms\-guid (default: string)\fR \fB(G)\fR
 .RS 4
-Specify the number of tickles to send before timing out a connection\&. The default is 4, therefore a connection will timeout after 2 minutes\&.
+Format of the UUID of the LDAP attribute, allows usage of the binary objectGUID fields from Active Directory\&. If left unspecified, string is the default, which passes through the ASCII UUID returned by most other LDAP stores\&. If set to ms\-guid, the internal UUID representation is converted to and from the binary format used in the objectGUID attribute found on objects in Active Directory when interacting with the server\&.
+.PP
+string
+.RS 4
+UUID is a string, use with eg OpenDirectory\&.
+.RE
+.PP
+ms\-guid
+.RS 4
+Binary objectGUID from Active Directory
+.RE
+.RE
+.PP
+ldap group attr = \fIdn\fR \fB(G)\fR
+.RS 4
+Name of the LDAP attribute with the groups short name\&.
 .RE
 .SH "EXPLANATION OF VOLUME PARAMETERS"
 .SS "Parameters"
 .PP
-The section name defines the volume name which is the name that appears in the Chooser ot the "connect to server" dialog on Macintoshes to represent the appropriate share\&. No two volumes may have the same name\&. The volume name cannot contain the
+The section name defines the volume name which is the name that appears in the Chooser or the "connect to server" dialog on Macintoshes to represent the appropriate share\&. No two volumes may have the same name\&. The volume name cannot contain the
 \':\'
-character\&. The volume name is mangled if it is very long\&. Mac charset volume name is limited to 27 characters\&. UTF8\-MAC volume name is limited to \-volnamelen parameter in afpd\&.conf
+character\&. The volume name is mangled if it is very long\&. Mac charset volume name is limited to 27 characters\&. UTF8\-MAC volume name is limited to volnamelen parameter\&.
 .PP
 path = \fIPATH\fR \fB(V)\fR
 .RS 4
@@ -798,7 +788,7 @@ The path name must be a fully qualified path name, or a path name using either t
 .sp
 The volume name is the name that appears in the Chooser ot the "connect to server" dialog on Macintoshes to represent the appropriate share\&. If volumename is unspecified, the last component of pathname is used\&. No two volumes may have the same name\&. If there are spaces in the name, it should be in quotes (i\&.e\&. "File Share")\&. The volume name cannot contain the
 \':\'
-character\&. The volume name is mangled if it is very long\&. Mac charset volume name is limited to 27 characters\&. UTF8\-MAC volume name is limited to \-volnamelen parameter in afpd\&.conf
+character\&. The volume name is mangled if it is very long\&. Mac charset volume name is limited to 27 characters\&. UTF8\-MAC volume name is limited to volnamelen parameter\&.
 .RE
 .PP
 appledouble = \fIea|v2\fR \fB(V)\fR
@@ -809,9 +799,9 @@ Specify the format of the metadata files, which are used for saving Mac resource
 .PP
 vol size limit = \fIsize in MiB\fR \fB(V)\fR
 .RS 4
-Useful for TimeMachine: limits the reported volume size, thus preventing TM from using the whole real disk space for backup\&. Example: "vol size limit = 1000" would limit the reported disk space to 1 GB\&.
+Useful for Time Machine: limits the reported volume size, thus preventing Time Machine from using the whole real disk space for backup\&. Example: "vol size limit = 1000" would limit the reported disk space to 1 GB\&.
 \fBIMPORTANT: \fR
-This is an approximated calculation taking into accout the contents of TM sparsebundle images\&. Therefor you MUST NOT use this volume to store other content when using this option, because it would NOT be accounted\&. The calculation works by reading the band size from the Info\&.plist XML file of the sparsebundle, reading the bands/ directory counting the number of band files, and then multiplying one with the other\&.
+This is an approimated calculation taking into accout the contents of Time Machine sparsebundle images\&. Therefor you MUST NOT use this volume to store other content when using this option, because it would NOT be accounted\&. The calculation works by reading the band size from the Info\&.plist XML file of the sparsebundle, reading the bands/ directory counting the number of band files, and then multiplying one with the other\&.
 .RE
 .PP
 valid users = \fIusers/groups\fR \fB(V)\fR
@@ -824,14 +814,14 @@ invalid users = \fIusers/groups\fR \fB(V)\fR
 The deny option specifies users and groups who are not allowed access to the share\&. It follows the same format as the "valid users" option\&.
 .RE
 .PP
-hosts allow = \fIIP host address/IP netmask bits[, \&.\&.\&. ]\fR \fB(V)\fR
+hosts allow = \fIIP host address/IP netmask bits [ \&.\&.\&. ]\fR \fB(V)\fR
 .RS 4
 Only listed hosts and networks are allowed, all others are rejected\&. The network address may be specified either in dotted\-decimal format for IPv4 or in hexadecimal format for IPv6\&.
 .sp
 Example: hosts allow = 10\&.1\&.0\&.0/16 10\&.2\&.1\&.100 2001:0db8:1234::/48
 .RE
 .PP
-hosts deny = \fIIP host address/IP netmask bits [\&.\&.\&.]\fR \fB(V)\fR
+hosts deny = \fIIP host address/IP netmask bits [ \&.\&.\&. ]\fR \fB(V)\fR
 .RS 4
 Listed hosts and nets are rejected, all others are allowed\&.
 .sp
@@ -843,13 +833,6 @@ cnid scheme = \fIbackend\fR \fB(V)\fR
 set the CNID backend to be used for the volume, default is [:DEFAULT_CNID_SCHEME:] available schemes: [:COMPILED_BACKENDS:]
 .RE
 .PP
-cnid server = \fIhost[:port]\fR \fB(V)\fR
-.RS 4
-Query this servername or IP address (default:\fIlocalhost\fR) and port (default:
-\fI4700\fR) for CNIDs\&. Only used with CNID backend "\fIdbd\fR"\&. This option here overrides any setting from
-afp\&.conf:\fBcnid server\fR\&.
-.RE
-.PP
 ea = \fInone|auto|sys|ad\fR
 .RS 4
 Specify how Extended Attributes
@@ -862,14 +845,10 @@ auto
 Try
 \fBsys\fR
 (by setting an EA on the shared directory itself), fallback to
-\fBad\fR\&. Requires writeable volume for perfoming test\&.
-\fBoptions:ro\fR
-overwrites
+\fBad\fR\&. Requires writeable volume for perfoming test\&. "\fBread only = yes\fR" overwrites
 \fBauto\fR
 with
-\fBnone\fR\&. Use explicit
-\fBea:sys|ad\fR
-for read\-only volumes where appropiate\&.
+\fBnone\fR\&. Use explicit "\fBea = sys|ad\fR" for read\-only volumes where appropiate\&.
 .RE
 .PP
 sys
@@ -894,7 +873,7 @@ mac charset = \fICHARSET\fR \fB(V)\fR
 .RS 4
 specifies the Mac client charset for this Volume, e\&.g\&.
 \fIMAC_ROMAN\fR,
-\fIMAC_CYRILLIC\fR\&. If not specified the global setting is applied\&. This setting is only required if you need volumes, where the Mac charset differs from the one globally set in the global section
+\fIMAC_CYRILLIC\fR\&. If not specified the global setting is applied\&. This setting is only required if you need volumes, where the Mac charset differs from the one globally set in the [Global] section\&.
 .RE
 .PP
 casefold = \fBoption\fR
@@ -925,8 +904,7 @@ Add(or) with the client requested permissions:
 \fBfile perm\fR
 is for files only,
 \fBdirectory perm\fR
-is for directories only\&. Use without
-\fBvol options = noupriv\fR\&.
+is for directories only\&. Don\'t use with "\fBunix priv = no\fR"\&.
 .PP
 \fBExample.\ \&Volume for a collaborative workgroup\fR
 .sp
@@ -945,8 +923,7 @@ directory perm = 0770
 .PP
 umask = \fImode\fR \fB(V)\fR
 .RS 4
-set perm mask\&. Use without
-\fBvol options = noupriv\fR\&.
+set perm mask\&. Don\'t use with "\fBunix priv = no\fR"\&.
 .RE
 .PP
 preexec = \fIcommand\fR \fB(V)\fR
@@ -985,92 +962,91 @@ hide files and directories,where the path matches one of the \'/\' delimited vet
 .RE
 .SS "Volume options"
 .PP
-vol options =
-\fIoption,[option,\&.\&.\&.]\fR
-\fB(V)\fR
-.PP
-vol options =
-\fIoption [option \&.\&.\&.]\fR
-\fB(V)\fR
+Boolean volume options\&.
 .PP
-This allows multiple options to be specified in a comma or space delimited format\&. The available options are:
+acls = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(V)\fR
+.RS 4
+Whether to flag volumes as supporting ACLs\&. If ACL support is compiled in, this is yes by default\&.
+.RE
 .PP
-searchdb \fB(V)\fR
+cnid dev = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(V)\fR
 .RS 4
-Use fast CNID database namesearch instead of slow recursive filesystem search\&. Relies on a consistent CNID database, ie Samba or local filesystem access lead to inaccurate or wrong results\&. Works only for "dbd" CNID db volumes\&.
+Whether to use the device number in the CNID backends\&. Helps when the device number is not constant across a reboot, eg cluster, \&.\&.\&.
 .RE
 .PP
-tm \fB(V)\fR
+convert appledouble = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(V)\fR
 .RS 4
-Enable Time Machine suport for this volume\&.
+Whether automatic conversion from
+\fBappledouble = v2\fR
+to
+\fBappledouble = ea\fR
+is performed when accessing filesystems from clients\&. This is generally useful, but costs some performance\&. It\'s recommdable to run
+\fBdbd\fR
+on volumes and do the conversion with that\&. Then this option can be set to no\&.
 .RE
 .PP
-invisibledots \fB(V)\fR
+invisible dots = \fIBOOLEAN\fR (default: \fIno\fR) \fB(V)\fR
 .RS 4
-make dot files invisible\&. Use without
-\fBnousedots\fR\&.
+make dot files invisible\&.
 .RE
 .PP
-nonetids \fB(V)\fR
+network ids = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(V)\fR
 .RS 4
-Try to force ACL unawareness on the client\&.
+Whether the server support network ids\&. Setting this to
+\fIno\fR
+will result in the client not using ACL AFP functions\&.
 .RE
 .PP
-preexec_close \fB(V)\fR
+preexec close = \fIBOOLEAN\fR (default: \fIno\fR) \fB(V)\fR
 .RS 4
-a non\-zero return code from preexec close the volume being immediately, preventing clients to mount/see the volume in question\&.
+A non\-zero return code from preexec close the volume being immediately, preventing clients to mount/see the volume in question\&.
 .RE
 .PP
-ro \fB(V)\fR
+read only = \fIBOOLEAN\fR (default: \fIno\fR) \fB(V)\fR
 .RS 4
-Specifies the share as being read only for all users\&. The \&.AppleDB directory has to be writeable, you can use the
-\fBvol dbpath\fR
-option to relocate it\&. Overwrites
+Specifies the share as being read only for all users\&. Overwrites
 \fBea = auto\fR
 with
 \fBea = none\fR
 .RE
 .PP
-root_preexec_close \fB(V)\fR
-.RS 4
-a non\-zero return code from root_preexec closes the volume immediately, preventing clients to mount/see the volume in question\&.
-.RE
-.PP
-noupriv \fB(V)\fR
+root preexec close= \fIBOOLEAN\fR (default: \fIno\fR) \fB(V)\fR
 .RS 4
-Don\'t use AFP3 unix privileges\&. This should not be set for OS X clients\&. See also: "\fBfile perm =\fR" and "\fBdirectory perm =\fR"\&.
+A non\-zero return code from root_preexec closes the volume immediately, preventing clients to mount/see the volume in question\&.
 .RE
 .PP
-nousedots \fB(V)\fR
+search db = \fIBOOLEAN\fR (default: \fIno\fR) \fB(V)\fR
 .RS 4
-do :hex translation for dot files\&. See also
-\fBinvisibledots\fR\&.
+Use fast CNID database namesearch instead of slow recursive filesystem search\&. Relies on a consistent CNID database, ie Samba or local filesystem access lead to inaccurate or wrong results\&. Works only for "dbd" CNID db volumes\&.
 .RE
 .PP
-nodev \fB(V)\fR
+stat vol = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(V)\fR
 .RS 4
-always use 0 for device number, helps when the device number is not constant across a reboot, cluster, \&.\&.\&.
+Whether to stat volume path when enumerating volumes list, useful for automounting or volumes created by a preexec script\&.
 .RE
 .PP
-nohex \fB(V)\fR
+time machine = \fIBOOLEAN\fR (default: \fIno\fR) \fB(V)\fR
 .RS 4
-Disables :hex translations for anything except dot files\&. This option makes the
-\'/\' character illegal\&.
+Whether to enable Time Machine suport for this volume\&.
 .RE
 .PP
-nostat \fB(V)\fR
+unix priv = \fIBOOLEAN\fR (default: \fIyes\fR) \fB(V)\fR
 .RS 4
-don\'t stat volume path when enumerating volumes list, useful for automounting or volumes created by a preexec script\&.
+Whether to use AFP3 UNIX privileges\&. This should be set for OS X clients\&. See also:
+\fBfile perm\fR,
+\fBdirectory perm\fR
+and
+\fBumask\fR\&.
 .RE
 .SH "CNID BACKENDS"
 .PP
 The AFP protocol mostly refers to files and directories by ID and not by name\&. Netatalk needs a way to store these ID\'s in a persistent way, to achieve this several different CNID backends are available\&. The CNID Databases are by default located in the
-\&.AppleDB
-folder in the volume root\&.
+:STATEDIR:/netatalk/CNID/(volumename)/\&.AppleDB/
+directory\&.
 .PP
 cdb
 .RS 4
-"Concurrent database", backend is based on Sleepycat\'s Berkely DB\&. With this backend several
+"Concurrent database", backend is based on Oracle Berkely DB\&. With this backend several
 \fBafpd\fR
 deamons access the CNID database directly\&. Berkeley DB locking is used to synchronize access, if more than one
 \fBafpd\fR
@@ -1093,7 +1069,9 @@ last
 .RS 4
 This backend is an exception, in terms of ID persistency\&. ID\'s are only valid for the current session\&. This is basically what
 \fBafpd\fR
-did in the 1\&.5 (and 1\&.6) versions\&. This backend is still available, as it is useful for e\&.g\&. sharing cdroms\&.
+did in the 1\&.5 (and 1\&.6) versions\&. This backend is still available, as it is useful for e\&.g\&. sharing cdroms\&. Starting with Netatalk 3\&.0, it becomes the
+\fIread only mode\fR
+automatically\&.
 .sp
 \fBWarning\fR: It is
 \fINOT\fR
@@ -1110,22 +1088,25 @@ might show that there are other CNID backends available, be warned those are lik
 With OS X Apple introduced the AFP3 protocol\&. One of the most important changes was that AFP3 uses unicode names encoded as UTF\-8 decomposed\&. Previous AFP/OS versions used codepages, like MacRoman, MacCentralEurope, etc\&.
 .PP
 \fBafpd\fR
-needs a way to preserve extended macintosh characters, or characters illegal in unix filenames, when saving files on a unix filesystem\&. Earlier versions used the the so called CAP encoding\&. An extended character (>0x7F) would be converted to a :xx sequence, e\&.g\&. the Apple Logo (MacRoman: 0XF0) was saved as
+needs a way to preserve extended macintosh characters, or characters illegal in unix filenames, when saving files on a unix filesystem\&. Earlier versions used the the so called CAP encoding\&. An extended character (>0x7F) would be converted to a :xx sequence, e\&.g\&. the Apple Logo (MacRoman: 0xF0) was saved as
 :f0\&. Some special characters will be converted as to :xx notation as well\&. \'/\' will be encoded to
 :2f, if
 \fBusedots\fR
 is not specified, a leading dot \'\&.\' will be encoded as
 :2e\&.
 .PP
-This version now uses UTF\-8 as the default encoding for names\&. Special characters, like \'/\' and a leading \'\&.\' will still be CAP style encoded \&.
+This version now uses UTF\-8 as the default encoding for names\&. \'/\' will be converted to \':\'\&.
 .PP
 The
 \fBvol charset\fR
-option will allow you to select another volume encoding\&. E\&.g\&. for western users another useful setting could be volcharset ISO\-8859\-15\&.
-\fBapfd\fR
+option will allow you to select another volume encoding\&. E\&.g\&. for western users another useful setting could be vol charset ISO\-8859\-15\&.
+\fBafpd\fR
 will accept any
 \fBiconv\fR(1)
-provided charset\&. If a character cannot be converted from the mac codepage to the selected volcharset, afpd will save it as a CAP encoded character\&. For AFP3 clients,
+provided charset\&. If a character cannot be converted from the
+\fBmac charset\fR
+to the selected
+\fBvol charset\fR, afpd will save it as a CAP encoded character\&. For AFP3 clients,
 \fBafpd\fR
 will convert the UTF\-8
 character to