summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-09-09 21:58:47 +0200
committerVolker Lendecke <vl@samba.org>2009-09-09 22:03:22 +0200
commita5cace128d1dcabd6cc90dda71a09dfa8ee8c6f6 (patch)
tree42893321b0fb9b3dab9dcf49390185a560d955ce
parent7748d3098aa1d72aa62bfcca21148d9d5c9a4d25 (diff)
downloadsamba-a5cace128d1dcabd6cc90dda71a09dfa8ee8c6f6.tar.gz
samba-a5cace128d1dcabd6cc90dda71a09dfa8ee8c6f6.tar.bz2
samba-a5cace128d1dcabd6cc90dda71a09dfa8ee8c6f6.zip
s3:smbd: Add a "hidden" parameter "share:fake_fscaps"
This is needed to support some special app I've just come across where I had to set the SPARSE_FILES bit (0x40) to make it work against Samba at all. There might be others to fake. This is definitely a "Don't touch if you don't know what you're doing" thing, so I decided to make this an undocumented parametric parameter. I know this sucks, so feel free to beat me up on this. But I don't think it will hurt.
-rw-r--r--source3/smbd/trans2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index da23697771..73873e09a3 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -2982,6 +2982,9 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)st.st_ex_dev, (u
/* Capabilities are filled in at connection time through STATVFS call */
additional_flags |= conn->fs_capabilities;
+ additional_flags |= lp_parm_int(conn->params->service,
+ "share", "fake_fscaps",
+ 0);
SIVAL(pdata,0,FILE_CASE_PRESERVED_NAMES|FILE_CASE_SENSITIVE_SEARCH|
FILE_SUPPORTS_OBJECT_IDS|FILE_UNICODE_ON_DISK|