summaryrefslogtreecommitdiff
path: root/source3/utils/ntlm_auth.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2017-07-15 11:06:38 +0200
committerJeremy Allison <jra@samba.org>2017-11-18 00:09:16 +0100
commit403003b528a2445ac128db5750b87de3967372bd (patch)
treef385d1a67a03e23b01c45ad924672e240a8f738d /source3/utils/ntlm_auth.c
parent25e85a4507d959a922ffc9f2eea144fbe02c37d2 (diff)
downloadsamba-403003b528a2445ac128db5750b87de3967372bd.tar.gz
ntlm_auth: Use libwbclient in get_require_membership_sid()
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/utils/ntlm_auth.c')
-rw-r--r--source3/utils/ntlm_auth.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/source3/utils/ntlm_auth.c b/source3/utils/ntlm_auth.c
index 932f91c22ad..c0e1c2a6525 100644
--- a/source3/utils/ntlm_auth.c
+++ b/source3/utils/ntlm_auth.c
@@ -392,8 +392,10 @@ static bool parse_ntlm_auth_domain_user(const char *domuser, fstring domain,
}
static bool get_require_membership_sid(void) {
- struct winbindd_request request;
- struct winbindd_response response;
+ fstring domain, name, sidbuf;
+ struct wbcDomainSid sid;
+ enum wbcSidType type;
+ wbcErr ret;
if (!require_membership_of) {
return True;
@@ -405,25 +407,23 @@ static bool get_require_membership_sid(void) {
/* Otherwise, ask winbindd for the name->sid request */
- ZERO_STRUCT(request);
- ZERO_STRUCT(response);
-
- if (!parse_ntlm_auth_domain_user(require_membership_of,
- request.data.name.dom_name,
- request.data.name.name)) {
+ if (!parse_ntlm_auth_domain_user(require_membership_of,
+ domain, name)) {
DEBUG(0, ("Could not parse %s into separate domain/name parts!\n",
require_membership_of));
return False;
}
- if (winbindd_request_response(NULL, WINBINDD_LOOKUPNAME, &request, &response) !=
- NSS_STATUS_SUCCESS) {
+ ret = wbcLookupName(domain, name, &sid, &type);
+ if (!WBC_ERROR_IS_OK(ret)) {
DEBUG(0, ("Winbindd lookupname failed to resolve %s into a SID!\n",
require_membership_of));
return False;
}
- require_membership_of_sid = SMB_STRDUP(response.data.sid.sid);
+ wbcSidToStringBuf(&sid, sidbuf, sizeof(sidbuf));
+
+ require_membership_of_sid = SMB_STRDUP(sidbuf);
if (require_membership_of_sid)
return True;