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

803 Commits

Author SHA1 Message Date
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
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
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
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
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
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
2371d31f64 Fix resource leak found by coverity (CID 521).
Jeremy.
(This used to be commit acfb233acc7324b8d431d5cb777a1933d173b3dc)
2008-01-08 18:44:19 -08: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
Michael Adam
6f657c873e Remove redundant parameter fd from SMB_VFS_LSEEK().
Michael
(This used to be commit df929796f2698698d2875227bda8500589cca2df)
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
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
8ad3db1d2b Convert reply_mknew to create_file
(This used to be commit 1b1cea9ef04a85a2fdd3c8574f7c4db559b7d9b6)
2008-01-02 13:32:23 +01:00
Volker Lendecke
cc322c708c Convert reply_open_and_X to create_file
(This used to be commit fa09b9ab26657af9bd6dcf3fcc7311d5983a591d)
2008-01-02 13:32:12 +01:00
Volker Lendecke
c132824265 Convert reply_open to create_file
(This used to be commit 209c696ab8490564ec9e30f6f07b9c72af3ed2e1)
2008-01-02 13:32:07 +01: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
addf598cde Some C++ warnings
(This used to be commit 5ab82d4f574f2a2e2761e9e414c66a70aeffb05d)
2007-12-21 09:58:20 +01:00
Jeremy Allison
ae74aa9993 Constrain "min receivefile size" to max of BUFFER_SIZE
(128k). Add debug error messages so we can see why
writeX large is denied. Ensure we don't allow recvfile
writes on IPC$.
Jeremy.
(This used to be commit 6bf053a6a17749a3bc73c8cc5fd490aa5f93b763)
2007-11-07 21:47:00 -08:00
Jeremy Allison
36441da424 Remove the horror that was the global smb_rw_error.
Each cli struct has it's own local copy of this variable,
so use that in client code. In the smbd server, add one
static to smbd/proccess.c and use that inside smbd. Fix
a bunch of places where smb_rw_error could be set by
calling read_data() in places where we weren't reading
from the SMB client socket (ie. winbindd).
Jeremy.
(This used to be commit 255c2adf7b6ef30932b5bb9f142ccef4a5d3d0db)
2007-11-05 11:12:56 -08:00
Jeremy Allison
329365684b Change the client library to write directly out of
the incoming buffer in the non-signed case. Speeds
up writes by over 10% or so. Complete the server
recvfile implementation.
Jeremy.
(This used to be commit 81ca5853b2475f123faab3b550f0a7b24ae3c208)
2007-11-02 12:21:34 -07:00
Jeremy Allison
414ab2ce46 Argggh. smblen doesn't include the +4, so my smb_doff calculations
shouldn't either :-).
Jeremy.
(This used to be commit c3de44b6b063e126095b30536fdcb643c70e395e)
2007-11-02 10:35:10 -07:00
Jeremy Allison
10500184bf Ensure we can't accidently do a pipe write with
unread bytes in the socket buffer.
Jeremy
(This used to be commit 84d22f7747126608b9460f9591bb5967d871b82d)
2007-11-01 22:42:21 -07:00
Jeremy Allison
bece9609cd Be careful and take care of the correct lengths in large
writeX calls.
Jeremy.
(This used to be commit 2d3ff9c502105f92720131355b41e48be8d656c2)
2007-11-01 22:24:39 -07:00
Jeremy Allison
c94b2898cd Ensure we detect a large writeX when using recvfile.
More changes needed to make the UNIX_LARGE_WRITEX_CAP
writes work (I'll add these tomorrow).
Jeremy.
(This used to be commit 1c71546b6152d2930b98f766311bbd161ee0ee4e)
2007-11-01 21:51:45 -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
ff82c0a037 Handle the disk full error case correctly.
Jeremy.
(This used to be commit b7088bb9c2a00d4717b9a7efa4bddc0c005f4efb)
2007-10-30 18:18:40 -07:00
Jeremy Allison
c3250149e1 Add new parameter, "min receivefile size" (by default set
to zero). If non-zero, writeX calls greater than this
value will be left in the socket buffer for later handling
with recvfile (or userspace equivalent). Definition of
recvfile for your system is left as an exercise for
the reader (I'm working on getting splice working :-).
Jeremy.
(This used to be commit 11c03b75ddbcb6e36b231bb40a1773d1c550621c)
2007-10-30 16:22:24 -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
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
4b21570812 r25502: Fix bug 5006
Thanks to Joerg.Bernau at web.de
(This used to be commit 492977016fa66ce0e98a5bdd1c0f00eacdf13f0c)
2007-10-10 12:31:10 -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
Volker Lendecke
4ee8b2937d r25055: Add file_id_string_tos
This removes file_id_string_static and file_id_string_static2
(This used to be commit 638c848c9afe374feb30e34c494f89b2a6c64f7b)
2007-10-10 12:30:36 -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
b578db69e9 r24702: Remove the old API pointers
(This used to be commit 17df313db42199e26d7d2044f6a1d845aacd1a90)
2007-10-10 12:30:14 -05:00
Volker Lendecke
5993ddf240 r24659: Some formatting changes helping to minimize the 3_2_0 diff
(This used to be commit c5caea43af154671448df82881efe09a5c982386)
2007-10-10 12:30:13 -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
891fa216ea r24501: Added bcc test for reply_tcon & removed Vl's comment :-).
Jeremy.
(This used to be commit 9d9ed41f2139051578c35f80112640cffb5f7608)
2007-10-10 12:29:53 -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
Volker Lendecke
6051d51654 r24461: Fix Bug 4852, thank to anto <sistemac@prosoft.ba> for reporting it.
(This used to be commit 0fecd8a0c3aaa64e137d2efd3f9cc7705837ea2a)
2007-10-10 12:29:49 -05:00
Volker Lendecke
716e01d97e r24457: Convert reply_tcon to the new API
Jeremy, I really apologize for doing this, but I just wanted to enjoy
converting the last SMB call :-)

I've left one little task for you there, I'm not certain that checking
the inbuf length is correct here.

Volker
(This used to be commit 1e08fddafda11961f8855423b29c1f8a9a6b4457)
2007-10-10 12:29:49 -05:00
Volker Lendecke
24f42c5cef r24453: Remove the read and write bmpx calls
Talked to both Tridge and Jeremy about this, Tridge said that there is a
special error message persuading OS/2 to fall back to other methods.
The calls now checked in always return the error message we used to
return when "read bmpx = False" was set (the default): ERRSRV, ERRuseSTD.

If someone has a reproducable test case where this is really needed, we
can always dig it up from version control and convert it to the new API.
But that time without that silly parameter, and with a torture test case
for "make test" please :-)

