[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CVS gsasl/lib/kerberos_v5
From: |
gsasl-commit |
Subject: |
CVS gsasl/lib/kerberos_v5 |
Date: |
Thu, 23 Sep 2004 02:20:57 +0200 |
Update of /home/cvs/gsasl/lib/kerberos_v5
In directory dopio:/tmp/cvs-serv16592/lib/kerberos_v5
Modified Files:
client.c server.c
Log Message:
(gsasl_encode. gsasl_decode): Allocate OUTPUT buffer. Change in prototype.
Update types and callers.
--- /home/cvs/gsasl/lib/kerberos_v5/client.c 2004/09/18 16:53:40 1.1
+++ /home/cvs/gsasl/lib/kerberos_v5/client.c 2004/09/23 00:20:56 1.2
@@ -368,14 +368,14 @@
void *mech_data,
const char *input,
size_t input_len,
- char *output, size_t * output_len)
+ char **output, size_t * output_len)
{
struct _Gsasl_kerberos_v5_client_state *state = mech_data;
int res;
if (state && state->sessionkey && state->clientqop & GSASL_QOP_AUTH_CONF)
{
- /* XXX */
+ return GSASL_INTEGRITY_ERROR;
}
else if (state && state->sessionkey
&& state->clientqop & GSASL_QOP_AUTH_INT)
@@ -401,9 +401,10 @@
else
{
*output_len = input_len;
- if (output)
- memcpy (output, input, input_len);
- return GSASL_OK;
+ *output = malloc (input_len);
+ if (!*output)
+ return GSASL_MALLOC_ERROR;
+ memcpy (*output, input, input_len);
}
return GSASL_OK;
@@ -418,23 +419,22 @@
{
struct _Gsasl_kerberos_v5_client_state *state = mech_data;
- puts ("cdecode");
-
if (state && state->sessionkey && state->clientqop & GSASL_QOP_AUTH_CONF)
{
- /* XXX */
+ return GSASL_INTEGRITY_ERROR;
}
else if (state && state->sessionkey
&& state->clientqop & GSASL_QOP_AUTH_INT)
{
- puts ("decode");
+ return GSASL_INTEGRITY_ERROR;
}
else
{
*output_len = input_len;
- if (output)
- memcpy (output, input, input_len);
- return GSASL_OK;
+ *output = malloc (input_len);
+ if (!*output)
+ return GSASL_MALLOC_ERROR;
+ memcpy (*output, input, input_len);
}
return GSASL_OK;
--- /home/cvs/gsasl/lib/kerberos_v5/server.c 2004/09/18 16:53:40 1.1
+++ /home/cvs/gsasl/lib/kerberos_v5/server.c 2004/09/23 00:20:56 1.2
@@ -496,7 +496,7 @@
if (state && state->sessionkey && state->clientqop & GSASL_QOP_AUTH_CONF)
{
- /* XXX */
+ return GSASL_INTEGRITY_ERROR;
}
else if (state && state->sessionkey
&& state->clientqop & GSASL_QOP_AUTH_INT)
@@ -522,9 +522,10 @@
else
{
*output_len = input_len;
- if (output)
- memcpy (output, input, input_len);
- return GSASL_OK;
+ *output = malloc (input_len);
+ if (!*output)
+ return GSASL_MALLOC_ERROR;
+ memcpy (*output, input, input_len);
}
return GSASL_OK;
@@ -542,7 +543,7 @@
if (state && state->sessionkey && state->clientqop & GSASL_QOP_AUTH_CONF)
{
- /* XXX */
+ return GSASL_INTEGRITY_ERROR;
}
else if (state && state->sessionkey
&& state->clientqop & GSASL_QOP_AUTH_INT)
@@ -554,7 +555,6 @@
return GSASL_KERBEROS_V5_INTERNAL_ERROR;
res = shishi_safe_safe_der_set (state->safe, input, input_len);
- printf ("len %d err %d\n", input_len, res);
if (res != SHISHI_OK)
return GSASL_KERBEROS_V5_INTERNAL_ERROR;
@@ -566,15 +566,16 @@
output, output_len);
if (res != SHISHI_OK)
return GSASL_KERBEROS_V5_INTERNAL_ERROR;
- printf ("len=%d\n", *output_len);
+
return GSASL_OK;
}
else
{
*output_len = input_len;
- if (output)
- memcpy (output, input, input_len);
- return GSASL_OK;
+ *output = malloc (input_len);
+ if (!*output)
+ return GSASL_MALLOC_ERROR;
+ memcpy (*output, input, input_len);
}