summaryrefslogtreecommitdiff
path: root/nsswitch
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-10-07 10:43:53 +0200
committerKarolin Seeger <kseeger@samba.org>2009-11-26 11:39:10 +0100
commit701ace11bea4f0d63efb95d77f881f354d87d68e (patch)
tree5644361f88f2c3e2050e92fa1bd29335f3432f09 /nsswitch
parent824142cb957a62242dcf66ec9ce13edd6fd50bad (diff)
downloadsamba-701ace11bea4f0d63efb95d77f881f354d87d68e.tar.gz
wbinfo: allow to check trusts via "wbinfo -t --domain DOMAINNAME".
Guenther (cherry picked from commit 7b3501200c55d7844c4d697456dbfa2b86cfdcc8) (cherry picked from commit 69ba747df1b861da70da6682e36b095ac565f83e)
Diffstat (limited to 'nsswitch')
-rw-r--r--nsswitch/wbinfo.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/nsswitch/wbinfo.c b/nsswitch/wbinfo.c
index a80b69f2b6b..7410a744f39 100644
--- a/nsswitch/wbinfo.c
+++ b/nsswitch/wbinfo.c
@@ -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;
}