+source/lib/gencache/gencache.h
source/lib/ldb/bin
*.pc
autom4te.cache
Try to get a challenge out of the various authentication modules.
Returns a const char of length 8 bytes.
****************************************************************************/
-NTSTATUS auth_get_challenge(struct auth_context *auth_ctx, const uint8_t **_chal)
+_PUBLIC_ NTSTATUS auth_get_challenge(struct auth_context *auth_ctx, const uint8_t **_chal)
{
NTSTATUS nt_status;
struct auth_method_context *method;
#######################
# Start SUBSYSTEM auth
-[SUBSYSTEM::auth]
+[LIBRARY::auth]
+VERSION = 0.0.1
+SO_VERSION = 0
PUBLIC_HEADERS = auth.h
PUBLIC_PROTO_HEADER = auth_proto.h
OBJ_FILES = \
SUBSYSTEM = gensec
INIT_FUNCTION = gensec_spnego_init
PRIVATE_PROTO_HEADER = spnego_proto.h
-PRIVATE_DEPENDENCIES = ASN1_UTIL
+PRIVATE_DEPENDENCIES = ASN1_UTIL GENSEC_SOCKET
OBJ_FILES = spnego.o \
spnego_parse.o
# End MODULE gensec_spnego
[SUBSYSTEM::GENSEC_SOCKET]
OBJ_FILES = \
socket.o
-PUBLIC_DEPENDENCIES = samba-socket
+PUBLIC_DEPENDENCIES = samba-socket LIBPACKET
#PUBLIC_DEPENDENCIES = gensec
#
# End SUBSYSTEM GENSEC_SOCKET
/* These functions are for use here only (public because SPNEGO must
* use them for recursion) */
-NTSTATUS gensec_wrap_packets(struct gensec_security *gensec_security,
+_PUBLIC_ NTSTATUS gensec_wrap_packets(struct gensec_security *gensec_security,
TALLOC_CTX *mem_ctx,
const DATA_BLOB *in,
DATA_BLOB *out,
AC_MSG_CHECKING([SHLD_FLAGS])
AC_MSG_RESULT([$SHLD_FLAGS])
+AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
AC_MSG_CHECKING([SHLIBEXT])
AC_MSG_RESULT([$SHLIBEXT])
AC_MSG_CHECKING([SONAMEFLAG])
PERL=$self->{config}->{PERL}
CPP=$self->{config}->{CPP}
-CPPFLAGS=$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H $self->{config}->{CPPFLAGS}
+CPPFLAGS=$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -I\$(srcdir)/lib/replace -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H $self->{config}->{CPPFLAGS}
CC=$self->{config}->{CC}
CFLAGS=$self->{config}->{CFLAGS} \$(CPPFLAGS)
m4_include(lib/tls/config.m4)
m4_include(lib/events/config.m4)
-dnl disabled until we support external heimdal again
dnl m4_include(auth/kerberos/config.m4)
m4_include(auth/gensec/config.m4)
m4_include(nsswitch/config.m4)
m4_include(libcli/config.m4)
+dnl disabled until we support external heimdal again
+AC_ARG_ENABLE(dso,
+[ --enable-dso Enable building internal libraries as DSO's (experimental)],
+[ if test x$enable_dso != xno; then
+ BLDSHARED=true
+ fi],
+[BLDSHARED=false])
+
+
#################################################
# add *_CFLAGS only for the real build
CFLAGS="${CFLAGS} ${DEVELOPER_CFLAGS}"
[MODULE::ldb_samba3sam]
SUBSYSTEM = ldb
INIT_FUNCTION = ldb_samba3sam_module_init
-PRIVATE_DEPENDENCIES = LIBTALLOC
+PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map
OBJ_FILES = \
samba3sam.o
#
_PUBLIC_ const char *dyn_MODULESDIR = MODULESDIR;
-/** Shared library extension */
-_PUBLIC_ const char *dyn_SHLIBEXT = SHLIBEXT;
-
/**
* @brief Directory holding lock files.
*
extern const char *dyn_LMHOSTSFILE;
extern const char *dyn_DATADIR;
extern const char *dyn_MODULESDIR;
-extern const char *dyn_SHLIBEXT;
extern const char *dyn_LOCKDIR;
extern const char *dyn_PIDDIR;
extern const char *dyn_PRIVATE_DIR;
PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \
-DBINDIR=\"$(BINDIR)\" -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" \
-DLOCKDIR=\"$(LOCKDIR)\" -DPIDDIR=\"$(PIDDIR)\" -DDATADIR=\"$(DATADIR)\" \
- -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DSHLIBEXT=\"$(SHLIBEXT)\" \
+ -DLOGFILEBASE=\"$(LOGFILEBASE)\" \
-DCONFIGDIR=\"$(CONFIGDIR)\" -DNCALRPCDIR=\"$(NCALRPCDIR)\" \
-DSWATDIR=\"$(SWATDIR)\" -DSERVICESDIR=\"$(SERVICESDIR)\" \
-DPRIVATE_DIR=\"$(PRIVATEDIR)\" \
char *path;
void *handle;
int (*init_fn) (void);
+ char *modulesdir;
#ifdef HAVE_DLOPEN
+ if (getenv("LD_LDB_MODULE_PATH") != NULL) {
+ modulesdir = talloc_strdup(ldb, getenv("LD_LDB_MODULE_PATH"));
+ } else {
#ifdef _SAMBA_BUILD_
- path = talloc_asprintf(ldb, "%s/ldb/%s.%s", dyn_MODULESDIR, name, dyn_SHLIBEXT);
+ modulesdir = talloc_asprintf(ldb, "%s/ldb", dyn_MODULESDIR);
#else
- path = talloc_asprintf(ldb, "%s/%s.%s", MODULESDIR, name, SHLIBEXT);
+ modulesdir = talloc_strdup(ldb, MODULESDIR);
#endif
+ }
+
+ path = talloc_asprintf(ldb, "%s/%s.%s", modulesdir, name, SHLIBEXT);
+
+ talloc_free(modulesdir);
ldb_debug(ldb, LDB_DEBUG_TRACE, "trying to load %s from %s\n", name, path);
- handle = dlopen(path, 0);
+ handle = dlopen(path, RTLD_NOW);
if (handle == NULL) {
ldb_debug(ldb, LDB_DEBUG_WARNING, "unable to load %s from %s: %s\n", name, path, dlerror());
return -1;
}
/* Copy the list of provided module operations. */
-struct ldb_module_ops ldb_map_get_ops(void)
+_PUBLIC_ struct ldb_module_ops ldb_map_get_ops(void)
{
return map_ops;
}
/* Initialize global private data. */
-int ldb_map_init(struct ldb_module *module, const struct ldb_map_attribute *attrs,
+_PUBLIC_ int ldb_map_init(struct ldb_module *module, const struct ldb_map_attribute *attrs,
const struct ldb_map_objectclass *ocls,
const char * const *wildcard_attributes,
const char *name)
ldap_connect_got_sock(state->ctx, conn);
}
-NTSTATUS ldap_connect_recv(struct composite_context *ctx)
+_PUBLIC_ NTSTATUS ldap_connect_recv(struct composite_context *ctx)
{
NTSTATUS status = composite_wait(ctx);
talloc_free(ctx);
INIT_FUNCTION = ejs_init_drsuapi
OBJ_FILES = gen_ndr/ndr_drsuapi_ejs.o
SUBSYSTEM = smbcalls
-PUBLIC_DEPENDENCIES = dcerpc NDR_DRSUAPI EJSRPC RPC_EJS_MISC
+PUBLIC_DEPENDENCIES = dcerpc NDR_DRSUAPI EJSRPC RPC_EJS_MISC RPC_EJS_SAMR
[MODULE::RPC_EJS_SPOOLSS]
INIT_FUNCTION = ejs_init_spoolss
clean::
@echo Removing dependency files
@find . -name \*.d -o -name \*.hd | xargs rm -f
-
################################################
# Start SUBSYSTEM ntptr
-[SUBSYSTEM::ntptr]
+[LIBRARY::ntptr]
PRIVATE_PROTO_HEADER = ntptr_proto.h
OBJ_FILES = \
ntptr_base.o \
# Start MODULE pvfs_acl_xattr
[MODULE::pvfs_acl_xattr]
INIT_FUNCTION = pvfs_acl_xattr_init
-SUBSYSTEM = ntvfs
+SUBSYSTEM = ntvfs_posix
OBJ_FILES = \
pvfs_acl_xattr.o
+PRIVATE_DEPENDENCIES = NDR_XATTR
# End MODULE pvfs_acl_xattr
################################################
pvfs_notify.o \
xattr_system.o \
xattr_tdb.o
-PRIVATE_DEPENDENCIES = pvfs_acl_xattr pvfs_acl_nfs4
+#PRIVATE_DEPENDENCIES = pvfs_acl_xattr pvfs_acl_nfs4
PUBLIC_DEPENDENCIES = NDR_XATTR WRAP_XATTR BLKID ntvfs_common MESSAGING
# End MODULE ntvfs_posix
################################################
/*
load a NDR structure from a xattr
*/
-NTSTATUS pvfs_xattr_ndr_load(struct pvfs_state *pvfs,
+_PUBLIC_ NTSTATUS pvfs_xattr_ndr_load(struct pvfs_state *pvfs,
TALLOC_CTX *mem_ctx,
const char *fname, int fd, const char *attr_name,
void *p, void *pull_fn)
/*
save a NDR structure into a xattr
*/
-NTSTATUS pvfs_xattr_ndr_save(struct pvfs_state *pvfs,
+_PUBLIC_ NTSTATUS pvfs_xattr_ndr_save(struct pvfs_state *pvfs,
const char *fname, int fd, const char *attr_name,
void *p, void *push_fn)
{
static char *modules_path(TALLOC_CTX* mem_ctx, const char *name)
{
- return talloc_asprintf(mem_ctx, "%s/%s", lp_modulesdir(), name);
+ const char *env_moduledir = getenv("LD_SAMBA_MODULE_PATH");
+ return talloc_asprintf(mem_ctx, "%s/%s",
+ env_moduledir?env_moduledir:lp_modulesdir(),
+ name);
}
/**
SAMDB \
DCERPC_COMMON \
NDR_LSA \
- LIBCLI_AUTH
+ LIBCLI_AUTH \
+ NDR_DSSETUP
# End MODULE dcerpc_lsa
################################################
fi
export TLS_ENABLED
+LD_LDB_MODULE_PATH=$OLD_PWD/bin/modules/ldb
+export LD_LDB_MODULE_PATH
+
+LD_SAMBA_MODULE_PATH=$OLD_PWD/bin/modules
+export LD_SAMBA_MODULE_PATH
+
LD_LIBRARY_PATH=$OLD_PWD/bin:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
#######################
# Start SUBSERVICE
-[SUBSYSTEM::service]
+[LIBRARY::service]
PRIVATE_PROTO_HEADER = service_proto.h
OBJ_FILES = \
service.o \
return true;
}
-struct torture_suite *torture_ntlmssp(TALLOC_CTX *mem_ctx)
+_PUBLIC_ struct torture_suite *torture_ntlmssp(TALLOC_CTX *mem_ctx)
{
struct torture_suite *suite = torture_suite_create(mem_ctx,
"NTLMSSP");
return true;
}
-struct torture_suite *torture_pac(TALLOC_CTX *mem_ctx)
+_PUBLIC_ struct torture_suite *torture_pac(TALLOC_CTX *mem_ctx)
{
struct torture_suite *suite = torture_suite_create(mem_ctx, "PAC");
[SUBSYSTEM::TORTURE_UTIL]
OBJ_FILES = util.o util_smb.o
+PRIVATE_DEPENDENCIES = LIBCLI_RAW
PUBLIC_PROTO_HEADER = util.h
PUBLIC_DEPENDENCIES = POPT_CREDENTIALS
basic/properties.o
PUBLIC_DEPENDENCIES = \
LIBCLI_SMB POPT_CREDENTIALS \
- TORTURE_UTIL
+ TORTURE_UTIL LIBCLI_RAW
+PRIVATE_DEPENDENCIES = TORTURE_RAW
# End SUBSYSTEM TORTURE_BASIC
#################################
PUBLIC_DEPENDENCIES = \
LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE \
POPT_CREDENTIALS
+PRIVATE_DEPENDENCIES = TORTURE_UTIL
# End SUBSYSTEM TORTURE_RAW
#################################
RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP \
RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER WB_HELPER LIBSAMBA-NET \
LIBCLI_AUTH POPT_CREDENTIALS
+PRIVATE_DEPENDENCIES = TORTURE_LDAP TORTURE_UTIL TORTURE_RAP
#################################
# Start SUBSYSTEM TORTURE_RAP
rap/proto.h
OBJ_FILES = \
rap/rap.o
+PRIVATE_DEPENDENCIES = TORTURE_UTIL
PUBLIC_DEPENDENCIES = \
LIBCLI_SMB
# End SUBSYSTEM TORTURE_RAP
[MODULE::TORTURE_NBENCH]
SUBSYSTEM = torture
INIT_FUNCTION = torture_nbench_init
+PRIVATE_DEPENDENCIES = TORTURE_UTIL
PRIVATE_PROTO_HEADER = \
nbench/proto.h
OBJ_FILES = \
nbt/nbt.o
PUBLIC_DEPENDENCIES = \
LIBCLI_SMB LIBCLI_NBT LIBCLI_DGRAM LIBCLI_WREPL
+PRIVATE_DEPENDENCIES = torture_rpc
# End SUBSYSTEM TORTURE_NBT
#################################
PUBLIC_DEPENDENCIES = \
LIBSAMBA-NET \
POPT_CREDENTIALS
+PRIVATE_DEPENDENCIES = torture_rpc
# End SUBSYSTEM TORTURE_NET
#################################
return status;
}
-NTSTATUS torture_ldap_bind_sasl(struct ldap_connection *conn,
+_PUBLIC_ NTSTATUS torture_ldap_bind_sasl(struct ldap_connection *conn,
struct cli_credentials *creds)
{
NTSTATUS status;
}
/* open a ldap connection to a server */
-NTSTATUS torture_ldap_connection(TALLOC_CTX *mem_ctx, struct ldap_connection **conn,
+_PUBLIC_ NTSTATUS torture_ldap_connection(TALLOC_CTX *mem_ctx, struct ldap_connection **conn,
const char *url)
{
NTSTATUS status;
registry \
LIBCRYPTO \
POPT_CREDENTIALS \
- TORTURE_UI
+ TORTURE_UI \
+ TORTURE_AUTH \
+ TORTURE_UTIL
# End SUBSYSTEM TORTURE_LOCAL
#################################
return True;
}
-NTSTATUS smbcli_rap_netservergetinfo(struct smbcli_tree *tree,
+_PUBLIC_ NTSTATUS smbcli_rap_netservergetinfo(struct smbcli_tree *tree,
TALLOC_CTX *mem_ctx,
struct rap_WserverGetInfo *r)
{
/*
do a single file (non-wildcard) search
*/
-NTSTATUS torture_single_search(struct smbcli_state *cli,
+_PUBLIC_ NTSTATUS torture_single_search(struct smbcli_state *cli,
TALLOC_CTX *mem_ctx,
const char *pattern,
enum smb_search_level level,
}
-struct test_join *torture_join_domain(const char *machine_name,
+_PUBLIC_ struct test_join *torture_join_domain(const char *machine_name,
uint32_t acct_flags,
struct cli_credentials **machine_credentials)
{
leave the domain, deleting the machine acct
*/
-void torture_leave_domain(struct test_join *join)
+_PUBLIC_ void torture_leave_domain(struct test_join *join)
{
struct samr_DeleteUser d;
NTSTATUS status;
/*
return the dom sid for a test join
*/
-const struct dom_sid *torture_join_sid(struct test_join *join)
+_PUBLIC_ const struct dom_sid *torture_join_sid(struct test_join *join)
{
return join->dom_sid;
}
return NT_STATUS_EA_CORRUPT_ERROR;
}
-bool torture_open_connection_share(TALLOC_CTX *mem_ctx,
+_PUBLIC_ bool torture_open_connection_share(TALLOC_CTX *mem_ctx,
struct smbcli_state **c,
const char *hostname,
const char *sharename,
process_model \
RPC_NDR_LSA \
RPC_NDR_SAMR \
- PAM_ERRORS
+ PAM_ERRORS \
+ LIBCLI_LDAP
# End SUBSYSTEM WINBIND
#######################