gensec: Add a TALLOC_CTX * to gensec_register().
authorJeremy Allison <jra@samba.org>
Thu, 11 May 2017 22:56:29 +0000 (15:56 -0700)
committerRalph Boehme <slow@samba.org>
Sat, 13 May 2017 14:50:13 +0000 (16:50 +0200)
Pass in the TALLOC_CTX * from the module init to remove
another talloc_autofree_context() use.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
auth/gensec/external.c
auth/gensec/gensec.h
auth/gensec/gensec_start.c
auth/gensec/ncalrpc.c
auth/gensec/schannel.c
auth/gensec/spnego.c
auth/ntlmssp/ntlmssp.c
source4/auth/gensec/gensec_gssapi.c
source4/auth/gensec/gensec_krb5.c
source4/lib/http/gensec/basic.c
source4/lib/http/gensec/ntlm.c

index 92295bcf03fb66f6f7cbe4d22946d87068c18b99..01580456794175722ddfe5fe38646e67e6afbdea 100644 (file)
@@ -115,7 +115,7 @@ NTSTATUS gensec_external_init(TALLOC_CTX *ctx)
 {
        NTSTATUS ret;
 
-       ret = gensec_register(&gensec_external_ops);
+       ret = gensec_register(ctx, &gensec_external_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                         gensec_external_ops.name));
index 3924a7ce987063f0cf9744e6630dc6170561a2ee..e7b9477bffcfe6c5249c270e35a3f216988c153c 100644 (file)
@@ -181,7 +181,8 @@ NTSTATUS gensec_start_mech_by_oid(struct gensec_security *gensec_security,
 const char *gensec_get_name_by_oid(struct gensec_security *gensec_security, const char *oid_string);
 struct cli_credentials *gensec_get_credentials(struct gensec_security *gensec_security);
 NTSTATUS gensec_init(void);
-NTSTATUS gensec_register(const struct gensec_security_ops *ops);
+NTSTATUS gensec_register(TALLOC_CTX *ctx,
+               const struct gensec_security_ops *ops);
 const struct gensec_security_ops *gensec_security_by_oid(struct gensec_security *gensec_security,
                                                         const char *oid_string);
 const struct gensec_security_ops *gensec_security_by_sasl_name(struct gensec_security *gensec_security,
index 83a86cfd654e8762aaff015c994e42cb5ad4605d..0f7e826549804b8506e1dca591665ddff6aecc6e 100644 (file)
@@ -893,7 +893,8 @@ _PUBLIC_ NTSTATUS gensec_set_credentials(struct gensec_security *gensec_security
   The 'name' can be later used by other backends to find the operations
   structure for this backend.
 */
-_PUBLIC_ NTSTATUS gensec_register(const struct gensec_security_ops *ops)
+_PUBLIC_ NTSTATUS gensec_register(TALLOC_CTX *ctx,
+                       const struct gensec_security_ops *ops)
 {
        if (gensec_security_by_name(NULL, ops->name) != NULL) {
                /* its already registered! */
@@ -902,7 +903,7 @@ _PUBLIC_ NTSTATUS gensec_register(const struct gensec_security_ops *ops)
                return NT_STATUS_OBJECT_NAME_COLLISION;
        }
 
-       generic_security_ops = talloc_realloc(talloc_autofree_context(),
+       generic_security_ops = talloc_realloc(ctx,
                                              generic_security_ops,
                                              const struct gensec_security_ops *,
                                              gensec_num_backends+2);
index 8916ef5d88a9622169e286ac8bd6114a314477a1..f28a1c43b49f994748c638abe9ecd5473d213f7f 100644 (file)
@@ -342,7 +342,7 @@ _PUBLIC_ NTSTATUS gensec_ncalrpc_as_system_init(TALLOC_CTX *ctx)
 {
        NTSTATUS status;
 
-       status = gensec_register(&gensec_ncalrpc_security_ops);
+       status = gensec_register(ctx, &gensec_ncalrpc_security_ops);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, ("Failed to register '%s' gensec backend!\n",
                          gensec_ncalrpc_security_ops.name));
index bf169d4acf120108dc3a0ac85a71a8137fd594b4..41f635182cf94496fd417b4da7d99580bb4dd1b7 100644 (file)
@@ -852,7 +852,7 @@ static const struct gensec_security_ops gensec_schannel_security_ops = {
 _PUBLIC_ NTSTATUS gensec_schannel_init(TALLOC_CTX *ctx)
 {
        NTSTATUS ret;
-       ret = gensec_register(&gensec_schannel_security_ops);
+       ret = gensec_register(ctx, &gensec_schannel_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_schannel_security_ops.name));
index 4b3edc686ccf0fbb69abf9407e18b87d372493f5..484f49175fca486ea415e24987bf72d3b82593d4 100644 (file)
@@ -1697,7 +1697,7 @@ static const struct gensec_security_ops gensec_spnego_security_ops = {
 _PUBLIC_ NTSTATUS gensec_spnego_init(TALLOC_CTX *ctx)
 {
        NTSTATUS ret;
-       ret = gensec_register(&gensec_spnego_security_ops);
+       ret = gensec_register(ctx, &gensec_spnego_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_spnego_security_ops.name));
index ec2f6d931723a7f5f317733b5667794b365cc8b7..cb8f10b9459e36827372a079811d54629afddbcd 100644 (file)
@@ -256,14 +256,14 @@ _PUBLIC_ NTSTATUS gensec_ntlmssp_init(TALLOC_CTX *ctx)
 {
        NTSTATUS ret;
 
-       ret = gensec_register(&gensec_ntlmssp_security_ops);
+       ret = gensec_register(ctx, &gensec_ntlmssp_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_ntlmssp_security_ops.name));
                return ret;
        }
 
-       ret = gensec_register(&gensec_ntlmssp_resume_ccache_ops);
+       ret = gensec_register(ctx, &gensec_ntlmssp_resume_ccache_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_ntlmssp_resume_ccache_ops.name));
index 73a08f1ab58186c821ea3dbb5f14f0a83a91fc71..2b3c56b99123246ad6fc2d121b189160a5301b5b 100644 (file)
@@ -1644,21 +1644,21 @@ _PUBLIC_ NTSTATUS gensec_gssapi_init(TALLOC_CTX *ctx)
 {
        NTSTATUS ret;
 
-       ret = gensec_register(&gensec_gssapi_spnego_security_ops);
+       ret = gensec_register(ctx, &gensec_gssapi_spnego_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_gssapi_spnego_security_ops.name));
                return ret;
        }
 
-       ret = gensec_register(&gensec_gssapi_krb5_security_ops);
+       ret = gensec_register(ctx, &gensec_gssapi_krb5_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_gssapi_krb5_security_ops.name));
                return ret;
        }
 
-       ret = gensec_register(&gensec_gssapi_sasl_krb5_security_ops);
+       ret = gensec_register(ctx, &gensec_gssapi_sasl_krb5_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_gssapi_sasl_krb5_security_ops.name));
index 4756c8482d250d6cee26ea0f7d12921f302e25c5..fdd3823f4f6f2958c9a421f8dd1d0a9bc1917842 100644 (file)
@@ -1086,14 +1086,14 @@ _PUBLIC_ NTSTATUS gensec_krb5_init(TALLOC_CTX *ctx)
 {
        NTSTATUS ret;
 
-       ret = gensec_register(&gensec_krb5_security_ops);
+       ret = gensec_register(ctx, &gensec_krb5_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_krb5_security_ops.name));
                return ret;
        }
 
