mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +03:00
netdomjoin-gui: before prompting for creds (for receiving joinable ous), find a dc.
Guenther
(This used to be commit ae60695a34
)
This commit is contained in:
parent
9530c26c4c
commit
0b25870b54
@ -932,6 +932,9 @@ static void callback_do_getous(GtkWidget *widget,
|
||||
const char **ous = NULL;
|
||||
int i;
|
||||
const char *domain = NULL;
|
||||
struct DOMAIN_CONTROLLER_INFO *dc_info = NULL;
|
||||
const char *err_str = NULL;
|
||||
GtkWidget *dialog;
|
||||
|
||||
struct join_state *state = (struct join_state *)data;
|
||||
|
||||
@ -939,6 +942,34 @@ static void callback_do_getous(GtkWidget *widget,
|
||||
|
||||
domain = state->name_buffer_new ? state->name_buffer_new : state->name_buffer_initial;
|
||||
|
||||
status = DsGetDcName(NULL,
|
||||
domain,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
&dc_info);
|
||||
if (status != 0) {
|
||||
err_str = libnetapi_get_error_string(state->ctx, status);
|
||||
g_print("callback_do_getous: failed find dc (%s)\n", err_str);
|
||||
|
||||
dialog = gtk_message_dialog_new(GTK_WINDOW(state->window_parent),
|
||||
GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_ERROR,
|
||||
GTK_BUTTONS_CLOSE,
|
||||
"Failed to find a domain controller for domain: \"%s\": %s",
|
||||
domain,
|
||||
err_str);
|
||||
|
||||
gtk_window_set_modal(GTK_WINDOW(dialog), TRUE);
|
||||
g_signal_connect_swapped(dialog, "response",
|
||||
G_CALLBACK(gtk_widget_destroy),
|
||||
dialog);
|
||||
|
||||
gtk_widget_show(dialog);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!state->account || !state->password) {
|
||||
debug("callback_do_getous: no creds yet\n");
|
||||
callback_creds_prompt(NULL, state,
|
||||
@ -956,7 +987,6 @@ static void callback_do_getous(GtkWidget *widget,
|
||||
state->password,
|
||||
&num_ous, &ous);
|
||||
if (status != NET_API_STATUS_SUCCESS) {
|
||||
GtkWidget *dialog;
|
||||
callback_do_freeauth(NULL, state);
|
||||
debug("failed to call NetGetJoinableOUs: %s\n",
|
||||
libnetapi_get_error_string(state->ctx, status));
|
||||
|
Loading…
Reference in New Issue
Block a user