components/gnutls-3/patches/02_remove_elliptical.patch
author Ann Lai <ann.lai@oracle.com>
Thu, 24 Sep 2015 13:56:38 -0700
changeset 4903 6b60e63145ed
child 5143 9b4a483bf8d9
permissions -rw-r--r--
20367980 GNUTLS should be updated to version 3.4.1 PSARC/2015/363 Update GnuTLS to version 3.4.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4903
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     1
Source:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     2
Internal
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     3
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     4
Info:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     5
This patch makes the changes necessary to remove all usage of elliptical curve 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     6
code in this library.
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     7
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     8
Status:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
     9
Need to determine if this patch has been sent upstream.
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    10
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    11
--- ORIGINAL/./lib/auth/ecdhe.h	2015-07-24 15:17:22.747625209 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    12
+++ gnutls-3.4.1/./lib/auth/ecdhe.h	2015-07-24 15:19:55.707550982 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    13
@@ -23,6 +23,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    14
 #ifndef AUTH_ECDH_COMMON
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    15
 #define AUTH_ECDH_COMMON
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    16
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    17
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    18
 #include <gnutls_auth.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    19
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    20
 int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    21
@@ -48,4 +49,5 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    22
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    23
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    24
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    25
+#endif /*ENABLE_ECDHE*/
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    26
 #endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    27
