summaryrefslogtreecommitdiff
path: root/docs/docbook/smbdotconf/filename/manglednames.xml
blob: 4ec088d16f2a3b583181f529d92ee89c7984486a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<samba:parameter name="mangled names"
                 context="S"
                 xmlns:samba="http://samba.org/common">
<listitem>
	<para>This controls whether non-DOS names under UNIX 
	should be mapped to DOS-compatible names (&quot;mangled&quot;) and made visible, 
	or whether non-DOS names should simply be ignored.</para>

	<para>See the section on <link linkend="NAMEMANGLINGSECT">NAME MANGLING</link> for 
	details on how to control the mangling process.</para>

	<para>If mangling is used then the mangling algorithm is as follows:</para>

	<itemizedlist>
		<listitem>
			<para>The first (up to) five alphanumeric characters 
			before the rightmost dot of the filename are preserved, forced 
			to upper case, and appear as the first (up to) five characters 
			of the mangled name.</para>
		</listitem>
		
		<listitem>
			<para>A tilde &quot;~&quot; is appended to the first part of the mangled
			name, followed by a two-character unique sequence, based on the
			original root name (i.e., the original filename minus its final
			extension). The final extension is included in the hash calculation
			only if it contains any upper case characters or is longer than three
			characters.</para>

			<para>Note that the character to use may be specified using 
			the <link linkend="MANGLINGCHAR"><parameter moreinfo="none">mangling char</parameter>
			</link> option, if you don't like '~'.</para>
		</listitem>

		<listitem>
			<para>The first three alphanumeric characters of the final 
			extension are preserved, forced to upper case and appear as the 
			extension of the mangled name. The final extension is defined as that 
			part of the original filename after the rightmost dot. If there are no 
			dots in the filename, the mangled name will have no extension (except 
			in the case of &quot;hidden files&quot; - see below).</para>
		</listitem>

		<listitem>
			<para>Files whose UNIX name begins with a dot will be 
			presented as DOS hidden files. The mangled name will be created as 
			for other filenames, but with the leading dot removed and &quot;___&quot; as 
			its extension regardless of actual original extension (that's three 
			underscores).</para>
		</listitem>
	</itemizedlist>

	<para>The two-digit hash value consists of upper case alphanumeric characters.</para>

	<para>This algorithm can cause name collisions only if files 
	in a directory share the same first five alphanumeric characters. 
	The probability of such a clash is 1/1300.</para>

	<para>The name mangling (if enabled) allows a file to be 
	copied between UNIX directories from Windows/DOS while retaining 
	the long UNIX filename. UNIX files can be renamed to a new extension 
	from Windows/DOS and will retain the same basename. Mangled names 
	do not change between sessions.</para>

	<para>Default: <command moreinfo="none">mangled names = yes</command></para>
</listitem>
</samba:parameter>