summaryrefslogtreecommitdiff
path: root/source3/nsswitch/wbinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/nsswitch/wbinfo.c')
-rw-r--r--source3/nsswitch/wbinfo.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/source3/nsswitch/wbinfo.c b/source3/nsswitch/wbinfo.c
index e26b0c1b26..cff2b8b69a 100644
--- a/source3/nsswitch/wbinfo.c
+++ b/source3/nsswitch/wbinfo.c
@@ -32,6 +32,8 @@ enum nss_status winbindd_request(int req_type,
struct winbindd_request *request,
struct winbindd_response *response);
+/* List groups a user is a member of */
+
static BOOL wbinfo_get_usergroups(char *user)
{
struct winbindd_request request;
@@ -89,7 +91,26 @@ static BOOL wbinfo_list_domains(void)
static BOOL wbinfo_check_secret(void)
{
- return False;
+ struct winbindd_response response;
+ BOOL result;
+
+ ZERO_STRUCT(response);
+
+ result = winbindd_request(WINBINDD_CHECK_MACHACC, NULL, &response) ==
+ NSS_STATUS_SUCCESS;
+
+ if (result) {
+
+ if (response.data.num_entries) {
+ printf("Secret is good\n");
+ } else {
+ printf("Secret is bad\n");
+ }
+
+ return True;
+ }
+
+ return False;
}
/* Convert uid to sid */