X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fprotocol.h;h=a6ce666a1d28c3a7e94c3a77da40c531c328e2dc;hb=a818c5b5411bbc4436d1c5f011236985c96bb787;hp=09e2aac3a4e4af5abde6279e68852eaac41355df;hpb=e4e72a9897e687d4452765dfca282794ac18435e;p=silc.git diff --git a/apps/silcd/protocol.h b/apps/silcd/protocol.h index 09e2aac3..a6ce666a 100644 --- a/apps/silcd/protocol.h +++ b/apps/silcd/protocol.h @@ -26,6 +26,7 @@ #define SILC_PROTOCOL_SERVER_CONNECTION_AUTH 1 #define SILC_PROTOCOL_SERVER_KEY_EXCHANGE 2 #define SILC_PROTOCOL_SERVER_REKEY 3 +#define SILC_PROTOCOL_SERVER_BACKUP 4 /* #define SILC_PROTOCOL_SERVER_MAX 255 */ /* Internal context for Key Exchange protocol. */ @@ -50,6 +51,7 @@ typedef struct { SilcTask timeout_task; SilcPacketContext *packet; + SilcSKESecurityPropertyFlag flags; SilcSKE ske; SilcSKEKeyMaterial *keymat; } SilcServerKEInternalContext; @@ -66,16 +68,12 @@ typedef struct { /* SKE object from Key Exchange protocol. */ SilcSKE ske; - /* Auth method that must be used. This is resolved before this - connection authentication protocol is started. Used when we are - initiating. */ - 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. */ + /* Authentication method and 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. */ + SilcUInt32 auth_meth; void *auth_data; - uint32 auth_data_len; + SilcUInt32 auth_data_len; /* Destinations ID from KE protocol context */ void *dest_id; @@ -88,7 +86,7 @@ typedef struct { SilcTask timeout_task; SilcPacketContext *packet; - uint16 conn_type; + SilcUInt16 conn_type; } SilcServerConnAuthInternalContext; /* Internal context for the rekey protocol */ @@ -105,7 +103,8 @@ typedef struct { /* Prototypes */ void silc_server_protocols_register(void); void silc_server_protocols_unregister(void); -int silc_server_protocol_ke_set_keys(SilcSKE ske, +int silc_server_protocol_ke_set_keys(SilcServer server, + SilcSKE ske, SilcSocketConnection sock, SilcSKEKeyMaterial *keymat, SilcCipher cipher,