/** * @file ike_auth_requested.h * * @brief Interface of ike_auth_requested_t. * */ /* * Copyright (C) 2005 Jan Hutter, Martin Willi * Hochschule fuer Technik Rapperswil * * 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. See . * * 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 GNU General Public License * for more details. */ #ifndef IKE_AUTH_REQUESTED_H_ #define IKE_AUTH_REQUESTED_H_ #include #include typedef struct ike_auth_requested_t ike_auth_requested_t; /** * @brief This class represents an IKE_SA, which has requested an IKE_AUTH. * * The state accpets IKE_AUTH responses. It proves the authenticity * and sets up the first child sa. After that, it changes IKE_SA state to * IKE_SA_ESTABLISHED. * * @ Constructors: * - ike_auth_requested_create() * * @todo handle certificate payloads * * @ingroup states */ struct ike_auth_requested_t { /** * The state_t interface. */ state_t state_interface; }; /** * Constructor of class ike_auth_requested_t * * @param ike_sa assigned ike_sa object * @param sent_nonce Sent nonce value in IKE_SA_INIT request * @param received_nonce Received nonce value in IKE_SA_INIT response * @param ike_sa_init_reply_data binary representation of IKE_SA_INIT reply * @param child_sa opened but not completed child_sa * @return created ike_auth_requested_t object * * @ingroup states */ ike_auth_requested_t *ike_auth_requested_create(protected_ike_sa_t *ike_sa, chunk_t sent_nonce, chunk_t received_nonce, chunk_t ike_sa_init_reply_data, child_sa_t *child_sa); #endif /*IKE_AUTH_REQUESTED_H_*/