Merge branch 'master' of ssh://git.samba.org/data/git/samba into selftest
[bbaumbach/samba-autobuild/.git] / source4 / auth / gensec / cyrus_sasl.c
index 0bce35e1c58eb4eefa4fdbf9c55ac71d59a37fa0..6f82de82fcd0a9ecfa082af4815b839b17fc298f 100644 (file)
@@ -23,6 +23,7 @@
 #include "auth/auth.h"
 #include "auth/credentials/credentials.h"
 #include "auth/gensec/gensec.h"
+#include "auth/gensec/gensec_proto.h"
 #include "lib/socket/socket.h"
 #include <sasl/sasl.h>
 
@@ -101,7 +102,7 @@ static int gensec_sasl_get_password(sasl_conn_t *conn, void *context, int id,
                return SASL_NOMEM;
        }
        secret->len = strlen(password);
-       safe_strcpy(secret->data, password, secret->len+1);
+       safe_strcpy((char*)secret->data, password, secret->len+1);
        *psecret = secret;
        return SASL_OK;
 }
@@ -109,7 +110,7 @@ static int gensec_sasl_get_password(sasl_conn_t *conn, void *context, int id,
 static int gensec_sasl_dispose(struct gensec_sasl_state *gensec_sasl_state)
 {
        sasl_dispose(&gensec_sasl_state->conn);
-       return 0;
+       return SASL_OK;
 }
 
 static NTSTATUS gensec_sasl_client_start(struct gensec_security *gensec_security)
@@ -213,8 +214,9 @@ static NTSTATUS gensec_sasl_update(struct gensec_security *gensec_security,
                sasl_ret = sasl_client_start(gensec_sasl_state->conn, gensec_security->ops->sasl_name, 
                                             NULL, &out_data, &out_len, &mech);
        } else {
-               sasl_ret = sasl_client_step(gensec_sasl_state->conn, 
-                                           in.data, in.length, NULL, &out_data, &out_len);
+               sasl_ret = sasl_client_step(gensec_sasl_state->conn,
+                                           (char*)in.data, in.length, NULL,
+                                           &out_data, &out_len);
        }
        if (sasl_ret == SASL_OK || sasl_ret == SASL_CONTINUE) {
                *out = data_blob_talloc(out_mem_ctx, out_data, out_len);
@@ -237,8 +239,9 @@ static NTSTATUS gensec_sasl_unwrap_packets(struct gensec_security *gensec_securi
        const char *out_data;
        unsigned int out_len;
 
-       int sasl_ret = sasl_decode(gensec_sasl_state->conn, 
-                                  in->data, in->length, &out_data, &out_len);
+       int sasl_ret = sasl_decode(gensec_sasl_state->conn,
+                                  (char*)in->data, in->length, &out_data,
+                                  &out_len);
        if (sasl_ret == SASL_OK) {
                *out = data_blob_talloc(out_mem_ctx, out_data, out_len);
                *len_processed = in->length;
@@ -260,8 +263,9 @@ static NTSTATUS gensec_sasl_wrap_packets(struct gensec_security *gensec_security
        const char *out_data;
        unsigned int out_len;
 
-       int sasl_ret = sasl_encode(gensec_sasl_state->conn, 
-                                  in->data, in->length, &out_data, &out_len);
+       int sasl_ret = sasl_encode(gensec_sasl_state->conn,
+                                  (char*)in->data, in->length, &out_data,
+                                  &out_len);
        if (sasl_ret == SASL_OK) {
                *out = data_blob_talloc(out_mem_ctx, out_data, out_len);
                *len_processed = in->length;
@@ -278,7 +282,8 @@ static bool gensec_sasl_have_feature(struct gensec_security *gensec_security,
        struct gensec_sasl_state *gensec_sasl_state = talloc_get_type(gensec_security->private_data,
                                                                      struct gensec_sasl_state);
        sasl_ssf_t ssf;
-       int sasl_ret = sasl_getprop(gensec_sasl_state->conn, SASL_SSF, &ssf);
+       int sasl_ret = sasl_getprop(gensec_sasl_state->conn, SASL_SSF,
+                       (const void**)&ssf);
        if (sasl_ret != SASL_OK) {
                return false;
        }
@@ -358,8 +363,11 @@ int gensec_sasl_log(void *context,
 NTSTATUS gensec_sasl_init(void)
 {
        NTSTATUS ret;
-       int sasl_ret, i;
+       int sasl_ret;
+#if 0
+       int i;
        const char **sasl_mechs;
+#endif
        
        static const sasl_callback_t callbacks[] = {
                {