summaryrefslogtreecommitdiff
path: root/source3/smbd/notify.c
AgeCommit message (Collapse)AuthorFilesLines
2009-11-18s3: Replace some create_synthetic_smb_fname() callsVolker Lendecke1-10/+6
In very hot codepaths like the statcache copy_smb_filename and the subsequent recursive talloc_free is noticable in the CPU load.
2009-08-17s3:smbd: add smbd_notify_cancel_by_smbreq()Stefan Metzmacher1-0/+20
This function will be used by the SMB2 notify code. metze
2009-07-20s3: Change fsp->fsp_name to be an smb_filename struct!Tim Prouty1-3/+4
2009-07-02s3:smbd: make change_notify_reply() more generic and hide send_nt_replies() ↵Stefan Metzmacher1-12/+22
behind a callback This prepares change notify support for SMB2. metze
2009-07-02s3:smbd: simplify the notify code a bit and always reply via ↵Stefan Metzmacher1-33/+24
change_notify_reply() -> send_nt_replies() metze
2009-07-02s3:smbd: move global notify_changes_by_mid to smbd_server_connectionStefan Metzmacher1-3/+6
metze
2009-06-24s3: Plumb smb_filename through SMB_VFS_STAT and SMB_VFS_LSTATTim Prouty1-11/+21
This patch introduces two new temporary helper functions vfs_stat_smb_fname and vfs_lstat_smb_fname. They basically allowed me to call the new smb_filename version of stat, while avoiding plumbing it through callers that are still too inconvenient. As the conversion moves along, I will be able to remove callers of this, with the goal being to remove all callers. There was also a bug in create_synthetic_smb_fname_split (also a temporary utility function) that caused it to incorrectly handle filenames with ':'s in them when in posix mode. This is now fixed.
2009-04-16Add notify_onelevel.tdbVolker Lendecke1-0/+10
This optimizes non-recursive notifys. For non-recursive notifies we can use a per-directory file-id indexed notify record. This matters for the Windows Explorer and IIS cases which do not use recursive notifies. In these cases, we do not have to shuffle around the whole notify record on every change. For the cluster case, this improves correctness of the notifies, ctdb only distributes the tdb seqnum once a second, so we can lose notifies.
2009-04-13Use convert_string_talloc, thanks Andrew!Volker Lendecke1-1/+1
2009-04-11Fix a memleak in an unlikely error path in change_notify_create()Volker Lendecke1-0/+1
2009-04-11Use talloc_tos() for a temp convert_string_allocate()Volker Lendecke1-3/+3
2009-03-23s3:smbd: use new simplified snb_signing code in the serverStefan Metzmacher1-4/+3
We keep the seqnum/mid mapping in the smb_request structure. This also moves one global variable into the smbd_server_connection struct. metze
2009-02-20s3: Make change notify immediately return a catch-all packet on underlying errorSteven Danneman1-1/+14
* This allows a problem in the underlying CN backend to be bubbled up to the general CN layer so a catch-all reply can be returned * We now also return a catch-all response immediately if the server-side event queue becomes too big
2009-02-20s3: Modifications to generic notify structures to allow implementation of ↵Steven Danneman1-0/+2
OneFS notify. The OneFS kernel based change notify system takes an fd of the directory to watch in it's initialization syscall. Since we already have this directory open, this commit plumbs that fd down to the VFS layer via the notify_entry struct. We also need to know if the watch is taken out on a snapshot directory. The full file_id struct is also passed down to make this determination. The file_id marshalling wrappers are hand written here, but should eventually be auto-generated by moving the struct file_id into the idl.
2009-02-09S3: New module interface for SMB message statistics gatheringtodd stecher1-1/+1
This changelist allows for the addition of custom performance monitoring modules through smb.conf. Entrypoints in the main message processing code have been added to capture the command, subop, ioctl, identity and message size statistics.
2009-01-08s3:smbd: move all globals and static variables in globals.[ch]Stefan Metzmacher1-2/+1
The goal is to move all this variables into a big context structure. metze
2008-11-18Fix bug #5908 - Samba 3.0.32 - internal change notify on share directory fails"Dina Fine1-0/+3
2008-11-08Converting notify.c to store a request, not an inbufVolker Lendecke1-55/+28
2008-11-04Make "inbuf" a talloc child of "smb_request" for normal smb requestsVolker Lendecke1-0/+1
This is necessary if we want to keep the whole smb_request for deferred ops. The explicit settings of req->inbuf will be removed once all those deferring operations are converted to store the whole request and not just the inbuf.
2008-06-17Add some debug to notifyVolker Lendecke1-0/+6
(This used to be commit 4394235378f85ccb911d662d95f1545a14240bdf)
2008-04-11Cleanup size_t return values in convert_string_allocateTim Prouty1-4/+3
This patch is the first iteration of an inside-out conversion to cleanup functions in charcnv.c returning size_t == -1 to indicate failure. (This used to be commit 59124382d2894a1b194b48dd82bc5f956959eb48)
2008-03-17Coverity fixesMarc VanHeyningen1-1/+1
(This used to be commit 3fc85d22590550f0539215d020e4411bf5b14363)
2008-01-11Fix CID 505 - don't copy uninitialized memory.Jeremy Allison1-0/+1
Jeremy. (This used to be commit 0d2c77e8d3a83f2c5e78fa076f22919ef9d124b9)
2008-01-08 ensure uni_name.buffer is initialisedJeremy Allison1-0/+2
merge from http://samba.org/~tridge/3_0-ctdb Jeremy. (This used to be commit dec77b387cd9024eb33bb0617c7543814e9c9212)
2008-01-04Refactor the crypto code after a very helpful conversationJeremy Allison1-20/+26
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)
2007-12-26Add SMB encryption. Still fixing client decrypt butJeremy Allison1-1/+2
negotiation works. Jeremy. (This used to be commit d78045601af787731f0737b8627450018902b104)
2007-10-30Add new parameter, "min receivefile size" (by default setJeremy Allison1-1/+1
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-18RIP BOOL. Convert BOOL -> bool. I found a few interestingJeremy Allison1-4/+4
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-10[GLUE] Rsync SAMBA_3_2_0 SVN r25598 in order to create the v3-2-test branch.Gerald (Jerry) Carter1-4/+3
(This used to be commit 5c6c8e1fe93f340005110a7833946191659d88ab)
2007-10-10r24809: Consolidate the use of temporary talloc contexts.Volker Lendecke1-1/+1
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-10r24512: Fix RAW-NOTIFYVolker Lendecke1-2/+10
With the inbuf consistency checks we have to more correctly fake the inbuf (This used to be commit 2b8ecda30fc57bb4027b7208d22d85d213074158)
2007-10-10r24400: Fix a valgrind bugVolker Lendecke1-2/+4
(This used to be commit 7c65deaed734f5623813922637877b94fc9a6259)
2007-10-10r24399: Change change_notify_reply to use send_nt_replies_newVolker Lendecke1-11/+6
(This used to be commit be67bb50eef88f4d56f48e785c1e5865616f5f33)
2007-10-10r24398: Convert call_nt_transact_notify_change to the new APIVolker Lendecke1-8/+8
(This used to be commit 607b3ab8bc6052770f0324b57f3db6e1c11a7005)
2007-10-10r24314: Attempt to fix bug 4868Volker Lendecke1-0/+1
(This used to be commit 0ced8fcfe124f99159061143f29775aacd6e1c8f)
2007-10-10r23941: Don't use "False" when you mean "MARSHALL".Jeremy Allison1-1/+1
Jeremy. (This used to be commit 57d4d5f2cd1ad7bae28f40478f4c2f9b6a475ce6)
2007-10-10r23940: Added missing line that was deleted accidently.Jeremy Allison1-0/+2
Should fix the build. Jeremy. (This used to be commit b085366d5b982b635561f1d3211a6f3197258e6f)
2007-10-10r23939: Fixes for notify returns. Returned param value must fix insideJeremy Allison1-19/+17
max_param or return NT_STATUS_OK. Jeremy. (This used to be commit ab4af60d1ab4583fd27deb63b3f7baa1ede3473d)
2007-10-10r23784: use the GPLv3 boilerplate as recommended by the FSF and the license textAndrew Tridgell1-2/+1
(This used to be commit b0132e94fc5fef936aa766fb99a306b3628e9f07)
2007-10-10r23779: Change from v2 or later to v3 or later.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3)
2007-10-10r23735: Second part of the bugfix for #4763Jeremy Allison1-1/+21
This should coalesce identical adjacent notify records - making the "too large" bug very rare indeed. Please test. Jeremy. (This used to be commit 1aaa1f5bbe9222acbe3dea1daa1c6c5ce72e1c2c)
2007-10-10r23728: First part of bugfix for #4763. Limit notify responsesJeremy Allison1-0/+12
to client max buf size. Jeremy. (This used to be commit 6113f56919a3cd7fd753808dbbe473603851bc3c)
2007-10-10r23518: Remove the silly assumption that string_replace requires a pstring.Volker Lendecke1-5/+5
Jeremy, I am always very confused about the different length arguments in convert_string and friends. Can you take a look at the change in string_replace and verify it's ok? Thanks! While at it, remove the pstring limit for strhasupper and strhaslower. (This used to be commit e6e5703658aeaeb0cca5d7281095e17553001d4b)
2007-10-10r23510: Tidy calls to smb_panic by removing trailing newlines. Print theJames Peach1-1/+1
failed expression in SMB_ASSERT. (This used to be commit 171dc060e2a576d724eed1ca65636bdafffd7713)
2007-10-10r23450: max_params_return is complete fiction when getting a changenotifyJeremy Allison1-14/+4
request. Ignore it. Should fix bug #4689 but more tests and valgrinding will follow. Jeremy. (This used to be commit c23e08cc09b8de860ab9c7ac9d0e7c2502dfccd9)
2007-10-10r22755: Second half of r22754. As it stands now, string_replace expects aVolker Lendecke1-10/+8
pstring. Give it one, although I hate putting it in :-) Thanks to Tom Bork! :-) (This used to be commit f4ea3fd36543120fa7d712e6e650c704e4e23759)
2007-10-10r22391: Looks bigger than it is. Make "inbuf" availableJeremy Allison1-2/+3
to all callers of smb_setlen (via set_message() calls). This will allow the server to reflect back the correct encryption context. Jeremy. (This used to be commit 2d80a96120a5fe2fe726f00746d36d85044c4bdb)
2007-10-10r21123: Make notify_fsp() static to notify.c.Volker Lendecke1-14/+68
Volker (This used to be commit d663b729c0b3f4265fa90a5df8534ad52b8f04eb)
2007-10-10r21108: Send sys_notify_watch through the VFS, FAM is nextVolker Lendecke1-6/+4
(This used to be commit 603a96761391f36ae9a1c8777d3333ab5c02eb34)
2007-10-10r21093: Remove the hash and dnotify backends. Disabling FAM for this ↵Volker Lendecke1-204/+0
checkin, I'm working on that right now. Volker (This used to be commit 01c9fb17281e99300b339d2cfc0acac7ca94843c)