wbinfo: allow to check trusts via "wbinfo -t --domain DOMAINNAME".
authorGünther Deschner <gd@samba.org>
Wed, 7 Oct 2009 08:43:53 +0000 (10:43 +0200)
committerKarolin Seeger <kseeger@samba.org>
Thu, 26 Nov 2009 10:39:10 +0000 (11:39 +0100)
Guenther
(cherry picked from commit 7b3501200c55d7844c4d697456dbfa2b86cfdcc8)
(cherry picked from commit 69ba747df1b861da70da6682e36b095ac565f83e)

nsswitch/wbinfo.c

index a80b69f2b6bcb05e529e82f04e5c0355c3898745..7410a744f39ec5b589d943c5b39f7da4e0ede57f 100644 (file)
@@ -724,15 +724,23 @@ static bool wbinfo_dsgetdcname(const char *domain_name, uint32_t flags)
 
 /* Check trust account password */
 
-static bool wbinfo_check_secret(void)
+static bool wbinfo_check_secret(const char *domain)
 {
        wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
        struct wbcAuthErrorInfo *error = NULL;
+       const char *domain_name;
 
-       wbc_status = wbcCheckTrustCredentials(NULL, &error);
+       if (domain) {
+               domain_name = domain;
+       } else {
+               domain_name = get_winbind_domain();
+       }
 
-       d_printf("checking the trust secret via RPC calls %s\n",
-                WBC_ERROR_IS_OK(wbc_status) ? "succeeded" : "failed");
+       wbc_status = wbcCheckTrustCredentials(domain_name, &error);
+
+       d_printf("checking the trust secret for domain %s via RPC calls %s\n",
+               domain_name,
+               WBC_ERROR_IS_OK(wbc_status) ? "succeeded" : "failed");
 
        if (wbc_status == WBC_ERR_AUTH_ERROR) {
                d_fprintf(stderr, "error code was %s (0x%x)\n",
@@ -1950,7 +1958,7 @@ int main(int argc, char **argv, char **envp)
                        }
                        break;
                case 't':
-                       if (!wbinfo_check_secret()) {
+                       if (!wbinfo_check_secret(opt_domain_name)) {
                                d_fprintf(stderr, "Could not check secret\n");
                                goto done;
                        }