1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-07 17:18:11 +03:00
Commit Graph

45 Commits

Author SHA1 Message Date
Volker Lendecke
2d4aa59994 lib: Fix whitespace
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2024-03-28 08:05:35 +00:00
Volker Lendecke
a4972336f1 lib: Add a few required #includes
You find them if you try to #include these files directly

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2023-06-16 16:14:30 +00:00
Volker Lendecke
1dd64341d8 messaging4: Change irpc_servers_by_name to NTSTATUS
For me, counted arrays are easier to deal with than NULL-terminated
ones. Here we also had a "server_id_is_disconnection" convention, which
was not really obvious.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Jul 21 20:28:53 CEST 2014 on sn-devel-104
2014-07-21 20:28:53 +02:00
Andrew Bartlett
c1507bc101 s4:imessaging: Remove event context from irpc and imessaging structures
The only part of this code with a stored event context is now the
binding_handle created by irpc_binding_handle() when in the client
dcerpc_binding_handle_set_sync_ev() is called,
otherwise a new nested event context is created for sync calls.

Note that the FD event associated with the socket still implies
the long term event context passed to imessaging_[client]_init().

Andrew Bartlett

Change-Id: I9aeae94b26e3736370f449daa96808e6cdc2d55d
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue May 13 02:33:24 CEST 2014 on sn-devel-104
2014-05-13 02:33:24 +02:00
Andrew Bartlett
3b4ef03097 imessaging: Add irpc_all_servers() to list all available servers
This is implemented with a tdb_traverse_read(), and will allow a tool
to disover the name and server_id of all Samba processes, as each
process registers itself to recieve messages.

Andrew Bartlett
2012-10-31 08:13:56 +11:00
Andrew Bartlett
cdd802af83 s4-messaging Rename messaging -> imessaging
This avoid symbol and structure conflicts between Samba3 and Samba4,
and chooses a less generic name.

