(file) Return to UserFileHandler.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Security / UserManager

Diff for /pegasus/src/Pegasus/Security/UserManager/UserFileHandler.cpp between version 1.4 and 1.5

version 1.4, 2002/06/01 00:57:28 version 1.5, 2002/06/03 19:32:35
Line 66 
Line 66 
     long        randNum;     long        randNum;
     Uint32      sec;     Uint32      sec;
     Uint32      milliSec;     Uint32      milliSec;
     const char  METHOD_NAME[] = "PasswordFile::_GetSalt";  
  
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_ENTER(TRC_USER_MANAGER, "PasswordFile::_GetSalt");
  
     //     //
     // Generate a random number and get the salt     // Generate a random number and get the salt
Line 88 
Line 87 
  
     salt[2] = '\0';     salt[2] = '\0';
  
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
 // //
Line 96 
Line 95 
 // //
 UserFileHandler::UserFileHandler() UserFileHandler::UserFileHandler()
 { {
     const char  METHOD_NAME[] = "UserFileHandler::UserFileHandler";      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::UserFileHandler");
   
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);  
  
     //     //
     // Get an instance of the ConfigManager.     // Get an instance of the ConfigManager.
Line 136 
Line 133 
     //     //
     _mutex = new Mutex;     _mutex = new Mutex;
  
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
  
Line 145 
Line 142 
 // //
 UserFileHandler::~UserFileHandler() UserFileHandler::~UserFileHandler()
 { {
     const char  METHOD_NAME[] = "UserFileHandler::~UserFileHandler";      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::~UserFileHandler");
   
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);  
  
     delete _passwordFile;     delete _passwordFile;
     delete _mutex;     delete _mutex;
  
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
 // //
Line 160 
Line 155 
 // //
 void UserFileHandler::_loadAllUsers () void UserFileHandler::_loadAllUsers ()
 { {
     const char  METHOD_NAME[] = "UserFileHandler::_loadAllUsers";      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::_loadAllUsers");
   
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);  
  
     try     try
     {     {
Line 172 
Line 165 
     catch (CannotOpenFile cof)     catch (CannotOpenFile cof)
     {     {
         _passwordTable.clear();         _passwordTable.clear();
         PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);          PEG_METHOD_EXIT();
         throw cof;         throw cof;
     }     }
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
 void UserFileHandler::_Update( void UserFileHandler::_Update(
Line 183 
Line 176 
                            const String& userName,                            const String& userName,
                            const String& password)                            const String& password)
 { {
     const char  METHOD_NAME[] = "UserFileHandler::_Update";      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::_Update");
   
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);  
  
     //     //
     // Hold the mutex lock.     // Hold the mutex lock.
Line 222 
Line 213 
                 if (!_passwordTable.insert(userName,password))                 if (!_passwordTable.insert(userName,password))
                 {                 {
                     _mutex->unlock();                     _mutex->unlock();
                     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);                      PEG_METHOD_EXIT();
                     throw PasswordCacheError();                     throw PasswordCacheError();
                 }                 }
                 break;                 break;
Line 231 
Line 222 
                 if (!_passwordTable.remove(userName))                 if (!_passwordTable.remove(userName))
                 {                 {
                     _mutex->unlock();                     _mutex->unlock();
                     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);                      PEG_METHOD_EXIT();
                     throw PasswordCacheError();                     throw PasswordCacheError();
                 }                 }
                 if (!_passwordTable.insert(userName,password))                 if (!_passwordTable.insert(userName,password))
Line 240 
Line 231 
                     Logger::put(Logger::ERROR_LOG, "UserManager",                     Logger::put(Logger::ERROR_LOG, "UserManager",
                         Logger::SEVERE,                         Logger::SEVERE,
                         "Error updating user information for : $0.",userName);                         "Error updating user information for : $0.",userName);
                     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);                      PEG_METHOD_EXIT();
                     throw PasswordCacheError();                     throw PasswordCacheError();
                 }                 }
                 break;                 break;
Line 251 
Line 242 
                 if (!_passwordTable.remove(userName))                 if (!_passwordTable.remove(userName))
                 {                 {
                     _mutex->unlock();                     _mutex->unlock();
                     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);                      PEG_METHOD_EXIT();
                     throw InvalidUser(userName);                     throw InvalidUser(userName);
                 }                 }
                 break;                 break;
Line 269 
Line 260 
     catch (CannotOpenFile& e)     catch (CannotOpenFile& e)
     {     {
         _mutex->unlock();         _mutex->unlock();
         PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);          PEG_METHOD_EXIT();
         throw e;         throw e;
     }     }
     catch (CannotRenameFile& e)     catch (CannotRenameFile& e)
