summaryrefslogtreecommitdiff
path: root/source3/smbd/service.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-02-03 02:02:54 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:55:32 -0500
commit91ef89daa03551fa17ff78adb9f36420057948da (patch)
treec0ad7eecb05150e9c1e8052db354f15fe6e563a8 /source3/smbd/service.c
parent4523bd1446dc411a29b82bdd13e564979b0d5d18 (diff)
downloadsamba-91ef89daa03551fa17ff78adb9f36420057948da.tar.gz
samba-91ef89daa03551fa17ff78adb9f36420057948da.tar.bz2
samba-91ef89daa03551fa17ff78adb9f36420057948da.zip
r5183: Ensure we correctly set the per-connection "case_sensitive" setting.
Rename dptrs_open to the more correct dirhandles_open. Remove old #if 1. Jeremy. (This used to be commit c43bae306a18f5716acbe8571f4f414873400cb1)
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r--source3/smbd/service.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index 2e60adc636..f199fe3ade 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -60,17 +60,26 @@ BOOL set_current_service(connection_struct *conn, uint16 flags, BOOL do_chdir)
last_flags = flags;
/* Obey the client case sensitivity requests - only for clients that support it. */
- if (lp_casesensitive(snum) == Auto) {
- /* We need this uglyness due to DOS/Win9x clients that lie about case insensitivity. */
- enum remote_arch_types ra_type = get_remote_arch();
- if ((ra_type != RA_SAMBA) && (ra_type != RA_CIFSFS)) {
- /* Client can't support per-packet case sensitive pathnames. */
+ switch (lp_casesensitive(snum)) {
+ case Auto:
+ {
+ /* We need this uglyness due to DOS/Win9x clients that lie about case insensitivity. */
+ enum remote_arch_types ra_type = get_remote_arch();
+ if ((ra_type != RA_SAMBA) && (ra_type != RA_CIFSFS)) {
+ /* Client can't support per-packet case sensitive pathnames. */
+ conn->case_sensitive = False;
+ } else {
+ conn->case_sensitive = !(flags & FLAG_CASELESS_PATHNAMES);
+ }
+ }
+ break;
+ case True:
+ conn->case_sensitive = True;
+ break;
+ default:
conn->case_sensitive = False;
- } else {
- conn->case_sensitive = !(flags & FLAG_CASELESS_PATHNAMES);
- }
+ break;
}
-
magic_char = lp_magicchar(snum);
return(True);
}