Author: cycholka
Date: Fri Apr  4 00:40:35 2008
New Revision: 25520

URL: http://svn.gna.org/viewcvs/wesnoth?rev=25520&view=rev
Log:
Fix indentation and remove some debug code leftovers

Modified:
    trunk/src/server/forum_auth.cpp

Modified: trunk/src/server/forum_auth.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/server/forum_auth.cpp?rev=25520&r1=25519&r2=25520&view=diff
==============================================================================
--- trunk/src/server/forum_auth.cpp (original)
+++ trunk/src/server/forum_auth.cpp Fri Apr  4 00:40:35 2008
@@ -37,7 +37,7 @@
 // Constructor
 forum_auth::forum_auth(std::string name, std::string password)
 {
-    user_name = name;
+       user_name = name;
        user_password = password;
        authorised = validate();
 }                                                                 
@@ -45,103 +45,96 @@
 bool forum_auth::validate(void)
 {
 // Set an alphabet-like string for use in encrytpion algorithm  
-       std::string 
itoa64("./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");     
                                                               
-    std::string hash, db_name, db_host, db_user, db_password;
+       std::string 
itoa64("./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");     
                                                               
+       std::string hash, db_name, db_host, db_user, db_password;
 // Get the database acces details
-   std::fstream db_access_file("db_auth_data.cfg", std::fstream::out);
-   if(!db_access_file.is_open())
-   {
-      std::string error("Forum auth : No file with access data\n");
-      throw &error;
-   }
-   db_access_file >> db_name;
-   db_access_file >> db_host;
-   db_access_file >> db_user;
-   db_access_file >> db_password;
+       std::fstream db_access_file("db_auth_data.cfg", std::fstream::out);
+       if(!db_access_file.is_open())
+       {
+               std::string error("Forum auth : No file with access data\n");
+               throw &error;
+       }
+       db_access_file >> db_name;
+       db_access_file >> db_host;
+       db_access_file >> db_user;
+       db_access_file >> db_password;
 // Connect to the database
-   mysqlpp::Connection db_interface(false);
-   if (!db_interface.connect(db_name, db_host, db_user, db_password))
-   {
-      std::string error("Forum auth : Connection to the databese failed\n");
-      throw &error;
-    }
+       mysqlpp::Connection db_interface(false);
+       if (!db_interface.connect(db_name, db_host, db_user, db_password))
+       {
+               std::string error("Forum auth : Connection to the databese 
failed\n");
+               throw &error;
+       }
 // Retrive users' password as hash
-    std::string sql("SELECT hash FROM phpbb3_wesnothd WHERE username='");
-    sql.append(user_name);
-    sql.append("'");
-    mysqlpp::Query query = db_interface.query(sql);
-    if(!(mysqlpp::StoreQueryReult sql_res = query.store()))
-    {
-        std::string error("Forum auth : User not found");
-        throw &error;
-    }
-    hash = sql_res[0][0];
+       std::string sql("SELECT hash FROM phpbb3_wesnothd WHERE username='");
+       sql.append(user_name);
+       sql.append("'");
+       mysqlpp::Query query = db_interface.query(sql);
+       if(!(mysqlpp::StoreQueryReult sql_res = query.store()))
+       {
+               std::string error("Forum auth : User not found");
+               throw &error;
+       }
+       hash = sql_res[0][0];
 // Check hash prefix, if different than $H$ hash is invalid
-    if(hash.substr(0,3) != "$H$")
-       return false;
+       if(hash.substr(0,3) != "$H$")
+               return false;
 // Start of the encryption, get the position of first nonidentifier character 
in extended alphabet
-    int hash_seed = itoa64.find_first_of(hash[3]);
+       int hash_seed = itoa64.find_first_of(hash[3]);
 // If position is lower than 8 or higher than 32 hash is also invalid
-    if(hash_seed < 7 || hash_seed > 30)
-       return false;
+       if(hash_seed < 7 || hash_seed > 30)
+               return false;
 // Set the number of encryption passes as 2^position
-    hash_seed = 1 << hash_seed;
+       hash_seed = 1 << hash_seed;
 // Create salt for mixing with the hash
-    std::string salt=hash.substr(4,8);
+       std::string salt=hash.substr(4,8);
 // Start the MD5 hashing
-    salt.append(user_password);
-    MD5 md5_worker;
-    md5_worker.update((unsigned char *)salt.c_str(),salt.length());
-    md5_worker.finalize();
-    unsigned char * output = (unsigned char *) malloc (sizeof(unsigned char) * 
16);
+       salt.append(user_password);
+       MD5 md5_worker;
+       md5_worker.update((unsigned char *)salt.c_str(),salt.length());
+       md5_worker.finalize();
+       unsigned char * output = (unsigned char *) malloc (sizeof(unsigned 
char) * 16);
        output = md5_worker.raw_digest();
-    std::string temp_hash;
-    do
-    {
+       std::string temp_hash;
+       do
+       {
                temp_hash = std::string((char *) output, (char *) output + 16);
                temp_hash.append(user_password);                                
                                        
-                 md5_worker.~MD5();
-                 MD5 md5_worker;
-                 md5_worker.update((unsigned char 
*)temp_hash.c_str(),temp_hash.length());
-                 md5_worker.finalize();
-                 output =  md5_worker.raw_digest();
-    } while (--hash_seed);
-    temp_hash = std::string((char *) output, (char *) output + 16);
+               md5_worker.~MD5();
+               MD5 md5_worker;
+               md5_worker.update((unsigned char 
*)temp_hash.c_str(),temp_hash.length());
+               md5_worker.finalize();
+               output =  md5_worker.raw_digest();
+       } while (--hash_seed);
+       temp_hash = std::string((char *) output, (char *) output + 16);
 // Now encode the resulting mix 
-       std::string encoded_hash;
+       std::string encoded_hash;
        unsigned int i = 0, value;
        do
        {
-                value = output[i++];
-                std::cout << value << " ";
-                encoded_hash.append(itoa64.substr(value & 0x3f,1));
-                std::cout << encoded_hash << " ";
-                if(i < 16)
-                         value |= (int)output[i] << 8;
-                std::cout << value << " ";       
-         encoded_hash.append(itoa64.substr((value >> 6) & 0x3f,1));
-         std::cout << encoded_hash << " ";
-         if(i++ >= 16)
-              break;
-         if(i < 16)
-              value |= (int)output[i] << 16;
-         std::cout << value << " ";
-         encoded_hash.append(itoa64.substr((value >> 12) & 0x3f,1));
-         std::cout << encoded_hash << " ";
-         if(i++ >= 16)
-              break;
-         encoded_hash.append(itoa64.substr((value >> 18) & 0x3f,1));
-         std::cout << encoded_hash << std::endl;
-    } while (i < 16);
-    free (output);
+               value = output[i++];
+               encoded_hash.append(itoa64.substr(value & 0x3f,1));
+               if(i < 16)
+                       value |= (int)output[i] << 8;
+               encoded_hash.append(itoa64.substr((value >> 6) & 0x3f,1));
+               if(i++ >= 16)
+                       break;
+               if(i < 16)
+                       value |= (int)output[i] << 16;
+               encoded_hash.append(itoa64.substr((value >> 12) & 0x3f,1));
+               if(i++ >= 16)
+                       break;
+               encoded_hash.append(itoa64.substr((value >> 18) & 0x3f,1));
+       } while (i < 16);
+       free (output);
 // Get the first 12 characters from correct hash
-    std::string result = hash.substr(0,12);    
+       std::string result = hash.substr(0,12);    
 // Append encoded results to the end of it
-    result.append(encoded_hash);
+       result.append(encoded_hash);
 // Check if reult of above matches the original hash
-   if( result != hash)
-      return false;
-   return true;
+       if( result != hash)
+               return false;
+       return true;
 }
 // Function returning status
 bool forum_auth::is_authorised(void)


_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits

Reply via email to