Andrew Bartlett
2011-05-03 07:37:07 +02:00
Matthias Dieter Wallnöfer
67318d18c1 s4:lib/messaging/*.h - fix compile warnings on gcc 3.4
For example on OpenSolaris
2010-12-05 20:24:18 +01:00
Anatoliy Atanasov
ed7bbc993d s4/irpc: Add function to add security token to the binding handle 2010-09-27 09:59:21 -07:00
Kamen Mazdrashki
839ed051fc s4-irpc: Add value for "infinite" timeout for IRPC calls 2010-09-16 00:15:37 +03:00
Andrew Tridgell
f6d85be528 s4-messaging: add support for no_reply in irpc messages
It can be useful for a irpc message to be one-way, where the client
sends a messages and the server does not reply. This will be used for
things like a triger message from an auth context to the drepl server
to tell it to try a REPL_SECRET on a user in a RODC.

Previously we've used raw messaging for messages that have no reply,
but that doesn't allow us to use messages described by IDL

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-15 15:39:34 +10:00
Stefan Metzmacher
31d3227074 s4:lib/messaging: make irpc_request private and remove unused code
metze
2010-09-03 17:02:11 +02:00
Stefan Metzmacher
611357aee3 s4:lib/messaging: add irpc_binding_handle_by_name() helper function
metze
2010-09-03 17:00:18 +02:00
Stefan Metzmacher
e26f0abe91 s4:lib/messaging: add irpc dcerpc_binding_handle backend
metze
2010-09-03 17:00:18 +02:00
Stefan Metzmacher
328c7084f2 s4:lib/messaging: move messaging prototypes from irpc.h to messaging.h
metze
2010-09-03 17:00:17 +02:00
Stefan Metzmacher
b4610cdb3b s4:lib/messaging: add some const to messaging_send()
metze
2010-08-30 21:01:19 +02:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Andrew Tridgell
e9a589feac s4-server: kill main daemon if a task fails to initialise
When one of our core tasks fails to initialise it can now ask for the
server as a whole to die, rather than limping along in a degraded
state.
2009-09-18 18:05:55 -07:00
Stefan Metzmacher
5f13710ced s4:irpc: avoid c++ reserved word 'private'
metze
2009-02-01 00:17:20 +01:00
Stefan Metzmacher
f3f2dfc51a s4:lib/messaging: avoid c++ reserved word 'private'
metze
2009-02-01 00:17:19 +01:00
Stefan Metzmacher
183c379fe5 s4:lib/tevent: rename structs
list=""
list="$list event_context:tevent_context"
list="$list fd_event:tevent_fd"
list="$list timed_event:tevent_timer"

for s in $list; do
	o=`echo $s | cut -d ':' -f1`
	n=`echo $s | cut -d ':' -f2`
	r=`git grep "struct $o" |cut -d ':' -f1 |sort -u`
	files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4`
	for f in $files; do
		cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp
		mv $f.tmp $f
	done
done

metze
2008-12-29 20:46:40 +01:00
Jelmer Vernooij
0f04beff33 Rename dom_sid.idl -> server_id.idl (since it no longer actually contains the dom_sid). No longer include it from security.idl. 2008-12-16 15:36:18 +01:00
Jelmer Vernooij
d9a6f04ddd Provide access to server_id from python bindings, add more tests.
(This used to be commit adcd87ad07)
2008-05-26 01:52:35 +02:00
Kai Blin
294c55faf6 IRPC: Add include guards for the header.
(This used to be commit 0e66e443ad)
2008-04-02 23:05:56 +02:00
Jelmer Vernooij
84b4763947 r26441: Remove global_loadparm uses.
(This used to be commit 32007c6277)
2007-12-21 05:50:09 +01:00
Jelmer Vernooij
2f3551ca7c r25446: Merge some changes I made on the way home from SFO:
2007-09-29 More higher-level passing around of lp_ctx.
2007-09-29 Fix warning.
2007-09-29 Pass loadparm contexts on a higher level.
2007-09-29 Avoid using global loadparm context.
(This used to be commit 3468952e77)
2007-10-10 15:07:34 -05:00
Jelmer Vernooij
61ffa08f4c r24712: No longer expose the 'BOOL' data type in any interfaces.
(This used to be commit 1ce32673d9)
2007-10-10 15:02:54 -05:00
Stefan Metzmacher
0d7d5a6d49 r24560: rename some DCERPC_ prefixes into NDR_
metze
(This used to be commit f874eca5da)
2007-10-10 15:02:15 -05:00
Stefan Metzmacher
f14bd1a90a r24557: rename 'dcerpc_table_' -> 'ndr_table_'
metze
(This used to be commit 84651aee81)
2007-10-10 15:02:15 -05:00
Stefan Metzmacher
b8cdadced4 r24551: rename dcerpc_interface_table -> ndr_interface_table
rename dcerpc_interface_list  -> ndr_interface_list

and move them to libndr.h

metze
(This used to be commit 4adbebef5d)
2007-10-10 15:02:12 -05:00
Andrew Tridgell
0479a2f1cb r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
(This used to be commit fcf38a38ac)
2007-10-10 14:59:12 -05:00
Stefan Metzmacher
68b531e817 r22748: fix memleaks by passing an mem_ctx to
irpc_servers_byname()

metze
(This used to be commit b54584dfab)
2007-10-10 14:52:09 -05:00
Stefan Metzmacher
de9768764d r22629: if irpc gets freed within event_loop_once() we crash...
so deferr the freeing

metze
(This used to be commit 3a30bc0d61)
2007-10-10 14:51:56 -05:00
Andrew Tridgell
1cd4339b9a r20646: first preparations for cluster enablement. This changes "
uint32_t server_id
to
  struct server_id server_id;

which allows a server ID to have an node number. The node number will
be zero in non-clustered case. This is the most basic hook needed for
clustering, and ctdb.
(This used to be commit 2365abaa99)
2007-10-10 14:37:23 -05:00
Andrew Tridgell
c8610144f7 r15049: for really efficient oplock handling with thousands of open files we
will need a separate messaging endpoint per open file. To make this
efficient extend the messaging layer to have a new registration
function for temporary message types that maps via an idtree.

I have updated the LOCAL-MESSAGING test to use the new function.
(This used to be commit 4b976851d8)
2007-10-10 14:04:03 -05:00
Andrew Bartlett
34aa19cafe r13317: Create a new function messaging_client_init() which can be used when
we don't have a server messaging context.  We should replace the
datagram messages with stream sockets in this case, so we don't have
to create a unique socket.

Andrew Bartlett
(This used to be commit fd974fb647)
2007-10-10 13:51:43 -05:00
Andrew Tridgell
06085e7bc0 r10490: - allow deferred irpc replies to set the status
- add an example of deferred reply for echodata in LOCAL-IRPC
(This used to be commit 858a757a6d)
2007-10-10 13:38:54 -05:00
Andrew Tridgell
87f71eb8ad r10489: added the ability for irpc server to defer replies instead of replying
immediately. They set m->defer_reply = True;
(This used to be commit 3dcd800a5d)
2007-10-10 13:38:54 -05:00
Andrew Tridgell
08b2b7e3e1 r8923: put the IRPC default timeout back to 10s (I didn't mean to commit this, it was
changed just for deugging)
(This used to be commit a7c260e61f)
2007-10-10 13:30:58 -05:00
Andrew Tridgell
fc58570940 r8887: fixed the irpc error that caused ia64 to fail the LOCAL-IRPC test
(This used to be commit ce9a262d37)
2007-10-10 13:30:15 -05:00
Andrew Tridgell
144b88b3a0 r8277: filled in the code for finding irpc server ids by name, storing the
names in a tdb
(This used to be commit b603a52f27)
2007-10-10 13:19:30 -05:00
Andrew Tridgell
c6881d1e65 r8272: added the hooks for adding a name to a messaging context, so we will
be able to send a message to the "ldap_server" task without having to
know its task ID.
(This used to be commit 8f69867867)
2007-10-10 13:19:29 -05:00
Andrew Tridgell
0093e1b62c r7320: added support for a private pointer in irpc registered handlers
(This used to be commit eec521dffd)
2007-10-10 13:17:41 -05:00
Andrew Tridgell
37fdb858b0 r7298: ensure messages are sent in order even when under extreme load. This
fixes a IO_TIMEOUT problem in the messaging benchmarks
(This used to be commit c8b220b65d)
2007-10-10 13:17:38 -05:00
Andrew Tridgell
d934cb71d0 r7295: added an irpc benchmark. It gets about 16k messages/sec on my laptop,
compared to about 20k messages/sec for the raw messaging layer. I
think that is quite acceptable given the extra functionality.
(This used to be commit a05d38d1d9)
2007-10-10 13:17:38 -05:00
Andrew Tridgell
bf1ffa283c r7294: implemented the irpc messaging system. This is the core of the
management system I proposed on samba-technical a couple of days
ago. Essentially it is a very lightweight way for any code in Samba to
make IDL based rpc calls to anywhere else in the code, without the
client or server having to go to the trouble of setting up a full rpc
service.

It can be used with any of our existing IDL, but I expect it will
mostly be used for a new set of Samba specific management calls.

The LOCAL-IRPC torture test demonstrates how it can be used by calling
the echo_AddOne() call over this transport.
(This used to be commit 3d589a0995)
2007-10-10 13:17:37 -05:00