/* Unix SMB/CIFS implementation. In-Child server implementation of the routines defined in wbint.idl Copyright (C) Volker Lendecke 2009 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "includes.h" #include "winbindd/winbindd.h" #include "winbindd/winbindd_proto.h" #include "librpc/gen_ndr/srv_wbint.h" 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; }