aboutsummaryrefslogtreecommitdiffstats
path: root/src/libtls/tls_peer.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-09-03 11:45:55 +0200
committerMartin Willi <martin@revosec.ch>2010-09-03 14:54:43 +0200
commit37a59a8fbfc6f3203ecf79d9294fc10af981baf0 (patch)
treed191131092609f749d3e49ee5311ae261e46d55d /src/libtls/tls_peer.c
parent141d7f7abd179fbc3f5c46e2f66fb75b01342886 (diff)
downloadstrongswan-37a59a8fbfc6f3203ecf79d9294fc10af981baf0.tar.bz2
strongswan-37a59a8fbfc6f3203ecf79d9294fc10af981baf0.tar.xz
Support for EC curve Hello extension, EC curve fallback
Diffstat (limited to 'src/libtls/tls_peer.c')
-rw-r--r--src/libtls/tls_peer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libtls/tls_peer.c b/src/libtls/tls_peer.c
index b31b41188..7cfbe144c 100644
--- a/src/libtls/tls_peer.c
+++ b/src/libtls/tls_peer.c
@@ -709,10 +709,14 @@ static status_t send_client_hello(private_tls_peer_t *this,
writer->write_uint8(writer, 1);
writer->write_uint8(writer, 0);
- /* signature algorithms extension */
extensions = tls_writer_create(32);
+
extensions->write_uint16(extensions, TLS_EXT_SIGNATURE_ALGORITHMS);
this->crypto->get_signature_algorithms(this->crypto, extensions);
+
+ extensions->write_uint16(extensions, TLS_EXT_ELLIPTIC_CURVES);
+ this->crypto->get_curves(this->crypto, extensions);
+
writer->write_data16(writer, extensions->get_buf(extensions));
extensions->destroy(extensions);