summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2017-04-20 12:24:43 -0700
committerJeremy Allison <jra@samba.org>2017-04-22 01:17:00 +0200
commit306783d6f5d577a0b8bd31d659d8c802f22f0333 (patch)
tree20e1c5a45b027d061d3dc0cab9028bbccaef7ab7 /auth
parent9342b3ebf7fe7b7565406bd9a606b6676c08b029 (diff)
downloadsamba-306783d6f5d577a0b8bd31d659d8c802f22f0333.tar.gz
lib: modules: Change XXX_init interface from XXX_init(void) to XXX_init(TALLOC_CTX *)
Not currently used - no logic changes inside. This will make it possible to pass down a long-lived talloc context from the loading function for modules to use instead of having them internally all use talloc_autofree_context() which is a hidden global. Updated all known module interface numbers, and added a WHATSNEW. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Ralph Böhme <slow@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Sat Apr 22 01:17:00 CEST 2017 on sn-devel-144
Diffstat (limited to 'auth')
-rw-r--r--auth/gensec/external.c4
-rw-r--r--auth/gensec/gensec.h3
-rw-r--r--auth/gensec/gensec_start.c6
-rw-r--r--auth/gensec/ncalrpc.c4
-rw-r--r--auth/gensec/schannel.c4
-rw-r--r--auth/gensec/spnego.c4
-rw-r--r--auth/ntlmssp/ntlmssp.c2
-rw-r--r--auth/ntlmssp/ntlmssp.h2
8 files changed, 15 insertions, 14 deletions
diff --git a/auth/gensec/external.c b/auth/gensec/external.c
index 9c17888a31e..92295bcf03f 100644
--- a/auth/gensec/external.c
+++ b/auth/gensec/external.c
@@ -32,7 +32,7 @@
* layer is already mutually authenticated.
*/
-NTSTATUS gensec_external_init(void);
+NTSTATUS gensec_external_init(TALLOC_CTX *ctx);
static NTSTATUS gensec_external_start(struct gensec_security *gensec_security)
{
@@ -111,7 +111,7 @@ static const struct gensec_security_ops gensec_external_ops = {
};
-NTSTATUS gensec_external_init(void)
+NTSTATUS gensec_external_init(TALLOC_CTX *ctx)
{
NTSTATUS ret;
diff --git a/auth/gensec/gensec.h b/auth/gensec/gensec.h
index 6764ee5e461..3924a7ce987 100644
--- a/auth/gensec/gensec.h
+++ b/auth/gensec/gensec.h
@@ -107,7 +107,8 @@ struct gensec_settings {
struct gensec_security_ops;
struct gensec_security_ops_wrapper;
-#define GENSEC_INTERFACE_VERSION 0
+/* Change to 1, loadable modules now take a TALLOC_CTX * init() parameter. */
+#define GENSEC_INTERFACE_VERSION 1
/* this structure is used by backends to determine the size of some critical types */
struct gensec_critical_sizes;
diff --git a/auth/gensec/gensec_start.c b/auth/gensec/gensec_start.c
index 31a555957cc..83a86cfd654 100644
--- a/auth/gensec/gensec_start.c
+++ b/auth/gensec/gensec_start.c
@@ -956,7 +956,7 @@ bool gensec_setting_bool(struct gensec_settings *settings, const char *mechanism
_PUBLIC_ NTSTATUS gensec_init(void)
{
static bool initialized = false;
-#define _MODULE_PROTO(init) extern NTSTATUS init(void);
+#define _MODULE_PROTO(init) extern NTSTATUS init(TALLOC_CTX *);
#ifdef STATIC_gensec_MODULES
STATIC_gensec_MODULES_PROTO;
init_module_fn static_init[] = { STATIC_gensec_MODULES };
@@ -970,8 +970,8 @@ _PUBLIC_ NTSTATUS gensec_init(void)
shared_init = load_samba_modules(NULL, "gensec");
- run_init_functions(static_init);
- run_init_functions(shared_init);
+ run_init_functions(NULL, static_init);
+ run_init_functions(NULL, shared_init);
talloc_free(shared_init);
diff --git a/auth/gensec/ncalrpc.c b/auth/gensec/ncalrpc.c
index e6f33f3d9de..8916ef5d88a 100644
--- a/auth/gensec/ncalrpc.c
+++ b/auth/gensec/ncalrpc.c
@@ -30,7 +30,7 @@
#include "lib/param/param.h"
#include "tsocket.h"
-_PUBLIC_ NTSTATUS gensec_ncalrpc_as_system_init(void);
+_PUBLIC_ NTSTATUS gensec_ncalrpc_as_system_init(TALLOC_CTX *ctx);
struct gensec_ncalrpc_state {
enum {
@@ -338,7 +338,7 @@ static const struct gensec_security_ops gensec_ncalrpc_security_ops = {
.priority = GENSEC_EXTERNAL,
};
-_PUBLIC_ NTSTATUS gensec_ncalrpc_as_system_init(void)
+_PUBLIC_ NTSTATUS gensec_ncalrpc_as_system_init(TALLOC_CTX *ctx)
{
NTSTATUS status;
diff --git a/auth/gensec/schannel.c b/auth/gensec/schannel.c
index 1b99bb747aa..bf169d4acf1 100644
--- a/auth/gensec/schannel.c
+++ b/auth/gensec/schannel.c
@@ -441,7 +441,7 @@ static NTSTATUS netsec_outgoing_packet(struct schannel_state *state,
return NT_STATUS_OK;
}
-_PUBLIC_ NTSTATUS gensec_schannel_init(void);
+_PUBLIC_ NTSTATUS gensec_schannel_init(TALLOC_CTX *ctx);
static size_t schannel_sig_size(struct gensec_security *gensec_security, size_t data_size)
{
@@ -849,7 +849,7 @@ static const struct gensec_security_ops gensec_schannel_security_ops = {
.priority = GENSEC_SCHANNEL
};
-_PUBLIC_ NTSTATUS gensec_schannel_init(void)
+_PUBLIC_ NTSTATUS gensec_schannel_init(TALLOC_CTX *ctx)
{
NTSTATUS ret;
ret = gensec_register(&gensec_schannel_security_ops);
diff --git a/auth/gensec/spnego.c b/auth/gensec/spnego.c
index 017181a3622..4b3edc686cc 100644
--- a/auth/gensec/spnego.c
+++ b/auth/gensec/spnego.c
@@ -34,7 +34,7 @@
#undef strcasecmp
-_PUBLIC_ NTSTATUS gensec_spnego_init(void);
+_PUBLIC_ NTSTATUS gensec_spnego_init(TALLOC_CTX *ctx);
enum spnego_state_position {
SPNEGO_SERVER_START,
@@ -1694,7 +1694,7 @@ static const struct gensec_security_ops gensec_spnego_security_ops = {
.priority = GENSEC_SPNEGO
};
-_PUBLIC_ NTSTATUS gensec_spnego_init(void)
+_PUBLIC_ NTSTATUS gensec_spnego_init(TALLOC_CTX *ctx)
{
NTSTATUS ret;
ret = gensec_register(&gensec_spnego_security_ops);
diff --git a/auth/ntlmssp/ntlmssp.c b/auth/ntlmssp/ntlmssp.c
index 6f7c089467f..ec2f6d93172 100644
--- a/auth/ntlmssp/ntlmssp.c
+++ b/auth/ntlmssp/ntlmssp.c
@@ -252,7 +252,7 @@ static const struct gensec_security_ops gensec_ntlmssp_resume_ccache_ops = {
.priority = GENSEC_NTLMSSP
};
-_PUBLIC_ NTSTATUS gensec_ntlmssp_init(void)
+_PUBLIC_ NTSTATUS gensec_ntlmssp_init(TALLOC_CTX *ctx)
{
NTSTATUS ret;
diff --git a/auth/ntlmssp/ntlmssp.h b/auth/ntlmssp/ntlmssp.h
index 24127686312..658d3fa86af 100644
--- a/auth/ntlmssp/ntlmssp.h
+++ b/auth/ntlmssp/ntlmssp.h
@@ -145,7 +145,7 @@ bool ntlmssp_blob_matches_magic(const DATA_BLOB *blob);
/* The following definitions come from auth/ntlmssp/gensec_ntlmssp.c */
-NTSTATUS gensec_ntlmssp_init(void);
+NTSTATUS gensec_ntlmssp_init(TALLOC_CTX *ctx);
uint32_t gensec_ntlmssp_neg_flags(struct gensec_security *gensec_security);
const char *gensec_ntlmssp_server_domain(struct gensec_security *gensec_security);