Volker
(This used to be commit d941aae2dfd11609e807bf4ce712571a2e354627)
2007-10-10 12:29:49 -05:00
Jeremy Allison
2823bf10b5 r24445: Convert SMBwritebraw. No test suite unfortunately.... I need to write one for this.
Jeremy
(This used to be commit edc17dfcbd21cccaffb76f4ae67fe4b06520f1a9)
2007-10-10 12:29:48 -05:00
Volker Lendecke
5edcc342c6 r24443: Convert reply_search/fclose to the new API
(This used to be commit a8a33c377e38046b4103cf1d59032b97ab6bac9a)
2007-10-10 12:29:48 -05:00
Volker Lendecke
f93b093d5f r24442: Convert reply_copy to the new API
(This used to be commit 0cb00c54750837ab2d2dc12e4947fedb7d38e878)
2007-10-10 12:29:48 -05:00
Volker Lendecke
9c2bfffece r24441: Convert reply_ioctl to the new API
(This used to be commit a5af7ebb7f1d869659fbab187652e68ec4fafbb8)
2007-10-10 12:29:48 -05:00
Volker Lendecke
90741da80b r24439: Convert reply_get/setattrE to the new API
(This used to be commit 6b0ad071d85ddd8fbf24386db11688bde49baf81)
2007-10-10 12:29:47 -05:00
Volker Lendecke
05fafc1df2 r24436: Convert reply_lockread/writeunlock to the new API
(This used to be commit 1b6add251ca1db565a03407db30884132dd93e7d)
2007-10-10 12:29:47 -05:00