aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/plugins/eap_tls/tls/tls_server.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-02-03 19:53:40 +0100
committerMartin Willi <martin@revosec.ch>2010-08-03 15:39:24 +0200
commit3ddd164e5e5e8675754dd72129e546949a19b262 (patch)
treec5f6d9c9dc4ab644d601ff338d34da68036b93be /src/charon/plugins/eap_tls/tls/tls_server.c
parent3a1640dea1dda9a6fe79a69428c7b4e24724a1cd (diff)
downloadstrongswan-3ddd164e5e5e8675754dd72129e546949a19b262.tar.bz2
strongswan-3ddd164e5e5e8675754dd72129e546949a19b262.tar.xz
Implemented sending of Certificate, ClientKeyExchange, CertificateVerify and ChangeCipherSpec as peer
Diffstat (limited to 'src/charon/plugins/eap_tls/tls/tls_server.c')
-rw-r--r--src/charon/plugins/eap_tls/tls/tls_server.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/charon/plugins/eap_tls/tls/tls_server.c b/src/charon/plugins/eap_tls/tls/tls_server.c
index 0828e81a1..a5dcdd061 100644
--- a/src/charon/plugins/eap_tls/tls/tls_server.c
+++ b/src/charon/plugins/eap_tls/tls/tls_server.c
@@ -38,6 +38,16 @@ struct private_tls_server_t {
* TLS crypto context
*/
tls_crypto_t *crypto;
+
+ /**
+ * Server identity
+ */
+ identification_t *server;
+
+ /**
+ * Peer identity
+ */
+ identification_t *peer;
};
@@ -53,6 +63,18 @@ METHOD(tls_handshake_t, build, status_t,
return INVALID_STATE;
}
+METHOD(tls_handshake_t, cipherspec_changed, bool,
+ private_tls_server_t *this)
+{
+ return FALSE;
+}
+
+METHOD(tls_handshake_t, change_cipherspec, void,
+ private_tls_server_t *this)
+{
+
+}
+
METHOD(tls_handshake_t, destroy, void,
private_tls_server_t *this)
{
@@ -62,7 +84,8 @@ METHOD(tls_handshake_t, destroy, void,
/**
* See header
*/
-tls_server_t *tls_server_create(tls_t *tls, tls_crypto_t *crypto)
+tls_server_t *tls_server_create(tls_t *tls, tls_crypto_t *crypto,
+ identification_t *server, identification_t *peer)
{
private_tls_server_t *this;
@@ -70,10 +93,14 @@ tls_server_t *tls_server_create(tls_t *tls, tls_crypto_t *crypto)
.public.handshake = {
.process = _process,
.build = _build,
+ .cipherspec_changed = _cipherspec_changed,
+ .change_cipherspec = _change_cipherspec,
.destroy = _destroy,
},
.tls = tls,
.crypto = crypto,
+ .server = server,
+ .peer = peer,
);
return &this->public;