Files
strongswan-ext/src/libcharon/plugins/eap_peap/eap_peap_server.h
T
Tobias Brunner 8aa13a1797 eap-peap: Initiate Phase 2 immediately for TLS 1.3
Before TLS 1.3, the server sent the last handshake message and had the
option to piggyback the EAP-Identity request directly onto the packet
with the TLS Finished message, or wait for the empty message by the
client that acknowledges the completion of the handshake.  With TLS 1.3,
the client finishes the handshake after the server.  So this option
is irrelevant there and we immediately start with Phase 2.
2023-03-02 09:31:52 +01:00

60 lines
1.5 KiB
C

/*
* Copyright (C) 2011 Andreas Steffen
*
* Copyright (C) secunet Security Networks AG
*
* 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 <http://www.fsf.org/copyleft/gpl.txt>.
*
* 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.
*/
/**
* @defgroup eap_peap_server eap_peap_server
* @{ @ingroup eap_peap
*/
#ifndef EAP_PEAP_SERVER_H_
#define EAP_PEAP_SERVER_H_
typedef struct eap_peap_server_t eap_peap_server_t;
#include "tls.h"
#include "tls_application.h"
#include <library.h>
#include <sa/eap/eap_method.h>
/**
* TLS application data handler as server.
*/
struct eap_peap_server_t {
/**
* Implements the TLS application data handler.
*/
tls_application_t application;
/**
* Set a reference to the parent TLS connection this application is
* assigned to.
*
* @param tls TLS connection
*/
void (*set_tls)(eap_peap_server_t *this, tls_t *tls);
};
/**
* Create an eap_peap_server instance.
*/
eap_peap_server_t *eap_peap_server_create(identification_t *server,
identification_t *peer,
eap_method_t *eap_method);
#endif /** EAP_PEAP_SERVER_H_ @}*/