summaryrefslogtreecommitdiff
path: root/source3/smbd/notify.c
AgeCommit message (Collapse)AuthorFilesLines
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)
2007-10-10r21092: Ok, that's the one that activates the Samba4 notify backend.Volker Lendecke1-40/+57
Now to clean up / fix lots of stuff. Volker (This used to be commit 9e7443fa1417c01be903b15073825dc4def78d99)
2007-10-10r21091: Fix the build without inotifyVolker Lendecke1-0/+4
(This used to be commit 686345b7ed727db7b1d9bc164208ecfb612837b6)
2007-10-10r21090: Add some helper routinesVolker Lendecke1-0/+38
(This used to be commit 985dde8ed0a7e6da5adf9c55654a4fd362b22acb)
2007-10-10r21087: Make the param list of notify_fname match notify_triggerVolker Lendecke1-2/+2
(This used to be commit defa28f9c3eda85a072b972fffd2d5de8bcf01f7)
2007-10-10r21084: Make the Samba4 files compile in Samba3, not activated yet.Volker Lendecke1-0/+27
Volker (This used to be commit c24854433a28cc066072a7107e29aa7fe2bec3c8)
2007-10-10r21077: A step to minimize the diff later: This pulls in unmodified files ↵Volker Lendecke1-5/+0
from Samba4, not compiled yet. This way the modifications become visible later. ntvfs/common/notify.c -> smbd/notify_internal.c ntvfs/sysdep/inotify.c -> smbd/notify_inotify.c Naturally I had to disable notify again :-) Volker (This used to be commit cdb7d582b7397faa5926bff5783da7fef4209948)
2007-10-10r21064: The core of this patch isVolker Lendecke1-2/+3
void message_register(int msg_type, void (*fn)(int msg_type, struct process_id pid, - void *buf, size_t len)) + void *buf, size_t len, + void *private_data), + void *private_data) { struct dispatch_fns *dfn; So this adds a (so far unused) private pointer that is passed from message_register to the message handler. A prerequisite to implement a tiny samba4-API compatible wrapper around our messaging system. That itself is necessary for the Samba4 notify system. Yes, I know, I could import the whole Samba4 messaging system, but I want to do it step by step and I think getting notify in is more important in this step. Volker (This used to be commit c8ae60ed65dcce9660ee39c75488f2838cf9a28b)
2007-10-10r20982: Fix a segfault -- I wonder why my make test did not show this earlier...Volker Lendecke1-1/+2
(This used to be commit 4984b0627c84cc192868238c0936ca1a38628cd8)
2007-10-10r20932: This is the basic infrastructure for inotify support. This is far ↵Volker Lendecke1-0/+5
from being complete, in particular the various mask bits are not correctly supported yet. Checkin in now, I want to see how the build farm likes it. Volker (This used to be commit c9a5d011a91359b242f6c26f46e96ecea6a44a3b)
2007-10-10r20931: This changes the notify infrastructure from a polling-based to an ↵Volker Lendecke1-178/+48
event-driven based approach. The only remaining hook into the backend is now void *(*notify_add)(TALLOC_CTX *mem_ctx, struct event_context *event_ctx, files_struct *fsp, uint32 *filter); (Should we put this through the VFS, so that others can more easily plug in?) The trick here is that the backend can pick filter bits that the main smbd should not handle anymore. Thanks to tridge for this idea. The backend can notify the main smbd process via void notify_fsp(files_struct *fsp, uint32 action, char *name); The core patch is not big, what makes this more than 1800 lines are the individual backends that are considerably changed but can be reviewed one by one. Based on this I'll continue with inotify now. Volker (This used to be commit 9cd6a8a82792b7b6967141565d043b6337836a5d)
2007-10-10r20858: change_notify_reply_packet is staticVolker Lendecke1-2/+4
(This used to be commit a1d0644d156c360d52fb837d3eecddb202135ebe)
2007-10-10r20856: Make "struct notify_mid_map" private to notify.cVolker Lendecke1-0/+11
(This used to be commit beecef0c70521d28dd88552d661281d9c585eb22)
2007-10-10r20854: Ok, now I think we're at a point where looking at notify starts to ↵Volker Lendecke1-28/+439
make sense again :-) Volker (This used to be commit 5533cdeec1b0cdee39b1d89e2320587dc9281ee6)
2007-10-10r20634: A *LOT* more work is necessary before touching notify remotely ↵Volker Lendecke1-439/+28
starts to make sense. Until then, remove it from the tree to keep the diff between 3_0_24 and 3_0 small. Volker (This used to be commit f146a85e74c84e78a11e616a1cbeaeef4693a0e0)
2007-10-10r20602: Fix coverity ID 339. SMB_ASSERT does not panic without -DDEVELOPER.Volker Lendecke1-1/+4
Volker (This used to be commit 33b5950bec407e295b2c6139e21d062e376df330)
2007-10-10r20597: Survive some of the notify mask tests.Volker Lendecke1-0/+14
(This used to be commit e4a2e63272dc5b20413597179d06b0185c4a6817)
2007-10-10r20451: Survive the first of the filter-tests (mkdir).Volker Lendecke1-16/+24
Add lots of TODOs :-) Volker (This used to be commit 0e953884a15873b0962ab1ab064d6b3a436726c0)
2007-10-10r20443: Fix a compiler warningVolker Lendecke1-1/+2
(This used to be commit 19781d71fc5a8146109395cd53c04cf13cc48652)
2007-10-10r20442: Slight rewrite of the change notify infrastructure. This now ↵Volker Lendecke1-66/+136
survives the first of the raw-notify subtests, the one-level test_notify_dir without any flags around yet. The tricky part was getting the data structures right, I hope the next tests don't let that fall over. fsp->notify is now by default NULL, meaning that nobody has issued a changenotify call. This means nobody is interested in changes for this directory. If that has happened, notify_change_buf collects the changes if no current request is outstanding, and it collects the requests if no change has happened since the last request. Happy New Year, somewhere on this planet it's already 2007 :-) Volker P.S: Jeremy, there's a question for you in smbd/files.c line 367. (This used to be commit ce0ad24988075465addcac0b9afc872e909135af)
2007-10-10r20433: Work in progress: Survive more of RAW-NOTIFY.Volker Lendecke1-27/+71
call_nt_transact_notify_change() is now sync if there are changes around. A notify_message does a direct reply from within the message, so process_pending_change_notify_queue is not needed anymore for samba-generated events. Next step is to restructure the kernel-mechanisms to generate messages. Volker (This used to be commit c813f71d0036ec52c99a97e60fe33ee47d0635fa)
2007-10-10r20394: This is a *VERY* early start of my work on notify.Volker Lendecke1-11/+282
Checking in because Jeremy was bugging me. Potentially this becomes quite intrusive, I'm not sure if I should open a temporary branch for this. Jeremy, Jerry, do you think 3_0 is the right place for this? Volker (This used to be commit bcf5c751cbe203c00814642e26440cf88f300bce)
2007-10-10r20237: Replace exit_server with exit_server_cleanly where appropriate. AllJames Peach1-1/+1
send_smb failures should be clean exits. All times when we exit as a matter of policy should also be clean exits. (This used to be commit d6382092e72120a3c89ffe81975e8898d454bf06)
2007-10-10r15555: Make "change notify timeout" a per-share parameter - usedJeremy Allison1-1/+13
when there's no kernel or FAM change notify. If set to zero this will turn off change notify for the share except when we ourselves change something (renames / deletes etc. ). Designed to help on large directory shares where a new changenotify is issued between each delete. This will be fixed correctly when we move to internal change notify (eg. back-port Samba4 changenotify). Jeremy. (This used to be commit 5a17bffbcd5082fde79c241468a0ff2b5903d540)
2007-10-10r13482: Push the FAM notification file descriptor into the selectJames Peach1-0/+9
set to avoid unnecessary polling. (This used to be commit 1dce945ccbba25092cf54890301c8f78f8aede33)
2007-10-10r13027: Support file change notifications from FAM.James Peach1-1/+7
(This used to be commit 652b511ff24ce41c7745a0e00363e619e5027828)