The branch, v3-4-test has been updated via d046ab32094caa9511862144df1c00e64c234487 (commit) via af0c2b78f7b697fae0fae6f88a5c9922abc7c514 (commit) from 9cdc203b0a2663b9b60fce89e17bc4c5b02b2a33 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-test - Log ----------------------------------------------------------------- commit d046ab32094caa9511862144df1c00e64c234487 Author: Volker Lendecke <v...@samba.org> Date: Tue Sep 29 14:34:16 2009 +0200 s3: Document the "share:fake_fscaps" parameter, fix bug 6765 (cherry picked from commit 21794b0dd28a80b149342b3218d7ebb4c8791e09) commit af0c2b78f7b697fae0fae6f88a5c9922abc7c514 Author: Volker Lendecke <v...@samba.org> Date: Wed Sep 9 21:58:47 2009 +0200 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. (cherry picked from commit a5cace128d1dcabd6cc90dda71a09dfa8ee8c6f6) Fix bug #6765. ----------------------------------------------------------------------- Summary of changes: docs-xml/smbdotconf/protocol/sharefakefscaps.xml | 20 ++++++++++++++++++++ source3/smbd/trans2.c | 3 +++ 2 files changed, 23 insertions(+), 0 deletions(-) create mode 100644 docs-xml/smbdotconf/protocol/sharefakefscaps.xml Changeset truncated at 500 lines: diff --git a/docs-xml/smbdotconf/protocol/sharefakefscaps.xml b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml new file mode 100644 index 0000000..713b95b --- /dev/null +++ b/docs-xml/smbdotconf/protocol/sharefakefscaps.xml @@ -0,0 +1,20 @@ +<samba:parameter name="share:fake_fscaps" + context="G" + type="string" + advanced="1" developer="0" + xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"> +<description> + + <para> + This is needed to support some special application that makes + QFSINFO calls to check whether we set the SPARSE_FILES bit + (0x40). If this bit is not set that particular application + refuses to work against + Samba. With <smbconfoption name="share:fake_fscaps">64</smbconfoption> + the SPARSE_FILES file system capability flag is set. Use other + decimal values to specify the bitmask you need to fake. + </para> + +</description> +<value type="default">0</value> +</samba:parameter> diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 68d2c97..60924df 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -2691,6 +2691,9 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)st.st_dev, (unsi /* 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| -- Samba Shared Repository