1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

617 Commits

Author SHA1 Message Date
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
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
Michael Adam
aab6704ce8 Remove redundant parameter fd from SMB_VFS_FSETXATTR().
Michael
(This used to be commit 0bd2643463a9160c8a1c7e1c2f8cca7b89060e09)
2008-01-08 11:47:33 +01:00
Michael Adam
1590dd32cf Remove redundant parameter fd from SMB_VFS_FREMOVEXATTR().
Michael
(This used to be commit bfc3b5a27f707d3e4b8d5d66192891e22365fbb3)
2008-01-08 11:29:09 +01:00
Michael Adam
9f691df852 Remove redundant parameter fd from SMB_VFS_FLISTXATTR().
Michael
(This used to be commit 167649b3b8bc293f8434ffc9fb5f80463e4e75be)
2008-01-08 10:51:40 +01:00
Michael Adam
50ee744fa4 Remove redundant parameter fd from SMB_VFS_FGETXATTR().
Michael
(This used to be commit 2cb739a82dc6bb194d60718cc74b26ee7c1c46a7)
2008-01-08 10:00:47 +01:00
Michael Adam
62e9d503d8 Remove redundant parameter fd from SMB_VFS_SYS_ACL_GET_FD().
Michael
(This used to be commit 42663e8736e1a3dfb57e0aafdcbf5fec880da779)
2008-01-07 23:54:07 +01:00
Michael Adam
87a684f7fc Remove redundant parameter fd from SMB_VFS_FSTAT().
Michael
(This used to be commit 0b86c420be94d295f6917a220b5d699f65b46711)
2008-01-07 15:59:01 +01:00
Jeremy Allison
29562987c3 Now conn is part of smb_request, we don't need it as
an extra parameter. This cleans up quite a few places
we were passing it around without needing it.
Jeremy.
(This used to be commit 8f36def18e9f980e8db522e1de41e80cfd5f466e)
2008-01-04 15:37:24 -08:00
Jeremy Allison
9394916e49 We dont' modify the smb header for crypto anymore.
Jeremy.
(This used to be commit f5b6b6dac66b4ecc113985a7e7db1855b324c465)
2008-01-04 14:43:43 -08:00
Jeremy Allison
9254bb4ef1 Refactor the crypto code after a very helpful conversation
with Volker. Mostly making sure we have data on the incoming
packet type, not stored in the smb header.
Jeremy.
(This used to be commit c4e5a505043965eec77b5bb9bc60957e8f3b97c8)
2008-01-04 12:56:23 -08:00
Volker Lendecke
523dbf801b Convert call_trans2open to create_file()
(This used to be commit 22138572bd2b9ae379b01098566e38e132653968)
2008-01-02 13:32:29 +01:00
Jeremy Allison
bd3521457c Allow encryption context setup on IPC$.
Jeremy.
(This used to be commit 5d424cb3060af89bde50bc7fe2989e3c1b8e91b2)
2007-12-29 22:36:49 -08:00
Volker Lendecke
a59280792c Remove tiny code duplication
sid_size did the same as ndr_size_dom_sid
(This used to be commit 8aec5d09ba023413bd8ecbdfbc7d23904df94389)
2007-12-29 23:12:51 +01:00
Jeremy Allison
38369ba741 Ensure we turn off POSIX large read/write if encryption
is mandatory or signing is on.
Jeremy.
(This used to be commit 5088b704791be2f36641fa0ec59dff7f289ae868)
2007-12-28 00:02:13 -08:00
Jeremy Allison
afce2b245a Add the capability to set "smb encrypt = required"
on a share (or global) and have the server reply with
ACCESS_DENIED for all non-encrypted traffic (except
that used to query encryption requirements and set
encryption state).
Jeremy.
(This used to be commit d241bfa57729bb934ada6beabf842a2ca7b4f8a2)
2007-12-27 23:51:03 -08:00
Jeremy Allison
675f41dc14 Add "smb encrypt" parameter. Can be set to "no, yes, required".
Currently if set required this is not enforced. I'll be adding
that soon.
Jeremy.
(This used to be commit df7e447623ac03d81bec384f5cfe83c3976cf7b2)
2007-12-27 16:54:07 -08:00
Jeremy Allison
5413ad4aca Add CIFS_UNIX_TRANSPORT_ENCRYPTION_CAP capability to
our reported caps.
Jeremy.
(This used to be commit e86d027823c85173c64e7b85406e98f6f7345b10)
2007-12-27 10:18:22 -08:00
Jeremy Allison
afc93255d1 Add SMB encryption. Still fixing client decrypt but
negotiation works.
Jeremy.
(This used to be commit d78045601af787731f0737b8627450018902b104)
2007-12-26 17:12:36 -08:00
Volker Lendecke
d4bfafa29c Fix bug 5055
(This used to be commit 8bcd2df841bae63e7d58c35d4728b7d853471697)
2007-11-26 15:28:13 +01:00
Jeremy Allison
61b37c73ee Paranoia check that space_remaining never goes -ve.
Jeremy.
(This used to be commit 76f9c0b2dccffbff7cbf98aa63f50b48ad7cb9cb)
2007-11-20 15:31:18 -08:00
Jeremy Allison
b059e2cbf1 Ensure we use PATH_MAX for symlinks.
Jeremy.
(This used to be commit a90ef69350c5efcf8dcf95d4853cbe3c662d1ba3)
2007-11-16 17:06:57 -08:00
Volker Lendecke
082da3d287 Fix a debug message
(This used to be commit a86849e4f9512b680f26010c297cec14251dafdd)
2007-11-05 03:40:18 +01:00
Jeremy Allison
73d4079680 Remove the smb_read_error global variable and replace
it with accessor functions. "One global or pstring a day...." :-).
Jeremy.
(This used to be commit d50d14c300abc83b7015718ec48acc8b3227a273)
2007-11-03 15:12:42 -07:00
Jeremy Allison
8bad80efb0 Add brackets so as not to break the POSIX caps return.
Jeremy.
(This used to be commit 47dbddcb5361caa30ee60cf4e15bb50d557d1191)
2007-11-01 18:30:02 -07:00
Jeremy Allison
0bb1a6ec2d Note when we're setting change time, not write time, and send
message accordingly. Apart from not supporting create time we
now pass the S4 RAW-NOTIFY torture.
Jeremy.
(This used to be commit 8a77f520fa03afa60eac2aaeab4babe7dd8db4f0)
2007-10-31 16:32:48 -07:00
Jeremy Allison
8f1f2f04c7 Fix some cases where file_set_dosmode was being passed
False instead of NULL. Fix more of the notifications to
be correct for Samba4 RAW-NOTIFY torture (we had missed
one when calling set_ea_dos_attribute().
Jeremy.
(This used to be commit 39d265375cf55eedddef2c4faa65398df73d5ed2)
2007-10-31 15:45:45 -07:00
Jeremy Allison
133fad90b5 Make explicit draining the socket on RECVFILE. Add
capability for large UNIX write if not signing and
recvfile set. Cope with large UNIX write length on
incoming processing. Stevef - we can now test 1-16Mb
writes from CIFFS.
Jeremy.
(This used to be commit 8cf78776b0a44bd026cef3d74eb11cfb415f8303)
2007-10-31 14:01:35 -07:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3cbb3e5fa6a86be60f34fe340a3ca71f)
2007-10-18 17:40:25 -07:00
Jeremy Allison
39d30c5499 Fix valgrind-found memory overwrite.
(This used to be commit 183df4754b5f18419f4d8fca2c0fa19919174556)
2007-10-10 17:24:44 -07:00
Gerald (Jerry) Carter
e5a951325a [GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch.
(This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab)
2007-10-10 15:34:30 -05:00
Volker Lendecke
ad97bcf813 r25184: Fix some C++ warnings and an uninitialized variable
(This used to be commit b64df8a3c504ab7749c21ffb26e4771a9a0a328f)
2007-10-10 12:30:49 -05:00
Jeremy Allison
539635cd94 r25163: Fix wrong ctx passed to talloc_asprintf_append().
Found by Metze's code review (thanks Metze !).
Jeremy.
(This used to be commit a7370eea6be29c0e2adf5ae62aa6182b9165e744)
2007-10-10 12:30:47 -05:00
Jeremy Allison
eacd314057 r25138: More pstring elimination. Add a TALLOC_CTX parameter
to unix_convert().
Jeremy.
(This used to be commit 39c211a702e91c34c1a5a689e1b0c4530ea8a1ac)
2007-10-10 12:30:44 -05:00
Jeremy Allison
12f61e09d9 r25117: The mega-patch Jerry was waiting for. Remove all pstrings from
the main server code paths. We should now be able to cope with
paths up to PATH_MAX length now.
Final job will be to add the TALLOC_CTX * parameter to
unix_convert to make it explicit (for Volker).
Jeremy.
(This used to be commit 7f0db75fb0f24873577dcb758a2ecee74fdc4297)
2007-10-10 12:30:41 -05:00
Jeremy Allison
3a9d382164 r25111: Move to talloced pathnames on most code paths.
There are now ony 17 pstrings left in reply.c,
and these will be easy to remove (and I'll be
doing that shortly). Had to fix an interesting
bug in pull_ucs2_base_talloc() when a source
string is not null terminated :-).
Jeremy.
(This used to be commit 0c9a8c4dff10974dbffd2a302ae982896122fcc0)
2007-10-10 12:30:41 -05:00
Jeremy Allison
351eb37a25 r25102: Rewrite msdfs code to use talloced filenames. Passes make test
and make valgrindtest. Final step will be to change srvstr_get_path()
to return talloced memory in the major codepaths.
Jeremy.
(This used to be commit cf6b6f9c3a38b68d2671c753f412772344506742)
2007-10-10 12:30:40 -05:00
Jeremy Allison
132ee3990a r25009: Large patch discussed with Volker. Move unix_convert to a talloc-based
interface. More development will come on top of this. Remove the
"mangled map" parameter.
Jeremy.
(This used to be commit dee8beba7a92b8a3f68bbcc59fd0a827f68c7736)
2007-10-10 12:30:32 -05:00
Volker Lendecke
929e1d9920 r24809: Consolidate the use of temporary talloc contexts.
This adds the two functions talloc_stackframe() and talloc_tos().

 * When a new talloc stackframe is allocated with talloc_stackframe(), then
 * the TALLOC_CTX returned with talloc_tos() is reset to that new
 * frame. Whenever that stack frame is TALLOC_FREE()'ed, then the reverse
 * happens: The previous talloc_tos() is restored.
 *
 * This API is designed to be robust in the sense that if someone forgets to
 * TALLOC_FREE() a stackframe, then the next outer one correctly cleans up and
 * resets the talloc_tos().

