summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r24135: Convert call_trans2open to the new APIVolker Lendecke1-1/+1
This itself won't help much, because send_trans2_replies_new still allocates the big buffers, but stay tuned :-) Also add/update my copyright on stuff I recently touched. Volker (This used to be commit 248f15ff143474db2493cef89ba446892342a361)
2007-10-10r24119: Convert reply_exit to the new APIVolker Lendecke1-1/+1
(This used to be commit d4d550aa2ba20d704d2ab1265732b03405e8819c)
2007-10-10r24100: Convert reply_ntcancel to the new APIVolker Lendecke1-1/+1
(This used to be commit 6e5f39379f60e30cd0445a049df619ec8f65fc01)
2007-10-10r24091: Convert reply_ntcreate_and_X to the new APIVolker Lendecke1-1/+1
The routines called will follow (This used to be commit 28025fc17efa033515cef94789e518a6615e141f)
2007-10-10r24089: Add reply_prep/post_legacyVolker Lendecke1-0/+54
Routines to ease the transition to the new API (This used to be commit 1bb2b341e2cb6c0175376dc8bd2d1ce6d9c6c00e)
2007-10-10r24088: Convert reply_unlink to the new APIVolker Lendecke1-1/+1
(This used to be commit fb0a1b7bd0a195dbedb3b0c02d8a4ec25c21b9bf)
2007-10-10r24086: Convert reply_ulogoffX to the new APIVolker Lendecke1-1/+1
(This used to be commit bbc99e1c3b764bc2adf620553b7fa85efdf8ac53)
2007-10-10r24085: Convert reply_rmdir to the new APIVolker Lendecke1-1/+1
(This used to be commit 7689048d71cc4adbdaee5521cc57890518e7090a)
2007-10-10r24084: Convert reply_mkdir to the new APIVolker Lendecke1-1/+1
(This used to be commit e93f3996fcdde6f0fbba3fb9e1e97407e9ccdd62)
2007-10-10r24079: Convert reply_dskattr to the new APIVolker Lendecke1-1/+1
(This used to be commit c8e0aa5752fde34f7271a4fad758dfae0991722d)
2007-10-10r24077: Convert reply_tdis to the new APIVolker Lendecke1-1/+1
(This used to be commit bd0cb48dde401f48dec98fa7ca794a912e0244f1)
2007-10-10r24056: Another big one: This converts reply_sesssetup_and_X to the new API. ↵Volker Lendecke1-1/+1
As usual, its history can be found on http://samba.org/~vlendec/sesssetup/. This very obviously needs close review. Volker (This used to be commit 35675a6a33d584e5c3c97d1cb5ca9b0315a5fa92)
2007-10-10r24046: Fix a 64-bit warningVolker Lendecke1-1/+1
(This used to be commit a2ecc34aa43f810e68815c25016da1d184a21a04)
2007-10-10r24004: Convert reply_checkpath to the new APIVolker Lendecke1-1/+1
(This used to be commit e5c7c6406af5552b3060f03a09b5e6c9a42e531c)
2007-10-10r24003: Convert reply_tcon_and_X to the new APIVolker Lendecke1-1/+1
(This used to be commit 9422385d9c018a0b1f2a0b2edd82dc574a9fb403)
2007-10-10r24002: Convert reply_negprot to the new APIVolker Lendecke1-1/+1
(This used to be commit bd981f53282573058bf4c2939e0e836499cf38be)
2007-10-10r23999: Convert reply_open_and_XVolker Lendecke1-1/+1
This is an example of chained code that is executed in make test (This used to be commit e3a10e9ffb06f429208f8b8e8482bbfd56dace91)
2007-10-10r23998: Convert reply_close to the new APIVolker Lendecke1-1/+1
(This used to be commit dbf74cb747d34dac571d85d6bae9398558086456)
2007-10-10r23997: Check in the infrastructure for getting rid of the global ↵Volker Lendecke1-373/+595
InBuffer/OutBuffer The complete history of this patch can be found under http://www.samba.org/~vlendec/inbuf-checkin/. Jeremy, Jerry: If possible I would like to see this in 3.2.0. I'm only checking into 3_2 at the moment, as it currently will slow down operations for all non-converted (i.e. all at this moment) operations, as it will copy the talloc'ed inbuf over the global InBuffer. It will need quite a bit of effort to convert everything necessary for the normal operations an XP box does. I have patches for negprot, session setup, tcon_and_X, open_and_X, close. More to come, but I would appreciate some help here. Volker (This used to be commit 5594af2b208c860d3f4b453af6a649d9e4295d1c)
2007-10-10r23990: Reformatting for 80 cols and trailing whitespaceVolker Lendecke1-11/+18
(This used to be commit 0484de27d97306707ae0243443d18e9dec6d80f3)
2007-10-10r23988: Looks a lot more scary than it is: This just unwraps the else-branch ofVolker Lendecke1-67/+74
if (smb_messages[type].fn == NULL) { into the function top-level. Makes this function a bit easier to understand IMO. Volker (This used to be commit ada23b7f06acb00c36763a3e7a6f6e0caac86951)
2007-10-10r23987: Remove static pid in switch_message()Volker Lendecke1-5/+3
There's no point in duplicating functionality that exists in sys_getpid() that also only used in a debug statement (This used to be commit ebf1b1e97c709f5ffe48c85b4227a0af1f88b0ab)
2007-10-10r23813: Remove unused global variableVolker Lendecke1-5/+0
(This used to be commit 3b811134c02ff9b24d3e36c1ff94b32946c6183c)
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-10r23725: Remove get_current_mid()Volker Lendecke1-9/+0
Jeremy, next one to review :-) (This used to be commit a50555dda7db5e848e337185ed91c41c2557f7be)
2007-10-10r23724: Reduce access to the global inbuf a tiny bit. Add a struct smb_requestVolker Lendecke1-0/+12
that contains some of the fields from the SMB header, removing the need to access inbuf directly. This right now is used only in the open file code & friends, and creating that header is only done when needed. This needs more work, but it is a start. Jeremy, I'm only checking this into 3_0, please review before I merge it to _26. Volker (This used to be commit ca988f4e79e977160d82e86486972afd15d4acf5)
2007-10-10r23537: Revert the inbuf/outbuf part of r23528: This caused the Solaris CC ↵Volker Lendecke1-10/+54
make test to break. The Solaris CC put the static char InBuffer[TOTAL_BUFFER_SIZE] on an odd address, the malloc'ed one is always aligned. The problem showed up in pull_ucs2, ucs2_align uses the address of InBuffer as an indication whether to bump up the src of the string by one. Unfortunately in the trans calls the data portion is malloced and thus has different alignment guarantees than a static variable. This one is bigger.... Volker (This used to be commit 6affd7818f6981be2a9f44fcf302e7fddb468347)
2007-10-10r23528: Two changes to make the valgrind massif (heap profiler) output readable:Volker Lendecke1-54/+10
Remove the allocated inbuf/output. In async I/O we copy the buffers explicitly now, so NewInBuffer is called exactly once. This does not reduce memory footprint, but removes one of the larger chunks that clobber the rest of the massif output In getgroups_unix_user on Linux 2.6 we allocated 64k groups x 4 bytes per group x 2 (once in the routine itself and once in libc) = 512k just to throw it away directly again. This reduces it do a more typical limit of 32 groups per user. We certainly cope with overflow fine if 32 is not enough. Not 100% sure about this one, a DEVELOPER only thing? (This used to be commit 009af0909944e0f303c5d496b56fb65ca40a41d5)
2007-10-10r23055: Rewrite messages.c to use auto-generated marshalling in the tdb. I'mVolker Lendecke1-1/+1
doing this because for the clustering the marshalling is needed in more than one place, so I wanted a decent routine to marshall a message_rec struct which was not there before. Tridge, this seems about the same speed as it used to be before, the librpc/ndr overhead in my tests was under the noise. Volker (This used to be commit eaefd00563173dfabb7716c5695ac0a2f7139bb6)
2007-10-10r22868: Replace some message_send_pid calls with messaging_send_pid calls. MoreVolker Lendecke1-3/+3
tomorrow. (This used to be commit 74fa57ca5d7fa8eace72bbe948a08a0bca3cc4ca)
2007-10-10r22695: Dummy checkin (reformatting) to make the AIX hosts retry.Volker Lendecke1-6/+6
(This used to be commit cd55ccef6a1d0c95836feeb5efb5abcaedb35df2)
2007-10-10r22691: Fix a 64-bit warning and a const const discard warningVolker Lendecke1-4/+3
(This used to be commit 3a2ca1b1b85e268928587287f61d26f992b303a5)
2007-10-10r22458: Fix a commentVolker Lendecke1-1/+1
(This used to be commit f5ccec42287cfdf128bbfcf562a47a852bd0e3fe)
2007-10-10r22391: Looks bigger than it is. Make "inbuf" availableJeremy Allison1-3/+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-10r22389: Start preparing for multiple encryption contexts in theJeremy Allison1-3/+4
server. Allow server to reflect back to calling client the encryption context that was sent. Jeremy. (This used to be commit b49e90335d1e589916b5ab4992e3c4a2d221ca7e)
2007-10-10r22213: We can't use become_root() here, as it does DEBUG()Volker Lendecke1-0/+7
itself. become_root_uid_only did not :-) Revert 21868, we need to find a better way. Volker (This used to be commit 629f966714c7a8d96b06027d514b86cde81b69b9)
2007-10-10r22145: Fix bug #4494 - reported by Kevin Jamieson <bugzilla@kevinjamieson.com>.Jeremy Allison1-2/+2
If returning a mapped UNIX error from sendfile, don't call chain_reply. Jeremy. (This used to be commit 38404c990db1436241c3a774c51196bc058d7576)
2007-10-10r21879: Move process_blocking_lock_queue to a timed event.Volker Lendecke1-7/+1
The idea is that we have blocking.c:brl_timeout as a timed event that is present whenever we do have a blocking lock pending. It fires brl_timeout_fn() which calls process_blocking_lock_queue(). Whenever we make changes to blocking_lock_queue, we trigger a recalc_brl_timeout() which sets a new brl_timout event if necessary. This makes the call to blocking_locks_timeout_ms() in setup_select_timeout() unnecessary, this is implicitly done in event_add_to_select_args() from the timed events. Volker (This used to be commit 7e31b8ce21de803ac1f8967967393341a3f44ac3)
2007-10-10r21871: Move deadtime processing into an idle event. While there, simplifyVolker Lendecke1-21/+0
conn_idle_all() a bit. Volker (This used to be commit 3fc00977a99932b226bdcbc43bbc0ede1bcec26f)
2007-10-10r21870: Move sending auth_server keepalives out of the main loop into an ↵Volker Lendecke1-18/+0
idle event. Volker (This used to be commit 6226b30f38cd82531422815ba66a687aab50028d)
2007-10-10r21869: Move sending keepalives out of the main processing loop into idle event.Volker Lendecke1-12/+15
On the way, make lp_keepalive() a proper parameter. Volker (This used to be commit 9499fd9c803d030ce9827f8379c2e56d91bb786e)
2007-10-10r21868: Remove check_log_size from the central smbd processing loop. This ↵Volker Lendecke1-7/+0
can be done with a become_root/unbecome_root in debug.c. (This used to be commit 4632a0caaf251d9cc7b9d84cbd20362d37f0e4e0)
2007-10-10r21867: Simplify calling convention of timeout_processing. lp_deadtime is onlyVolker Lendecke1-10/+11
referenced in conn_idle_all(). (This used to be commit c0aaee6d36cf1fb873cfb9ab6ee52ff097a202a0)
2007-10-10r21784: Replace smb_register_idle_event() with event_add_timed(). This fixes ↵Volker Lendecke1-3/+0
winbind who did not run the idle events to drop ldap connections. Volker (This used to be commit af3308ce5a21220ff4c510de356dbaa6cf9ff997)
2007-10-10r21731: Fix long-standing bug in our chain processing code.Jeremy Allison1-3/+20
Should fix a bug with WinPE. Probably a candidate for the Vista patchset. Jeremy. (This used to be commit ef32de6b59fef3e9f59e6f864ce5eb072390ea48)
2007-10-10r21278: The main goal of this was to get rid of the NetInBuffer / ↵Volker Lendecke1-38/+2
set_InBuffer. But it turns out that this patch actually speeds up the async writes considerably. I tested writing 100.000 times 65535 bytes with the allowed 10 ops in parallel. Without this patch it took about 32 seconds on my dual-core 1.6GHz laptop. With this patch it dropped to about 26 seconds. I can only explain it by better cache locality, NewInBuffer allocates more than 128k, so we jump around in memory more. Jeremy, please check! Volker (This used to be commit 452d51bc6fd41771b9c41ba6391664513d7cf2cd)
2007-10-10r21184: Dummy checkin to let the build farm pick up r21183 of Samba4Volker Lendecke1-2/+2
(This used to be commit 22c9511314d563e1f4480099d2990cb5fbb8546a)
2007-10-10r21166: Ensure we return the correct "EROFS" error on a non-writableJeremy Allison1-1/+1
filesystem. Jeremy. (This used to be commit 1e25501e8e6c568ab8892e05e0a60197e267d2b5)
2007-10-10r20931: This changes the notify infrastructure from a polling-based to an ↵Volker Lendecke1-31/+0
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)