summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_pipe_hnd.c
AgeCommit message (Collapse)AuthorFilesLines
2009-03-27Fix external np read after conversion to tevent_reqVolker Lendecke1-1/+1
2009-03-17Convert np_read to tevent_reqVolker Lendecke1-29/+32
2009-03-17Convert np_write to tevent_reqVolker Lendecke1-39/+30
2009-03-08Add "queue" to writev_sendVolker Lendecke1-1/+2
Unless higher levels queue themselves somehow, writev will *always* be queued. So the queueing should be done at the right level.
2009-03-02Make struct tevent_req opaqueSimo Sorce1-8/+6
Move struct tevent_req in tevent_internal, and ad getters and setters for private data and the callback function. This patch also renames 'private_state' into 'data'. What is held in this pointer is in fact data and not a state like enum tevent_req_state. Calling it 'state' is confusing. The functions addedd are: tevent_req_set_callback() - sets req->async.fn and req->async.private_data tevent_req_set_print_fn() - sets req->private_print tevent_req_callback_data() - gets req->async.private_data tevent_req_data() - gets rea->data This way it is much simpler to keep API/ABI compatibility in the future.
2009-02-24Replace read_pkt by read_packet in np_readVolker Lendecke1-8/+8
2009-02-24Use async_writev in np_writeVolker Lendecke1-12/+10
2009-02-13Parameterize in local.h the MAX_RPC_DATA_SIZE, and ensureJeremy Allison1-1/+1
that "offered" read from the rpc packet in spoolss is under that size. Tidyup from analysis from Veracode. Jeremy.
2009-02-10Add queueing to np_writeVolker Lendecke1-9/+38
2009-02-10Add queueing to np_read_state, simulate message-type named pipes.Volker Lendecke1-25/+100
The problem with msg-type pipes is that we have to return short reads when a message ends before the read request. When reading from the unix domain socket, the message limits are lost. So we would happily return more than a message, which confuses for example the s4 rpc client horribly. I'd expect other np rpc clients also to blow up over this. The real solution is to properly implement a two-byte length field per message on the unix domain socket, but this requires more changes there. And as we right now only serve DCE/RPC over the named pipes, this implements a hack that looks into the fragment headers to figure out hdr.frag_len.
2009-02-09async_sock: Use unix errnos instead of NTSTATUSKai Blin1-4/+5
This also switches wb_reqtrans to use wbcErr instead of NTSTATUS as it would be pointless to convert to errno first and to wbcErr later.
2009-02-08Make prs_struct->out_data.current_pdu dynamically allocatedVolker Lendecke1-8/+15
Another 4k per open pipe
2009-02-08Most RPC requests do not need a full fragment, start smallerVolker Lendecke1-2/+2
2009-02-07Make current_in_pdu in pipes_struct allocatedVolker Lendecke1-0/+18
This makes an open pipe about 4K cheaper
2009-02-05Don't use recvall in the proxied np_read_sendVolker Lendecke1-6/+12
We don't know how much we will get. Resort to a single recv syscall
2009-02-04Restore correct handling of "is_data_available" for the socket transportVolker Lendecke1-0/+13
This fixes a valgrind error reading an uninitialized variable
2009-02-01Split up async_req into a generic and a NTSTATUS specific partVolker Lendecke1-6/+6
2009-02-01Move rpc_pipe_open_internal to srv_pipe_hnd.cVolker Lendecke1-0/+37
This is a smbd-only function
2009-02-01Replace pipe names in pipes_struct by ndr_syntax_idVolker Lendecke1-30/+48
This was mainly used for debugging output
2009-02-01Fix the build on Solaris CCVolker Lendecke1-1/+1
2009-01-31Remove unused np_read sync wrapperVolker Lendecke1-30/+0
2009-01-31Remove unused np_write sync wrapperVolker Lendecke1-30/+0
2009-01-31Make-np_write-handle-0-byte-writes-as-NT_STATUS_OKVolker Lendecke1-0/+6
2009-01-31Add an async np_read wrapperVolker Lendecke1-22/+102
2009-01-31Add an async np_write wrapperVolker Lendecke1-15/+102
2009-01-20Remove some unused codeVolker Lendecke1-13/+0
2009-01-20Remove some smb fsp knowledge from rpc_server/Volker Lendecke1-58/+29
np_open/read/write don't have to know about files_struct
2009-01-20Make use of TALLOC_FREEVolker Lendecke1-3/+1
2009-01-03Remove unused argument "vuid" from make_internal_rpc_pipe_pVolker Lendecke1-4/+2
2008-11-28Remove "conn" parameter from np_open, smb_request contains itVolker Lendecke1-2/+3
2008-11-24Get rid of pipes_struct->pipe_user, we have server_info now --- YESSS!Volker Lendecke1-10/+0
2008-11-06For proxied named pipes, connect to np/<pipe_name> and send auth infoVolker Lendecke1-2/+107
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-11-01Apply some const to np_write()Volker Lendecke1-1/+1
2008-10-25Add proxied named pipe supportVolker Lendecke1-28/+144
This is a central piece of the "merged build" thing: Forward named pipes from samba3 to samba4. This patch is not finished yet, as we will have to forward the smb-level authentication information to samba4, but I'm pushing this patch already to demonstrate the implementation without clutter. It adds an intermediate parameter np:proxy = srvsvc samr winreg wkssvc ... and so on that states which of the pipes should be forwarded to the s4 unix domain socket DEFAULT. The parameter is intermediate because once we have a proper endpoint mapper implementation, this information will be retrieved out of a database. If anybody wants to try this, do the merged build and configure s4 with server services = samba3_smb, rpc, nbt, wrepl, ldap, cldap, kdc, drepl samba3:smbd = /data/inst/sbin/smbd and s3 with auth methods = guest netlogond np:proxy = srvsvc samr winreg wkssvc netlogon ntlsa ntsvcs lsass lsarpc netdfs \ rpcecho initshutdown epmapper svcctl eventlog drsuapi Then run rpcclient against samba4. It will fork s3, which authenticates against s4, and then forwards the rpc requests to s4. Volker
2008-10-25Move the is_known_pipename check into np_openVolker Lendecke1-0/+6
2008-10-25Remove "pipe_handle_offset" -- pipes now use "struct files_struct"Volker Lendecke1-16/+0
2008-10-13Remove the current_spoolss_pipes_open thingy.Volker Lendecke1-17/+0
I looked at a checkout from 2002 and even there it did not what it was supposed to do. Sadly this also removes one of the nicest comments in the whole Samba code :-)
2008-10-13Make the internal pipe functions staticVolker Lendecke1-8/+8
2008-10-13Remove smb_np_structVolker Lendecke1-303/+0
2008-10-13Use "struct files_struct" for pipes instead of smb_np_structVolker Lendecke1-3/+95
2008-10-12Revert "Make get_rpc_pipe() static"Volker Lendecke1-3/+1
This reverts commit f25972832ec9d5a130da9dc060f4c3ed35bda7db.
2008-10-12Make get_rpc_pipe() staticVolker Lendecke1-1/+3
2008-10-12Remove unused #definesVolker Lendecke1-3/+0
2008-07-30Fix duplicate gloabl warning.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 6da33797b0549a2da7dc0fa7ee21dc5e8a6b1459)
2008-07-26make read/write to internal pipes available externallyVolker Lendecke1-8/+3
(This used to be commit e11b5cb1e061caf4c3793fb402ca6bee95a8f26c)
2008-07-26Refactoring: Make close_internal_rpc_pipe_hnd a talloc destructorVolker Lendecke1-5/+5
(This used to be commit 10b47a0c2cfd62489428518112da82f73a52b7bc)
2008-07-26Refactor make_internal_rpc_pipe_p: connection_struct is not neededVolker Lendecke1-21/+11
(This used to be commit defcf0eecfb8eb035d9ca80530720b9e6873f6c7)
2008-06-26Remove p->vuidVolker Lendecke1-4/+2
The users can use p->server_info. Now pipes_struct is decoupled from the SMB transport. (This used to be commit d4cf5a131919530317cd457006b4df5af2c69fa7)
2008-06-26Now that we have p->server_info, use p->server_info->user_session_keyVolker Lendecke1-4/+0
(This used to be commit aefad64e3a5c86d2f988d47e6215ed2085b8fc47)
2008-06-26Add server_info to pipes_structVolker Lendecke1-0/+9
(This used to be commit d621867bb8767e1c4236d28dd9294a61db6cbb10)