The original motivation for this patch was to get rid of the
sid_string_static & friends buffers. Explicitly passing talloc context
everywhere clutters code too much for my taste, so an implicit
talloc_tos() is introduced here. Many of these static buffers are
replaced by a single static pointer.

The intended use would thus be that low-level functions can rather
freely push stuff to talloc_tos, the upper layers clean up by freeing
the stackframe. The more of these stackframes are used and correctly
freed the more exact the memory cleanup happens.

This patch removes the main_loop_talloc_ctx, tmp_talloc_ctx and
lp_talloc_ctx (did I forget any?)

So, never do a

tmp_ctx = talloc_init("foo");

anymore, instead, use

tmp_ctx = talloc_stackframe()

:-)

Volker
(This used to be commit 6585ea2cb7f417e14540495b9c7380fe9c8c717b)
2007-10-10 12:30:24 -05:00
Volker Lendecke
3aed02989f r24699: Actually write 24 zeros instead of zero 24's...
Jeremy, please check ;-)
(This used to be commit 85b64bde7df10ade5ba0abd493d433a7688f0979)
2007-10-10 12:30:14 -05:00
Volker Lendecke
2efabbbf4b r24548: Fix the case-changing renames
This was broken when I changed reply_mv to wrap in a open_file_ntcreate
call, unix_convert on the destination was called twice
(This used to be commit fddc9db91175bdb0b7ac6a636f8bef918bd7c1b4)
2007-10-10 12:29:56 -05:00
Jeremy Allison
077d5d2e36 r24498: More extra code into a function, reply_openerror.
Jeremy.
(This used to be commit 43ddfb8c918bd27e2efd3b54077db815da80a53a)
2007-10-10 12:29:52 -05:00
Jeremy Allison
622abf53f9 r24476: Fix the mappings in reply_opeXXX calls. Now to test renames.
Jeremy.
(This used to be commit 74d10b09a68f5c06d6b3ceffe0a40818dc84106e)
2007-10-10 12:29:51 -05:00
Jeremy Allison
522418ce16 r24475: Fix the error mapping for SMB_POSIX_PATH_OPEN.
Jeremy.
(This used to be commit 6dac315ba1d9b9582c2b573e0785b2f6d627f846)
2007-10-10 12:29:51 -05:00
Jeremy Allison
fd9c413786 r24470: Start fixing up the mapping of OBJECT_NAME_COLLISION
to DOS error ERRDOS, ERRfilexists on open calls.
Jeremy.
(This used to be commit 4674486450bbe79ec9b22bcbc23c534365d6798a)
2007-10-10 12:29:50 -05:00
Volker Lendecke
527905a09a r24444: Convert reply_find[n]close to the new API
(This used to be commit 6af85953465789594342f2d199ef5d29462cf34f)
2007-10-10 12:29:48 -05:00
Volker Lendecke
2a375f12be r24362: Initialize padding also when no params are sent back
(This used to be commit 03c5e960a21ae78cdd832a5c760015f7fbd83bd9)
2007-10-10 12:29:36 -05:00
Volker Lendecke
23998e1da8 r24320: Fix the wct checks in reply_trans2 and the reply_trans calls
No idea what I've been smoking here.

Thanks to Stefan for closely looking
(This used to be commit 708f5af2e8c10d9a0d0027e3c31fa23689e746b8)
2007-10-10 12:29:28 -05:00
Volker Lendecke
c7a425f30f r24163: Remove the send_trans2_replies_new wrapper
This changes send_trans2_replies to not depend on large buffers anymore
and finishes the trans2 conversion.
(This used to be commit b1d133e4ffa8c9b8219ba6e7b83e23ca4bdd1616)
2007-10-10 12:29:16 -05:00