[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CVS gsasl/lib/gssapi
From: |
gsasl-commit |
Subject: |
CVS gsasl/lib/gssapi |
Date: |
Fri, 24 Sep 2004 02:30:53 +0200 |
Update of /home/cvs/gsasl/lib/gssapi
In directory dopio:/tmp/cvs-serv7740/lib/gssapi
Modified Files:
server.c x-gssapi.h
Log Message:
Make GSSAPI server use allocating interface.
--- /home/cvs/gsasl/lib/gssapi/server.c 2004/09/18 16:56:01 1.1
+++ /home/cvs/gsasl/lib/gssapi/server.c 2004/09/24 00:30:53 1.2
@@ -114,9 +114,8 @@
int
_gsasl_gssapi_server_step (Gsasl_session_ctx * sctx,
void *mech_data,
- const char *input,
- size_t input_len,
- char *output, size_t * output_len)
+ const char *input, size_t input_len,
+ char **output2, size_t * output2_len)
{
_Gsasl_gssapi_server_state *state = mech_data;
Gsasl_server_callback_gssapi cb_gssapi;
@@ -127,6 +126,13 @@
Gsasl_ctx *ctx;
char *username;
int res;
+ /* FIXME: Remove fixed size buffer. */
+ char output[BUFSIZ];
+ size_t outputlen = BUFSIZ - 1;
+ size_t *output_len = &outputlen;
+
+ *output2 = NULL;
+ *output2_len = 0;
ctx = gsasl_server_ctx_get (sctx);
if (ctx == NULL)
@@ -274,6 +280,15 @@
break;
}
+ if (res == GSASL_OK || res == GSASL_NEEDS_MORE)
+ {
+ *output2_len = *output_len;
+ *output2 = malloc (*output2_len);
+ if (!*output2)
+ return GSASL_MALLOC_ERROR;
+ memcpy (*output2, output, *output2_len);
+ }
+
return res;
}
--- /home/cvs/gsasl/lib/gssapi/x-gssapi.h 2004/09/23 00:20:56 1.7
+++ /home/cvs/gsasl/lib/gssapi/x-gssapi.h 2004/09/24 00:30:53 1.8
@@ -20,8 +20,8 @@
*
*/
-#ifndef GSSAPI_H
-#define GSSAPI_H
+#ifndef X_GSSAPI_H
+#define X_GSSAPI_H
#include "internal.h"
@@ -48,10 +48,9 @@
void **mech_data);
extern int _gsasl_gssapi_server_step (Gsasl_session_ctx * sctx,
void *mech_data,
- const char *input,
- size_t input_len,
- char *output, size_t * output_len);
+ const char *input, size_t input_len,
+ char **output, size_t * output_len);
extern int _gsasl_gssapi_server_finish (Gsasl_session_ctx * sctx,
void *mech_data);
-#endif /* GSSAPI_H */
+#endif /* X_GSSAPI_H */
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/17
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/18
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/18
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/18
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/20
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/20
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/22
- CVS gsasl/lib/gssapi,
gsasl-commit <=
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/24
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/24
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/24
- CVS gsasl/lib/gssapi, gsasl-commit, 2004/09/26