[OpenSRF-GIT] OpenSRF branch rel_3_0 updated. osrf_rel_3_0_1-1-g0df7943
Evergreen Git
git at git.evergreen-ils.org
Fri Aug 10 08:09:14 EDT 2018
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "OpenSRF".
The branch, rel_3_0 has been updated
via 0df7943369cbd5416276de84b428cd0a27a2b1eb (commit)
from 153e159a8218bf23413e6bbc562972cd4535df05 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0df7943369cbd5416276de84b428cd0a27a2b1eb
Author: Mike Rylander <mrylander at gmail.com>
Date: Fri Jul 7 15:22:21 2017 -0400
LP#1702978: memcache Get methods use key as va_list format
And, when a key (composed of, say, a username or barcode) has a % in it,
bad things happen. We will stop acting as if these are variadic functions
now, and also update Evergreen so that it does not do that either.
TODO: Make these actually non-variadic, but that breaks ABI.
Signed-off-by: Mike Rylander <mrylander at gmail.com>
Signed-off-by: Cesar Velez <cesar.velez at equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason at sigio.com>
diff --git a/src/libopensrf/osrf_cache.c b/src/libopensrf/osrf_cache.c
index 08ac596..b6e9f1b 100644
--- a/src/libopensrf/osrf_cache.c
+++ b/src/libopensrf/osrf_cache.c
@@ -98,20 +98,19 @@ jsonObject* osrfCacheGetObject( const char* key, ... ) {
memcached_return rc;
jsonObject* obj = NULL;
if( key ) {
- VA_LIST_TO_STRING(key);
- char* clean_key = _clean_key( VA_BUF );
+ char* clean_key = _clean_key( key );
const char* data = (const char*) memcached_get(_osrfCache, clean_key, strlen(clean_key), &val_len, &flags, &rc);
free(clean_key);
if (rc != MEMCACHED_SUCCESS) {
osrfLogDebug(OSRF_LOG_MARK, "Failed to get key [%s] - %s",
- VA_BUF, memcached_strerror(_osrfCache, rc));
+ key, memcached_strerror(_osrfCache, rc));
}
if( data ) {
- osrfLogInternal( OSRF_LOG_MARK, "osrfCacheGetObject(): Returning object (key=%s): %s", VA_BUF, data);
+ osrfLogInternal( OSRF_LOG_MARK, "osrfCacheGetObject(): Returning object (key=%s): %s", key, data);
obj = jsonParse( data );
return obj;
}
- osrfLogDebug(OSRF_LOG_MARK, "No cache data exists with key %s", VA_BUF);
+ osrfLogDebug(OSRF_LOG_MARK, "No cache data exists with key %s", key);
}
return NULL;
}
@@ -121,16 +120,15 @@ char* osrfCacheGetString( const char* key, ... ) {
uint32_t flags;
memcached_return rc;
if( key ) {
- VA_LIST_TO_STRING(key);
- char* clean_key = _clean_key( VA_BUF );
+ char* clean_key = _clean_key( key );
char* data = (char*) memcached_get(_osrfCache, clean_key, strlen(clean_key), &val_len, &flags, &rc);
free(clean_key);
if (rc != MEMCACHED_SUCCESS) {
osrfLogDebug(OSRF_LOG_MARK, "Failed to get key [%s] - %s",
- VA_BUF, memcached_strerror(_osrfCache, rc));
+ key, memcached_strerror(_osrfCache, rc));
}
- osrfLogInternal( OSRF_LOG_MARK, "osrfCacheGetString(): Returning object (key=%s): %s", VA_BUF, data);
- if(!data) osrfLogDebug(OSRF_LOG_MARK, "No cache data exists with key %s", VA_BUF);
+ osrfLogInternal( OSRF_LOG_MARK, "osrfCacheGetString(): Returning object (key=%s): %s", key, data);
+ if(!data) osrfLogDebug(OSRF_LOG_MARK, "No cache data exists with key %s", key);
return data;
}
return NULL;
@@ -140,13 +138,12 @@ char* osrfCacheGetString( const char* key, ... ) {
int osrfCacheRemove( const char* key, ... ) {
memcached_return rc;
if( key ) {
- VA_LIST_TO_STRING(key);
- char* clean_key = _clean_key( VA_BUF );
+ char* clean_key = _clean_key( key );
rc = memcached_delete(_osrfCache, clean_key, strlen(clean_key), 0 );
free(clean_key);
if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_BUFFERED) {
osrfLogDebug(OSRF_LOG_MARK, "Failed to delete key [%s] - %s",
- VA_BUF, memcached_strerror(_osrfCache, rc));
+ key, memcached_strerror(_osrfCache, rc));
}
return 0;
}
@@ -156,10 +153,9 @@ int osrfCacheRemove( const char* key, ... ) {
int osrfCacheSetExpire( time_t seconds, const char* key, ... ) {
if( key ) {
- VA_LIST_TO_STRING(key);
- jsonObject* o = osrfCacheGetObject( VA_BUF );
- //osrfCacheRemove(VA_BUF);
- int rc = osrfCachePutObject( VA_BUF, o, seconds );
+ char* clean_key = _clean_key( key );
+ jsonObject* o = osrfCacheGetObject( clean_key );
+ int rc = osrfCachePutObject( clean_key, o, seconds );
jsonObjectFree(o);
return rc;
}
-----------------------------------------------------------------------
Summary of changes:
src/libopensrf/osrf_cache.c | 30 +++++++++++++-----------------
1 files changed, 13 insertions(+), 17 deletions(-)
hooks/post-receive
--
OpenSRF
More information about the opensrf-commits
mailing list