protocol.h
- Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
+ Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2001 Pekka Riikonen
+ Copyright (C) 1997 - 2003 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
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
+ the Free Software Foundation; version 2 of the License.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
void *dest_id;
SilcIdType dest_id_type;
- /* Pointer to the configurations. */
- void *cconfig;
- void *sconfig;
- void *rconfig;
+ /* Pointers to the configurations. Defined only when responder is TRUE */
+ SilcServerConfigRef cconfig;
+ SilcServerConfigRef sconfig;
+ SilcServerConfigRef rconfig;
SilcTask timeout_task;
SilcPacketContext *packet;
+ SilcSKESecurityPropertyFlag flags;
SilcSKE ske;
SilcSKEKeyMaterial *keymat;
} SilcServerKEInternalContext;
/* 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;
SilcIdType dest_id_type;
- /* Pointer to the configurations. */
- void *cconfig;
- void *sconfig;
- void *rconfig;
+ /* Pointers to the configurations. Defined only when responder is TRUE */
+ SilcServerConfigRef cconfig;
+ SilcServerConfigRef sconfig;
+ SilcServerConfigRef rconfig;
SilcTask timeout_task;
SilcPacketContext *packet;
- uint16 conn_type;
+ SilcUInt16 conn_type;
} SilcServerConnAuthInternalContext;
/* Internal context for the rekey protocol */
bool pfs; /* TRUE if PFS is to be used */
SilcSKE ske; /* Defined if PFS is used */
SilcPacketContext *packet;
+ SilcTask timeout_task;
} SilcServerRekeyInternalContext;
/* 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,