aboutsummaryrefslogtreecommitdiff
path: root/src/daemon/https/tls/auth_dh_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/https/tls/auth_dh_common.c')
-rw-r--r--src/daemon/https/tls/auth_dh_common.c104
1 files changed, 52 insertions, 52 deletions
diff --git a/src/daemon/https/tls/auth_dh_common.c b/src/daemon/https/tls/auth_dh_common.c
index f6354cb6..13e7987b 100644
--- a/src/daemon/https/tls/auth_dh_common.c
+++ b/src/daemon/https/tls/auth_dh_common.c
@@ -42,7 +42,7 @@
42/* Frees the dh_info_st structure. 42/* Frees the dh_info_st structure.
43 */ 43 */
44void 44void
45_gnutls_free_dh_info (dh_info_st * dh) 45mhd_gtls_free_dh_info (dh_info_st * dh)
46{ 46{
47 dh->secret_bits = 0; 47 dh->secret_bits = 0;
48 _gnutls_free_datum (&dh->prime); 48 _gnutls_free_datum (&dh->prime);
@@ -51,7 +51,7 @@ _gnutls_free_dh_info (dh_info_st * dh)
51} 51}
52 52
53int 53int
54_gnutls_proc_dh_common_client_kx (gnutls_session_t session, 54mhd_gtls_proc_dh_common_client_kx (mhd_gtls_session_t session,
55 opaque * data, size_t _data_size, 55 opaque * data, size_t _data_size,
56 mpi_t g, mpi_t p) 56 mpi_t g, mpi_t p)
57{ 57{
@@ -62,20 +62,20 @@ _gnutls_proc_dh_common_client_kx (gnutls_session_t session,
62 62
63 63
64 DECR_LEN (data_size, 2); 64 DECR_LEN (data_size, 2);
65 n_Y = _gnutls_read_uint16 (&data[0]); 65 n_Y = mhd_gtls_read_uint16 (&data[0]);
66 _n_Y = n_Y; 66 _n_Y = n_Y;
67 67
68 DECR_LEN (data_size, n_Y); 68 DECR_LEN (data_size, n_Y);
69 if (_gnutls_mpi_scan_nz (&session->key->client_Y, &data[2], &_n_Y)) 69 if (mhd_gtls_mpi_scan_nz (&session->key->client_Y, &data[2], &_n_Y))
70 { 70 {
71 gnutls_assert (); 71 gnutls_assert ();
72 return GNUTLS_E_MPI_SCAN_FAILED; 72 return GNUTLS_E_MPI_SCAN_FAILED;
73 } 73 }
74 74
75 _gnutls_dh_set_peer_public (session, session->key->client_Y); 75 mhd_gtls_dh_set_peer_public (session, session->key->client_Y);
76 76
77 session->key->KEY = 77 session->key->KEY =
78 gnutls_calc_dh_key (session->key->client_Y, session->key->dh_secret, p); 78 mhd_gtls_calc_dh_key (session->key->client_Y, session->key->dh_secret, p);
79 79
80 if (session->key->KEY == NULL) 80 if (session->key->KEY == NULL)
81 { 81 {
@@ -83,12 +83,12 @@ _gnutls_proc_dh_common_client_kx (gnutls_session_t session,
83 return GNUTLS_E_MEMORY_ERROR; 83 return GNUTLS_E_MEMORY_ERROR;
84 } 84 }
85 85
86 _gnutls_mpi_release (&session->key->client_Y); 86 mhd_gtls_mpi_release (&session->key->client_Y);
87 _gnutls_mpi_release (&session->key->dh_secret); 87 mhd_gtls_mpi_release (&session->key->dh_secret);
88 88
89 ret = _gnutls_mpi_dprint (&session->key->key, session->key->KEY); 89 ret = mhd_gtls_mpi_dprint (&session->key->key, session->key->KEY);
90 90
91 _gnutls_mpi_release (&session->key->KEY); 91 mhd_gtls_mpi_release (&session->key->KEY);
92 92
93 if (ret < 0) 93 if (ret < 0)
94 { 94 {
@@ -99,7 +99,7 @@ _gnutls_proc_dh_common_client_kx (gnutls_session_t session,
99} 99}
100 100
101int 101int
102_gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data) 102mhd_gtls_gen_dh_common_client_kx (mhd_gtls_session_t session, opaque ** data)
103{ 103{
104 mpi_t x = NULL, X = NULL; 104 mpi_t x = NULL, X = NULL;
105 size_t n_X; 105 size_t n_X;
@@ -107,7 +107,7 @@ _gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data)
107 107
108 *data = NULL; 108 *data = NULL;
109 109
110 X = gnutls_calc_dh_secret (&x, session->key->client_g, 110 X = mhd_gtls_calc_dh_secret (&x, session->key->client_g,
111 session->key->client_p); 111 session->key->client_p);
112 if (X == NULL || x == NULL) 112 if (X == NULL || x == NULL)
113 { 113 {
@@ -116,9 +116,9 @@ _gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data)
116 goto error; 116 goto error;
117 } 117 }
118 118
119 _gnutls_dh_set_secret_bits (session, _gnutls_mpi_get_nbits (x)); 119 mhd_gtls_dh_set_secret_bits (session, _gnutls_mpi_get_nbits (x));
120 120
121 _gnutls_mpi_print (NULL, &n_X, X); 121 mhd_gtls_mpi_print (NULL, &n_X, X);
122 (*data) = gnutls_malloc (n_X + 2); 122 (*data) = gnutls_malloc (n_X + 2);
123 if (*data == NULL) 123 if (*data == NULL)
124 { 124 {
@@ -126,16 +126,16 @@ _gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data)
126 goto error; 126 goto error;
127 } 127 }
128 128
129 _gnutls_mpi_print (&(*data)[2], &n_X, X); 129 mhd_gtls_mpi_print (&(*data)[2], &n_X, X);
130 _gnutls_mpi_release (&X); 130 mhd_gtls_mpi_release (&X);
131 131
132 _gnutls_write_uint16 (n_X, &(*data)[0]); 132 mhd_gtls_write_uint16 (n_X, &(*data)[0]);
133 133
134 /* calculate the key after calculating the message */ 134 /* calculate the key after calculating the message */
135 session->key->KEY = 135 session->key->KEY =
136 gnutls_calc_dh_key (session->key->client_Y, x, session->key->client_p); 136 mhd_gtls_calc_dh_key (session->key->client_Y, x, session->key->client_p);
137 137
138 _gnutls_mpi_release (&x); 138 mhd_gtls_mpi_release (&x);
139 if (session->key->KEY == NULL) 139 if (session->key->KEY == NULL)
140 { 140 {
141 gnutls_assert (); 141 gnutls_assert ();
@@ -144,13 +144,13 @@ _gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data)
144 } 144 }
145 145
146 /* THESE SHOULD BE DISCARDED */ 146 /* THESE SHOULD BE DISCARDED */
147 _gnutls_mpi_release (&session->key->client_Y); 147 mhd_gtls_mpi_release (&session->key->client_Y);
148 _gnutls_mpi_release (&session->key->client_p); 148 mhd_gtls_mpi_release (&session->key->client_p);
149 _gnutls_mpi_release (&session->key->client_g); 149 mhd_gtls_mpi_release (&session->key->client_g);
150 150
151 ret = _gnutls_mpi_dprint (&session->key->key, session->key->KEY); 151 ret = mhd_gtls_mpi_dprint (&session->key->key, session->key->KEY);
152 152
153 _gnutls_mpi_release (&session->key->KEY); 153 mhd_gtls_mpi_release (&session->key->KEY);
154 154
155 if (ret < 0) 155 if (ret < 0)
156 { 156 {
@@ -161,15 +161,15 @@ _gnutls_gen_dh_common_client_kx (gnutls_session_t session, opaque ** data)
161 return n_X + 2; 161 return n_X + 2;
162 162
163error: 163error:
164 _gnutls_mpi_release (&x); 164 mhd_gtls_mpi_release (&x);
165 _gnutls_mpi_release (&X); 165 mhd_gtls_mpi_release (&X);
166 gnutls_free (*data); 166 gnutls_free (*data);
167 *data = NULL; 167 *data = NULL;
168 return ret; 168 return ret;
169} 169}
170 170
171int 171int
172_gnutls_proc_dh_common_server_kx (gnutls_session_t session, 172mhd_gtls_proc_dh_common_server_kx (mhd_gtls_session_t session,
173 opaque * data, size_t _data_size, int psk) 173 opaque * data, size_t _data_size, int psk)
174{ 174{
175 uint16_t n_Y, n_g, n_p; 175 uint16_t n_Y, n_g, n_p;
@@ -185,13 +185,13 @@ _gnutls_proc_dh_common_server_kx (gnutls_session_t session,
185 if (psk != 0) 185 if (psk != 0)
186 { 186 {
187 DECR_LEN (data_size, 2); 187 DECR_LEN (data_size, 2);
188 psk_size = _gnutls_read_uint16 (&data[i]); 188 psk_size = mhd_gtls_read_uint16 (&data[i]);
189 DECR_LEN (data_size, psk_size); 189 DECR_LEN (data_size, psk_size);
190 i += 2 + psk_size; 190 i += 2 + psk_size;
191 } 191 }
192 192
193 DECR_LEN (data_size, 2); 193 DECR_LEN (data_size, 2);
194 n_p = _gnutls_read_uint16 (&data[i]); 194 n_p = mhd_gtls_read_uint16 (&data[i]);
195 i += 2; 195 i += 2;
196 196
197 DECR_LEN (data_size, n_p); 197 DECR_LEN (data_size, n_p);
@@ -199,7 +199,7 @@ _gnutls_proc_dh_common_server_kx (gnutls_session_t session,
199 i += n_p; 199 i += n_p;
200 200
201 DECR_LEN (data_size, 2); 201 DECR_LEN (data_size, 2);
202 n_g = _gnutls_read_uint16 (&data[i]); 202 n_g = mhd_gtls_read_uint16 (&data[i]);
203 i += 2; 203 i += 2;
204 204
205 DECR_LEN (data_size, n_g); 205 DECR_LEN (data_size, n_g);
@@ -207,7 +207,7 @@ _gnutls_proc_dh_common_server_kx (gnutls_session_t session,
207 i += n_g; 207 i += n_g;
208 208
209 DECR_LEN (data_size, 2); 209 DECR_LEN (data_size, 2);
210 n_Y = _gnutls_read_uint16 (&data[i]); 210 n_Y = mhd_gtls_read_uint16 (&data[i]);
211 i += 2; 211 i += 2;
212 212
213 DECR_LEN (data_size, n_Y); 213 DECR_LEN (data_size, n_Y);
@@ -218,24 +218,24 @@ _gnutls_proc_dh_common_server_kx (gnutls_session_t session,
218 _n_g = n_g; 218 _n_g = n_g;
219 _n_p = n_p; 219 _n_p = n_p;
220 220
221 if (_gnutls_mpi_scan_nz (&session->key->client_Y, data_Y, &_n_Y) != 0) 221 if (mhd_gtls_mpi_scan_nz (&session->key->client_Y, data_Y, &_n_Y) != 0)
222 { 222 {
223 gnutls_assert (); 223 gnutls_assert ();
224 return GNUTLS_E_MPI_SCAN_FAILED; 224 return GNUTLS_E_MPI_SCAN_FAILED;
225 } 225 }
226 226
227 if (_gnutls_mpi_scan_nz (&session->key->client_g, data_g, &_n_g) != 0) 227 if (mhd_gtls_mpi_scan_nz (&session->key->client_g, data_g, &_n_g) != 0)
228 { 228 {
229 gnutls_assert (); 229 gnutls_assert ();
230 return GNUTLS_E_MPI_SCAN_FAILED; 230 return GNUTLS_E_MPI_SCAN_FAILED;
231 } 231 }
232 if (_gnutls_mpi_scan_nz (&session->key->client_p, data_p, &_n_p) != 0) 232 if (mhd_gtls_mpi_scan_nz (&session->key->client_p, data_p, &_n_p) != 0)
233 { 233 {
234 gnutls_assert (); 234 gnutls_assert ();
235 return GNUTLS_E_MPI_SCAN_FAILED; 235 return GNUTLS_E_MPI_SCAN_FAILED;
236 } 236 }
237 237
238 bits = _gnutls_dh_get_allowed_prime_bits (session); 238 bits = mhd_gtls_dh_get_allowed_prime_bits (session);
239 if (bits < 0) 239 if (bits < 0)
240 { 240 {
241 gnutls_assert (); 241 gnutls_assert ();
@@ -250,9 +250,9 @@ _gnutls_proc_dh_common_server_kx (gnutls_session_t session,
250 return GNUTLS_E_DH_PRIME_UNACCEPTABLE; 250 return GNUTLS_E_DH_PRIME_UNACCEPTABLE;
251 } 251 }
252 252
253 _gnutls_dh_set_group (session, session->key->client_g, 253 mhd_gtls_dh_set_group (session, session->key->client_g,
254 session->key->client_p); 254 session->key->client_p);
255 _gnutls_dh_set_peer_public (session, session->key->client_Y); 255 mhd_gtls_dh_set_peer_public (session, session->key->client_Y);
256 256
257 ret = n_Y + n_p + n_g + 6; 257 ret = n_Y + n_p + n_g + 6;
258 if (psk != 0) 258 if (psk != 0)
@@ -264,7 +264,7 @@ _gnutls_proc_dh_common_server_kx (gnutls_session_t session,
264/* If the psk flag is set, then an empty psk_identity_hint will 264/* If the psk flag is set, then an empty psk_identity_hint will
265 * be inserted */ 265 * be inserted */
266int 266int
267_gnutls_dh_common_print_server_kx (gnutls_session_t session, 267mhd_gtls_dh_common_print_server_kx (mhd_gtls_session_t session,
268 mpi_t g, mpi_t p, opaque ** data, int psk) 268 mpi_t g, mpi_t p, opaque ** data, int psk)
269{ 269{
270 mpi_t x, X; 270 mpi_t x, X;
@@ -272,7 +272,7 @@ _gnutls_dh_common_print_server_kx (gnutls_session_t session,
272 int ret, data_size, pos; 272 int ret, data_size, pos;
273 uint8_t *pdata; 273 uint8_t *pdata;
274 274
275 X = gnutls_calc_dh_secret (&x, g, p); 275 X = mhd_gtls_calc_dh_secret (&x, g, p);
276 if (X == NULL || x == NULL) 276 if (X == NULL || x == NULL)
277 { 277 {
278 gnutls_assert (); 278 gnutls_assert ();
@@ -280,11 +280,11 @@ _gnutls_dh_common_print_server_kx (gnutls_session_t session,
280 } 280 }
281 281
282 session->key->dh_secret = x; 282 session->key->dh_secret = x;
283 _gnutls_dh_set_secret_bits (session, _gnutls_mpi_get_nbits (x)); 283 mhd_gtls_dh_set_secret_bits (session, _gnutls_mpi_get_nbits (x));
284 284
285 _gnutls_mpi_print (NULL, &n_g, g); 285 mhd_gtls_mpi_print (NULL, &n_g, g);
286 _gnutls_mpi_print (NULL, &n_p, p); 286 mhd_gtls_mpi_print (NULL, &n_p, p);
287 _gnutls_mpi_print (NULL, &n_X, X); 287 mhd_gtls_mpi_print (NULL, &n_X, X);
288 288
289 data_size = n_g + n_p + n_X + 6; 289 data_size = n_g + n_p + n_X + 6;
290 if (psk != 0) 290 if (psk != 0)
@@ -293,7 +293,7 @@ _gnutls_dh_common_print_server_kx (gnutls_session_t session,
293 (*data) = gnutls_malloc (data_size); 293 (*data) = gnutls_malloc (data_size);
294 if (*data == NULL) 294 if (*data == NULL)
295 { 295 {
296 _gnutls_mpi_release (&X); 296 mhd_gtls_mpi_release (&X);
297 return GNUTLS_E_MEMORY_ERROR; 297 return GNUTLS_E_MEMORY_ERROR;
298 } 298 }
299 299
@@ -302,24 +302,24 @@ _gnutls_dh_common_print_server_kx (gnutls_session_t session,
302 302
303 if (psk != 0) 303 if (psk != 0)
304 { 304 {
305 _gnutls_write_uint16 (0, &pdata[pos]); 305 mhd_gtls_write_uint16 (0, &pdata[pos]);
306 pos += 2; 306 pos += 2;
307 } 307 }
308 308
309 _gnutls_mpi_print (&pdata[pos + 2], &n_p, p); 309 mhd_gtls_mpi_print (&pdata[pos + 2], &n_p, p);
310 _gnutls_write_uint16 (n_p, &pdata[pos]); 310 mhd_gtls_write_uint16 (n_p, &pdata[pos]);
311 311
312 pos += n_p + 2; 312 pos += n_p + 2;
313 313
314 _gnutls_mpi_print (&pdata[pos + 2], &n_g, g); 314 mhd_gtls_mpi_print (&pdata[pos + 2], &n_g, g);
315 _gnutls_write_uint16 (n_g, &pdata[pos]); 315 mhd_gtls_write_uint16 (n_g, &pdata[pos]);
316 316
317 pos += n_g + 2; 317 pos += n_g + 2;
318 318
319 _gnutls_mpi_print (&pdata[pos + 2], &n_X, X); 319 mhd_gtls_mpi_print (&pdata[pos + 2], &n_X, X);
320 _gnutls_mpi_release (&X); 320 mhd_gtls_mpi_release (&X);
321 321
322 _gnutls_write_uint16 (n_X, &pdata[pos]); 322 mhd_gtls_write_uint16 (n_X, &pdata[pos]);
323 323
324 ret = data_size; 324 ret = data_size;
325 325