1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

4011 Commits

Author SHA1 Message Date
Volker Lendecke
2a78eb9c0d Fix a ton of IBM checker uninitialized variable warnings
SET_STAT_INVALID only sets nlink, not the other fields

We might consider to change SET_STAT_INVALID to always do ZERO_STRUCT
(This used to be commit 8cf8c5b2034fe093b5db7f069bc6be8d328399bf)
2008-01-22 09:23:34 +01:00
Volker Lendecke
6a69bc3ef9 Fix get_ea_names_from_file for many EAs
Found by the IBM checker
(This used to be commit 8741a9b37496e78b28d59d844aaba12f269171e0)
2008-01-22 09:23:27 +01:00
Volker Lendecke
597b28b86e Fix a segfault
Found by the IBM checker.

Jeremy, you changed this from 'dirname == 0' which does not make sense at all
in the old code to '!dirname == 0' which from my point of view makes even less
sense, because the precedence of ! is according to Harbison/Steele higher than
the precedence of ==. Please check that the code now actually does what it's
supposed to do.

Thanks!
(This used to be commit c8def5564739c4c754001f84fcfb77f1093b96c3)
2008-01-22 09:16:28 +01:00
Volker Lendecke
9a22653222 Add SMB_VFS_FS_CAPABILITIES
It turns out that this is a necessary operation, separate from statvfs. statvfs
can fail during tcon, so conn->fs_capabilities would never see that we support
streams on a particular share.