Line 280 
Line 271 
         _loadAllUsers();         _loadAllUsers();
  
         _mutex->unlock();         _mutex->unlock();
         PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);          PEG_METHOD_EXIT();
         throw e;         throw e;
     }     }
     _mutex->unlock();     _mutex->unlock();
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
  
Line 297 
Line 288 
 { {
     char        salt[3];     char        salt[3];
     String      encryptedPassword = String::EMPTY;     String      encryptedPassword = String::EMPTY;
     const char  METHOD_NAME[] = "UserFileHandler::addUserEntry";  
  
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::addUserEntry");
  
     // Check if the user already exists     // Check if the user already exists
     if (_passwordTable.contains(userName))     if (_passwordTable.contains(userName))
     {     {
         PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);          PEG_METHOD_EXIT();
         throw DuplicateUser(userName);         throw DuplicateUser(userName);
     }     }
  
Line 318 
Line 308 
     // add the user to the cache and password file     // add the user to the cache and password file
     _Update(ADD_USER,userName, encryptedPassword);     _Update(ADD_USER,userName, encryptedPassword);
  
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
 // //
Line 331 
Line 321 
 { {
     char        salt[3];     char        salt[3];
     String      encryptedPassword = String::EMPTY;     String      encryptedPassword = String::EMPTY;
     const char  METHOD_NAME[] = "UserFileHandler::modifyUserEntry";  
  
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::modifyUserEntry");
  
     //     //
     // Check if the given password matches the passwd in the file     // Check if the given password matches the passwd in the file
Line 342 
Line 331 
     {     {
         if ( !verifyCIMUserPassword (userName,password) )         if ( !verifyCIMUserPassword (userName,password) )
         {         {
             PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);              PEG_METHOD_EXIT();
             throw PasswordMismatch(userName);             throw PasswordMismatch(userName);
         }         }
     }     }
     catch (Exception& e)     catch (Exception& e)
     {     {
         PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);          PEG_METHOD_EXIT();
         throw e;         throw e;
     }     }
  
Line 361 
Line 350 
  
     _Update(MODIFY_USER, userName, encryptedPassword);     _Update(MODIFY_USER, userName, encryptedPassword);
  
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
 // //
Line 369 
Line 358 
 // //
 void UserFileHandler::removeUserEntry(const String& userName) void UserFileHandler::removeUserEntry(const String& userName)
 { {
     const char  METHOD_NAME[] = "UserFileHandler::removeUserEntry";      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::removeUserEntry");
   
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);  
  
     _Update(REMOVE_USER, userName);     _Update(REMOVE_USER, userName);
  
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
 // //
Line 383 
Line 370 
 // //
 void UserFileHandler::getAllUserNames(Array<String>& userNames) void UserFileHandler::getAllUserNames(Array<String>& userNames)
 { {
     const char  METHOD_NAME[] = "UserFileHandler::getAllUserNames";      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::getAllUserNames");
   
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);  
  
     userNames.clear();     userNames.clear();
  
Line 393 
Line 378 
     {     {
         userNames.append(i.key());         userNames.append(i.key());
     }     }
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
 } }
  
 // //
Line 401 
Line 386 
 // //
 Boolean UserFileHandler::verifyCIMUser (const String& userName) Boolean UserFileHandler::verifyCIMUser (const String& userName)
 { {
     const char  METHOD_NAME[] = "UserFileHandler::verifyCIMUser";      PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserFileHandler::verifyCIMUser");
  
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
   
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);  
     return _passwordTable.contains(userName);     return _passwordTable.contains(userName);
 } }
  
Line 416 
Line 399 
                             const String& userName,                             const String& userName,
                             const String& password)                             const String& password)
 { {
     const char  METHOD_NAME[] = "UserFileHandler::verifyCIMUserPassword";      PEG_METHOD_ENTER(TRC_USER_MANAGER,
                        "UserFileHandler::verifyCIMUserPassword");
     PEG_FUNC_ENTER(TRC_USER_MANAGER,METHOD_NAME);  
  
     // Check if the user's password mathches the specified password     // Check if the user's password mathches the specified password
     String curPassword          = String::EMPTY;     String curPassword          = String::EMPTY;
Line 428 
Line 410 
     // Check if the user exists in the password table     // Check if the user exists in the password table
     if ( !_passwordTable.lookup(userName,curPassword) )     if ( !_passwordTable.lookup(userName,curPassword) )
     {     {
         PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);          PEG_METHOD_EXIT();
         throw InvalidUser(userName);         throw InvalidUser(userName);
     }     }
  
Line 441 
Line 423 
  
     if ( curPassword != encryptedPassword )     if ( curPassword != encryptedPassword )
     {     {
         PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);          PEG_METHOD_EXIT();
         return false;         return false;
     }     }
  
     PEG_FUNC_EXIT(TRC_USER_MANAGER,METHOD_NAME);      PEG_METHOD_EXIT();
     return true;     return true;
 } }
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2