nsswitch/wbinfo: allow 'wbinfo --ping-dc --domain=SOMEDOMAIN'
authorStefan Metzmacher <metze@samba.org>
Wed, 10 Dec 2014 14:03:55 +0000 (14:03 +0000)
committerStefan Metzmacher <metze@samba.org>
Fri, 19 Dec 2014 12:15:13 +0000 (13:15 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
nsswitch/wbinfo.c

index 9e06fb222e1e3f5c56985ed28833eff301ec07a3..2c9f4de92e710c270821821d253c2406d2069967 100644 (file)
@@ -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;