updates. New data types.
[silc.git] / apps / silcd / protocol.h
index 7748faa19f007e854b1b36ec6f75edbf5a1b4d21..e26a58e0d1b6b6d42dfefc25d24114a4b187e875 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-  Copyright (C) 1997 - 2000 Pekka Riikonen
+  Copyright (C) 1997 - 2001 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -43,8 +43,9 @@ typedef struct {
   SilcIdType dest_id_type;
 
   SilcTask timeout_task;
-  SilcBuffer packet;
+  SilcPacketContext *packet;
   SilcSKE ske;
+  SilcSKEKeyMaterial *keymat;
 } SilcServerKEInternalContext;
 
 /* Internal context for connection authentication protocol */
@@ -62,25 +63,33 @@ typedef struct {
   /* Auth method that must be used. This is resolved before this
      connection authentication protocol is started. Used when we are
      initiating. */
-  unsigned int auth_meth;
+  uint32 auth_meth;
 
   /* Authentication data if we alreay know it. This is filled before
      starting the protocol if we know the authentication data. Otherwise
      these are and remain NULL. Used when we are initiating. */
-  unsigned char *auth_data;
-  unsigned int auth_data_len;
+  void *auth_data;
+  uint32 auth_data_len;
 
   /* Destinations ID from KE protocol context */
   void *dest_id;
   SilcIdType dest_id_type;
 
   SilcTask timeout_task;
-  SilcBuffer packet;
-  unsigned short conn_type;
+  SilcPacketContext *packet;
+  uint16 conn_type;
 } SilcServerConnAuthInternalContext;
 
 /* Prototypes */
 void silc_server_protocols_register(void);
 void silc_server_protocols_unregister(void);
+int silc_server_protocol_ke_set_keys(SilcSKE ske,
+                                    SilcSocketConnection sock,
+                                    SilcSKEKeyMaterial *keymat,
+                                    SilcCipher cipher,
+                                    SilcPKCS pkcs,
+                                    SilcHash hash,
+                                    SilcHmac hmac,
+                                    int is_responder);
 
 #endif