summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_dual_srv.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-08-03 23:44:46 +0200
committerVolker Lendecke <vl@samba.org>2009-08-05 03:21:20 -0400
commitbb359c780aee3fd7e1074db93a28c95590ae5d36 (patch)
tree20da9d2b875a3b93fc09f9c2ec74d7c9928f19cf /source3/winbindd/winbindd_dual_srv.c
parent2d6589fb0243cb2b73615de1aaea38a3059c08ed (diff)
downloadsamba-bb359c780aee3fd7e1074db93a28c95590ae5d36.tar.gz
samba-bb359c780aee3fd7e1074db93a28c95590ae5d36.tar.bz2
samba-bb359c780aee3fd7e1074db93a28c95590ae5d36.zip
s3:winbind: Add async wb_lookupsid
Diffstat (limited to 'source3/winbindd/winbindd_dual_srv.c')
-rw-r--r--source3/winbindd/winbindd_dual_srv.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c
index 5d2d7f389d..b4e18c82c1 100644
--- a/source3/winbindd/winbindd_dual_srv.c
+++ b/source3/winbindd/winbindd_dual_srv.c
@@ -28,3 +28,27 @@ void _wbint_Ping(pipes_struct *p, struct wbint_Ping *r)
{
*r->out.out_data = r->in.in_data;
}
+
+NTSTATUS _wbint_LookupSid(pipes_struct *p, struct wbint_LookupSid *r)
+{
+ struct winbindd_domain *domain = wb_child_domain();
+ char *dom_name;
+ char *name;
+ enum lsa_SidType type;
+ NTSTATUS status;
+
+ if (domain == NULL) {
+ return NT_STATUS_REQUEST_NOT_ACCEPTED;
+ }
+
+ status = domain->methods->sid_to_name(domain, p->mem_ctx, r->in.sid,
+ &dom_name, &name, &type);
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
+
+ *r->out.domain = dom_name;
+ *r->out.name = name;
+ *r->out.type = type;
+ return NT_STATUS_OK;
+}