returning bogus seed if there is a space in the username to prevent memcache errors
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 19 Jul 2006 13:27:01 +0000 (13:27 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 19 Jul 2006 13:27:01 +0000 (13:27 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@5073 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/c-apps/oils_auth.c

index a9c8d25..705727b 100644 (file)
@@ -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;
        }