diff options
Diffstat (limited to 'source4/libnet/libnet.c')
-rw-r--r-- | source4/libnet/libnet.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source4/libnet/libnet.c b/source4/libnet/libnet.c index 5d66005a27a..963e8244974 100644 --- a/source4/libnet/libnet.c +++ b/source4/libnet/libnet.c @@ -24,13 +24,19 @@ struct libnet_context *libnet_context_init(struct event_context *ev) { + /* default name resolution methods */ + const char *nr_methods[] = { "lmhosts", "wins", "host", "bcast", NULL }; + int nr_count = 0, nr_i; + struct libnet_context *ctx; + /* create brand new libnet context */ ctx = talloc(NULL, struct libnet_context); if (!ctx) { return NULL; } + /* events */ if (ev == NULL) { ev = event_context_init(ctx); if (ev == NULL) { @@ -40,6 +46,15 @@ struct libnet_context *libnet_context_init(struct event_context *ev) } ctx->event_ctx = ev; + /* count name resolution methods */ + while (nr_methods[nr_count]) nr_count++; + + /* assign name resolution methods */ + ctx->name_res_methods = talloc_array(ctx, char*, nr_count+1); + for (nr_i = 0; nr_i < nr_count; nr_i++) { + ctx->name_res_methods[nr_i] = talloc_strdup(ctx, nr_methods[nr_i]); + } + ctx->name_res_methods[nr_count+1] = NULL; + return ctx; } - |