diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-12-11 13:38:54 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2007-12-21 05:49:26 +0100 |
commit | 1ea47faa979ad2e4aa4cf1f4252aa33aef98dbd8 (patch) | |
tree | 14b9839ca1707722021b59eac400ac47bdd06089 /source4/libcli | |
parent | cbefb1347482a0c9c91e73e5d3d2e9e8c7a8e555 (diff) | |
download | samba-1ea47faa979ad2e4aa4cf1f4252aa33aef98dbd8.tar.gz samba-1ea47faa979ad2e4aa4cf1f4252aa33aef98dbd8.tar.bz2 samba-1ea47faa979ad2e4aa4cf1f4252aa33aef98dbd8.zip |
r26397: Fix circular dependency in samba-socket.
(This used to be commit 801c8c766cb6a104751be8829593e0e123508134)
Diffstat (limited to 'source4/libcli')
-rw-r--r-- | source4/libcli/config.mk | 13 | ||||
-rw-r--r-- | source4/libcli/ldap/config.mk | 2 | ||||
-rw-r--r-- | source4/libcli/resolve/resolve.c | 22 | ||||
-rw-r--r-- | source4/libcli/resolve/resolve.h | 1 | ||||
-rw-r--r-- | source4/libcli/resolve/resolve_lp.c | 46 |
5 files changed, 57 insertions, 27 deletions
diff --git a/source4/libcli/config.mk b/source4/libcli/config.mk index 3bfc1478bc..4af6a9ac45 100644 --- a/source4/libcli/config.mk +++ b/source4/libcli/config.mk @@ -96,13 +96,18 @@ PUBLIC_DEPENDENCIES = NDR_WINSREPL samba-socket LIBCLI_RESOLVE LIBEVENTS LIBPACK [SUBSYSTEM::LIBCLI_RESOLVE] PRIVATE_PROTO_HEADER = resolve/proto.h OBJ_FILES = \ - resolve/resolve.o \ + resolve/resolve.o +PUBLIC_DEPENDENCIES = NDR_NBT + +[SUBSYSTEM::LP_RESOLVE] +PRIVATE_PROTO_HEADER = resolve/lp_proto.h +OBJ_FILES = \ resolve/bcast.o \ resolve/nbtlist.o \ resolve/wins.o \ - resolve/host.o -PUBLIC_DEPENDENCIES = LIBNETIF -PRIVATE_DEPENDENCIES = LIBCLI_NBT + resolve/host.o \ + resolve/resolve_lp.o +PRIVATE_DEPENDENCIES = LIBCLI_NBT LIBSAMBA-CONFIG LIBNETIF [SUBSYSTEM::LIBCLI_FINDDCS] PRIVATE_PROTO_HEADER = finddcs.h diff --git a/source4/libcli/ldap/config.mk b/source4/libcli/ldap/config.mk index 444306b328..4af0f9de6d 100644 --- a/source4/libcli/ldap/config.mk +++ b/source4/libcli/ldap/config.mk @@ -9,7 +9,7 @@ OBJ_FILES = ldap.o \ ldap_controls.o PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBEVENTS LIBPACKET PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE samba-socket NDR_SAMR LIBTLS ASN1_UTIL \ - LDAP_ENCODE LIBNDR + LDAP_ENCODE LIBNDR LP_RESOLVE [SUBSYSTEM::LDAP_ENCODE] diff --git a/source4/libcli/resolve/resolve.c b/source4/libcli/resolve/resolve.c index fe36aa59ea..33ace09443 100644 --- a/source4/libcli/resolve/resolve.c +++ b/source4/libcli/resolve/resolve.c @@ -228,26 +228,4 @@ void make_nbt_name_server(struct nbt_name *nbt, const char *name) make_nbt_name(nbt, name, NBT_NAME_SERVER); } -struct resolve_context *lp_resolve_context(struct loadparm_context *lp_ctx) -{ - const char **methods = lp_name_resolve_order(lp_ctx); - int i; - struct resolve_context *ret = resolve_context_init(lp_ctx); - - if (ret == NULL) - return NULL; - - for (i = 0; methods != NULL && methods[i] != NULL; i++) { - if (!strcmp(methods[i], "wins")) { - resolve_context_add_wins_method(ret, lp_wins_server_list(lp_ctx)); - } else if (!strcmp(methods[i], "bcast")) { - resolve_context_add_bcast_method(ret, lp_ctx); - } else if (!strcmp(methods[i], "host")) { - resolve_context_add_host_method(ret); - } else { - DEBUG(0, ("Unknown resolve method '%s'\n", methods[i])); - } - } - return ret; -} diff --git a/source4/libcli/resolve/resolve.h b/source4/libcli/resolve/resolve.h index 73cb78c124..9282074aa4 100644 --- a/source4/libcli/resolve/resolve.h +++ b/source4/libcli/resolve/resolve.h @@ -26,5 +26,6 @@ typedef struct composite_context *(*resolve_name_send_fn)(TALLOC_CTX *mem_ctx, struct event_context *, void *privdata, struct nbt_name *); typedef NTSTATUS (*resolve_name_recv_fn)(struct composite_context *, TALLOC_CTX *, const char **); #include "libcli/resolve/proto.h" +#include "libcli/resolve/lp_proto.h" #endif /* __RESOLVE_H__ */ diff --git a/source4/libcli/resolve/resolve_lp.c b/source4/libcli/resolve/resolve_lp.c new file mode 100644 index 0000000000..5a506dca8b --- /dev/null +++ b/source4/libcli/resolve/resolve_lp.c @@ -0,0 +1,46 @@ +/* + Unix SMB/CIFS implementation. + Samba utility functions + Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "libcli/resolve/resolve.h" +#include "param/param.h" + +struct resolve_context *lp_resolve_context(struct loadparm_context *lp_ctx) +{ + const char **methods = lp_name_resolve_order(lp_ctx); + int i; + struct resolve_context *ret = resolve_context_init(lp_ctx); + + if (ret == NULL) + return NULL; + + for (i = 0; methods != NULL && methods[i] != NULL; i++) { + if (!strcmp(methods[i], "wins")) { + resolve_context_add_wins_method(ret, lp_wins_server_list(lp_ctx)); + } else if (!strcmp(methods[i], "bcast")) { + resolve_context_add_bcast_method(ret, lp_ctx); + } else if (!strcmp(methods[i], "host")) { + resolve_context_add_host_method(ret); + } else { + DEBUG(0, ("Unknown resolve method '%s'\n", methods[i])); + } + } + + return ret; +} |