summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_pipe_hnd.c
AgeCommit message (Collapse)AuthorFilesLines
2010-05-27s3:rpc_server: make use of the npa_tstream code to connect to named pipesStefan Metzmacher1-192/+152
This way we use the newest protocol, which is able to pass the local and remote address of the SMB connection. And we correctly support message mode named pipes without the hack that analyzes the content for DCERPC pdus. metze
2010-05-27s3:rpc_server: pass down local and remote tsocket_address to np_open()Stefan Metzmacher1-1/+15
metze
2010-05-27s3:rpc_server: add np_read_in_progress() functionStefan Metzmacher1-0/+22
metze
2010-05-27s3:rpc_server: make sure we don't send uninitialized memory for the ↵Stefan Metzmacher1-1/+1
named_pipe_auth handshake metze
2010-05-26s3-rpc_server: Created a per connection spoolss pipe.Simo Sorce1-0/+33
This way all code can reuse the same connection to spoolss and not have to deal with the creation of a new pipe all over the code every time we need to ask a service off spoolss. Signed-off-by: Günther Deschner <gd@samba.org>
2010-05-18s3: Remove use of iconv_convenience.Jelmer Vernooij1-4/+2
2010-04-11s3: Move serverinfo_to_SamInfoX to auth/server_info.cVolker Lendecke1-287/+0
2010-03-05s3-rpc_server: Document rpc_pipe_open_internal.Andreas Schneider1-1/+27
Signed-off-by: Günther Deschner <gd@samba.org>
2010-02-16s3:rpc streamline memory handlingSimo Sorce1-13/+5
2010-01-06Second part of the fix for bug #7020 - smbd using 2G memory.Jeremy Allison1-0/+7
There was a second leak in the processing of the out_data.frag prs_struct. It needs freeing once the current pdu has been returned asynchronously. Jeremy.
2009-11-08Revert "s3: Do not reference ndr_table_<pipe> in the cli_ routines directly"Volker Lendecke1-2/+1
This reverts commit daa964013bc5d036f4da571ce22c0052ef40943a.
2009-11-08Revert "s3: Consolidate getting the name out of a pipes_struct"Volker Lendecke1-21/+28
This reverts commit 9621306351cdb469ef393a6d8cbeea456bc4bd9f.
2009-11-08Revert "s3: Do not reference the ndr_tables in the server calls directly"Volker Lendecke1-10/+3
This reverts commit 98fb71782e05ae72cd6abeb38b6e0b96a50c1761.
2009-11-08s3: Do not reference the ndr_tables in the server calls directlyVolker Lendecke1-3/+10
This involves storing the interface table in the pipes_struct
2009-11-08s3: Consolidate getting the name out of a pipes_structVolker Lendecke1-28/+21
2009-11-08s3: Do not reference ndr_table_<pipe> in the cli_ routines directlyVolker Lendecke1-1/+2
2009-11-07s3: get_pipe_name_from_iface -> get_pipe_name_from_syntaxVolker Lendecke1-20/+33
2009-09-24s3:rpc_server: we need to make a copy of my_name in serverinfo_to_SamInfo_base()Stefan Metzmacher1-1/+1
This is important for the case the server_info already contains a logon_server. metze
2009-09-16s3-netlogon: support validation level 6 in netr_SamLogon calls.Günther Deschner1-0/+51
Guenther
2009-09-16s3-dcerpc: remove more obsolete or duplicate headers.Günther Deschner1-29/+29
Guenther
2009-06-25s3-netlogon: remove init_netr_SamInfo functions.Günther Deschner1-25/+25
Guenther
2009-06-25s3-netlogon: fix validation level 2 support in netr_SamLogon and friends.Günther Deschner1-36/+85
Guenther
2009-05-24Add "err_on_readability" to writev_sendVolker Lendecke1-1/+1
A socket where the other side has closed only becomes readable. To catch errors early when sitting in a pure writev, we need to also test for readability.
2009-04-22Move serverinfo_to_SamInfo3() to rpc_server/Volker Lendecke1-0/+187
Normally I hate moving around stuff, but this function is only called from the RPC server side and it pulls in passdb when trying to link in our rpc client routines. That seems unnecessary to me.
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