svn commit: samba r7735 - in
branches/SAMBA_4_0/source/libcli/resolve: .
mimir at samba.org
mimir at samba.org
Sat Jun 18 22:32:15 GMT 2005
Author: mimir
Date: 2005-06-18 22:32:14 +0000 (Sat, 18 Jun 2005)
New Revision: 7735
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=7735
Log:
Extend resolve_name function so that it's possible to pass resolve
methods explicitly or NULL for defaults saved in smb.conf.
rafal
Modified:
branches/SAMBA_4_0/source/libcli/resolve/resolve.c
Changeset:
Modified: branches/SAMBA_4_0/source/libcli/resolve/resolve.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/resolve/resolve.c 2005-06-18 22:29:41 UTC (rev 7734)
+++ branches/SAMBA_4_0/source/libcli/resolve/resolve.c 2005-06-18 22:32:14 UTC (rev 7735)
@@ -39,10 +39,11 @@
const char *name;
struct composite_context *(*send_fn)(struct nbt_name *, struct event_context *);
NTSTATUS (*recv_fn)(struct composite_context *, TALLOC_CTX *, const char **);
+
} methods[] = {
- { "bcast", resolve_name_bcast_send, resolve_name_bcast_recv },
- { "wins", resolve_name_wins_send, resolve_name_wins_recv },
- { "host", resolve_name_host_send, resolve_name_host_recv }
+ { "bcast", resolve_name_bcast_send, resolve_name_bcast_recv },
+ { "wins", resolve_name_wins_send, resolve_name_wins_recv },
+ { "host", resolve_name_host_send, resolve_name_host_recv }
};
@@ -115,7 +116,8 @@
/*
general name resolution - async send
*/
-struct composite_context *resolve_name_send(struct nbt_name *name, struct event_context *event_ctx)
+struct composite_context *resolve_name_send(struct nbt_name *name, struct event_context *event_ctx,
+ const char **methods)
{
struct composite_context *c;
struct resolve_state *state;
@@ -130,9 +132,15 @@
status = nbt_name_dup(state, name, &state->name);
if (!NT_STATUS_IS_OK(status)) goto failed;
- state->methods = lp_name_resolve_order();
- if (state->methods == NULL) {
- return NULL;
+ /* use default methods from config file if not passed explicitly */
+ if (methods == NULL) {
+ state->methods = lp_name_resolve_order();
+ if (state->methods == NULL) {
+ return NULL;
+ }
+
+ } else {
+ state->methods = methods;
}
c->state = SMBCLI_REQUEST_SEND;
@@ -178,7 +186,7 @@
*/
NTSTATUS resolve_name(struct nbt_name *name, TALLOC_CTX *mem_ctx, const char **reply_addr)
{
- struct composite_context *c = resolve_name_send(name, NULL);
+ struct composite_context *c = resolve_name_send(name, NULL, NULL);
return resolve_name_recv(c, mem_ctx, reply_addr);
}
More information about the samba-cvs
mailing list