s3-libsmb Use the gse_krb5 gensec module as client
authorAndrew Bartlett <abartlet@samba.org>
Mon, 2 Jan 2012 09:22:38 +0000 (20:22 +1100)
committerStefan Metzmacher <metze@samba.org>
Wed, 18 Jan 2012 15:23:22 +0000 (16:23 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
source3/libsmb/auth_generic.c
source3/wscript_build

index 42669f7232e6dcade075b1354aa4443e2306036e..39d14f6fe084564237952e399e704af689fa489a 100644 (file)
@@ -25,6 +25,7 @@
 #include "auth/credentials/credentials.h"
 #include "librpc/rpc/dcerpc.h"
 #include "lib/param/param.h"
+#include "librpc/crypto/gse.h"
 
 NTSTATUS auth_generic_set_username(struct auth_generic_state *ans,
                                   const char *user)
@@ -75,7 +76,7 @@ NTSTATUS auth_generic_client_prepare(TALLOC_CTX *mem_ctx, struct auth_generic_st
                return NT_STATUS_NO_MEMORY;
        }
 
-       gensec_settings->backends = talloc_zero_array(gensec_settings, struct gensec_security_ops *, 2);
+       gensec_settings->backends = talloc_zero_array(gensec_settings, struct gensec_security_ops *, 3);
        if (gensec_settings->backends == NULL) {
                TALLOC_FREE(ans);
                return NT_STATUS_NO_MEMORY;
@@ -83,6 +84,10 @@ NTSTATUS auth_generic_client_prepare(TALLOC_CTX *mem_ctx, struct auth_generic_st
 
        gensec_settings->backends[0] = &gensec_ntlmssp3_client_ops;
 
+#if defined(HAVE_KRB5) && defined(HAVE_GSS_WRAP_IOV)
+       gensec_settings->backends[1] = &gensec_gse_krb5_security_ops;
+#endif
+
        nt_status = gensec_client_start(ans, &ans->gensec_security, gensec_settings);
 
        if (!NT_STATUS_IS_OK(nt_status)) {
index 89e312e4004aa17b4c740d19973be85949d569d1..407dcc5ea174869c793fdaca33aa70acde648234 100755 (executable)
@@ -833,7 +833,7 @@ bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
 
 bld.SAMBA3_SUBSYSTEM('auth_generic',
                     source='libsmb/auth_generic.c',
-                    deps='LIBNTLMSSP gensec',
+                    deps='LIBNTLMSSP gse gensec',
                     vars=locals())
 
 bld.SAMBA3_LIBRARY('libsmb',