summaryrefslogtreecommitdiff
path: root/source4/rpc_server/dcerpc_sock.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r3320: fixed bugs in the rpc_server code in handling partial packet receives ↵Andrew Tridgell1-1/+2
and sends it now passes the non-blocking test suite (This used to be commit 6cdf485fb263c69d62ea2e98236d92ffbf6b7a3e)
2007-10-10r3304: changed the API to lib/socket/ a little.Andrew Tridgell1-10/+18
The main change is to make socket_recv() take a pre-allocated buffer, rather than allocating one itself. This allows non-blocking users of this API to avoid a memcpy(). As a result our messaging code is now about 10% faster, and the ncacn_ip_tcp and ncalrpc code is also faster. The second change was to remove the unused mem_ctx argument from socket_send(). Having it there implied that memory could be allocated, which meant the caller had to worry about freeing that memory (if for example it is sending in a tight loop using the same memory context). Removing that unused argument keeps life simpler for users. (This used to be commit a16e4756cd68ca8aab4ffc59d4d9db0b6e44dbd1)
2007-10-10r3278: - rewrote the client side rpc connection code to use lib/socket/Andrew Tridgell1-4/+3
rather than doing everything itself. This greatly simplifies the code, although I really don't like the socket_recv() interface (it always allocates memory for you, which means an extra memcpy in this code) - fixed several bugs in the socket_ipv4.c code, in particular client side code used a non-blocking connect but didn't handle EINPROGRESS, so it had no chance of working. Also fixed the error codes, using map_nt_error_from_unix() - cleaned up and expanded map_nt_error_from_unix() - changed interpret_addr2() to not take a mem_ctx. It makes absolutely no sense to allocate a fixed size 4 byte structure like this. Dozens of places in the code were also using interpret_addr2() incorrectly (precisely because the allocation made no sense) (This used to be commit 7f2c771b0e0e98c5c9e5cf662592d64d34ff1205)
2007-10-10r3209: - Create directory for ncalrpc with correct modeJelmer Vernooij1-2/+4
- Support binding strings like : ncacn_np:[sign] ncacn_np:myhost[seal,sign,endpoint] again (This used to be commit b53f4cd1697345065c7d979ba63237bf828dc07f)
2007-10-10r3208: fixed permissions of ncalrpc directory creationAndrew Tridgell1-1/+1
(This used to be commit adbfd206f4e077ed915a014e89a970470b43e125)
2007-10-10r3205: Create ncalrpc directory if it didn't exist yetJelmer Vernooij1-0/+5
(This used to be commit 1161c33794cdb16a3d09a66258f46e0020c4aeef)
2007-10-10r3167: Add a member 'endpoint' to the dcerpc_binding struct to use instead ofJelmer Vernooij1-21/+10
options[0]. (This used to be commit 18582083af800abd3d8de40eb73255c8ae6598dd)
2007-10-10r3163: Add server side support for ncalrpc: and ncacn_unix_stream:Jelmer Vernooij1-0/+328
Examples of binding strings are : ncalrpc:[EPMAPPER] ncacn_unix_stream:[/tmp/epmapper] N.B. The unix socket support in lib/socket/ appears to close and remove the socket it is listening on after the first client disconnects so until that has been fixed, it is only possible to do one ncalrpc: or ncacn_unix_stream: request per instance of smbd :-) Support for looking up NCALRPC names via the endpoint mapper will be added later. (This used to be commit 426f3e63cae3d306dcdc13ee4b655eed30057ff8)