207
208
return WINBINDD_OK;
210
/* This is the child-only version of --sequence. It only allows for a single
211
* domain (ie "our" one) to be displayed. */
213
enum winbindd_result winbindd_dual_show_sequence(struct winbindd_domain *domain,
214
struct winbindd_cli_state *state)
216
DEBUG(3, ("[%5lu]: show sequence\n", (unsigned long)state->pid));
218
/* Ensure null termination */
219
state->request->domain_name[sizeof(state->request->domain_name)-1]='\0';
221
domain->methods->sequence_number(domain, &domain->sequence_number);
223
state->response->data.sequence_number =
224
domain->sequence_number;
229
211
struct domain_info_state {
230
212
struct winbindd_domain *domain;
231
213
struct winbindd_cli_state *cli;
332
314
request_ok(state->cli);
317
void winbindd_dc_info(struct winbindd_cli_state *cli)
319
struct winbindd_domain *domain;
320
char *dc_name, *dc_ip;
322
cli->request->domain_name[sizeof(cli->request->domain_name)-1] = '\0';
324
DEBUG(3, ("[%5lu]: domain_info [%s]\n", (unsigned long)cli->pid,
325
cli->request->domain_name));
327
if (cli->request->domain_name[0] != '\0') {
328
domain = find_domain_from_name_noinit(
329
cli->request->domain_name);
330
DEBUG(10, ("Could not find domain %s\n",
331
cli->request->domain_name));
332
if (domain == NULL) {
337
domain = find_our_domain();
340
if (!fetch_current_dc_from_gencache(
341
talloc_tos(), domain->name, &dc_name, &dc_ip)) {
342
DEBUG(10, ("fetch_current_dc_from_gencache(%s) failed\n",
348
cli->response->data.num_entries = 1;
349
cli->response->extra_data.data = talloc_asprintf(
350
cli->mem_ctx, "%s\n%s\n", dc_name, dc_ip);
352
TALLOC_FREE(dc_name);
355
if (cli->response->extra_data.data == NULL) {
360
/* must add one to length to copy the 0 for string termination */
361
cli->response->length +=
362
strlen((char *)cli->response->extra_data.data) + 1;
335
367
/* List various tidbits of information */
337
369
void winbindd_info(struct winbindd_cli_state *state)