5 Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
7 Copyright (C) 1997 - 2000 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
24 /* SILC client protocol types */
25 #define SILC_PROTOCOL_CLIENT_NONE 0
26 #define SILC_PROTOCOL_CLIENT_CONNECTION_AUTH 1
27 #define SILC_PROTOCOL_CLIENT_CHANNEL_AUTH 2
28 #define SILC_PROTOCOL_CLIENT_KEY_EXCHANGE 3
29 /* #define SILC_PROTOCOL_CLIENT_MAX 255 */
31 /* Internal context for key exchange protocol */
34 SilcSocketConnection sock;
38 /* Destinations ID taken from authenticataed packet so that we can
39 get the destinations ID. */
41 SilcIdType dest_id_type;
45 } SilcClientKEInternalContext;
47 /* Internal context for connection authentication protocol */
50 SilcSocketConnection sock;
52 /* SKE object from Key Exchange protocol. */
55 /* Auth method that must be used. This is resolved before this
56 connection authentication protocol is started. */
57 unsigned int auth_meth;
59 /* Destinations ID from KE protocol context */
61 SilcIdType dest_id_type;
63 /* Authentication data if we alreay know it. This is filled before
64 starting the protocol if we know the authentication data. Otherwise
65 these are and remain NULL. */
66 unsigned char *auth_data;
67 unsigned int auth_data_len;
69 SilcTask timeout_task;
70 } SilcClientConnAuthInternalContext;