summaryrefslogtreecommitdiff
path: root/source4/libnet
diff options
context:
space:
mode:
authorRafal Szczesniak <mimir@samba.org>2005-07-26 23:03:37 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:30:05 -0500
commit40119dcb1d72795513bdad4018eff19fdc4a203d (patch)
tree631b8b0ea234209265f28a2eb3b8f1e814708bc6 /source4/libnet
parent0102f2752f7c429f95048c277cd1793683a2750e (diff)
downloadsamba-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/libnet')
-rw-r--r--source4/libnet/userman.c23
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;
}