From c257b14b8b2ff8a1ca29f8a429ce6051c309f512 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 10 Dec 2014 14:03:55 +0000 Subject: [PATCH] nsswitch/wbinfo: allow 'wbinfo --ping-dc --domain=SOMEDOMAIN' Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison Reviewed-by: Andrew Bartlett --- nsswitch/wbinfo.c | 17 +++++++++++++---- 1 file 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; -- 2.34.1