summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-12-10 14:03:55 +0000
committerStefan Metzmacher <metze@samba.org>2014-12-19 13:15:13 +0100
commitc257b14b8b2ff8a1ca29f8a429ce6051c309f512 (patch)
tree8aa203271687d4a1ce5567a1d120ed394e30bfe9
parentf80f585d959b03a41434e48ffa31cac842a76ade (diff)
downloadsamba-c257b14b8b2ff8a1ca29f8a429ce6051c309f512.tar.gz
nsswitch/wbinfo: allow 'wbinfo --ping-dc --domain=SOMEDOMAIN'
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--nsswitch/wbinfo.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/nsswitch/wbinfo.c b/nsswitch/wbinfo.c
index 9e06fb222e1..2c9f4de92e7 100644
--- a/nsswitch/wbinfo.c
+++ b/nsswitch/wbinfo.c
@@ -826,15 +826,24 @@ static bool wbinfo_change_secret(const char *domain)
/* Check DC connection */
-static bool wbinfo_ping_dc(void)
+static bool wbinfo_ping_dc(const char *domain)
{
wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
struct wbcAuthErrorInfo *error = NULL;
char *dcname = NULL;
- wbc_status = wbcPingDc2(NULL, &error, &dcname);
+ const char *domain_name;
+
+ if (domain) {
+ domain_name = domain;
+ } else {
+ domain_name = get_winbind_domain();
+ }
+
+ wbc_status = wbcPingDc2(domain_name, &error, &dcname);
- d_printf("checking the NETLOGON dc connection to \"%s\" %s\n",
+ d_printf("checking the NETLOGON for domain[%s] dc connection to \"%s\" %s\n",
+ domain_name ? domain_name : "",
dcname ? dcname : "",
WBC_ERROR_IS_OK(wbc_status) ? "succeeded" : "failed");
@@ -2424,7 +2433,7 @@ int main(int argc, const char **argv, char **envp)
}
break;
case 'P':
- if (!wbinfo_ping_dc()) {
+ if (!wbinfo_ping_dc(opt_domain_name)) {
goto done;
}
break;