projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates.
[silc.git]
/
lib
/
silcske
/
silcske.h
diff --git
a/lib/silcske/silcske.h
b/lib/silcske/silcske.h
index 880475e028f2183eed0fc4cbd835f576c2435d84..13e82eb65f68e5f80bfcf54045a880a28832d9e3 100644
(file)
--- a/
lib/silcske/silcske.h
+++ b/
lib/silcske/silcske.h
@@
-4,7
+4,7
@@
Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
- Copyright (C) 2000 Pekka Riikonen
+ Copyright (C) 2000
- 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
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
@@
-77,9
+77,10
@@
typedef struct {
/* Security Property Flags. */
typedef enum {
/* Security Property Flags. */
typedef enum {
- SILC_SKE_SP_FLAG_NONE = (1L << 0),
- SILC_SKE_SP_FLAG_NO_REPLY = (1L << 1),
- SILC_SKE_SP_FLAG_PFS = (1L << 2),
+ SILC_SKE_SP_FLAG_NONE = 0x00,
+ SILC_SKE_SP_FLAG_NO_REPLY = 0x01,
+ SILC_SKE_SP_FLAG_PFS = 0x02,
+ SILC_SKE_SP_FLAG_MUTUAL = 0x04,
} SilcSKESecurityPropertyFlag;
/* Security Properties negotiated between key exchange parties. This
} SilcSKESecurityPropertyFlag;
/* Security Properties negotiated between key exchange parties. This
@@
-106,8
+107,8
@@
struct SilcSKEStruct {
/* Key Exchange payloads filled during key negotiation with
remote data. Responder may save local data here as well. */
SilcSKEStartPayload *start_payload;
/* Key Exchange payloads filled during key negotiation with
remote data. Responder may save local data here as well. */
SilcSKEStartPayload *start_payload;
- SilcSKE
One
Payload *ke1_payload;
- SilcSKE
Two
Payload *ke2_payload;
+ SilcSKE
KE
Payload *ke1_payload;
+ SilcSKE
KE
Payload *ke2_payload;
/* Temporary copy of the KE Start Payload used in the
HASH computation. */
/* Temporary copy of the KE Start Payload used in the
HASH computation. */
@@
-155,10
+156,11
@@
SilcSKEStatus silc_ske_initiator_phase_1(SilcSKE ske,
void *context);
SilcSKEStatus silc_ske_initiator_phase_2(SilcSKE ske,
SilcPublicKey public_key,
void *context);
SilcSKEStatus silc_ske_initiator_phase_2(SilcSKE ske,
SilcPublicKey public_key,
+ SilcPrivateKey private_key,
SilcSKESendPacketCb send_packet,
void *context);
SilcSKEStatus silc_ske_initiator_finish(SilcSKE ske,
SilcSKESendPacketCb send_packet,
void *context);
SilcSKEStatus silc_ske_initiator_finish(SilcSKE ske,
- SilcBuffer ke
2
_payload,
+ SilcBuffer ke_payload,
SilcSKEVerifyCb verify_key,
void *verify_context,
SilcSKECb callback,
SilcSKEVerifyCb verify_key,
void *verify_context,
SilcSKECb callback,
@@
-167,6
+169,7
@@
SilcSKEStatus silc_ske_responder_start(SilcSKE ske, SilcRng rng,
SilcSocketConnection sock,
char *version,
SilcBuffer start_payload,
SilcSocketConnection sock,
char *version,
SilcBuffer start_payload,
+ int mutual_auth,
SilcSKECb callback,
void *context);
SilcSKEStatus silc_ske_responder_phase_1(SilcSKE ske,
SilcSKECb callback,
void *context);
SilcSKEStatus silc_ske_responder_phase_1(SilcSKE ske,
@@
-174,7
+177,9
@@
SilcSKEStatus silc_ske_responder_phase_1(SilcSKE ske,
SilcSKESendPacketCb send_packet,
void *context);
SilcSKEStatus silc_ske_responder_phase_2(SilcSKE ske,
SilcSKESendPacketCb send_packet,
void *context);
SilcSKEStatus silc_ske_responder_phase_2(SilcSKE ske,
- SilcBuffer ke1_payload,
+ SilcBuffer ke_payload,
+ SilcSKEVerifyCb verify_key,
+ void *verify_context,
SilcSKECb callback,
void *context);
SilcSKEStatus silc_ske_responder_finish(SilcSKE ske,
SilcSKECb callback,
void *context);
SilcSKEStatus silc_ske_responder_finish(SilcSKE ske,
@@
-204,7
+209,8
@@
SilcSKEStatus silc_ske_create_rnd(SilcSKE ske, SilcInt n,
SilcInt *rnd);
SilcSKEStatus silc_ske_make_hash(SilcSKE ske,
unsigned char *return_hash,
SilcInt *rnd);
SilcSKEStatus silc_ske_make_hash(SilcSKE ske,
unsigned char *return_hash,
- unsigned int *return_hash_len);
+ unsigned int *return_hash_len,
+ int initiator);
SilcSKEStatus
silc_ske_process_key_material_data(unsigned char *data,
unsigned int data_len,
SilcSKEStatus
silc_ske_process_key_material_data(unsigned char *data,
unsigned int data_len,