]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
GnuTLS: Implement tls_get_version()
authorJouni Malinen <j@w1.fi>
Wed, 27 Dec 2017 22:29:18 +0000 (00:29 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 28 Dec 2017 20:33:06 +0000 (22:33 +0200)
Signed-off-by: Jouni Malinen <j@w1.fi>
src/crypto/tls_gnutls.c

index 8c76bfad4c6522212233a7ffc017f66c84d26096..b94f1ea75bd6b64b2dd05c11b218dd344fe2dd75 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * SSL/TLS interface functions for GnuTLS
- * Copyright (c) 2004-2011, Jouni Malinen <j@w1.fi>
+ * Copyright (c) 2004-2017, Jouni Malinen <j@w1.fi>
  *
  * This software may be distributed under the terms of the BSD license.
  * See README for more details.
@@ -1501,8 +1501,18 @@ int tls_connection_set_cipher_list(void *tls_ctx, struct tls_connection *conn,
 int tls_get_version(void *ssl_ctx, struct tls_connection *conn,
                    char *buf, size_t buflen)
 {
-       /* TODO */
-       return -1;
+       gnutls_protocol_t ver;
+
+       ver = gnutls_protocol_get_version(conn->session);
+       if (ver == GNUTLS_TLS1_0)
+               os_strlcpy(buf, "TLSv1", buflen);
+       else if (ver == GNUTLS_TLS1_1)
+               os_strlcpy(buf, "TLSv1.1", buflen);
+       else if (ver == GNUTLS_TLS1_2)
+               os_strlcpy(buf, "TLSv1.2", buflen);
+       else
+               return -1;
+       return 0;
 }