** API and ABI modifications:
gnutls_pubkey_encrypt_data: Added
gnutls_x509_dn_oid_name: Added
+gnutls_session_resumption_requested: Added
* Version 3.0.11 (released 2012-01-06)
session_id = &data[pos];
ret = _gnutls_server_restore_session (session, session_id, session_id_len);
pos += session_id_len;
+
+ if (session_id_len > 0) session->internals.resumption_requested = 1;
if (ret == 0)
{ /* resumed using default TLS resumption! */
struct gnutls_priority_st priorities;
/* resumed session */
- unsigned int resumed:1; /* RESUME_TRUE or FALSE - if we are resuming a session */
+ unsigned int resumed:1; /* RESUME_TRUE or FALSE - if we are resuming a session */
+ unsigned int resumption_requested:1; /* non-zero if resumption was requested by client */
security_parameters_st resumed_security_parameters;
/* These buffers are used in the handshake
/*
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
- * Free Software Foundation, Inc.
+ * Copyright (C) 2002-2012 Free Software Foundation, Inc.
*
* Author: Nikos Mavrogiannopoulos
*
return 0;
}
+/**
+ * gnutls_session_resumption_requested:
+ * @session: is a #gnutls_session_t structure.
+ *
+ * Check whether the client has asked for session resumption.
+ * This function is valid only on server side.
+ *
+ * Returns: non zero if session resumption was asked, or a zero if not.
+ **/
+int
+gnutls_session_resumption_requested(gnutls_session_t session)
+{
+ if (session->security_parameters.entity == GNUTLS_CLIENT)
+ {
+ return 0;
+ }
+ else
+ {
+ return session->internals.resumption_requested;
+ }
+}
+
/*-
* _gnutls_session_is_export - Used to check whether this session is of export grade
* @session: is a #gnutls_session_t structure.
/* -*- c -*-
- * Copyright (C) 2000-2011 Free Software Foundation, Inc.
+ * Copyright (C) 2000-2012 Free Software Foundation, Inc.
*
* Author: Nikos Mavrogiannopoulos
*
/* checks if this session is a resumed one
*/
int gnutls_session_is_resumed (gnutls_session_t session);
+ int gnutls_session_resumption_requested (gnutls_session_t session);
typedef int (*gnutls_db_store_func) (void *, gnutls_datum_t key,
gnutls_datum_t data);
gnutls_random_art;
gnutls_pubkey_encrypt_data;
gnutls_x509_dn_oid_name;
+ gnutls_session_resumption_requested;
} GNUTLS_2_12;
GNUTLS_PRIVATE {