updates. New data types.
[silc.git] / lib / silcclient / protocol.h
index 92c195abb6615e6dcf91cd0d790db0ed871d75d8..54f617598e392172de2bd8dddaf492e74ca67a7a 100644 (file)
@@ -41,6 +41,7 @@ typedef struct {
   SilcPacketContext *packet;
 
   SilcSKESendPacketCb send_packet;  /* SKE's packet sending callback */
+  SilcSKEVerifyCb verify;          /* SKE's key verify callback */
   SilcSKE ske;                     /* The SKE object */
   SilcSKEKeyMaterial *keymat;      /* The negotiated key material */
   void *context;                   /* Internal context */
@@ -66,7 +67,7 @@ typedef struct {
      starting the protocol if we know the authentication data. Otherwise
      these are and remain NULL. */
   unsigned char *auth_data;
-  unsigned int auth_data_len;
+  uint32 auth_data_len;
 
   SilcTask timeout_task;
 } SilcClientConnAuthInternalContext;
@@ -78,6 +79,11 @@ void silc_client_protocol_ke_send_packet(SilcSKE ske,
                                         SilcBuffer packet,
                                         SilcPacketType type,
                                         void *context);
+SilcSKEStatus silc_client_protocol_ke_verify_key(SilcSKE ske,
+                                                unsigned char *pk_data,
+                                                uint32 pk_len,
+                                                SilcSKEPKType pk_type,
+                                                void *context);
 void silc_client_protocol_ke_set_keys(SilcSKE ske,
                                      SilcSocketConnection sock,
                                      SilcSKEKeyMaterial *keymat,