Age | Commit message (Collapse) | Author | Files | Lines |
|
ads->config.tried_closest_dc was never set.
metze
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Günther Deschner <gd@samba.org>
(cherry picked from commit dfe5b00db35e1e7c7bb3ba36729fc3f97eb48db3)
|
|
It doesn't really make sense to check the length of a not-yet-allocated string
:-)
Volker
|
|
|
|
Guenther
|
|
Guenther
|
|
Guenther
|
|
|
|
|
|
Windows returns NT_STATUS_FILE_IS_A_DIRECTORY, as does Samba 3.0. 3.2 and
following returned NT_STATUS_INVALID_PARAMETER which is wrong.
Before I converted reply_open_and_X to create_file() we called
open_file_ntcreate directly. Passing through open&X for a filename that exists
as a directory ends up in open_directory after having tried open_file_ntcreate.
Some check in there returns NT_STATUS_INVALID_PARAMETER. With this additional
FILE_NON_DIRECTORY_FILE flag we get the correct error message back from
create_file_unixpath before trying open_directory().
Survives make test, but as this also touches the other open variants I would
like others to review this.
Volker
|
|
Karolin
|
|
The current name resolution scheme in mount.cifs is IPv4 only. Expand
it to be protocol-independent. Also take advantage of the fact that
getaddrinfo() returns a list of addresses and have mount.cifs try each
in turn until it hits one that's reachable and allows the socket to
connect.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
|
|
|
|
|
|
|
|
Guenther
|
|
we know the correct bits to use here.
Jeremy.
|
|
Jeremy.
|
|
Crap, too many trees and no instant, infinitely fast rebuild
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
(cherry picked from commit 3c93c96fd0fe362c35fe8127058f94868abc9342)
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
(cherry picked from commit b37684ffcec4ba0beada55d37bcaf4f5e79bcd58)
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
|
|
So that a developer who wants to use the wbclient api can read
the documentation in the header file.
Signed-off-by: Andreas Schneider <anschneider@suse.de>
Signed-off-by: Michael Adam <obnox@samba.org>
|
|
This reverts commit a0efc4cffbd84898c454d27eaf946d073dfdad0f.
This one should have been done with careful cherry-picks, sorry.
Volker
|
|
This reverts commit a4b52118d44906882677ed1234428d8025134036.
|
|
This reverts commit b37684ffcec4ba0beada55d37bcaf4f5e79bcd58.
|
|
This reverts commit 3c93c96fd0fe362c35fe8127058f94868abc9342.
|
|
This reverts commit c044b09572631cbdd686e5dbbdfbcc731145533a.
|
|
Crap, too many trees and no instant, infinitely fast rebuild
|
|
|
|
|
|
|
|
|
|
This is done to help file systems that can tell us about the real upper/lower
case combination given a case-insensitive file name. The sample I will soon
push is the gpfs module (recent gpfs has a get_real_filename function), others
might have a similar function to help alleviate the 1million files in a single
directory problem.
Jeremy, please comment!
Thanks,
Volker
|
|
It sets errno, so it might as well return 0/-1.
|
|
|
|
|
|
Guenther
|
|
Guenther
|
|
torture test
This third patch cleans up by removing all of the code that is made
obsolete by the first patch. It should cause no functional changes.
|
|
torture test
smbtorture4's BASE-DELETE:deltest17 was failing against win2k8,
win2k3, and winXPsp2 but passing against samba.
deltest17 does the following:
1. open file -> file is created
2. closes file
3. open file with DOC -> fnum1
4. check that DOC is not reported as being set from fnum1
5. opens file again Read Only -> fnum2
6. check that DOC is not reported as being set from either file handle
7. close fnum1 (the file handle that requested DOC to be set)
8. check if DOC is reported as being set from fnum2
* This is where windows and samba begin to diverge. Windows
reports that the DOC bit is set, while samba reports that it is not set.
9. close fnum2 (the last remaining open handle for the file)
10.See if the file has been deleted.
* On samba the file still exists. On windows the file was deleted.
The way open_file_ntcreate is written now, if an open has the DOC bit
set on the wire, DOC (fsp->initial_delete_on_close) is not set unless:
a. the open creates the file, or b. there is an open file handle with
a share_entry in the struct lck that has the
SHARE_MODE_ALLOW_INITIAL_DELETE_ON_CLOSE bit set (let's call it
SM_AIDOC).
My understanding of SM_AIDOC is that it was added to differentiate
between DOC being set on an open that creates a file vs an open that
opens an existing. As described in step 8/10 above, it appears that
windows does not make this differentiation.
To resolve this issue there are three patches. This first patch is a
simple proof of concept change that is sufficient to fix the bug. It
removes the differentiation in open_file_ntcreate, and updates
deltest17 to allow it to pass against win2k3/xp. This makes
open_file_ntcreate more closely match the semantics in open_directory
and rename_internals_fsp. This change also does not break any other
tests in BASE-DELETE or "make test". Specifically test deltest20b
which verifies the CIFSFS rename DOC semantics still passes :).
|
|
This is the first pass at extending the onefs vfs module to support
the CIFS-specific enhancements available on OneFS. Most of this patch
is massaging the sama open path to work with ifs_createfile.
ifs_createfile is a CIFS-specific syscall for opening/files and
directories. It adds support for:
- Full in-kernel access checks using a windows access_mask
- Cluster-coherent share mode locks
- Cluster-coherent oplocks
- Streams
- Setting security descriptors at create time
- Setting dos_attributes at create time
This patch does not implement the samba side of the streams support or
oplocks support. Tests that expect oplocks to be granted or streams
to be supported will fail. This will be remedied in upcoming patches.
|
|
This is an intermediate step that makes it much easier to see how the
OneFS SMB_VFS_CREATE_FILE implementation diverges from stock samba.
The goal is that more common code can be refactored into utility
functions.
|
|
Some implementations of SMB_VFS_CREATE_FILE implementations actually
keep an fd open for directories just as files. In this case it is
necessary to call fd_close when closing directories. This is safe
because fd_close is a no-op when fd == -1, which is true for directory
opens originating from open.c (the default SMB_VFS_CREATE_FILE
implementation).
|
|
|
|
|
|
This allows vfs modules that implement SMB_VFS_CREATE_FILE to access
some of the useful utility functions.
|
|
|
|
Guenther
(cherry picked from commit 26139344fd0fac4fdd2a6752628b252fbd9b7450)
(cherry picked from commit 866efa63a26f75bbf17cd4bebf639594e2feafba)
|
|
Guenther
|