Changeset 989 for vendor/current/source3/smbd/service.c
- Timestamp:
- Nov 25, 2016, 8:04:54 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source3/smbd/service.c
r988 r989 182 182 { 183 183 int snum; 184 enum remote_arch_types ra_type; 184 185 185 186 if (!conn) { … … 207 208 last_flags = flags; 208 209 209 /* Obey the client case sensitivity requests - only for clients that support it. */ 210 /* 211 * Obey the client case sensitivity requests - only for clients that 212 * support it. */ 210 213 switch (lp_case_sensitive(snum)) { 211 case Auto: 212 { 213 /* We need this uglyness due to DOS/Win9x clients that lie about case insensitivity. */ 214 enum remote_arch_types ra_type = get_remote_arch(); 215 if ((ra_type != RA_SAMBA) && (ra_type != RA_CIFSFS)) { 216 /* Client can't support per-packet case sensitive pathnames. */ 217 conn->case_sensitive = False; 218 } else { 219 conn->case_sensitive = !(flags & FLAG_CASELESS_PATHNAMES); 220 } 221 } 222 break; 223 case True: 224 conn->case_sensitive = True; 225 break; 226 default: 227 conn->case_sensitive = False; 228 break; 229 } 230 return(True); 214 case Auto: 215 /* 216 * We need this uglyness due to DOS/Win9x clients that lie 217 * about case insensitivity. */ 218 ra_type = get_remote_arch(); 219 if (conn->sconn->using_smb2) { 220 conn->case_sensitive = false; 221 } else if ((ra_type != RA_SAMBA) && (ra_type != RA_CIFSFS)) { 222 /* 223 * Client can't support per-packet case sensitive 224 * pathnames. */ 225 conn->case_sensitive = false; 226 } else { 227 conn->case_sensitive = 228 !(flags & FLAG_CASELESS_PATHNAMES); 229 } 230 break; 231 case True: 232 conn->case_sensitive = true; 233 break; 234 default: 235 conn->case_sensitive = false; 236 break; 237 } 238 return true; 231 239 } 232 240
Note:
See TracChangeset
for help on using the changeset viewer.