updates.
[silc.git] / apps / silcd / protocol.h
index d6f54663d5928a409c713eddf73d3c4e0ad50f28..2b1b9c232d6342f256b906a87ad1a74c5dbe1531 100644 (file)
@@ -45,6 +45,7 @@ typedef struct {
   SilcTask timeout_task;
   SilcPacketContext *packet;
   SilcSKE ske;
+  SilcSKEKeyMaterial *keymat;
 } SilcServerKEInternalContext;
 
 /* Internal context for connection authentication protocol */
@@ -67,7 +68,7 @@ typedef struct {
   /* 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;
+  void *auth_data;
   unsigned int auth_data_len;
 
   /* Destinations ID from KE protocol context */
@@ -82,5 +83,13 @@ typedef struct {
 /* 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