From: erickson Date: Wed, 19 Jul 2006 13:27:01 +0000 (+0000) Subject: returning bogus seed if there is a space in the username to prevent memcache errors X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=bd325fe99d1c902b0d1bed7fd0f74ab7bf80375e;p=Evergreen.git 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 --- 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; }