aboutsummaryrefslogtreecommitdiff
path: root/src/daemon/https/gnutls.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2008-08-24 18:03:05 +0000
committerChristian Grothoff <christian@grothoff.org>2008-08-24 18:03:05 +0000
commit9181dd0a072670d61a2e6839f23d7e33165ca089 (patch)
tree88806884c43d3579c3a357d8b26d1843e009ceab /src/daemon/https/gnutls.h
parent484e65d76e26874485e906f5221156442bb52467 (diff)
downloadlibmicrohttpd-9181dd0a072670d61a2e6839f23d7e33165ca089.tar.gz
libmicrohttpd-9181dd0a072670d61a2e6839f23d7e33165ca089.zip
indenting
Diffstat (limited to 'src/daemon/https/gnutls.h')
-rw-r--r--src/daemon/https/gnutls.h361
1 files changed, 198 insertions, 163 deletions
diff --git a/src/daemon/https/gnutls.h b/src/daemon/https/gnutls.h
index 9220905f..4ed17b0b 100644
--- a/src/daemon/https/gnutls.h
+++ b/src/daemon/https/gnutls.h
@@ -183,13 +183,13 @@ extern "C"
183 typedef void *gnutls_transport_ptr_t; 183 typedef void *gnutls_transport_ptr_t;
184 184
185 struct MHD_gtls_session_int; 185 struct MHD_gtls_session_int;
186 typedef struct MHD_gtls_session_int * mhd_gtls_session_t; 186 typedef struct MHD_gtls_session_int *mhd_gtls_session_t;
187 187
188 struct MHD_gtls_dh_params_int; 188 struct MHD_gtls_dh_params_int;
189 typedef struct MHD_gtls_dh_params_int * mhd_gtls_dh_params_t; 189 typedef struct MHD_gtls_dh_params_int *mhd_gtls_dh_params_t;
190 190
191 struct MHD_gtls_x509_privkey_int; /* XXX ugly. */ 191 struct MHD_gtls_x509_privkey_int; /* XXX ugly. */
192 typedef struct MHD_gtls_x509_privkey_int * mhd_gtls_rsa_params_t; /* XXX ugly. */ 192 typedef struct MHD_gtls_x509_privkey_int *mhd_gtls_rsa_params_t; /* XXX ugly. */
193 193
194 struct MHD_gtls_priority_st; 194 struct MHD_gtls_priority_st;
195 typedef struct MHD_gtls_priority_st *gnutls_priority_t; 195 typedef struct MHD_gtls_priority_st *gnutls_priority_t;
@@ -212,7 +212,8 @@ extern "C"
212 int deinit; 212 int deinit;
213 } gnutls_params_st; 213 } gnutls_params_st;
214 214
215 typedef int gnutls_params_function (mhd_gtls_session_t, gnutls_params_type_t, 215 typedef int gnutls_params_function (mhd_gtls_session_t,
216 gnutls_params_type_t,
216 gnutls_params_st *); 217 gnutls_params_st *);
217 218
218/* internal functions */ 219/* internal functions */
@@ -220,7 +221,7 @@ extern "C"
220 void MHD_gnutls_global_deinit (void); 221 void MHD_gnutls_global_deinit (void);
221 222
222 int MHD_gnutls_init (mhd_gtls_session_t * session, 223 int MHD_gnutls_init (mhd_gtls_session_t * session,
223 gnutls_connection_end_t con_end); 224 gnutls_connection_end_t con_end);
224 void MHD_gnutls_deinit (mhd_gtls_session_t session); 225 void MHD_gnutls_deinit (mhd_gtls_session_t session);
225 226
226 int MHD_gnutls_bye (mhd_gtls_session_t session, gnutls_close_request_t how); 227 int MHD_gnutls_bye (mhd_gtls_session_t session, gnutls_close_request_t how);
@@ -228,10 +229,10 @@ extern "C"
228 int MHD_gnutls_rehandshake (mhd_gtls_session_t session); 229 int MHD_gnutls_rehandshake (mhd_gtls_session_t session);
229 gnutls_alert_description_t gnutls_alert_get (mhd_gtls_session_t session); 230 gnutls_alert_description_t gnutls_alert_get (mhd_gtls_session_t session);
230 int MHD_gnutls_alert_send (mhd_gtls_session_t session, 231 int MHD_gnutls_alert_send (mhd_gtls_session_t session,
231 gnutls_alert_level_t level, 232 gnutls_alert_level_t level,
232 gnutls_alert_description_t desc); 233 gnutls_alert_description_t desc);
233 int MHD_gnutls_alert_send_appropriate (mhd_gtls_session_t session, int err); 234 int MHD_gnutls_alert_send_appropriate (mhd_gtls_session_t session, int err);
234 const char * MHD_gnutls_alert_get_name (gnutls_alert_description_t alert); 235 const char *MHD_gnutls_alert_get_name (gnutls_alert_description_t alert);
235 236
236// enum MHD_GNUTLS_CipherAlgorithm gnutls_cipher_get (mhd_gtls_session_t session); 237// enum MHD_GNUTLS_CipherAlgorithm gnutls_cipher_get (mhd_gtls_session_t session);
237// enum MHD_GNUTLS_KeyExchangeAlgorithm gnutls_kx_get (mhd_gtls_session_t session); 238// enum MHD_GNUTLS_KeyExchangeAlgorithm gnutls_kx_get (mhd_gtls_session_t session);
@@ -241,41 +242,51 @@ extern "C"
241// enum MHD_GNUTLS_CertificateType gnutls_certificate_type_get (mhd_gtls_session_t 242// enum MHD_GNUTLS_CertificateType gnutls_certificate_type_get (mhd_gtls_session_t
242// session); 243// session);
243 244
244 size_t MHD_gnutls_cipher_get_key_size (enum MHD_GNUTLS_CipherAlgorithm algorithm); 245 size_t MHD_gnutls_cipher_get_key_size (enum MHD_GNUTLS_CipherAlgorithm
245 size_t MHD_gnutls_mac_get_key_size (enum MHD_GNUTLS_HashAlgorithm algorithm); 246 algorithm);
247 size_t MHD_gnutls_mac_get_key_size (enum MHD_GNUTLS_HashAlgorithm
248 algorithm);
246 249
247/* the name of the specified algorithms */ 250/* the name of the specified algorithms */
248 const char * MHD_gnutls_cipher_get_name (enum MHD_GNUTLS_CipherAlgorithm algorithm); 251 const char *MHD_gnutls_cipher_get_name (enum MHD_GNUTLS_CipherAlgorithm
249 const char * MHD_gnutls_mac_get_name (enum MHD_GNUTLS_HashAlgorithm algorithm); 252 algorithm);
250 const char * MHD_gnutls_compression_get_name (enum MHD_GNUTLS_CompressionMethod 253 const char *MHD_gnutls_mac_get_name (enum MHD_GNUTLS_HashAlgorithm
251 algorithm); 254 algorithm);
252 const char * MHD_gnutls_kx_get_name (enum MHD_GNUTLS_KeyExchangeAlgorithm algorithm); 255 const char *MHD_gnutls_compression_get_name (enum
253 const char * MHD_gnutls_certificate_type_get_name (enum MHD_GNUTLS_CertificateType 256 MHD_GNUTLS_CompressionMethod
254 type); 257 algorithm);
258 const char *MHD_gnutls_kx_get_name (enum MHD_GNUTLS_KeyExchangeAlgorithm
259 algorithm);
260 const char *MHD_gnutls_certificate_type_get_name (enum
261 MHD_GNUTLS_CertificateType
262 type);
255 263
256 enum MHD_GNUTLS_HashAlgorithm MHD_gtls_mac_get_id (const char *name); 264 enum MHD_GNUTLS_HashAlgorithm MHD_gtls_mac_get_id (const char *name);
257 enum MHD_GNUTLS_CompressionMethod MHD_gtls_compression_get_id (const char *name); 265 enum MHD_GNUTLS_CompressionMethod MHD_gtls_compression_get_id (const char
266 *name);
258 enum MHD_GNUTLS_CipherAlgorithm MHD_gtls_cipher_get_id (const char *name); 267 enum MHD_GNUTLS_CipherAlgorithm MHD_gtls_cipher_get_id (const char *name);
259 enum MHD_GNUTLS_KeyExchangeAlgorithm MHD_gtls_kx_get_id (const char *name); 268 enum MHD_GNUTLS_KeyExchangeAlgorithm MHD_gtls_kx_get_id (const char *name);
260 enum MHD_GNUTLS_Protocol MHD_gtls_protocol_get_id (const char *name); 269 enum MHD_GNUTLS_Protocol MHD_gtls_protocol_get_id (const char *name);
261 enum MHD_GNUTLS_CertificateType MHD_gtls_certificate_type_get_id (const char *name); 270 enum MHD_GNUTLS_CertificateType MHD_gtls_certificate_type_get_id (const char
271 *name);
262 272
263 /* list supported algorithms */ 273 /* list supported algorithms */
264 const enum MHD_GNUTLS_CipherAlgorithm * MHD_gtls_cipher_list (void); 274 const enum MHD_GNUTLS_CipherAlgorithm *MHD_gtls_cipher_list (void);
265 const enum MHD_GNUTLS_HashAlgorithm * MHD_gtls_mac_list (void); 275 const enum MHD_GNUTLS_HashAlgorithm *MHD_gtls_mac_list (void);
266 const enum MHD_GNUTLS_CompressionMethod * MHD_gtls_compression_list (void); 276 const enum MHD_GNUTLS_CompressionMethod *MHD_gtls_compression_list (void);
267 const enum MHD_GNUTLS_Protocol * MHD_gtls_protocol_list (void); 277 const enum MHD_GNUTLS_Protocol *MHD_gtls_protocol_list (void);
268 const enum MHD_GNUTLS_CertificateType * MHD_gtls_certificate_type_list (void); 278 const enum MHD_GNUTLS_CertificateType
269 const enum MHD_GNUTLS_KeyExchangeAlgorithm * MHD_gtls_kx_list (void); 279 *MHD_gtls_certificate_type_list (void);
280 const enum MHD_GNUTLS_KeyExchangeAlgorithm *MHD_gtls_kx_list (void);
270 281
271 /* error functions */ 282 /* error functions */
272 int MHD_gtls_error_is_fatal (int error); 283 int MHD_gtls_error_is_fatal (int error);
273 int MHD_gtls_error_to_alert (int err, int *level); 284 int MHD_gtls_error_to_alert (int err, int *level);
274 void MHD_gtls_perror (int error); 285 void MHD_gtls_perror (int error);
275 const char * MHD_gtls_strerror (int error); 286 const char *MHD_gtls_strerror (int error);
276 287
277 void MHD_gtls_handshake_set_private_extensions (mhd_gtls_session_t session, 288 void MHD_gtls_handshake_set_private_extensions (mhd_gtls_session_t session,
278 int allow); 289 int allow);
279 gnutls_handshake_description_t 290 gnutls_handshake_description_t
280 MHD_gtls_handshake_get_last_out (mhd_gtls_session_t session); 291 MHD_gtls_handshake_get_last_out (mhd_gtls_session_t session);
281 gnutls_handshake_description_t 292 gnutls_handshake_description_t
@@ -284,10 +295,10 @@ extern "C"
284/* 295/*
285 * Record layer functions. 296 * Record layer functions.
286 */ 297 */
287 ssize_t MHD_gnutls_record_send (mhd_gtls_session_t session, const void *data, 298 ssize_t MHD_gnutls_record_send (mhd_gtls_session_t session,
288 size_t sizeofdata); 299 const void *data, size_t sizeofdata);
289 ssize_t MHD_gnutls_record_recv (mhd_gtls_session_t session, void *data, 300 ssize_t MHD_gnutls_record_recv (mhd_gtls_session_t session, void *data,
290 size_t sizeofdata); 301 size_t sizeofdata);
291 302
292 /* provides extra compatibility */ 303 /* provides extra compatibility */
293 void MHD_gtls_record_disable_padding (mhd_gtls_session_t session); 304 void MHD_gtls_record_disable_padding (mhd_gtls_session_t session);
@@ -295,20 +306,21 @@ extern "C"
295 306
296 int MHD_gnutls_record_get_direction (mhd_gtls_session_t session); 307 int MHD_gnutls_record_get_direction (mhd_gtls_session_t session);
297 size_t MHD_gnutls_record_get_max_size (mhd_gtls_session_t session); 308 size_t MHD_gnutls_record_get_max_size (mhd_gtls_session_t session);
298 ssize_t MHD_gnutls_record_set_max_size (mhd_gtls_session_t session, size_t size); 309 ssize_t MHD_gnutls_record_set_max_size (mhd_gtls_session_t session,
310 size_t size);
299 311
300 312
301 int MHD_gnutls_prf (mhd_gtls_session_t session, 313 int MHD_gnutls_prf (mhd_gtls_session_t session,
302 size_t label_size, const char *label,
303 int server_random_first,
304 size_t extra_size, const char *extra,
305 size_t outsize, char *out);
306
307 int MHD_gnutls_prf_raw (mhd_gtls_session_t session,
308 size_t label_size, const char *label, 314 size_t label_size, const char *label,
309 size_t seed_size, const char *seed, 315 int server_random_first,
316 size_t extra_size, const char *extra,
310 size_t outsize, char *out); 317 size_t outsize, char *out);
311 318
319 int MHD_gnutls_prf_raw (mhd_gtls_session_t session,
320 size_t label_size, const char *label,
321 size_t seed_size, const char *seed,
322 size_t outsize, char *out);
323
312/* 324/*
313 * TLS Extensions 325 * TLS Extensions
314 */ 326 */
@@ -318,12 +330,12 @@ extern "C"
318 } gnutls_server_name_type_t; 330 } gnutls_server_name_type_t;
319 331
320 int MHD_gnutls_server_name_set (mhd_gtls_session_t session, 332 int MHD_gnutls_server_name_set (mhd_gtls_session_t session,
321 gnutls_server_name_type_t type, 333 gnutls_server_name_type_t type,
322 const void *name, size_t name_length); 334 const void *name, size_t name_length);
323 335
324 int MHD_gnutls_server_name_get (mhd_gtls_session_t session, 336 int MHD_gnutls_server_name_get (mhd_gtls_session_t session,
325 void *data, size_t * data_length, 337 void *data, size_t * data_length,
326 unsigned int *type, unsigned int indx); 338 unsigned int *type, unsigned int indx);
327 339
328 /* Opaque PRF Input 340 /* Opaque PRF Input
329 * http://tools.ietf.org/id/draft-rescorla-tls-opaque-prf-input-00.txt 341 * http://tools.ietf.org/id/draft-rescorla-tls-opaque-prf-input-00.txt
@@ -331,7 +343,7 @@ extern "C"
331 343
332 void 344 void
333 MHD_gtls_oprfi_enable_client (mhd_gtls_session_t session, 345 MHD_gtls_oprfi_enable_client (mhd_gtls_session_t session,
334 size_t len, unsigned char *data); 346 size_t len, unsigned char *data);
335 347
336 typedef int (*gnutls_oprfi_callback_func) (mhd_gtls_session_t session, 348 typedef int (*gnutls_oprfi_callback_func) (mhd_gtls_session_t session,
337 void *userdata, 349 void *userdata,
@@ -341,8 +353,8 @@ extern "C"
341 353
342 void 354 void
343 MHD_gtls_oprfi_enable_server (mhd_gtls_session_t session, 355 MHD_gtls_oprfi_enable_server (mhd_gtls_session_t session,
344 gnutls_oprfi_callback_func cb, 356 gnutls_oprfi_callback_func cb,
345 void *userdata); 357 void *userdata);
346 358
347 /* Supplemental data, RFC 4680. */ 359 /* Supplemental data, RFC 4680. */
348 typedef enum 360 typedef enum
@@ -350,31 +362,36 @@ extern "C"
350 GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA = 0 362 GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA = 0
351 } gnutls_supplemental_data_format_type_t; 363 } gnutls_supplemental_data_format_type_t;
352 364
353 const char * MHD_gtls_supplemental_get_name 365 const char *MHD_gtls_supplemental_get_name
354 (gnutls_supplemental_data_format_type_t type); 366 (gnutls_supplemental_data_format_type_t type);
355 367
356 int MHD_gnutls_cipher_set_priority (mhd_gtls_session_t session, const int *list); 368 int MHD_gnutls_cipher_set_priority (mhd_gtls_session_t session,
357 int MHD_gnutls_mac_set_priority (mhd_gtls_session_t session, const int *list); 369 const int *list);
370 int MHD_gnutls_mac_set_priority (mhd_gtls_session_t session,
371 const int *list);
358 int MHD_gnutls_compression_set_priority (mhd_gtls_session_t session, 372 int MHD_gnutls_compression_set_priority (mhd_gtls_session_t session,
359 const int *list); 373 const int *list);
360 int MHD_gnutls_kx_set_priority (mhd_gtls_session_t session, const int *list); 374 int MHD_gnutls_kx_set_priority (mhd_gtls_session_t session,
375 const int *list);
361 int MHD_gnutls_protocol_set_priority (mhd_gtls_session_t session, 376 int MHD_gnutls_protocol_set_priority (mhd_gtls_session_t session,
362 const int *list); 377 const int *list);
363 int MHD_gnutls_certificate_type_set_priority (mhd_gtls_session_t session, 378 int MHD_gnutls_certificate_type_set_priority (mhd_gtls_session_t session,
364 const int *list); 379 const int *list);
365 380
366 int MHD_tls_set_default_priority (gnutls_priority_t *, const char *priority, 381 int MHD_tls_set_default_priority (gnutls_priority_t *, const char *priority,
367 const char **err_pos); 382 const char **err_pos);
368 void MHD_gnutls_priority_deinit (gnutls_priority_t); 383 void MHD_gnutls_priority_deinit (gnutls_priority_t);
369 384
370 int MHD_gnutls_priority_set (mhd_gtls_session_t session, gnutls_priority_t); 385 int MHD_gnutls_priority_set (mhd_gtls_session_t session, gnutls_priority_t);
371 int MHD_gnutls_priority_set_direct (mhd_gtls_session_t session, 386 int MHD_gnutls_priority_set_direct (mhd_gtls_session_t session,
372 const char *priority, const char **err_pos); 387 const char *priority,
388 const char **err_pos);
373 389
374/* get the currently used protocol version */ 390/* get the currently used protocol version */
375 enum MHD_GNUTLS_Protocol MHD_gnutls_protocol_get_version (mhd_gtls_session_t session); 391 enum MHD_GNUTLS_Protocol MHD_gnutls_protocol_get_version (mhd_gtls_session_t
392 session);
376 393
377 const char * MHD_gnutls_protocol_get_name (enum MHD_GNUTLS_Protocol version); 394 const char *MHD_gnutls_protocol_get_name (enum MHD_GNUTLS_Protocol version);
378 395
379/* 396/*
380 * get/set session 397 * get/set session
@@ -388,23 +405,24 @@ extern "C"
388// gnutls_datum_t * data); 405// gnutls_datum_t * data);
389 406
390 int MHD_gtls_session_get_id (mhd_gtls_session_t session, void *session_id, 407 int MHD_gtls_session_get_id (mhd_gtls_session_t session, void *session_id,
391 size_t * session_id_size); 408 size_t * session_id_size);
392 409
393/* returns security values. 410/* returns security values.
394 * Do not use them unless you know what you're doing. 411 * Do not use them unless you know what you're doing.
395 */ 412 */
396 const void * MHD_gtls_session_get_server_random (mhd_gtls_session_t session); 413 const void *MHD_gtls_session_get_server_random (mhd_gtls_session_t session);
397 const void * MHD_gtls_session_get_client_random (mhd_gtls_session_t session); 414 const void *MHD_gtls_session_get_client_random (mhd_gtls_session_t session);
398 const void * MHD_gtls_session_get_master_secret (mhd_gtls_session_t session); 415 const void *MHD_gtls_session_get_master_secret (mhd_gtls_session_t session);
399 416
400 int MHD_gtls_session_is_resumed (mhd_gtls_session_t session); 417 int MHD_gtls_session_is_resumed (mhd_gtls_session_t session);
401 418
402 typedef int (*gnutls_handshake_post_client_hello_func) (mhd_gtls_session_t); 419 typedef int (*gnutls_handshake_post_client_hello_func) (mhd_gtls_session_t);
403 void MHD_gnutls_handshake_set_post_client_hello_function (mhd_gtls_session_t, 420 void
404 gnutls_handshake_post_client_hello_func); 421 MHD_gnutls_handshake_set_post_client_hello_function (mhd_gtls_session_t,
422 gnutls_handshake_post_client_hello_func);
405 423
406 void MHD_gnutls_handshake_set_max_packet_length (mhd_gtls_session_t session, 424 void MHD_gnutls_handshake_set_max_packet_length (mhd_gtls_session_t session,
407 size_t max); 425 size_t max);
408 426
409/* 427/*
410 * Functions for setting/clearing credentials 428 * Functions for setting/clearing credentials
@@ -415,47 +433,49 @@ extern "C"
415 * cred is a structure defined by the kx algorithm 433 * cred is a structure defined by the kx algorithm
416 */ 434 */
417 int MHD_gnutls_credentials_set (mhd_gtls_session_t session, 435 int MHD_gnutls_credentials_set (mhd_gtls_session_t session,
418 enum MHD_GNUTLS_CredentialsType type, void *cred); 436 enum MHD_GNUTLS_CredentialsType type,
437 void *cred);
419 438
420/* Credential structures - used in MHD_gnutls_credentials_set(); */ 439/* Credential structures - used in MHD_gnutls_credentials_set(); */
421 struct mhd_gtls_certificate_credentials_st; 440 struct mhd_gtls_certificate_credentials_st;
422 typedef struct mhd_gtls_certificate_credentials_st 441 typedef struct mhd_gtls_certificate_credentials_st
423 * mhd_gtls_cert_credentials_t; 442 *mhd_gtls_cert_credentials_t;
424 typedef mhd_gtls_cert_credentials_t 443 typedef mhd_gtls_cert_credentials_t mhd_gtls_cert_server_credentials;
425 mhd_gtls_cert_server_credentials; 444 typedef mhd_gtls_cert_credentials_t mhd_gtls_cert_client_credentials;
426 typedef mhd_gtls_cert_credentials_t
427 mhd_gtls_cert_client_credentials;
428 445
429 typedef struct mhd_gtls_anon_server_credentials_st 446 typedef struct mhd_gtls_anon_server_credentials_st
430 * mhd_gtls_anon_server_credentials_t; 447 *mhd_gtls_anon_server_credentials_t;
431 typedef struct mhd_gtls_anon_client_credentials_st 448 typedef struct mhd_gtls_anon_client_credentials_st
432 * mhd_gtls_anon_client_credentials_t; 449 *mhd_gtls_anon_client_credentials_t;
433 450
434 void MHD_gnutls_anon_free_server_credentials (mhd_gtls_anon_server_credentials_t 451 void
435 sc); 452 MHD_gnutls_anon_free_server_credentials
453 (mhd_gtls_anon_server_credentials_t sc);
436 int 454 int
437 MHD_gnutls_anon_allocate_server_credentials (mhd_gtls_anon_server_credentials_t 455 MHD_gnutls_anon_allocate_server_credentials
438 * sc); 456 (mhd_gtls_anon_server_credentials_t * sc);
439 457
440 void MHD_gnutls_anon_set_server_dh_params (mhd_gtls_anon_server_credentials_t res, 458 void
441 mhd_gtls_dh_params_t dh_params); 459 MHD_gnutls_anon_set_server_dh_params (mhd_gtls_anon_server_credentials_t
460 res,
461 mhd_gtls_dh_params_t dh_params);
442 462
443 void 463 void
444 MHD_gnutls_anon_set_server_params_function (mhd_gtls_anon_server_credentials_t 464 MHD_gnutls_anon_set_server_params_function
445 res, 465 (mhd_gtls_anon_server_credentials_t res, gnutls_params_function * func);
446 gnutls_params_function * func);
447 466
448 void MHD_gnutls_anon_free_client_credentials (mhd_gtls_anon_client_credentials_t 467 void
449 sc); 468 MHD_gnutls_anon_free_client_credentials
469 (mhd_gtls_anon_client_credentials_t sc);
450 int 470 int
451 MHD_gnutls_anon_allocate_client_credentials (mhd_gtls_anon_client_credentials_t 471 MHD_gnutls_anon_allocate_client_credentials
452 * sc); 472 (mhd_gtls_anon_client_credentials_t * sc);
453 473
454 void MHD_gnutls_certificate_free_credentials (mhd_gtls_cert_credentials_t 474 void MHD_gnutls_certificate_free_credentials (mhd_gtls_cert_credentials_t
455 sc); 475 sc);
456 int 476 int
457 MHD_gnutls_certificate_allocate_credentials (mhd_gtls_cert_credentials_t 477 MHD_gnutls_certificate_allocate_credentials (mhd_gtls_cert_credentials_t
458 * res); 478 * res);
459 479
460 void MHD_gnutls_certificate_free_keys (mhd_gtls_cert_credentials_t sc); 480 void MHD_gnutls_certificate_free_keys (mhd_gtls_cert_credentials_t sc);
461 void MHD_gnutls_certificate_free_cas (mhd_gtls_cert_credentials_t sc); 481 void MHD_gnutls_certificate_free_cas (mhd_gtls_cert_credentials_t sc);
@@ -463,46 +483,50 @@ extern "C"
463 void MHD_gnutls_certificate_free_crls (mhd_gtls_cert_credentials_t sc); 483 void MHD_gnutls_certificate_free_crls (mhd_gtls_cert_credentials_t sc);
464 484
465 void MHD_gnutls_certificate_set_dh_params (mhd_gtls_cert_credentials_t res, 485 void MHD_gnutls_certificate_set_dh_params (mhd_gtls_cert_credentials_t res,
466 mhd_gtls_dh_params_t dh_params); 486 mhd_gtls_dh_params_t dh_params);
467 void 487 void
468 MHD_gnutls_certificate_set_rsa_export_params (mhd_gtls_cert_credentials_t 488 MHD_gnutls_certificate_set_rsa_export_params (mhd_gtls_cert_credentials_t
469 res, 489 res,
470 mhd_gtls_rsa_params_t rsa_params); 490 mhd_gtls_rsa_params_t
491 rsa_params);
471 void MHD_gnutls_certificate_set_verify_flags (mhd_gtls_cert_credentials_t 492 void MHD_gnutls_certificate_set_verify_flags (mhd_gtls_cert_credentials_t
472 res, unsigned int flags); 493 res, unsigned int flags);
473 void MHD_gnutls_certificate_set_verify_limits (mhd_gtls_cert_credentials_t 494 void MHD_gnutls_certificate_set_verify_limits (mhd_gtls_cert_credentials_t
474 res, unsigned int max_bits, 495 res, unsigned int max_bits,
475 unsigned int max_depth); 496 unsigned int max_depth);
476 497
477 int MHD_gnutls_certificate_set_x509_trust_file (mhd_gtls_cert_credentials_t 498 int MHD_gnutls_certificate_set_x509_trust_file (mhd_gtls_cert_credentials_t
478 res, const char *CAFILE, 499 res, const char *CAFILE,
479 gnutls_x509_crt_fmt_t type); 500 gnutls_x509_crt_fmt_t type);
480 int MHD_gnutls_certificate_set_x509_trust_mem (mhd_gtls_cert_credentials_t 501 int MHD_gnutls_certificate_set_x509_trust_mem (mhd_gtls_cert_credentials_t
481 res, const gnutls_datum_t * CA, 502 res,
482 gnutls_x509_crt_fmt_t type); 503 const gnutls_datum_t * CA,
504 gnutls_x509_crt_fmt_t type);
483 505
484 int MHD_gnutls_certificate_set_x509_crl_file (mhd_gtls_cert_credentials_t 506 int MHD_gnutls_certificate_set_x509_crl_file (mhd_gtls_cert_credentials_t
485 res, const char *crlfile, 507 res, const char *crlfile,
486 gnutls_x509_crt_fmt_t type); 508 gnutls_x509_crt_fmt_t type);
487 int MHD_gnutls_certificate_set_x509_crl_mem (mhd_gtls_cert_credentials_t 509 int MHD_gnutls_certificate_set_x509_crl_mem (mhd_gtls_cert_credentials_t
488 res, const gnutls_datum_t * CRL, 510 res,
489 gnutls_x509_crt_fmt_t type); 511 const gnutls_datum_t * CRL,
512 gnutls_x509_crt_fmt_t type);
490 513
491 /* 514 /*
492 * CERTFILE is an x509 certificate in PEM form. 515 * CERTFILE is an x509 certificate in PEM form.
493 * KEYFILE is a pkcs-1 private key in PEM form (for RSA keys). 516 * KEYFILE is a pkcs-1 private key in PEM form (for RSA keys).
494 */ 517 */
495 int MHD_gnutls_certificate_set_x509_key_file (mhd_gtls_cert_credentials_t 518 int MHD_gnutls_certificate_set_x509_key_file (mhd_gtls_cert_credentials_t
496 res, const char *CERTFILE, 519 res, const char *CERTFILE,
497 const char *KEYFILE, 520 const char *KEYFILE,
498 gnutls_x509_crt_fmt_t type); 521 gnutls_x509_crt_fmt_t type);
499 int MHD_gnutls_certificate_set_x509_key_mem (mhd_gtls_cert_credentials_t 522 int MHD_gnutls_certificate_set_x509_key_mem (mhd_gtls_cert_credentials_t
500 res, const gnutls_datum_t * CERT, 523 res,
501 const gnutls_datum_t * KEY, 524 const gnutls_datum_t * CERT,
502 gnutls_x509_crt_fmt_t type); 525 const gnutls_datum_t * KEY,
526 gnutls_x509_crt_fmt_t type);
503 527
504 void MHD_gnutls_certificate_send_x509_rdn_sequence (mhd_gtls_session_t session, 528 void MHD_gnutls_certificate_send_x509_rdn_sequence (mhd_gtls_session_t
505 int status); 529 session, int status);
506 530
507/* 531/*
508 * New functions to allow setting already parsed X.509 stuff. 532 * New functions to allow setting already parsed X.509 stuff.
@@ -539,12 +563,13 @@ extern "C"
539 563
540 extern void 564 extern void
541 MHD_gtls_global_set_mem_functions (gnutls_alloc_function gt_alloc_func, 565 MHD_gtls_global_set_mem_functions (gnutls_alloc_function gt_alloc_func,
542 gnutls_alloc_function 566 gnutls_alloc_function
543 gt_secure_alloc_func, 567 gt_secure_alloc_func,
544 gnutls_is_secure_function 568 gnutls_is_secure_function
545 gt_is_secure_func, 569 gt_is_secure_func,
546 gnutls_realloc_function gt_realloc_func, 570 gnutls_realloc_function
547 gnutls_free_function gt_free_func); 571 gt_realloc_func,
572 gnutls_free_function gt_free_func);
548 573
549/* For use in callbacks */ 574/* For use in callbacks */
550 extern gnutls_alloc_function gnutls_malloc; 575 extern gnutls_alloc_function gnutls_malloc;
@@ -565,7 +590,7 @@ extern "C"
565 int MHD_gnutls_dh_params_init (mhd_gtls_dh_params_t * dh_params); 590 int MHD_gnutls_dh_params_init (mhd_gtls_dh_params_t * dh_params);
566 void MHD_gnutls_dh_params_deinit (mhd_gtls_dh_params_t dh_params); 591 void MHD_gnutls_dh_params_deinit (mhd_gtls_dh_params_t dh_params);
567 int MHD_gnutls_dh_params_generate2 (mhd_gtls_dh_params_t params, 592 int MHD_gnutls_dh_params_generate2 (mhd_gtls_dh_params_t params,
568 unsigned int bits); 593 unsigned int bits);
569// int MHD_gnutls_dh_params_import_raw (mhd_gtls_dh_params_t dh_params, 594// int MHD_gnutls_dh_params_import_raw (mhd_gtls_dh_params_t dh_params,
570// const gnutls_datum_t * prime, 595// const gnutls_datum_t * prime,
571// const gnutls_datum_t * generator); 596// const gnutls_datum_t * generator);
@@ -586,7 +611,7 @@ extern "C"
586 int MHD_gnutls_rsa_params_init (mhd_gtls_rsa_params_t * rsa_params); 611 int MHD_gnutls_rsa_params_init (mhd_gtls_rsa_params_t * rsa_params);
587 void MHD_gnutls_rsa_params_deinit (mhd_gtls_rsa_params_t rsa_params); 612 void MHD_gnutls_rsa_params_deinit (mhd_gtls_rsa_params_t rsa_params);
588 int MHD_gnutls_rsa_params_generate2 (mhd_gtls_rsa_params_t params, 613 int MHD_gnutls_rsa_params_generate2 (mhd_gtls_rsa_params_t params,
589 unsigned int bits); 614 unsigned int bits);
590 615
591// int gnutls_rsa_params_import_raw (mhd_gtls_rsa_params_t rsa_params, 616// int gnutls_rsa_params_import_raw (mhd_gtls_rsa_params_t rsa_params,
592// const gnutls_datum_t * m, 617// const gnutls_datum_t * m,
@@ -604,23 +629,23 @@ extern "C"
604/* 629/*
605 * Session stuff 630 * Session stuff
606 */ 631 */
607 typedef ssize_t (* mhd_gtls_pull_func) (gnutls_transport_ptr_t, void *, 632 typedef ssize_t (*mhd_gtls_pull_func) (gnutls_transport_ptr_t, void *,
608 size_t); 633 size_t);
609 typedef ssize_t (* mhd_gtls_push_func) (gnutls_transport_ptr_t, const void *, 634 typedef ssize_t (*mhd_gtls_push_func) (gnutls_transport_ptr_t, const void *,
610 size_t); 635 size_t);
611 void MHD_gnutls_transport_set_ptr (mhd_gtls_session_t session, 636 void MHD_gnutls_transport_set_ptr (mhd_gtls_session_t session,
612 gnutls_transport_ptr_t ptr); 637 gnutls_transport_ptr_t ptr);
613 void MHD_gnutls_transport_set_ptr2 (mhd_gtls_session_t session, 638 void MHD_gnutls_transport_set_ptr2 (mhd_gtls_session_t session,
614 gnutls_transport_ptr_t recv_ptr, 639 gnutls_transport_ptr_t recv_ptr,
615 gnutls_transport_ptr_t send_ptr); 640 gnutls_transport_ptr_t send_ptr);
616 641
617 void MHD_gnutls_transport_set_lowat (mhd_gtls_session_t session, int num); 642 void MHD_gnutls_transport_set_lowat (mhd_gtls_session_t session, int num);
618 643
619 644
620 void MHD_gnutls_transport_set_push_function (mhd_gtls_session_t session, 645 void MHD_gnutls_transport_set_push_function (mhd_gtls_session_t session,
621 mhd_gtls_push_func push_func); 646 mhd_gtls_push_func push_func);
622 void MHD_gnutls_transport_set_pull_function (mhd_gtls_session_t session, 647 void MHD_gnutls_transport_set_pull_function (mhd_gtls_session_t session,
623 mhd_gtls_pull_func pull_func); 648 mhd_gtls_pull_func pull_func);
624 649
625 void MHD_gnutls_transport_set_errno (mhd_gtls_session_t session, int err); 650 void MHD_gnutls_transport_set_errno (mhd_gtls_session_t session, int err);
626 void MHD_gnutls_transport_set_global_errno (int err); 651 void MHD_gnutls_transport_set_global_errno (int err);
@@ -629,14 +654,14 @@ extern "C"
629 * session specific 654 * session specific
630 */ 655 */
631 void MHD_gnutls_session_set_ptr (mhd_gtls_session_t session, void *ptr); 656 void MHD_gnutls_session_set_ptr (mhd_gtls_session_t session, void *ptr);
632 void * MHD_gtls_session_get_ptr (mhd_gtls_session_t session); 657 void *MHD_gtls_session_get_ptr (mhd_gtls_session_t session);
633 658
634/* 659/*
635 * this function returns the hash of the given data. 660 * this function returns the hash of the given data.
636 */ 661 */
637 int MHD_gnutls_fingerprint (enum MHD_GNUTLS_HashAlgorithm algo, 662 int MHD_gnutls_fingerprint (enum MHD_GNUTLS_HashAlgorithm algo,
638 const gnutls_datum_t * data, void *result, 663 const gnutls_datum_t * data, void *result,
639 size_t * result_size); 664 size_t * result_size);
640 665
641/* 666/*
642 * SRP 667 * SRP
@@ -810,8 +835,9 @@ extern "C"
810 req_ca_rdn, 835 req_ca_rdn,
811 int nreqs, 836 int nreqs,
812 const 837 const
813 enum MHD_GNUTLS_PublicKeyAlgorithm 838 enum
814 * pk_algos, 839 MHD_GNUTLS_PublicKeyAlgorithm
840 *pk_algos,
815 int 841 int
816 pk_algos_length, 842 pk_algos_length,
817 gnutls_retr_st *); 843 gnutls_retr_st *);
@@ -822,31 +848,34 @@ extern "C"
822 /* 848 /*
823 * Functions that allow auth_info_t structures handling 849 * Functions that allow auth_info_t structures handling
824 */ 850 */
825 enum MHD_GNUTLS_CredentialsType MHD_gtls_auth_get_type (mhd_gtls_session_t session); 851 enum MHD_GNUTLS_CredentialsType MHD_gtls_auth_get_type (mhd_gtls_session_t
826 enum MHD_GNUTLS_CredentialsType 852 session);
853 enum MHD_GNUTLS_CredentialsType
827 MHD_gtls_auth_server_get_type (mhd_gtls_session_t session); 854 MHD_gtls_auth_server_get_type (mhd_gtls_session_t session);
828 enum MHD_GNUTLS_CredentialsType 855 enum MHD_GNUTLS_CredentialsType
829 MHD_gtls_auth_client_get_type (mhd_gtls_session_t session); 856 MHD_gtls_auth_client_get_type (mhd_gtls_session_t session);
830 857
831 /* 858 /*
832 * DH 859 * DH
833 */ 860 */
834 void MHD_gnutls_dh_set_prime_bits (mhd_gtls_session_t session, unsigned int bits); 861 void MHD_gnutls_dh_set_prime_bits (mhd_gtls_session_t session,
862 unsigned int bits);
835 int MHD_gnutls_dh_get_secret_bits (mhd_gtls_session_t session); 863 int MHD_gnutls_dh_get_secret_bits (mhd_gtls_session_t session);
836 int MHD_gnutls_dh_get_peers_public_bits (mhd_gtls_session_t session); 864 int MHD_gnutls_dh_get_peers_public_bits (mhd_gtls_session_t session);
837 int MHD_gnutls_dh_get_prime_bits (mhd_gtls_session_t session); 865 int MHD_gnutls_dh_get_prime_bits (mhd_gtls_session_t session);
838 866
839 int MHD_gnutls_dh_get_group (mhd_gtls_session_t session, gnutls_datum_t * raw_gen, 867 int MHD_gnutls_dh_get_group (mhd_gtls_session_t session,
840 gnutls_datum_t * raw_prime); 868 gnutls_datum_t * raw_gen,
869 gnutls_datum_t * raw_prime);
841 int MHD_gnutls_dh_get_pubkey (mhd_gtls_session_t session, 870 int MHD_gnutls_dh_get_pubkey (mhd_gtls_session_t session,
842 gnutls_datum_t * raw_key); 871 gnutls_datum_t * raw_key);
843 872
844 /* 873 /*
845 * RSA 874 * RSA
846 */ 875 */
847 int MHD_gtls_rsa_export_get_pubkey (mhd_gtls_session_t session, 876 int MHD_gtls_rsa_export_get_pubkey (mhd_gtls_session_t session,
848 gnutls_datum_t * exponent, 877 gnutls_datum_t * exponent,
849 gnutls_datum_t * modulus); 878 gnutls_datum_t * modulus);
850 int MHD_gtls_rsa_export_get_modulus_bits (mhd_gtls_session_t session); 879 int MHD_gtls_rsa_export_get_modulus_bits (mhd_gtls_session_t session);
851 880
852 /* External signing callback. Experimental. */ 881 /* External signing callback. Experimental. */
@@ -858,9 +887,10 @@ extern "C"
858 gnutls_datum_t * signature); 887 gnutls_datum_t * signature);
859 888
860 void MHD_gtls_sign_callback_set (mhd_gtls_session_t session, 889 void MHD_gtls_sign_callback_set (mhd_gtls_session_t session,
861 gnutls_sign_func sign_func, void *userdata); 890 gnutls_sign_func sign_func,
862 gnutls_sign_func 891 void *userdata);
863 MHD_gtls_sign_callback_get (mhd_gtls_session_t session, void **userdata); 892 gnutls_sign_func MHD_gtls_sign_callback_get (mhd_gtls_session_t session,
893 void **userdata);
864 894
865 /* These are set on the credentials structure. 895 /* These are set on the credentials structure.
866 */ 896 */
@@ -872,39 +902,44 @@ extern "C"
872 gnutls_certificate_server_retrieve_function * func); 902 gnutls_certificate_server_retrieve_function * func);
873 903
874 void MHD_gtls_certificate_server_set_request (mhd_gtls_session_t session, 904 void MHD_gtls_certificate_server_set_request (mhd_gtls_session_t session,
875 gnutls_certificate_request_t 905 gnutls_certificate_request_t
876 req); 906 req);
877 907
878 /* get data from the session */ 908 /* get data from the session */
879 const gnutls_datum_t * MHD_gtls_certificate_get_peers (mhd_gtls_session_t 909 const gnutls_datum_t *MHD_gtls_certificate_get_peers (mhd_gtls_session_t
880 session, 910 session,
881 unsigned int 911 unsigned int
882 *list_size); 912 *list_size);
883 const gnutls_datum_t * MHD_gtls_certificate_get_ours (mhd_gtls_session_t 913 const gnutls_datum_t *MHD_gtls_certificate_get_ours (mhd_gtls_session_t
914 session);
915
916 time_t MHD_gtls_certificate_activation_time_peers (mhd_gtls_session_t
917 session);
918 time_t MHD_gtls_certificate_expiration_time_peers (mhd_gtls_session_t
884 session); 919 session);
885 920
886 time_t MHD_gtls_certificate_activation_time_peers (mhd_gtls_session_t session); 921 int MHD_gtls_certificate_client_get_request_status (mhd_gtls_session_t
887 time_t MHD_gtls_certificate_expiration_time_peers (mhd_gtls_session_t session); 922 session);
888
889 int MHD_gtls_certificate_client_get_request_status (mhd_gtls_session_t session);
890 int MHD_gtls_certificate_verify_peers2 (mhd_gtls_session_t session, 923 int MHD_gtls_certificate_verify_peers2 (mhd_gtls_session_t session,
891 unsigned int *status); 924 unsigned int *status);
892 925
893 /* this is obsolete (?). */ 926 /* this is obsolete (?). */
894 int MHD_gtls_certificate_verify_peers (mhd_gtls_session_t session); 927 int MHD_gtls_certificate_verify_peers (mhd_gtls_session_t session);
895 928
896 int MHD_gtls_pem_base64_encode (const char *msg, const gnutls_datum_t * data, 929 int MHD_gtls_pem_base64_encode (const char *msg,
897 char *result, size_t * result_size); 930 const gnutls_datum_t * data, char *result,
931 size_t * result_size);
898 int MHD_gtls_pem_base64_decode (const char *header, 932 int MHD_gtls_pem_base64_decode (const char *header,
899 const gnutls_datum_t * b64_data, 933 const gnutls_datum_t * b64_data,
900 unsigned char *result, size_t * result_size); 934 unsigned char *result,
935 size_t * result_size);
901 936
902 int MHD_gtls_pem_base64_encode_alloc (const char *msg, 937 int MHD_gtls_pem_base64_encode_alloc (const char *msg,
903 const gnutls_datum_t * data, 938 const gnutls_datum_t * data,
904 gnutls_datum_t * result); 939 gnutls_datum_t * result);
905 int MHD_gtls_pem_base64_decode_alloc (const char *header, 940 int MHD_gtls_pem_base64_decode_alloc (const char *header,
906 const gnutls_datum_t * b64_data, 941 const gnutls_datum_t * b64_data,
907 gnutls_datum_t * result); 942 gnutls_datum_t * result);
908 943
909 // void 944 // void
910 // gnutls_certificate_set_params_function (mhd_gtls_cert_credentials_t 945 // gnutls_certificate_set_params_function (mhd_gtls_cert_credentials_t