updates.
[silc.git] / lib / silcclient / protocol.c
index 3354f1d0b53f04cc98696b0734caf8d5a253b07a..4044fbbdaa78a9c34a7ce1ab460adfff38032b69 100644 (file)
@@ -22,7 +22,8 @@
  */
 /* $Id$ */
 
-#include "clientlibincludes.h"
+#include "silcincludes.h"
+#include "silcclient.h"
 #include "client_internal.h"
 
 SILC_TASK_CALLBACK(silc_client_protocol_connection_auth);
@@ -77,7 +78,7 @@ static void silc_client_verify_key_cb(bool success, void *context)
 
 void silc_client_protocol_ke_verify_key(SilcSKE ske,
                                        unsigned char *pk_data,
-                                       uint32 pk_len,
+                                       SilcUInt32 pk_len,
                                        SilcSKEPKType pk_type,
                                        void *context,
                                        SilcSKEVerifyCbCompletion completion,
@@ -151,11 +152,8 @@ void silc_client_protocol_ke_set_keys(SilcSKE ske,
 
   /* Rekey stuff */
   conn->rekey = silc_calloc(1, sizeof(*conn->rekey));
-  conn->rekey->send_enc_key = 
-    silc_calloc(keymat->enc_key_len / 8,
-               sizeof(*conn->rekey->send_enc_key));
-  memcpy(conn->rekey->send_enc_key, 
-        keymat->send_enc_key, keymat->enc_key_len / 8);
+  conn->rekey->send_enc_key = silc_memdup(keymat->send_enc_key, 
+                                         keymat->enc_key_len / 8);
   conn->rekey->enc_key_len = keymat->enc_key_len / 8;
 
   if (ske->start_payload->flags & SILC_SKE_SP_FLAG_PFS)
@@ -169,7 +167,7 @@ void silc_client_protocol_ke_set_keys(SilcSKE ske,
 /* Checks the version string of the server. */
 
 SilcSKEStatus silc_ske_check_version(SilcSKE ske, unsigned char *version,
-                                    uint32 len, void *context)
+                                    SilcUInt32 len, void *context)
 {
   SilcClientConnection conn = (SilcClientConnection)ske->sock->user_data;
   SilcClient client = (SilcClient)ske->user_data;
@@ -214,10 +212,6 @@ SilcSKEStatus silc_ske_check_version(SilcSKE ske, unsigned char *version,
   if (maj != maj2)
     status = SILC_SKE_STATUS_BAD_VERSION;
 
-  /* XXX backward support for 0.6.1 */
-  if (maj == 0 && min == 6 && build < 2)
-    ske->backward_version = 1;
-
   if (status != SILC_SKE_STATUS_OK)
     client->internal->ops->say(client, conn, SILC_CLIENT_MESSAGE_AUDIT,
                               "We don't support server version `%s'", 
@@ -551,7 +545,7 @@ static int
 silc_client_get_public_key_auth(SilcClient client,
                                SilcClientConnection conn,
                                unsigned char *auth_data,
-                               uint32 *auth_data_len,
+                               SilcUInt32 *auth_data_len,
                                SilcSKE ske)
 {
   int len;
@@ -587,7 +581,7 @@ silc_client_get_public_key_auth(SilcClient client,
 
 static void 
 silc_client_conn_auth_continue(unsigned char *auth_data,
-                              uint32 auth_data_len, void *context)
+                              SilcUInt32 auth_data_len, void *context)
 {
   SilcProtocol protocol = (SilcProtocol)context;
   SilcClientConnAuthInternalContext *ctx = 
@@ -639,7 +633,7 @@ SILC_TASK_CALLBACK(silc_client_protocol_connection_auth)
        * to be authenticated.
        */
       unsigned char *auth_data = NULL;
-      uint32 auth_data_len = 0;
+      SilcUInt32 auth_data_len = 0;
       unsigned char sign[1024];
 
       switch(ctx->auth_meth) {
@@ -785,11 +779,8 @@ silc_client_protocol_rekey_validate(SilcClient client,
   if (!send) {
     memset(conn->rekey->send_enc_key, 0, conn->rekey->enc_key_len);
     silc_free(conn->rekey->send_enc_key);
-    conn->rekey->send_enc_key = 
-      silc_calloc(keymat->enc_key_len / 8,
-                 sizeof(*conn->rekey->send_enc_key));
-    memcpy(conn->rekey->send_enc_key, keymat->send_enc_key, 
-          keymat->enc_key_len / 8);
+    conn->rekey->send_enc_key = silc_memdup(keymat->send_enc_key,
+                                           keymat->enc_key_len / 8);
     conn->rekey->enc_key_len = keymat->enc_key_len / 8;
   }
 }
@@ -804,8 +795,8 @@ silc_client_protocol_rekey_generate(SilcClient client,
 {
   SilcClientConnection conn = (SilcClientConnection)ctx->sock->user_data;
   SilcSKEKeyMaterial *keymat;
-  uint32 key_len = silc_cipher_get_key_len(conn->send_key);
-  uint32 hash_len = conn->hash->hash->hash_len;
+  SilcUInt32 key_len = silc_cipher_get_key_len(conn->send_key);
+  SilcUInt32 hash_len = conn->hash->hash->hash_len;
 
   SILC_LOG_DEBUG(("Generating new %s session keys (no PFS)",
                  send ? "sending" : "receiving"));
@@ -833,10 +824,10 @@ silc_client_protocol_rekey_generate_pfs(SilcClient client,
 {
   SilcClientConnection conn = (SilcClientConnection)ctx->sock->user_data;
   SilcSKEKeyMaterial *keymat;
-  uint32 key_len = silc_cipher_get_key_len(conn->send_key);
-  uint32 hash_len = conn->hash->hash->hash_len;
+  SilcUInt32 key_len = silc_cipher_get_key_len(conn->send_key);
+  SilcUInt32 hash_len = conn->hash->hash->hash_len;
   unsigned char *tmpbuf;
-  uint32 klen;
+  SilcUInt32 klen;
 
   SILC_LOG_DEBUG(("Generating new %s session keys (with PFS)",
                  send ? "sending" : "receiving"));