s3-gse remove special more_processing hook from gse
authorAndrew Bartlett <abartlet@samba.org>
Wed, 11 Jan 2012 00:36:58 +0000 (11:36 +1100)
committerStefan Metzmacher <metze@samba.org>
Wed, 18 Jan 2012 15:23:24 +0000 (16:23 +0100)
The NT_STATUS_MORE_PROCESSING_REQUIRED status code is what gensec
is expecting in any case.

Andrew Bartlett

Signed-off-by: Stefan Metzmacher <metze@samba.org>
source3/librpc/crypto/gse.c

index 18452cc124f3ab965470cb964ce5c8194f7ed106..b2b08f0062e434ffa0f50d8ae2961788f36b8fe0 100644 (file)
@@ -86,7 +86,6 @@ struct gse_context {
        gss_cred_id_t delegated_cred_handle;
        gss_name_t client_name;
 
-       bool more_processing;
        bool authenticated;
 };
 
@@ -340,14 +339,11 @@ static NTSTATUS gse_get_client_auth_token(TALLOC_CTX *mem_ctx,
        switch (gss_maj) {
        case GSS_S_COMPLETE:
                /* we are done with it */
-               gse_ctx->more_processing = false;
                status = NT_STATUS_OK;
                break;
        case GSS_S_CONTINUE_NEEDED:
                /* we will need a third leg */
-               gse_ctx->more_processing = true;
-               /* status = NT_STATUS_MORE_PROCESSING_REQUIRED; */
-               status = NT_STATUS_OK;
+               status = NT_STATUS_MORE_PROCESSING_REQUIRED;
                break;
        default:
                DEBUG(0, ("gss_init_sec_context failed with [%s]\n",
@@ -490,15 +486,12 @@ static NTSTATUS gse_get_server_auth_token(TALLOC_CTX *mem_ctx,
        switch (gss_maj) {
        case GSS_S_COMPLETE:
                /* we are done with it */
-               gse_ctx->more_processing = false;
                gse_ctx->authenticated = true;
                status = NT_STATUS_OK;
                break;
        case GSS_S_CONTINUE_NEEDED:
                /* we will need a third leg */
-               gse_ctx->more_processing = true;
-               /* status = NT_STATUS_MORE_PROCESSING_REQUIRED; */
-               status = NT_STATUS_OK;
+               status = NT_STATUS_MORE_PROCESSING_REQUIRED;
                break;
        default:
                DEBUG(0, ("gss_init_sec_context failed with [%s]\n",
@@ -983,9 +976,6 @@ static NTSTATUS gensec_gse_update(struct gensec_security *gensec_security,
        if (!NT_STATUS_IS_OK(status)) {
                return status;
        }
-       if (gse_ctx->more_processing) {
-               return NT_STATUS_MORE_PROCESSING_REQUIRED;
-       }
 
        if (gensec_security->gensec_role == GENSEC_SERVER) {
                return gse_verify_server_auth_flags(gse_ctx);