James, can you check that I got the darwin variant right? Thanks!
(This used to be commit 3ad798d803b3b023533bb48e6993885f22b96095)
2008-01-21 16:14:27 +01:00
Volker Lendecke
33f3eeaa00 Fix some "set but never used" warnings
(This used to be commit 4a6dadc5178f4861e9c032321939db3b639734b5)
2008-01-20 17:44:40 +01:00
Volker Lendecke
b1017bb551 Free case_state earlier
Found by a "set but never used" warning. Thanks to talloc_tos() this was not
really a bug, but this way the code becomes much clearer.
(This used to be commit b326f11dc39a8ce20d957aac976be0cf7108ba9d)
2008-01-20 17:44:40 +01:00
Volker Lendecke
043a7e1774 Activate SMB_QUERY_FILE_STREAM_INFO
gcolley was right, my nt4 does not blue screen with it
(This used to be commit 9f2b5dc1865ca109e1e34c91548479ad9b26f450)
2008-01-20 15:59:31 +01:00
Volker Lendecke
896ec68181 NT_STATUS_OBJECT_NAME_NOT_FOUND also means "no streams around :-)"
(This used to be commit 96b9a7b3eb92c9f133a3f43ffc4d57d0212e4ebd)
2008-01-20 14:44:39 +01:00
Volker Lendecke
f87d08f622 Don't test split_ntfs_stream_name
This is a hot code path, and if it has a :, the name will be split later on
anyway.
(This used to be commit 9f7f6b812d89decea1456ccdc37978e645d11a63)
2008-01-20 14:44:39 +01:00
Jeremy Allison
0bb6fb7b6f Couple of minor fixes for POSIX pathname processing in the
new stream code. (1) In smbd/filename, don't split the name at
':' if we know it's a posix path (this should be parameterized....).
(2). When calling posix_mkdir, we get the flag FILE_FLAG_POSIX_SEMANTICS
passed to open_directory(). I know for a posix client lp_posix_pathnames
should be true (which is checked for in is_ntfs_stream_name() but we
have an explicit flag here, so let's use it.
Jeremy.
(This used to be commit 7bb7a0def6518784befa75e5303289d2b4d36dd4)
2008-01-19 21:53:49 -08:00
Volker Lendecke
1069cfe4ad Add streams support
This is the core of the streams support. The main change is that in
files_struct there is now a base_fsp pointer that holds the main file open
while a stream is open. This is necessary to get the rather strange delete
semantics right: You can't delete the main file while a stream is open without
FILE_SHARE_DELETE, and while a stream is open a successful unlink of the main
file leads to DELETE_PENDING for all further access on the main file or any
stream.
(This used to be commit 6022873cc155bdbbd3fb620689715f07a24d6ed1)
2008-01-19 23:25:36 +01:00
Volker Lendecke
2411c6cb90 Add "split_ntfs_stream_name()" together with a torture test
(This used to be commit d813bd9e02d9baf916eb96c478be89f0c435e07c)
2008-01-19 23:10:09 +01:00
Volker Lendecke
1b976d5192 Add the STREAMINFO vfs call
Based on jpeach's work, modified the streaminfo prototype

Make use of it in trans2.c together with marshall_stream_info()
(This used to be commit c34d729c7c0600a8f11bf7e489a634a4e37fe88e)
2008-01-19 22:58:17 +01:00
Volker Lendecke
84518f1fc7 Add get_ea_names_from_file to sanely list posix xattrs
Refactor get_ea_list_from_file to use that.
(This used to be commit aec357a456798050abe565d2a744ed5f17ad5901)
2008-01-19 16:07:56 +01:00
Volker Lendecke
6d7eb2e6ec Make get_ea_value public
(This used to be commit 0aa406bbba8699063ea3758b19dca24cf42ff15a)
2008-01-19 15:50:05 +01:00
Jeremy Allison
ca6cf1fe94 Actually test vl's new code and make it work to fix the build farm :-).
Jeremy.
(This used to be commit 63defd3e9d4ba3f02f36ec5ad7b73463f31962a1)
2008-01-18 18:39:27 -08:00
Volker Lendecke
145ab107b2 Always return nlink=1 for directories
I did not test it, but it should not affect cifsfs, there are special posix
calls that also return the stat information unfiltered.
(This used to be commit e96cf1309e45628f4c27d03f77a4eef5e00602df)
2008-01-18 17:37:04 -08:00
Alexander Bokovoy
c17c64530e Merge DMAPI fixes from CTDB Samba
(This used to be commit cf1f90ad7a79dbe5926018790bb50d4e3b36cc7b)
2008-01-18 17:34:21 +03:00
Günther Deschner
a92eb76688 Finally enable pidl generated SAMR & NETLOGON headers and clients.
Guenther
(This used to be commit f7100156a7df7ac3ae84e45a47153b38d9375215)
2008-01-17 16:54:46 +01:00
Alexander Bokovoy
03387a0f58 Remove is_remotestorage() call from VFS. We already have statvfs() there to handle FS capabilities.
As discussed with Volker, it is better to calculate FS capabilities at
connection time. We already do this with help of VFS statvfs() call
which allows to fill-in system-specific attributes including FS
capabilities. So just re-use it if you want to represent additional
capabilities in your modules. The only caution is that you need to
call underlying statvfs() call to actually get system-specific
capabilities (and other fields) added. Then add module-specific ones.
(This used to be commit e342ca0d931f9a5c8ec9e472dc9c63f1fe012b3a)
2008-01-17 16:59:29 +03:00
Alexander Bokovoy
026a66abec Rework of VFS is_offline() function to only return boolean offline/online result for a file.
This makes sense as upper levels are only taking returned result of 0
(no error) into consideration when deciding whether to mark file
offline/online as returned from is_offline.

That means that we simply can move the decision down to VFS module and
clean up upper levels so that they always see only file status. If there
is an error when trying to identify file status, then VFS module could
decide what to return (offline or online) by itself -- after all, it
ought to have system-specific knowledge anyway.
(This used to be commit 75cc08661473cce62756fa062071bb2bc1fb39ec)
2008-01-17 14:57:35 +03:00
Michael Adam
b92c3e281c Add handling of [homes] and [printers] via registry shares.
Now homes and printers shares can be accessed through the
registry meachanism on demand in pure registry configurations
with "config backend = registry" without the need to
have a special handler for these two.

Michael
(This used to be commit eec3248ef90fbfe6e048394c875173b164a8b439)
2008-01-16 17:10:02 +01:00
Alexander Bokovoy
313f7d10b8 Merge latest fixes to vfs_gpfs and NFS4 ACLs from Samba 3.0 CTDB branch (from http://samba.org/~tridge/3_0-ctdb)
Signed-off-by: Alexander Bokovoy <ab@samba.org>(This used to be commit 1daad835cbfb4615a8fe7a241f4d578f7e69f214)
2008-01-16 12:18:57 +03:00
Alexander Bokovoy
d86fc3ec8c Add support for offline files support, remote storage, and Async I/O force operations to VFS
Offline files support and remote storage are for allowing communication with
backup and archiving tools that mark files moved to a tape library as offline.
We translate this info into corresponding CIFS offline file attribute and
mark an exported volume as remote storage.

Async I/O force is to allow selective redirection of I/O operations to asynchronous
processing in case it is viable at VFS module discretion. It is needed for
proper handling of offline files as performing regular I/O on offline file will
block smbd.


Signed-off-by: Alexander Bokovoy <ab@samba.org>(This used to be commit 875208724e39564fe81385dfe36e6c963e79e101)
2008-01-16 12:17:03 +03:00
Alexander Bokovoy
68694369fc Merge CTDB-related fixes from samba-ctdb 3.0 branch (http://samba.org/~tridge/3_0-ctdb)
Signed-off-by: Alexander Bokovoy <ab@samba.org>(This used to be commit 0c8e23afbbb2d081fc23908bafcad04650bfacea)
2008-01-16 12:09:48 +03:00
Volker Lendecke
bb2c52ad43 Remove an unused variable
(This used to be commit 24e719a1d432d5de022ab903457df0dd67c24b85)
2008-01-12 23:57:11 +01:00
Volker Lendecke
18083f1d88 Get the inbuf on talloc_tos()
(This used to be commit 883f7415769ad1e714f636e9d6fbd1f075e69d1e)
2008-01-12 21:09:43 +01:00
Volker Lendecke
ec412b60ea Convert OpenDir to talloc, use talloc_tos()
This cuts some mallocs on NtCreate&X
(This used to be commit 8e64107b7846d8f9cce71aabc95b28b7488d01ce)
2008-01-12 21:04:06 +01:00
Volker Lendecke
b36a78837f delete on close even prevents stat opens
(This used to be commit 85fe7f3f6ed4aae76e5cf31ab689b2dfacfd74de)
2008-01-12 20:11:10 +01:00
Volker Lendecke
4c0ca86051 There's no point in calling FLOCK on a non-existing fd
(This used to be commit 9ff79f231f1206631662b5c521ecddf5df9141c0)
2008-01-12 20:11:10 +01:00
Jeremy Allison
43717a16e2 Fix CID 476. Ensure a valid pac_data pointer is always passed to
ads_verify_ticket as it's always derefed.
Jeremy.
(This used to be commit 0599d57efff0f417f75510e8b08c3cb7b4bcfcd8)
2008-01-11 23:53:27 -08:00
Jeremy Allison
9f75099657 Fix CID 505 - don't copy uninitialized memory.
Jeremy.
(This used to be commit 0d2c77e8d3a83f2c5e78fa076f22919ef9d124b9)
2008-01-11 23:17:23 -08:00
Jeremy Allison
915647da9c Fix CID 523 - wrong null deref check.
Jeremy.
(This used to be commit 05cadffeab38ca9df7ffd46785b536266c4438c4)
2008-01-11 22:50:13 -08:00
Günther Deschner
2539cf0739 Fix a build warning.
Guenther
(This used to be commit 88874a501d0c086f796e4838af8c9399d3cccc1f)
2008-01-11 18:47:03 +01:00
Jeremy Allison
6a8fad084c Merge branch 'v3-2-test' of ssh://jra@git.samba.org/data/git/samba into v3-2-test
(This used to be commit 767e0164adf8803df50b0b7bd8e81d25af72bb78)
2008-01-10 16:36:05 -08:00
Jeremy Allison
f33f4ef4a2 Don't switch user contexts unless you have to. Saves
a bunch of syscalls on close. Noticed by Volker.
Jeremy.
(This used to be commit 3caeeaea162e2083a087c242b850c107a3be1bf9)
2008-01-10 16:35:54 -08:00
Michael Adam
fef9cf00e1 Combine fsp and tofd to tofsp in SMB_VFS_RECVFILE().
Michael
(This used to be commit 3958abffaf2866c69ad9e13ec345364fde5c78bb)
2008-01-11 01:27:05 +01:00
Michael Adam
4caab9ca25 Combine fsp and fromfd to fromfsp in SMB_VFS_SENDFILE().
Michael
(This used to be commit a52cfb7d777157c93c9dc26c67f457be592dd537)
2008-01-11 01:27:05 +01:00
Jeremy Allison
13785d5c62 Don't print out debug messages at level 0 if we can't
bind to a socket if we've already bound to one (this
prevents :
bind failed on port 445 socket_addr = 0.0.0.0.
Error = Address already in use
bind failed on port 139 socket_addr = 0.0.0.0.
Error = Address already in use
messages when trying to bind to an IPv4 address
when we've already bound to the IPv6 equivalent.
Jeremy.
(This used to be commit 3936de735a7bb548df8ce7f06f2cc8f7ffdf56cd)
2008-01-10 15:15:01 -08:00
Michael Adam
e9a3a62e74 Remove redundant parameter fd from SMB_VFS_WRITE().
Michael
(This used to be commit c8ae7d095a2a6a7eac920a68ca7244e3a423e1b1)
2008-01-10 15:49:35 +01:00
Michael Adam
1d66f4d58b Remove redundant parameter fd from SMB_VFS_READ().
Michael
(This used to be commit a8fc2ddad8d5f7c6c00cb36c74a32a02d69d1d04)
2008-01-10 15:33:51 +01:00
Michael Adam
10da70325b Make casts to (void *) explicit to remove compiler warnings.
Michael
(This used to be commit cbbfbd7a63fe0fc479a1b63b4552c713633dd6be)
2008-01-10 14:28:12 +01:00
Michael Adam
5661ac6a38 Correctly abstract the transfer_file mechanism with callbacks and void ptrs.
This removes the in_fsp and out_fsp global variables hack from smbd/vfs.c.

Michael
(This used to be commit b2e7cdc6e899ca3c16edbb6c8786ff9aa999fa6e)
2008-01-10 13:30:46 +01:00
Volker Lendecke
5ddb2abf76 Some more talloc_tos()
(This used to be commit 444e35e7df1f13fc285183da8fb41b30ad99a3fa)
2008-01-10 13:19:58 +01:00
Volker Lendecke
3cc3b9e187 use talloc_tos in a few more places
(This used to be commit 65dd869bea351010c67f02046ae4134bdada1a4c)
2008-01-10 13:19:58 +01:00
Jeremy Allison
253fbf1a6e Make use of talloc_pool in the main codepaths. Remove the sub-contexts.
Jeremy.
(This used to be commit bc932b8ad4396f76b71c43efe9a6346f89c3632c)
2008-01-09 17:11:04 -08:00
Volker Lendecke
c16a00b0af Replace an uninitialized variable
Reported by the IBM checker
(This used to be commit 48f61e4b9fce5ea4f4bc3cf55530bb757c0def07)
2008-01-09 10:34:27 +01:00
Volker Lendecke
cb3c3ccd63 ensure uni_name.buffer is initialised
merge from http://samba.org/~tridge/3_0-ctdb
(This used to be commit 2938e74dea1695c813d6220a839b248dbc3b1d8f)
2008-01-09 07:59:12 +01:00
Jeremy Allison
2371d31f64 Fix resource leak found by coverity (CID 521).
Jeremy.
(This used to be commit acfb233acc7324b8d431d5cb777a1933d173b3dc)
2008-01-08 18:44:19 -08:00
Jeremy Allison
7febec3c58 Simplify... plus add a debug message.
Jeremy.
(This used to be commit bedc493874adaf783362ba7b821e2a6d985b96ea)
2008-01-08 16:08:39 -08:00