diff options
author | Andreas Schneider <asn@samba.org> | 2011-05-31 10:53:55 +0200 |
---|---|---|
committer | Andreas Schneider <asn@samba.org> | 2011-06-01 12:02:15 +0200 |
commit | 6b0f82eeab04e59657231b73fd94d33cffaadc76 (patch) | |
tree | 8277998b07a8dc4b9fc8c32fa769865c9b790143 /source3/rpc_server | |
parent | 58485afd91dde993cd7f14ca0182f661be4b719c (diff) | |
download | samba-6b0f82eeab04e59657231b73fd94d33cffaadc76.tar.gz samba-6b0f82eeab04e59657231b73fd94d33cffaadc76.tar.bz2 samba-6b0f82eeab04e59657231b73fd94d33cffaadc76.zip |
s3-rpc_server: Migrate init_pipe_handles() to new syntax.
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | source3/rpc_server/rpc_handles.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/source3/rpc_server/rpc_handles.c b/source3/rpc_server/rpc_handles.c index 493149b2c3..32e98f3644 100644 --- a/source3/rpc_server/rpc_handles.c +++ b/source3/rpc_server/rpc_handles.c @@ -84,15 +84,28 @@ bool init_pipe_handles(struct pipes_struct *p, const struct ndr_syntax_id *synta for (plist = get_first_internal_pipe(); plist; plist = get_next_internal_pipe(plist)) { - if (ndr_syntax_id_equal(syntax, &plist->syntax)) { - break; + struct pipe_rpc_fns *p_ctx; + bool stop = false; + + for (p_ctx = plist->contexts; + p_ctx != NULL; + p_ctx = p_ctx->next) { + if (ndr_syntax_id_equal(syntax, &p_ctx->syntax)) { + stop = true; + break; + } + if (is_samr_lsa_pipe(&p_ctx->syntax) + && is_samr_lsa_pipe(syntax)) { + /* + * samr and lsa share a handle space (same process + * under Windows?) + */ + stop = true; + break; + } } - if (is_samr_lsa_pipe(&plist->syntax) - && is_samr_lsa_pipe(syntax)) { - /* - * samr and lsa share a handle space (same process - * under Windows?) - */ + + if (stop) { break; } } |