diff options
author | Ralph Boehme <slow@samba.org> | 2016-11-17 14:24:07 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2017-01-09 19:31:20 +0100 |
commit | 18591edafad17172502cc9b831d58d27f9076bbc (patch) | |
tree | 439957c930a6a47f80bd14c9dd1c3f50c96e6500 | |
parent | 19eae537739daf95d10b67d9888769e7bf895d76 (diff) | |
download | samba-18591edafad17172502cc9b831d58d27f9076bbc.tar.gz |
s3/smbd: new "mangled names" setting "illegal"
This does mangling for names with illegal NTFS characters, but not for
names longer then 8.3:
Name mangling with mangled named = yes
======================================
Mangled | Short | Name
----------------------------
| | foo
| yes | 123456789
yes | | foo:bar
Name mangling with mangled named = illegal
==========================================
Mangled | Short | Name
----------------------------
| | foo
| | 123456789
yes | | foo:bar
Setting "mangled names = illegal" is the most sensible setting for
modern clients that don't use the shortname anymore.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
-rw-r--r-- | docs-xml/smbdotconf/filename/manglednames.xml | 20 | ||||
-rw-r--r-- | lib/param/loadparm.h | 2 | ||||
-rw-r--r-- | lib/param/param_table.c | 1 |
3 files changed, 21 insertions, 2 deletions
diff --git a/docs-xml/smbdotconf/filename/manglednames.xml b/docs-xml/smbdotconf/filename/manglednames.xml index bd5d97f5e8a..972834e561a 100644 --- a/docs-xml/smbdotconf/filename/manglednames.xml +++ b/docs-xml/smbdotconf/filename/manglednames.xml @@ -1,5 +1,6 @@ <samba:parameter name="mangled names" - type="boolean" + type="enum" + enumlist="enum_mangled_names" context="S" parm="1" xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"> @@ -11,6 +12,22 @@ <para>See the section on <smbconfoption name="name mangling"/> for details on how to control the mangling process.</para> + <para>Possible option settings are</para> + + <itemizedlist> + <listitem><para><emphasis>yes (default)</emphasis> - + enables name mangling for all not DOS 8.3 conforming + names.</para></listitem> + + <listitem><para><emphasis>no</emphasis> - disables any + name mangling.</para></listitem> + + <listitem><para><emphasis>illegal</emphasis> - does + mangling for names with illegal NTFS characters. This + is the most sensible setting for modern clients that + don't use the shortname anymore.</para></listitem> + </itemizedlist> + <para>If mangling is used then the mangling method is as follows:</para> <itemizedlist> @@ -56,4 +73,5 @@ do not change between sessions.</para> </description> <value type="default">yes</value> +<value type="example">illegal</value> </samba:parameter> diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h index 2cd5ccac1c2..6d01b37f764 100644 --- a/lib/param/loadparm.h +++ b/lib/param/loadparm.h @@ -237,7 +237,7 @@ enum inheritowner_options { }; /* mangled names options */ -enum mangled_names_options {MANGLED_NAMES_NO, MANGLED_NAMES_YES}; +enum mangled_names_options {MANGLED_NAMES_NO, MANGLED_NAMES_YES, MANGLED_NAMES_ILLEGAL}; /* * Default passwd chat script. diff --git a/lib/param/param_table.c b/lib/param/param_table.c index 8eb791aa2c4..95c3b8c6188 100644 --- a/lib/param/param_table.c +++ b/lib/param/param_table.c @@ -319,6 +319,7 @@ static const struct enum_list enum_mangled_names[] = { {MANGLED_NAMES_NO, "no"}, {MANGLED_NAMES_NO, "false"}, {MANGLED_NAMES_NO, "0"}, + {MANGLED_NAMES_ILLEGAL, "illegal"}, {MANGLED_NAMES_YES, "yes"}, {MANGLED_NAMES_YES, "true"}, {MANGLED_NAMES_YES, "1"}, |