gsasl-commit
[Top][All Lists]
Advanced

[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);
     }
 
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]