r570: Remove lots of globals to handle case issues - move them
[kai/samba.git] / source3 / smbd / service.c
index 08b6648249657270d9840e46cccd373d3dc65d53..93b017e94c729989407e39db35d8b4a58762d004 100644 (file)
 #include "includes.h"
 
 extern struct timeval smb_last_time;
-extern int case_default;
-extern BOOL case_preserve;
-extern BOOL short_case_preserve;
-extern BOOL case_mangle;
-extern BOOL case_sensitive;
-extern BOOL use_mangled_map;
 extern userdom_struct current_user_info;
 
 
@@ -62,13 +56,7 @@ BOOL set_current_service(connection_struct *conn,BOOL do_chdir)
 
        last_conn = conn;
 
-       case_default = lp_defaultcase(snum);
-       case_preserve = lp_preservecase(snum);
-       short_case_preserve = lp_shortpreservecase(snum);
-       case_mangle = lp_casemangle(snum);
-       case_sensitive = lp_casesensitive(snum);
        magic_char = lp_magicchar(snum);
-       use_mangled_map = (*lp_mangled_map(snum) ? True:False);
        return(True);
 }
 
@@ -357,6 +345,12 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
        conn->printer = (strncmp(dev,"LPT",3) == 0);
        conn->ipc = ((strncmp(dev,"IPC",3) == 0) || strequal(dev,"ADMIN$"));
        conn->dirptr = NULL;
+
+       /* Case options for the share. */
+       conn->case_sensitive = lp_casesensitive(snum);
+       conn->case_preserve = lp_preservecase(snum);
+       conn->short_case_preserve = lp_shortpreservecase(snum);
+
        conn->veto_list = NULL;
        conn->hide_list = NULL;
        conn->veto_oplock_list = NULL;