summaryrefslogtreecommitdiff
path: root/lib/gnutls_db.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2002-03-29 12:32:52 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2002-03-29 12:32:52 +0000
commitb8402317cf9bb5ad9017d4dfac4dca84b694bd1d (patch)
treeb935b7e024d8f94b3b604d9747ba72daa059d0c0 /lib/gnutls_db.c
parent048029d11678072cf90de585c81fc44b5e3c26aa (diff)
downloadgnutls-b8402317cf9bb5ad9017d4dfac4dca84b694bd1d.tar.gz
*** empty log message ***
Diffstat (limited to 'lib/gnutls_db.c')
-rw-r--r--lib/gnutls_db.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/lib/gnutls_db.c b/lib/gnutls_db.c
index 4ce1bb5385..3984a8ce04 100644
--- a/lib/gnutls_db.c
+++ b/lib/gnutls_db.c
@@ -301,12 +301,28 @@ int ret = 0;
return ret;
}
+/* Checks if both db_store and db_retrieve functions have
+ * been set up.
+ */
+static int _gnutls_db_func_is_ok( GNUTLS_STATE state) {
+ if (state->gnutls_internals.db_store_func!=NULL &&
+ state->gnutls_internals.db_retrieve_func!=NULL &&
+ state->gnutls_internals.db_remove_func!=NULL) return 0;
+ else return GNUTLS_E_DB_ERROR;
+}
+
+
int _gnutls_server_restore_session( GNUTLS_STATE state, uint8* session_id, int session_id_size)
{
gnutls_datum data;
gnutls_datum key = { session_id, session_id_size };
int ret;
+ if (GNUTLS_DBNAME==NULL && _gnutls_db_func_is_ok(state)!=0) {
+ gnutls_assert();
+ return GNUTLS_E_INVALID_SESSION;
+ }
+
data = _gnutls_retrieve_session( state, key);
if (data.data==NULL) {
@@ -335,18 +351,6 @@ gnutls_datum key = { session_id, session_id_size };
}
-/* Checks if both db_store and db_retrieve functions have
- * been set up.
- */
-static int _gnutls_db_func_is_ok( GNUTLS_STATE state) {
- if (state->gnutls_internals.db_store_func!=NULL &&
- state->gnutls_internals.db_retrieve_func!=NULL &&
- state->gnutls_internals.db_remove_func!=NULL) return 0;
- else return GNUTLS_E_DB_ERROR;
-}
-
-
-
/* Stores session data to the db backend.
*/
int _gnutls_store_session( GNUTLS_STATE state, gnutls_datum session_id, gnutls_datum session_data)
@@ -416,11 +420,6 @@ datum content;
#endif
gnutls_datum ret = { NULL, 0 };
- if (GNUTLS_DBNAME==NULL && _gnutls_db_func_is_ok(state)!=0) {
- gnutls_assert();
- return ret;
- }
-
if (session_id.data==NULL || session_id.size==0) {
gnutls_assert();
return ret;