--- ORIGINAL/./lib/auth/dhe_psk.c	2015-07-24 15:17:55.194610558 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    28
+++ gnutls-3.4.1/./lib/auth/dhe_psk.c	2015-07-24 15:19:55.727540829 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    29
@@ -39,20 +39,28 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    30
 #include "gnutls_mpi.h"
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    31
 #include <gnutls_state.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    32
 #include <auth/dh_common.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    33
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    34
 #include <auth/ecdhe.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    35
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    36
 #include <gnutls_datum.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    37
 #include <auth/psk_passwd.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    38
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    39
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    40
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    41
 proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    42
 			 size_t _data_size);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    43
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    44
 static int gen_dhe_psk_server_kx(gnutls_session_t, gnutls_buffer_st *);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    45
 static int gen_dhe_psk_client_kx(gnutls_session_t, gnutls_buffer_st *);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    46
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    47
 static int gen_ecdhe_psk_client_kx(gnutls_session_t, gnutls_buffer_st *);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    48
 static int proc_ecdhe_psk_client_kx(gnutls_session_t, uint8_t *, size_t);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    49
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    50
 static int proc_dhe_psk_server_kx(gnutls_session_t, uint8_t *, size_t);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    51
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    52
 static int gen_ecdhe_psk_server_kx(gnutls_session_t session,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    53
 				   gnutls_buffer_st * data);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    54
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    55
 static int proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    56
 				  size_t _data_size);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    57
 #ifdef ENABLE_DHE
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    58
@@ -93,6 +101,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    59
 };
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    60
 #endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    61
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    62
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    63
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    64
 gen_ecdhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    65
 {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    66
@@ -136,6 +145,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    67
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    68
 	return ret;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    69
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    70
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    71
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    72
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    73
 gen_dhe_psk_client_kx(gnutls_session_t session, gnutls_buffer_st * data)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    74
@@ -234,6 +244,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    75
 	return ret;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    76
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    77
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    78
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    79
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    80
 gen_ecdhe_psk_server_kx(gnutls_session_t session, gnutls_buffer_st * data)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    81
 {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    82
@@ -258,6 +269,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    83
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    84
 	return ret;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    85
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    86
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    87
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    88
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    89
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    90
@@ -341,6 +353,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    91
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    92
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    93
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    94
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    95
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    96
 proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    97
 			 size_t _data_size)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    98
@@ -409,6 +422,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
    99
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   100
 	return ret;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   101
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   102
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   103
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   104
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   105
 proc_dhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   106
@@ -440,6 +454,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   107
 	return 0;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   108
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   109
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   110
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   111
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   112
 proc_ecdhe_psk_server_kx(gnutls_session_t session, uint8_t * data,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   113
 			 size_t _data_size)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   114
@@ -469,5 +484,6 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   115
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   116
 	return 0;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   117
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   118
+#endif /*ENABLE_ECDHE*/
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   119
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   120
 #endif				/* ENABLE_PSK */
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   121
--- ORIGINAL/./lib/auth/ecdhe.c	2015-07-24 15:17:30.508450604 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   122
+++ gnutls-3.4.1/./lib/auth/ecdhe.c	2015-07-24 15:19:55.717659786 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   123
@@ -25,6 +25,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   124
  * procedure of the certificate and anoymous authentication.
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   125
  */
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   126
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   127
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   128
 #include <gnutls_int.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   129
 #include "gnutls_auth.h"
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   130
 #include "gnutls_errors.h"
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   131
@@ -50,7 +51,6 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   132
 proc_ecdhe_client_kx(gnutls_session_t session,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   133
 		     uint8_t * data, size_t _data_size);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   134
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   135
-#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   136
 const mod_auth_st ecdhe_ecdsa_auth_struct = {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   137
 	"ECDHE_ECDSA",
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   138
 	_gnutls_gen_cert_server_crt,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   139
--- ORIGINAL/./lib/nettle/pk.c	2015-07-24 15:18:27.631820369 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   140
+++ gnutls-3.4.1/./lib/nettle/pk.c	2015-07-24 15:19:55.737837073 -0700
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   141
@@ -45,13 +45,17 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   142
 #include <nettle/rsa.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   143
 #include <gnutls/crypto.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   144
 #include <nettle/bignum.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   145
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   146
 #include <nettle/ecc.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   147
 #include <nettle/ecdsa.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   148
 #include <nettle/ecc-curve.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   149
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   150
 #include <gnettle.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   151
 #include <fips.h>
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   152
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   153
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   154
 static inline const struct ecc_curve *get_supported_curve(int curve);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   155
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   156
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   157
 static void rnd_func(void *_ctx, size_t length, uint8_t * data)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   158
 {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   159
@@ -64,6 +68,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   160
 	}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   161
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   162
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   163
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   164
 static void
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   165
 ecc_scalar_zclear (struct ecc_scalar *s)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   166
 {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   167
@@ -77,6 +82,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   168
         zeroize_key(p->p, ecc_size_a(p->ecc)*sizeof(mp_limb_t));
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   169
         ecc_point_clear(p);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   170
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   171
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   172
   
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   173
 static void
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   174
 _dsa_params_get(const gnutls_pk_params_st * pk_params,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   175
@@ -113,6 +119,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   176
 	pub->size = nettle_mpz_sizeinbase_256_u(pub->n);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   177
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   178
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   179
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   180
 static int
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   181
 _ecc_params_to_privkey(const gnutls_pk_params_st * pk_params,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   182
 		       struct ecc_scalar *priv,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   183
@@ -161,6 +168,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   184
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   185
 	return;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   186
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   187
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   188
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   189
 #define MAX_DH_BITS DEFAULT_MAX_VERIFY_BITS
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   190
 /* This is used when we have no idea on the structure
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   191
@@ -245,6 +253,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   192
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   193
 		break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   194
 	}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   195
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   196
 	case GNUTLS_PK_EC:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   197
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   198
 			struct ecc_scalar ecc_priv;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   199
@@ -290,6 +299,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   200
 				goto cleanup;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   201
 			break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   202
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   203
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   204
 	default:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   205
 		gnutls_assert();
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   206
 		ret = GNUTLS_E_INTERNAL_ERROR;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   207
@@ -447,6 +457,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   208
 	const mac_entry_st *me;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   209
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   210
 	switch (algo) {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   211
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   212
 	case GNUTLS_PK_EC:	/* we do ECDSA */
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   213
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   214
 			struct ecc_scalar priv;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   215
@@ -495,6 +506,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   216
 			}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   217
 			break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   218
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   219
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   220
 	case GNUTLS_PK_DSA:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   221
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   222
 			struct dsa_params pub;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   223
@@ -601,6 +613,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   224
 	bigint_t tmp[2] = { NULL, NULL };
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   225
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   226
 	switch (algo) {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   227
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   228
 	case GNUTLS_PK_EC:	/* ECDSA */
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   229
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   230
 			struct ecc_point pub;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   231
@@ -647,6 +660,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   232
 			ecc_point_clear(&pub);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   233
 			break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   234
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   235
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   236
 	case GNUTLS_PK_DSA:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   237
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   238
 			struct dsa_params pub;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   239
@@ -726,6 +740,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   240
 	return ret;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   241
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   242
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   243
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   244
 static inline const struct ecc_curve *get_supported_curve(int curve)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   245
 {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   246
 	switch (curve) {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   247
@@ -750,6 +765,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   248
 {
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   249
 	return ((get_supported_curve(curve)!=NULL)?1:0);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   250
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   251
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   252
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   253
 /* Generates algorithm's parameters. That is:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   254
  *  For DSA: p, q, and g are generated.
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   255
@@ -854,9 +870,11 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   256
 			break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   257
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   258
 	case GNUTLS_PK_RSA:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   259
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   260
 	case GNUTLS_PK_EC:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   261
 		ret = 0;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   262
 		break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   263
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   264
 	default:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   265
 		gnutls_assert();
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   266
 		return GNUTLS_E_INVALID_REQUEST;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   267
@@ -884,6 +902,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   268
 			   const gnutls_datum_t *priv_key, const gnutls_datum_t *pub_key,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   269
 			   const gnutls_datum_t *peer_key, gnutls_datum_t *Z);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   270
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   271
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   272
 int _gnutls_ecdh_compute_key(gnutls_ecc_curve_t curve,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   273
 			   const gnutls_datum_t *x, const gnutls_datum_t *y,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   274
 			   const gnutls_datum_t *k,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   275
@@ -893,6 +912,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   276
 int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   277
 			      gnutls_datum_t *x, gnutls_datum_t *y,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   278
 			      gnutls_datum_t *k);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   279
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   280
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   281
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   282
 int _gnutls_dh_generate_key(gnutls_dh_params_t dh_params,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   283
@@ -988,6 +1008,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   284
  	return ret;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   285
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   286
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   287
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   288
 int _gnutls_ecdh_generate_key(gnutls_ecc_curve_t curve,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   289
 			      gnutls_datum_t *x, gnutls_datum_t *y,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   290
 			      gnutls_datum_t *k)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   291
@@ -1116,6 +1137,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   292
  	gnutls_pk_params_clear(&priv);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   293
  	return ret;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   294
 }
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   295
+#endif /*ENABLE_ECDHE*/
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   296
 #endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   297
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   298
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   299
@@ -1308,6 +1330,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   300
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   301
 			break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   302
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   303
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   304
 	case GNUTLS_PK_EC:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   305
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   306
 			struct ecc_scalar key;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   307
@@ -1350,6 +1373,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   308
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   309
 			break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   310
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   311
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   312
 	default:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   313
 		gnutls_assert();
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   314
 		return GNUTLS_E_INVALID_REQUEST;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   315
@@ -1494,6 +1518,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   316
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   317
 
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   318
 		break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   319
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   320
 	case GNUTLS_PK_EC:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   321
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   322
 			struct ecc_point r, pub;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   323
@@ -1567,6 +1592,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   324
 			mpz_clear(y2);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   325
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   326
 		break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   327
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   328
 	default:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   329
 		ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   330
 	}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   331
@@ -1584,6 +1610,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   332
 	case GNUTLS_PK_RSA:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   333
 	case GNUTLS_PK_DSA:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   334
 		return 0;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   335
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   336
 	case GNUTLS_PK_EC:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   337
 		{
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   338
 			/* just verify that x and y lie on the curve */
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   339
@@ -1624,6 +1651,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   340
 			ecc_point_clear(&pub);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   341
 		}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   342
 		break;
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   343
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   344
 	default:
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   345
 		ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST);
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   346
 	}
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   347
@@ -1725,5 +1753,7 @@
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   348
 	.generate_keys = wrap_nettle_pk_generate_keys,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   349
 	.pk_fixup_private_params = wrap_nettle_pk_fixup,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   350
 	.derive = _wrap_nettle_pk_derive,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   351
+#if defined(ENABLE_ECDHE)
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   352
 	.curve_exists = _wrap_nettle_pk_curve_exists,
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   353
+#endif
6b60e63145ed 20367980 GNUTLS should be updated to version 3.4.1
Ann Lai <ann.lai@oracle.com>
parents:
diff changeset
   354
 };