summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorDerrell Lipman <derrell.lipman@unwireduniverse.com>2009-01-16 16:41:36 -0500
committerDerrell Lipman <derrell.lipman@unwireduniverse.com>2009-01-16 16:41:36 -0500
commit1c77c7f3d5b6cb29fac4606299c237c0e299f836 (patch)
treef50abf80313313ef68781f9550d7ae434092874c /source3/include
parent3fe974c4feed33187294a0cb922c20f7dbfeaf43 (diff)
downloadsamba-1c77c7f3d5b6cb29fac4606299c237c0e299f836.tar.gz
samba-1c77c7f3d5b6cb29fac4606299c237c0e299f836.tar.bz2
samba-1c77c7f3d5b6cb29fac4606299c237c0e299f836.zip
Treat file names in POSIX-like case-sensitive fashion by default
*** THIS COMMIT CAUSES A CHANGE OF DEFAULT BEHAVIOR IN libsmbclient!!! *** - libsmbclient now calls cli_set_case_sensitive() for a new CLI. By default, it requests case-sensitive, but the old behavior of case-insensitive can be requested with smbc_setOptionCaseSensitive(context, False); The change of behavior is considered a bug fix, as it was previously possible to accidentally overwrite a file that had the same case-insensitive name but a different case-sensitive name as a previously-existing file, while creating a new file. Derrell
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/libsmb_internal.h5
-rw-r--r--source3/include/libsmbclient.h9
2 files changed, 14 insertions, 0 deletions
diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h
index b488116939..8b410b4f7f 100644
--- a/source3/include/libsmb_internal.h
+++ b/source3/include/libsmb_internal.h
@@ -176,6 +176,11 @@ struct SMBC_internal_data {
*/
smbc_smb_encrypt_level smb_encryption_level;
+ /*
+ * Should we request case sensitivity of file names?
+ */
+ bool case_sensitive;
+
struct smbc_server_cache * server_cache;
/* POSIX emulation functions */
diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h
index a8b27b709e..4a8accbf4e 100644
--- a/source3/include/libsmbclient.h
+++ b/source3/include/libsmbclient.h
@@ -550,6 +550,15 @@ smbc_getOptionSmbEncryptionLevel(SMBCCTX *c);
void
smbc_setOptionSmbEncryptionLevel(SMBCCTX *c, smbc_smb_encrypt_level level);
+/** Get whether to treat file names as case-sensitive. */
+smbc_bool
+smbc_getOptionCaseSensitive(SMBCCTX *c);
+
+/** Set whether to treat file names as case-sensitive. */
+void
+smbc_setOptionCaseSensitive(SMBCCTX *c, smbc_bool b);
+
+
/**
* Get from how many local master browsers should the list of workgroups be
* retrieved. It can take up to 12 minutes or longer after a server becomes a