-       ret = gensec_register(&gensec_fake_gssapi_krb5_security_ops);
+       ret = gensec_register(ctx, &gensec_fake_gssapi_krb5_security_ops);
        if (!NT_STATUS_IS_OK(ret)) {
                DEBUG(0,("Failed to register '%s' gensec backend!\n",
                        gensec_fake_gssapi_krb5_security_ops.name));
index 64778638b66d611e3a94908339ed1888d088889b..6077aca7671df63808b11fe7caa4c10b20aa240d 100644 (file)
@@ -127,7 +127,7 @@ _PUBLIC_ NTSTATUS gensec_http_basic_init(TALLOC_CTX *ctx)
 {
        NTSTATUS status;
 
-       status = gensec_register(&gensec_http_basic_security_ops);
+       status = gensec_register(ctx, &gensec_http_basic_security_ops);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, ("Failed to register '%s' gensec backend!\n",
                                gensec_http_basic_security_ops.name));
index 391f99fef0fef89475b77fb286c87b60b7647294..cc4b0f0de812ca07c7ce4436264fb302fdd67940 100644 (file)
@@ -110,7 +110,7 @@ _PUBLIC_ NTSTATUS gensec_http_ntlm_init(TALLOC_CTX *ctx)
 {
        NTSTATUS status;
 
-       status = gensec_register(&gensec_http_ntlm_security_ops);
+       status = gensec_register(ctx, &gensec_http_ntlm_security_ops);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, ("Failed to register '%s' gensec backend!\n",
                                gensec_http_ntlm_security_ops.name));