s3-ntlmssp Remove auth_ntlmssp_update wrapper
authorAndrew Bartlett <abartlet@samba.org>
Tue, 18 Oct 2011 10:13:16 +0000 (21:13 +1100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Oct 2011 06:43:10 +0000 (08:43 +0200)
We now just call gensec_update directly.

Andrew Bartlett

Signed-off-by: Stefan Metzmacher <metze@samba.org>
source3/include/ntlmssp_wrap.h
source3/librpc/crypto/cli_spnego.c
source3/libsmb/clifsinfo.c
source3/libsmb/ntlmssp_wrap.c
source3/rpc_client/cli_pipe.c
source3/rpc_server/dcesrv_ntlmssp.c
source3/smbd/negprot.c
source3/smbd/seal.c
source3/smbd/sesssetup.c
source3/smbd/smb2_sesssetup.c

index bfbfdebd268462529e5c5be7fb000a34c2c82901..71fa3b73709fd5787f97b77cb4ad6a1073c78535 100644 (file)
@@ -72,10 +72,6 @@ void auth_ntlmssp_want_feature(struct auth_ntlmssp_state *ans, uint32_t feature)
 DATA_BLOB auth_ntlmssp_get_session_key(struct auth_ntlmssp_state *ans, 
                                       TALLOC_CTX *mem_ctx);
 
-NTSTATUS auth_ntlmssp_update(struct auth_ntlmssp_state *ans,
-                            TALLOC_CTX *mem_ctx,
-                            const DATA_BLOB request, DATA_BLOB *reply);
-
 NTSTATUS auth_ntlmssp_client_prepare(TALLOC_CTX *mem_ctx,
                                     struct auth_ntlmssp_state **_ans);
 NTSTATUS auth_ntlmssp_client_start(struct auth_ntlmssp_state *ans);
index 4742158b246a47bb1deab6b4fa3ba29c64f07b39..db03fdc852dfbe4d146f9b3b7da99dd1db5d2151 100644 (file)
@@ -24,6 +24,7 @@
 #include "auth/ntlmssp/ntlmssp.h"
 #include "librpc/crypto/gse.h"
 #include "librpc/crypto/spnego.h"
+#include "auth/gensec/gensec.h"
 
 static NTSTATUS spnego_context_init(TALLOC_CTX *mem_ctx,
                                    bool do_sign, bool do_seal,
@@ -213,8 +214,8 @@ NTSTATUS spnego_get_client_auth_token(TALLOC_CTX *mem_ctx,
        case SPNEGO_NTLMSSP:
 
                ntlmssp_ctx = sp_ctx->mech_ctx.ntlmssp_state;
-               status = auth_ntlmssp_update(ntlmssp_ctx, mem_ctx,
-                                            token_in, &token_out);
+               status = gensec_update(ntlmssp_ctx->gensec_security, mem_ctx, NULL,
+                                      token_in, &token_out);
                if (NT_STATUS_EQUAL(status,
                                    NT_STATUS_MORE_PROCESSING_REQUIRED)) {
                        mech_wants_more = true;
index b312cfbd4877e923ece31c291db47291af27a02c..fa8dba5fbd023747724f37d6b72d18123953ed10 100644 (file)
@@ -27,6 +27,7 @@
 #include "smb_crypt.h"
 #include "trans2.h"
 #include "ntlmssp_wrap.h"
+#include "auth/gensec/gensec.h"
 
 /****************************************************************************
  Get UNIX extensions version info.
@@ -637,8 +638,8 @@ NTSTATUS cli_raw_ntlm_smb_encryption_start(struct cli_state *cli,
        }
 
        do {
-               status = auth_ntlmssp_update(es->s.auth_ntlmssp_state, es->s.auth_ntlmssp_state,
-                                            blob_in, &blob_out);
+               status = gensec_update(es->s.auth_ntlmssp_state->gensec_security, es->s.auth_ntlmssp_state,
+                                      NULL, blob_in, &blob_out);
                data_blob_free(&blob_in);
                data_blob_free(&param_out);
                if (NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED) || NT_STATUS_IS_OK(status)) {
index 3d1d099a586cca324b073beb97a76d8d5d8a61ab..af5f2c9f68637ad3483325fe4acb59db2d327414 100644 (file)
@@ -127,13 +127,6 @@ DATA_BLOB auth_ntlmssp_get_session_key(struct auth_ntlmssp_state *ans, TALLOC_CT
        }
 }
 
-NTSTATUS auth_ntlmssp_update(struct auth_ntlmssp_state *ans,
-                            TALLOC_CTX *mem_ctx,
-                            const DATA_BLOB request, DATA_BLOB *reply)
-{
-       return gensec_update(ans->gensec_security, mem_ctx, NULL, request, reply);
-}
-
 static NTSTATUS gensec_ntlmssp3_client_update(struct gensec_security *gensec_security,
                                              TALLOC_CTX *out_mem_ctx,
                                              struct tevent_context *ev,
index 94e4a5106f7c5c44027499492d4a338ba88bfdda..9af351b2748fea72e875e28ce904ca48ce558689 100644 (file)
@@ -34,6 +34,7 @@
 #include "rpc_dce.h"
 #include "cli_pipe.h"
 #include "libsmb/libsmb.h"
+#include "auth/gensec/gensec.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_CLI
@@ -1048,7 +1049,7 @@ static NTSTATUS create_ntlmssp_auth_rpc_bind_req(struct rpc_pipe_client *cli,
                                            struct auth_ntlmssp_state);
 
        DEBUG(5, ("create_ntlmssp_auth_rpc_bind_req: Processing NTLMSSP Negotiate\n"));
-       status = auth_ntlmssp_update(ntlmssp_ctx, mem_ctx, null_blob, auth_token);
+       status = gensec_update(ntlmssp_ctx->gensec_security, mem_ctx, NULL, null_blob, auth_token);
 
        if (!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
                data_blob_free(auth_token);
@@ -1773,8 +1774,8 @@ static void rpc_pipe_bind_step_one_done(struct tevent_req *subreq)
        case DCERPC_AUTH_TYPE_NTLMSSP:
                ntlmssp_ctx = talloc_get_type_abort(pauth->auth_ctx,
                                                    struct auth_ntlmssp_state);
-               status = auth_ntlmssp_update(ntlmssp_ctx, state,
-                                            auth.credentials, &auth_token);
+               status = gensec_update(ntlmssp_ctx->gensec_security, state, NULL,
+                                      auth.credentials, &auth_token);
                if (NT_STATUS_EQUAL(status,
                                    NT_STATUS_MORE_PROCESSING_REQUIRED)) {
                        status = rpc_bind_next_send(req, state,
index 04dd9e65215a06f7c0cec09734ddab93e001d63a..dcbfafb1c21698494a85635bb4a278b7a390a8b4 100644 (file)
@@ -59,7 +59,7 @@ NTSTATUS ntlmssp_server_auth_start(TALLOC_CTX *mem_ctx,
                return status;
        }
 
-       status = auth_ntlmssp_update(a, mem_ctx, *token_in, token_out);
+       status = gensec_update(a->gensec_security, mem_ctx, NULL, *token_in, token_out);
        if (!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
                DEBUG(0, (__location__ ": auth_ntlmssp_update failed: %s\n",
                          nt_errstr(status)));
@@ -88,7 +88,7 @@ NTSTATUS ntlmssp_server_step(struct auth_ntlmssp_state *ctx,
 
        /* this has to be done as root in order to verify the password */
        become_root();
-       status = auth_ntlmssp_update(ctx, mem_ctx, *token_in, token_out);
+       status = gensec_update(ctx->gensec_security, mem_ctx, NULL, *token_in, token_out);
        unbecome_root();
 
        return status;
index 89ef52c6e8657fef6badb8bc964cdcdb08b3c366..a0ed52d659072e1889bebb019075936277551ca6 100644 (file)
@@ -208,8 +208,8 @@ DATA_BLOB negprot_spnego(TALLOC_CTX *ctx, struct smbd_server_connection *sconn)
        if (NT_STATUS_IS_OK(status)) {
                status = auth_generic_start(auth_ntlmssp_state, GENSEC_OID_SPNEGO);
                if (NT_STATUS_IS_OK(status)) {
-                       status = auth_ntlmssp_update(auth_ntlmssp_state, ctx,
-                                                    data_blob_null, &blob);
+                       status = gensec_update(auth_ntlmssp_state->gensec_security, ctx,
+                                              NULL, data_blob_null, &blob);
                        /* If we get the list of OIDs, the 'OK' answer
                         * is NT_STATUS_MORE_PROCESSING_REQUIRED */
                        if (NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
index f68b6c7a8fa650fd7170004276f3f892d08dfcd4..73efc6ceff7571ea2e0c52ba73908d326f9abb62 100644 (file)
@@ -28,6 +28,7 @@
 #include "auth.h"
 #include "libsmb/libsmb.h"
 #include "../lib/tsocket/tsocket.h"
+#include "auth/gensec/gensec.h"
 
 /******************************************************************************
  Server side encryption.
@@ -488,9 +489,9 @@ static NTSTATUS srv_enc_ntlm_negotiate(const struct tsocket_address *remote_addr
                return status;
        }
 
-       status = auth_ntlmssp_update(partial_srv_trans_enc_ctx->auth_ntlmssp_state,
-                                    talloc_tos(),
-                                    secblob, &chal);
+       status = gensec_update(partial_srv_trans_enc_ctx->auth_ntlmssp_state->gensec_security,
+                              talloc_tos(), NULL,
+                              secblob, &chal);
 
        /* status here should be NT_STATUS_MORE_PROCESSING_REQUIRED
         * for success ... */
@@ -613,7 +614,7 @@ static NTSTATUS srv_enc_spnego_ntlm_auth(connection_struct *conn,
                return NT_STATUS_INVALID_PARAMETER;
        }
 
-       status = auth_ntlmssp_update(ec->auth_ntlmssp_state, talloc_tos(), auth, &auth_reply);
+       status = gensec_update(ec->auth_ntlmssp_state->gensec_security, talloc_tos(), NULL, auth, &auth_reply);
        data_blob_free(&auth);
 
        /* From RFC4178.
@@ -683,9 +684,9 @@ static NTSTATUS srv_enc_raw_ntlm_auth(connection_struct *conn,
        }
 
        /* Second step. */
-       status = auth_ntlmssp_update(partial_srv_trans_enc_ctx->auth_ntlmssp_state,
-                                    talloc_tos(),
-                                    blob, &response);
+       status = gensec_update(partial_srv_trans_enc_ctx->auth_ntlmssp_state->gensec_security,
+                              talloc_tos(), NULL,
+                              blob, &response);
 
        if (NT_STATUS_IS_OK(status)) {
                /* Return the context we're using for this encryption state. */
index a5f2030ee59fc5064fb85da293d490de05449d46..7729ff675b62de3e557e4e37e2b4a98f62dbd41f 100644 (file)
@@ -644,8 +644,8 @@ static void reply_spnego_negotiate(struct smb_request *req,
                return;
        }
 
-       status = auth_ntlmssp_update(*auth_ntlmssp_state, talloc_tos(),
-                                       secblob, &chal);
+       status = gensec_update((*auth_ntlmssp_state)->gensec_security, talloc_tos(),
+                              NULL, secblob, &chal);
 
        data_blob_free(&secblob);
 
@@ -757,8 +757,8 @@ static void reply_spnego_auth(struct smb_request *req,
                }
        }
 
-       status = auth_ntlmssp_update(*auth_ntlmssp_state, talloc_tos(),
-                                    auth, &auth_reply);
+       status = gensec_update((*auth_ntlmssp_state)->gensec_security, talloc_tos(),
+                              NULL, auth, &auth_reply);
 
        data_blob_free(&auth);
 
@@ -1171,9 +1171,9 @@ static void reply_sesssetup_and_X_spnego(struct smb_request *req)
                        }
                }
 
-               status = auth_ntlmssp_update(vuser->auth_ntlmssp_state,
-                                            talloc_tos(),
-                                            blob1, &chal);
+               status = gensec_update(vuser->auth_ntlmssp_state->gensec_security,
+                                      talloc_tos(), NULL,
+                                      blob1, &chal);
 
                data_blob_free(&blob1);
 
index aa898eaad796af160272c8dc188b46e3c7f12322..059b26f0bfbefc9cae7666271bd74f90c48aa11f 100644 (file)
@@ -388,10 +388,10 @@ static NTSTATUS smbd_smb2_spnego_negotiate(struct smbd_smb2_session *session,
                        goto out;
                }
 
-               status = auth_ntlmssp_update(session->auth_ntlmssp_state,
-                                            talloc_tos(),
-                                            secblob_in,
-                                            &chal_out);
+               status = gensec_update(session->auth_ntlmssp_state->gensec_security,
+                                      talloc_tos(), NULL,
+                                      secblob_in,
+                                      &chal_out);
        }
 
        if (!NT_STATUS_IS_OK(status) &&
@@ -582,9 +582,10 @@ static NTSTATUS smbd_smb2_spnego_auth(struct smbd_smb2_session *session,
                }
        }
 
-       status = auth_ntlmssp_update(session->auth_ntlmssp_state,
-                                    talloc_tos(), auth,
-                                    &auth_out);
+       status = gensec_update(session->auth_ntlmssp_state->gensec_security,
+                              talloc_tos(), NULL,
+                              auth,
+                              &auth_out);
        /* If status is NT_STATUS_OK then we need to get the token.
         * Map to guest is now internal to auth_ntlmssp */
        if (NT_STATUS_IS_OK(status)) {
@@ -661,10 +662,10 @@ static NTSTATUS smbd_smb2_raw_ntlmssp_auth(struct smbd_smb2_session *session,
        }
 
        /* RAW NTLMSSP */
-       status = auth_ntlmssp_update(session->auth_ntlmssp_state,
-                                    smb2req,
-                                    in_security_buffer,
-                                    out_security_buffer);
+       status = gensec_update(session->auth_ntlmssp_state->gensec_security,
+                              smb2req, NULL,
+                              in_security_buffer,
+                              out_security_buffer);
 
        if (NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
                *out_session_id = session->vuid;