auth/spnego: move SERVER gensec_spnego_create_negTokenInit() handling to the top
authorStefan Metzmacher <metze@samba.org>
Tue, 13 Jun 2017 21:55:00 +0000 (23:55 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 5 Jul 2017 00:17:12 +0000 (02:17 +0200)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
auth/gensec/spnego.c

index 594de18a591fc4db4548d64614a72445861660ce..8e253282f2bcce85708412ac04c5657190f05782 100644 (file)
@@ -1077,8 +1077,15 @@ static NTSTATUS gensec_spnego_update_server(struct gensec_security *gensec_secur
        case SPNEGO_SERVER_START:
        {
                NTSTATUS nt_status;
-               if (in.length) {
 
+               if (in.length == 0) {
+                       return gensec_spnego_create_negTokenInit(gensec_security,
+                                                                spnego_state,
+                                                                out_mem_ctx,
+                                                                ev, out);
+               }
+
+               {
                        len = spnego_read_data(gensec_security, in, &spnego);
                        if (len == -1) {
                                return gensec_spnego_server_try_fallback(gensec_security, spnego_state,
@@ -1125,11 +1132,6 @@ static NTSTATUS gensec_spnego_update_server(struct gensec_security *gensec_secur
                        spnego_free_data(&spnego);
 
                        return nt_status;
-               } else {
-                       return gensec_spnego_create_negTokenInit(gensec_security,
-                                                                spnego_state,
-                                                                out_mem_ctx,
-                                                                ev, out);
                }
        }