diff options
author | Rafal Szczesniak <mimir@samba.org> | 2005-07-26 23:03:37 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:30:05 -0500 |
commit | 40119dcb1d72795513bdad4018eff19fdc4a203d (patch) | |
tree | 631b8b0ea234209265f28a2eb3b8f1e814708bc6 /source4 | |
parent | 0102f2752f7c429f95048c277cd1793683a2750e (diff) | |
download | samba-40119dcb1d72795513bdad4018eff19fdc4a203d.tar.gz samba-40119dcb1d72795513bdad4018eff19fdc4a203d.tar.bz2 samba-40119dcb1d72795513bdad4018eff19fdc4a203d.zip |
r8789: Send new monitor messages from userdel routine.
rafal
(This used to be commit eaaefa374ce11ab5dc3738bea046d33ed879fc4c)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/libnet/userman.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source4/libnet/userman.c b/source4/libnet/userman.c index 1a40b74352..a3c1eaf17a 100644 --- a/source4/libnet/userman.c +++ b/source4/libnet/userman.c @@ -29,6 +29,7 @@ #include "librpc/gen_ndr/ndr_samr.h" #include "libnet/composite.h" #include "libnet/userman.h" +#include "libnet/userinfo.h" /* * Composite user add function @@ -303,16 +304,38 @@ static void userdel_handler(struct rpc_request *req) struct composite_context *c = req->async.private; struct userdel_state *s = talloc_get_type(c->private, struct userdel_state); struct monitor_msg msg; + struct msg_rpc_lookup_name *msg_lookup; + struct msg_rpc_open_user *msg_open; switch (s->stage) { case USERDEL_LOOKUP: c->status = userdel_lookup(c, s); + + msg.type = rpc_lookup_name; + msg_lookup = talloc(s, struct msg_rpc_lookup_name); + msg_lookup->rid = s->lookupname.out.rids.ids; + msg_lookup->count = s->lookupname.out.rids.count; + msg.data = (void*)msg_lookup; + msg.data_size = sizeof(*msg_lookup); break; + case USERDEL_OPEN: c->status = userdel_open(c, s); + + msg.type = rpc_open_user; + msg_open = talloc(s, struct msg_rpc_open_user); + msg_open->rid = s->openuser.in.rid; + msg_open->access_mask = s->openuser.in.rid; + msg.data = (void*)msg_open; + msg.data_size = sizeof(*msg_open); break; + case USERDEL_DELETE: c->status = userdel_delete(c, s); + + msg.type = rpc_delete_user; + msg.data = NULL; + msg.data_size = 0; break; } |