From d8ec5a0f4a64003d93b517671d814fb220f8e603 Mon Sep 17 00:00:00 2001
From: Anatolii Kurotych <akurotych@gmail.com>
Date: Sat, 1 Dec 2018 11:35:10 +0200
Subject: [PATCH] [+] memcache_expiration_key

---
 enc_server/dap_enc_ks.c | 6 ++++--
 enc_server/dap_enc_ks.h | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/enc_server/dap_enc_ks.c b/enc_server/dap_enc_ks.c
index d842829..b7681a0 100644
--- a/enc_server/dap_enc_ks.c
+++ b/enc_server/dap_enc_ks.c
@@ -33,11 +33,13 @@
 
 static dap_enc_ks_key_t * _ks = NULL;
 static bool _memcache_enable = false;
+static time_t _memcache_expiration_key = 0;
 
-int dap_enc_ks_init(bool memcache_backup_enable)
+int dap_enc_ks_init(bool memcache_backup_enable, time_t memcache_expiration_key)
 {
     if(memcache_backup_enable) {
         if(dap_memcache_is_enable()) {
+            _memcache_expiration_key = memcache_expiration_key;
             _memcache_enable = true;
         } else {
             log_it(L_ERROR, "Can't init memcache backup. Memcache module is not activated.");
@@ -71,7 +73,7 @@ void _save_key_in_storge(dap_enc_ks_key_t *key)
     HASH_ADD_STR(_ks,id,key);
     if(_memcache_enable) {
         dap_enc_key_serealize_t* serealize_key = dap_enc_key_serealize(key->key);
-        dap_memcache_put(key->id, serealize_key, sizeof (dap_enc_key_serealize_t), 0);
+        dap_memcache_put(key->id, serealize_key, sizeof (dap_enc_key_serealize_t), _memcache_expiration_key);
         free(serealize_key);
     }
 }
diff --git a/enc_server/dap_enc_ks.h b/enc_server/dap_enc_ks.h
index 8b62ba9..b24de3f 100644
--- a/enc_server/dap_enc_ks.h
+++ b/enc_server/dap_enc_ks.h
@@ -37,7 +37,9 @@ typedef struct dap_enc_ks_key{
     UT_hash_handle hh; // makes this structure hashable with UTHASH library
 } dap_enc_ks_key_t;
 
-int dap_enc_ks_init(bool memcache_backup_enable);
+int dap_enc_ks_init(bool memcache_backup_enable,
+                    time_t memcache_expiration_key);
+
 void dap_enc_ks_deinit();
 
 dap_enc_ks_key_t * dap_enc_ks_find(const char * v_id);
-- 
GitLab