mirror of
https://github.com/samba-team/samba.git
synced 2025-01-13 13:18:06 +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;
|
const char **ous = NULL;
|
||||||
int i;
|
int i;
|
||||||
const char *domain = NULL;
|
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;
|
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;
|
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) {
|
if (!state->account || !state->password) {
|
||||||
debug("callback_do_getous: no creds yet\n");
|
debug("callback_do_getous: no creds yet\n");
|
||||||
callback_creds_prompt(NULL, state,
|
callback_creds_prompt(NULL, state,
|
||||||
@ -956,7 +987,6 @@ static void callback_do_getous(GtkWidget *widget,
|
|||||||
state->password,
|
state->password,
|
||||||
&num_ous, &ous);
|
&num_ous, &ous);
|
||||||
if (status != NET_API_STATUS_SUCCESS) {
|
if (status != NET_API_STATUS_SUCCESS) {
|
||||||
GtkWidget *dialog;
|
|
||||||
callback_do_freeauth(NULL, state);
|
callback_do_freeauth(NULL, state);
|
||||||
debug("failed to call NetGetJoinableOUs: %s\n",
|
debug("failed to call NetGetJoinableOUs: %s\n",
|
||||||
libnetapi_get_error_string(state->ctx, status));
|
libnetapi_get_error_string(state->ctx, status));
|
||||||
|
Loading…
Reference in New Issue
Block a user