From bd325fe99d1c902b0d1bed7fd0f74ab7bf80375e Mon Sep 17 00:00:00 2001 From: erickson Date: Wed, 19 Jul 2006 13:27:01 +0000 Subject: [PATCH] returning bogus seed if there is a space in the username to prevent memcache errors git-svn-id: svn://svn.open-ils.org/ILS/trunk@5073 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/c-apps/oils_auth.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/Open-ILS/src/c-apps/oils_auth.c b/Open-ILS/src/c-apps/oils_auth.c index a9c8d258d5..705727bed7 100644 --- a/Open-ILS/src/c-apps/oils_auth.c +++ b/Open-ILS/src/c-apps/oils_auth.c @@ -90,22 +90,32 @@ int oilsAuthInit( osrfMethodContext* ctx ) { if( (username = jsonObjectToSimpleString(jsonObjectGetIndex(ctx->params, 0))) ) { - seed = va_list_to_string( "%d.%d.%s", time(NULL), getpid(), username ); - key = va_list_to_string( "%s%s", OILS_AUTH_CACHE_PRFX, username ); + if( strchr( username, ' ' ) ) { - md5seed = md5sum(seed); - osrfCachePutString( key, md5seed, 30 ); + /* spaces are not allowed */ + resp = jsonNewObject("x"); /* 'x' will never be a valid seed */ + osrfAppRespondComplete( ctx, resp ); - osrfLogDebug( OSRF_LOG_MARK, "oilsAuthInit(): has seed %s and key %s", md5seed, key ); + } else { - resp = jsonNewObject(md5seed); - osrfAppRespondComplete( ctx, resp ); + seed = va_list_to_string( "%d.%d.%s", time(NULL), getpid(), username ); + key = va_list_to_string( "%s%s", OILS_AUTH_CACHE_PRFX, username ); + + md5seed = md5sum(seed); + osrfCachePutString( key, md5seed, 30 ); + + osrfLogDebug( OSRF_LOG_MARK, "oilsAuthInit(): has seed %s and key %s", md5seed, key ); + + resp = jsonNewObject(md5seed); + osrfAppRespondComplete( ctx, resp ); + + free(seed); + free(md5seed); + free(key); + free(username); + } jsonObjectFree(resp); - free(seed); - free(md5seed); - free(key); - free(username); return 0; } -- 2.11.0