From 28c71dfe1ed8d0a45d699a81d91427f0d1f201a9 Mon Sep 17 00:00:00 2001 From: tariq Date: Tue, 15 Nov 2005 20:45:14 +0000 Subject: [PATCH] QT3 -> QT4 git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@5 b624d157-de02-0410-bad0-e51aec6abb33 --- src/Database.h | 38 +- src/ListViews.cpp | 52 +-- src/ListViews.h | 42 +-- src/PwManager.cpp | 114 +++--- src/PwManager.h | 14 +- src/PwmConfig.cpp | 52 +-- src/crypto/rijndael.cpp | 388 ++++++++++----------- src/crypto/rijndael.h | 22 +- src/crypto/sha1.cpp | 522 ++++++++++++++-------------- src/crypto/sha1.h | 198 +++++------ src/crypto/sha256.c | 56 +-- src/crypto/twoclass.cpp | 40 +-- src/crypto/twoclass.h | 8 +- src/crypto/twofish.cpp | 18 +- src/dialogs/AboutDlg.cpp | 8 +- src/dialogs/AboutDlg.h | 2 +- src/dialogs/ChangeKeyDlg.cpp | 18 +- src/dialogs/ChangeKeyDlg.h | 6 +- src/dialogs/DatabaseSettingsDlg.cpp | 4 +- src/dialogs/DatabaseSettingsDlg.h | 4 +- src/dialogs/EditEntryDlg.cpp | 20 +- src/dialogs/EditEntryDlg.h | 5 +- src/dialogs/EditGroupDlg.cpp | 4 +- src/dialogs/EditGroupDlg.h | 4 +- src/dialogs/LanguageDlg.cpp | 32 +- src/dialogs/LanguageDlg.h | 10 +- src/dialogs/PasswordDlg.cpp | 12 +- src/dialogs/PasswordDlg.h | 6 +- src/dialogs/PasswordGenDlg.cpp | 18 +- src/dialogs/PasswordGenDlg.h | 2 +- src/dialogs/SearchDlg.cpp | 2 +- src/dialogs/SearchDlg.h | 2 +- src/dialogs/SettingsDlg.cpp | 8 +- src/dialogs/SettingsDlg.h | 2 +- src/dialogs/SimplePasswordDlg.cpp | 2 +- src/dialogs/SimplePasswordDlg.h | 2 +- src/import/Import_KWalletXml.cpp | 8 +- src/import/Import_PwManager.cpp | 4 +- src/lib/PwmTime.cpp | 20 +- src/lib/PwmTime.h | 18 +- src/lib/SecString.cpp | 4 +- src/lib/SecString.h | 4 +- src/lib/UrlLabel.cpp | 9 +- src/lib/UrlLabel.h | 6 +- src/lib/random.cpp | 8 +- src/main.cpp | 2 + src/mainwindow.cpp | 71 ++-- src/mainwindow.h | 20 +- src/pwsafe.cpp | 2 +- src/pwsafe.h | 4 +- src/src.pro | 5 + 51 files changed, 981 insertions(+), 941 deletions(-) diff --git a/src/Database.h b/src/Database.h index 94af547..b8cdd15 100644 --- a/src/Database.h +++ b/src/Database.h @@ -28,10 +28,10 @@ class CEntry{ public: CEntry(); ~CEntry(); -UINT8 ID[16]; -UINT32 sID; -UINT32 GroupID; -UINT32 ImageID; +Q_UINT8 ID[16]; +Q_UINT32 sID; +Q_UINT32 GroupID; +Q_UINT32 ImageID; QString Title; QString URL; QString UserName; @@ -42,10 +42,10 @@ CPwmTime Creation; CPwmTime LastMod; CPwmTime LastAccess; CPwmTime Expire; -UINT8 *pBinaryData; -UINT32 BinaryDataLength; -UINT32 PasswordLength; -bool ReadEntryField(UINT16 FieldType, UINT32 FieldSize, UINT8 *pData); +Q_UINT8 *pBinaryData; +Q_UINT32 BinaryDataLength; +Q_UINT32 PasswordLength; +bool ReadEntryField(Q_UINT16 FieldType, Q_UINT32 FieldSize, Q_UINT8 *pData); }; @@ -53,17 +53,17 @@ class CGroup{ public: CGroup(); ~CGroup(); -UINT32 ID; -UINT32 ImageID; -UINT32 NumEntries; +Q_UINT32 ID; +Q_UINT32 ImageID; +Q_UINT32 NumEntries; QString Name; CPwmTime Creation; CPwmTime LastMod; CPwmTime LastAccess; CPwmTime Expire; -UINT16 Level; -UINT32 Flags; -bool ReadGroupField(UINT16 FieldType, UINT32 FieldSize, UINT8 *pData); +Q_UINT16 Level; +Q_UINT32 Flags; +bool ReadGroupField(Q_UINT16 FieldType, Q_UINT32 FieldSize, Q_UINT8 *pData); bool UI_ItemIsExpanded; static bool UI_ExpandByDefault; @@ -85,15 +85,15 @@ public: class Database:public AbstractDatabase{ public: - UINT32 CryptoAlgorithmus; - UINT32 KeyEncRounds; + Q_UINT32 CryptoAlgorithmus; + Q_UINT32 KeyEncRounds; QString filename; bool modflag; int SearchGroupID; protected: - UINT8 MasterKey[32]; - UINT8 TransformedMasterKey[32]; + Q_UINT8 MasterKey[32]; + Q_UINT8 TransformedMasterKey[32]; }; -#endif \ No newline at end of file +#endif diff --git a/src/ListViews.cpp b/src/ListViews.cpp index 2f6e5d4..ff81bfc 100755 --- a/src/ListViews.cpp +++ b/src/ListViews.cpp @@ -20,61 +20,61 @@ #include "ListViews.h" #include "PwManager.h" #include -#include +#include -GroupItem::GroupItem(CGroup* group, QListView * parent ) : QListViewItem(parent) +GroupItem::GroupItem(CGroup* group, Q3ListView * parent ) : Q3ListViewItem(parent) { pGroup=group; setDropEnabled(true); } -GroupItem::GroupItem(CGroup* group, QListViewItem * parent ): QListViewItem(parent) +GroupItem::GroupItem(CGroup* group, Q3ListViewItem * parent ): Q3ListViewItem(parent) { pGroup=group; setDropEnabled(true); } -GroupItem::GroupItem(CGroup* group, QListView * parent, QListViewItem * after ): QListViewItem(parent,after) +GroupItem::GroupItem(CGroup* group, Q3ListView * parent, Q3ListViewItem * after ): Q3ListViewItem(parent,after) { pGroup=group; setDropEnabled(true); } -GroupItem::GroupItem(CGroup* group, QListViewItem * parent, QListViewItem * after ): QListViewItem(parent,after) +GroupItem::GroupItem(CGroup* group, Q3ListViewItem * parent, Q3ListViewItem * after ): Q3ListViewItem(parent,after) { pGroup=group; setDropEnabled(true); } -GroupItem::GroupItem(CGroup* group, QListView* parent, QString l1,QString l2,QString l3,QString l4, +GroupItem::GroupItem(CGroup* group, Q3ListView* parent, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) { pGroup=group; setDropEnabled(true); } -GroupItem::GroupItem(CGroup* group, QListViewItem* parent, QString l1,QString l2,QString l3,QString l4, +GroupItem::GroupItem(CGroup* group, Q3ListViewItem* parent, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) { pGroup=group; setDropEnabled(true); } -GroupItem::GroupItem(CGroup* group, QListView* parent,QListViewItem* after, QString l1,QString l2,QString l3,QString l4, +GroupItem::GroupItem(CGroup* group, Q3ListView* parent,Q3ListViewItem* after, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) { pGroup=group; setDropEnabled(true); } -GroupItem::GroupItem(CGroup* group, QListViewItem* parent,QListViewItem* after, QString l1,QString l2,QString l3,QString l4, +GroupItem::GroupItem(CGroup* group, Q3ListViewItem* parent,Q3ListViewItem* after, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) { pGroup=group; setDropEnabled(true); @@ -91,57 +91,57 @@ return true; /////////////////////////////// -EntryItem::EntryItem(CEntry* entry, QListView * parent ) : QListViewItem(parent) +EntryItem::EntryItem(CEntry* entry, Q3ListView * parent ) : Q3ListViewItem(parent) { pEntry=entry; setDragEnabled(true); } -EntryItem::EntryItem(CEntry* entry, QListViewItem * parent ): QListViewItem(parent) +EntryItem::EntryItem(CEntry* entry, Q3ListViewItem * parent ): Q3ListViewItem(parent) { pEntry=entry; setDragEnabled(true); } -EntryItem::EntryItem(CEntry* entry, QListView * parent, QListViewItem * after ): QListViewItem(parent,after) +EntryItem::EntryItem(CEntry* entry, Q3ListView * parent, Q3ListViewItem * after ): Q3ListViewItem(parent,after) { pEntry=entry; setDragEnabled(true); } -EntryItem::EntryItem(CEntry* entry, QListViewItem * parent, QListViewItem * after ): QListViewItem(parent,after) +EntryItem::EntryItem(CEntry* entry, Q3ListViewItem * parent, Q3ListViewItem * after ): Q3ListViewItem(parent,after) { pEntry=entry; setDragEnabled(true); } -EntryItem::EntryItem(CEntry* entry, QListView* parent, QString l1,QString l2,QString l3,QString l4, +EntryItem::EntryItem(CEntry* entry, Q3ListView* parent, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) { pEntry=entry; setDragEnabled(true); } -EntryItem::EntryItem(CEntry* entry, QListViewItem* parent, QString l1,QString l2,QString l3,QString l4, +EntryItem::EntryItem(CEntry* entry, Q3ListViewItem* parent, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,l1,l2,l3,l4,l5,l6,l7,l8) { pEntry=entry; setDragEnabled(true); } -EntryItem::EntryItem(CEntry* entry, QListView* parent,QListViewItem* after, QString l1,QString l2,QString l3,QString l4, +EntryItem::EntryItem(CEntry* entry, Q3ListView* parent,Q3ListViewItem* after, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) { pEntry=entry; setDragEnabled(true); } -EntryItem::EntryItem(CEntry* entry, QListViewItem* parent,QListViewItem* after, QString l1,QString l2,QString l3,QString l4, +EntryItem::EntryItem(CEntry* entry, Q3ListViewItem* parent,Q3ListViewItem* after, QString l1,QString l2,QString l3,QString l4, QString l5,QString l6,QString l7,QString l8) - :QListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) + :Q3ListViewItem(parent,after,l1,l2,l3,l4,l5,l6,l7,l8) { pEntry=entry; setDragEnabled(true); @@ -150,6 +150,6 @@ setDragEnabled(true); -CGroupView::CGroupView(QWidget * parent, const char * name, WFlags f):QListView(parent,name,f){ +CGroupView::CGroupView(QWidget * parent, const char * name, Qt::WFlags f):Q3ListView(parent,name,f){ }; \ No newline at end of file diff --git a/src/ListViews.h b/src/ListViews.h index fd9762d..2caa774 100755 --- a/src/ListViews.h +++ b/src/ListViews.h @@ -20,39 +20,39 @@ #ifndef _LISTVIEWS_H_ #define _LISTVIEWS_H_ -#include +#include #include #include "PwManager.h" -class GroupItem: public QListViewItem{ +class GroupItem: public Q3ListViewItem{ public: CGroup* pGroup; virtual bool acceptDrop(const QMimeSource * mime); /////////////////////////////////////////////////////////////////////// - GroupItem(CGroup*, QListView * parent ); - GroupItem(CGroup*, QListViewItem * parent ); - GroupItem(CGroup*, QListView * parent, QListViewItem * after ); - GroupItem(CGroup*, QListViewItem * parent, QListViewItem * after ); + GroupItem(CGroup*, Q3ListView * parent ); + GroupItem(CGroup*, Q3ListViewItem * parent ); + GroupItem(CGroup*, Q3ListView * parent, Q3ListViewItem * after ); + GroupItem(CGroup*, Q3ListViewItem * parent, Q3ListViewItem * after ); - GroupItem(CGroup*, QListView * parent, + GroupItem(CGroup*, Q3ListView * parent, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - GroupItem(CGroup*, QListViewItem * parent, + GroupItem(CGroup*, Q3ListViewItem * parent, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - GroupItem(CGroup*, QListView * parent, QListViewItem * after, + GroupItem(CGroup*, Q3ListView * parent, Q3ListViewItem * after, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - GroupItem(CGroup*, QListViewItem * parent, QListViewItem * after, + GroupItem(CGroup*, Q3ListViewItem * parent, Q3ListViewItem * after, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, @@ -62,34 +62,34 @@ virtual bool acceptDrop(const QMimeSource * mime); }; -class EntryItem: public QListViewItem{ +class EntryItem: public Q3ListViewItem{ public: CEntry* pEntry; /////////////////////////////////////////////////////////////////////// - EntryItem(CEntry*, QListView * parent ); - EntryItem(CEntry*, QListViewItem * parent ); - EntryItem(CEntry*, QListView * parent, QListViewItem * after ); - EntryItem(CEntry*, QListViewItem * parent, QListViewItem * after ); + EntryItem(CEntry*, Q3ListView * parent ); + EntryItem(CEntry*, Q3ListViewItem * parent ); + EntryItem(CEntry*, Q3ListView * parent, Q3ListViewItem * after ); + EntryItem(CEntry*, Q3ListViewItem * parent, Q3ListViewItem * after ); - EntryItem(CEntry*, QListView * parent, + EntryItem(CEntry*, Q3ListView * parent, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - EntryItem(CEntry*, QListViewItem * parent, + EntryItem(CEntry*, Q3ListViewItem * parent, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - EntryItem(CEntry*, QListView * parent, QListViewItem * after, + EntryItem(CEntry*, Q3ListView * parent, Q3ListViewItem * after, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null ); - EntryItem(CEntry*, QListViewItem * parent, QListViewItem * after, + EntryItem(CEntry*, Q3ListViewItem * parent, Q3ListViewItem * after, QString, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, QString = QString::null, @@ -98,9 +98,9 @@ CEntry* pEntry; }; -class CGroupView: public QListView{ +class CGroupView: public Q3ListView{ public: - CGroupView(QWidget * parent = 0, const char * name = 0, WFlags f = 0 ); + CGroupView(QWidget * parent = 0, const char * name = 0, Qt::WFlags f = 0 ); }; diff --git a/src/PwManager.cpp b/src/PwManager.cpp index cf33803..28bd789 100755 --- a/src/PwManager.cpp +++ b/src/PwManager.cpp @@ -36,15 +36,15 @@ bool PwDatabase::loadDatabase(QString _filename, QString& err){ unsigned long total_size,crypto_size; -UINT32 Signature1,Signature2,Version,NumGroups,NumEntries,Flags; -UINT8 TrafoRandomSeed[32]; -UINT8 FinalRandomSeed[16]; -UINT8 ContentsHash[32]; -UINT8 EncryptionIV[16]; +Q_UINT32 Signature1,Signature2,Version,NumGroups,NumEntries,Flags; +Q_UINT8 TrafoRandomSeed[32]; +Q_UINT8 FinalRandomSeed[16]; +Q_UINT8 ContentsHash[32]; +Q_UINT8 EncryptionIV[16]; filename=_filename; QFile file(filename); -file.open(IO_ReadOnly); +file.open(QIODevice::ReadOnly); total_size=file.size(); char* buffer = new char[total_size]; file.readBlock(buffer,total_size); @@ -83,7 +83,7 @@ else { } transformKey(MasterKey,TransformedMasterKey,TrafoRandomSeed,KeyEncRounds); -UINT8 FinalKey[32]; +Q_UINT8 FinalKey[32]; sha256_context sha32; sha256_starts(&sha32); sha256_update(&sha32,FinalRandomSeed, 16); @@ -99,15 +99,15 @@ if(CryptoAlgorithmus == ALGO_AES) {err=trUtf8("AES-Initialisierung fehlgeschlagen"); return false;} // Decrypt! The first bytes aren't encrypted (that's the header) - crypto_size = (unsigned long)aes.padDecrypt((UINT8 *)buffer + DB_HEADER_SIZE, - total_size - DB_HEADER_SIZE, (UINT8 *)buffer + DB_HEADER_SIZE); + crypto_size = (unsigned long)aes.padDecrypt((Q_UINT8 *)buffer + DB_HEADER_SIZE, + total_size - DB_HEADER_SIZE, (Q_UINT8 *)buffer + DB_HEADER_SIZE); } else if(CryptoAlgorithmus == ALGO_TWOFISH) { CTwofish twofish; if(twofish.init(FinalKey, 32, EncryptionIV) != true){return false;} - crypto_size = (unsigned long)twofish.padDecrypt((UINT8 *)buffer + DB_HEADER_SIZE, - total_size - DB_HEADER_SIZE, (UINT8 *)buffer + DB_HEADER_SIZE); + crypto_size = (unsigned long)twofish.padDecrypt((Q_UINT8 *)buffer + DB_HEADER_SIZE, + total_size - DB_HEADER_SIZE, (Q_UINT8 *)buffer + DB_HEADER_SIZE); } if((crypto_size > 2147483446) || (crypto_size == 0)){err=trUtf8("Unerwarteter Wert für 'crypto_size'"); return false;} @@ -127,8 +127,8 @@ Entries.resize(NumEntries); unsigned long tmp_id=0; unsigned long pos = DB_HEADER_SIZE; -UINT16 FieldType; -UINT32 FieldSize; +Q_UINT16 FieldType; +Q_UINT32 FieldSize; char* pField; bool bRet; @@ -147,7 +147,7 @@ bool bRet; if(pos >= (total_size + FieldSize)) { return false;} - bRet = Groups[CurGroup].ReadGroupField(FieldType, FieldSize, (UINT8 *)pField); + bRet = Groups[CurGroup].ReadGroupField(FieldType, FieldSize, (Q_UINT8 *)pField); if((FieldType == 0xFFFF) && (bRet == true)){ CurGroup++;} // Now and ONLY now the counter gets increased @@ -171,7 +171,7 @@ bool bRet; if(pos >= (total_size + FieldSize)) { return false; } - bRet = Entries[CurEntry].ReadEntryField(FieldType,FieldSize,(UINT8*)pField); + bRet = Entries[CurEntry].ReadEntryField(FieldType,FieldSize,(Q_UINT8*)pField); if((FieldType == 0xFFFF) && (bRet == true)){ Entries[CurEntry].sID=tmp_id++; CurEntry++;} // Now and ONLY now the counter gets increased @@ -196,18 +196,18 @@ return true; } -void PwDatabase::transformKey(UINT8* src,UINT8* dst,UINT8* KeySeed,int rounds){ -UINT8* tmp=new UINT8[32]; +void PwDatabase::transformKey(Q_UINT8* src,Q_UINT8* dst,Q_UINT8* KeySeed,int rounds){ +Q_UINT8* tmp=new Q_UINT8[32]; Rijndael rijndael; sha256_context sha2; -if(rijndael.init(Rijndael::ECB, Rijndael::Encrypt, (const UINT8 *)KeySeed, +if(rijndael.init(Rijndael::ECB, Rijndael::Encrypt, (const Q_UINT8 *)KeySeed, Rijndael::Key32Bytes, 0) != RIJNDAEL_SUCCESS){ - cout << QString("unexpected error in %1, line %2").arg(__FILE__).arg(__LINE__) << endl; + cout << QString("unexpected error in %1, line %2").arg(__FILE__).arg(__LINE__).ascii() << endl; exit(1);} memcpy(tmp,src,32); for(int i=0;iGroupID=dst->ID; -bool CGroup::ReadGroupField(UINT16 FieldType, UINT32 FieldSize, UINT8 *pData) +bool CGroup::ReadGroupField(Q_UINT16 FieldType, Q_UINT32 FieldSize, Q_UINT8 *pData) { switch(FieldType) @@ -456,7 +456,7 @@ PwDatabase::~PwDatabase(){ } -bool CEntry::ReadEntryField(UINT16 FieldType, UINT32 FieldSize, UINT8 *pData){ +bool CEntry::ReadEntryField(Q_UINT16 FieldType, Q_UINT32 FieldSize, Q_UINT8 *pData){ switch(FieldType) @@ -510,7 +510,7 @@ switch(FieldType) { ///@TODO: im Destruktor löschen ///@TODO: im Konstruktor auf Null - pBinaryData = new UINT8[FieldSize]; + pBinaryData = new Q_UINT8[FieldSize]; memcpy(pBinaryData, pData, FieldSize); BinaryDataLength = FieldSize; } @@ -535,11 +535,11 @@ return true; bool PwDatabase::SaveDataBase(QString filename){ CGroup SearchGroup; -UINT32 NumGroups,NumEntries,Signature1,Signature2,Flags,Version; -UINT8 TrafoRandomSeed[32]; -UINT8 FinalRandomSeed[16]; -UINT8 ContentsHash[32]; -UINT8 EncryptionIV[16]; +Q_UINT32 NumGroups,NumEntries,Signature1,Signature2,Flags,Version; +Q_UINT8 TrafoRandomSeed[32]; +Q_UINT8 FinalRandomSeed[16]; +Q_UINT8 ContentsHash[32]; +Q_UINT8 EncryptionIV[16]; if(SearchGroupID!=-1){ for(int i=0;i 2147483446) || (EncryptedPartSize == 0)){ @@ -778,7 +778,7 @@ delete [] buffer; return false; } -if(file.open(IO_ReadWrite | IO_Truncate)==false){ +if(file.open(QIODevice::ReadWrite | QIODevice::Truncate)==false){ //TODO:ERR_MSG delete [] buffer; return false; @@ -889,14 +889,14 @@ for(int i=0;iGroups.size();i++){ } } -bool PwDatabase::isGroupIdInUse(UINT32 id){ +bool PwDatabase::isGroupIdInUse(Q_UINT32 id){ for(int i=0;i bool CConfig::loadFromIni(QString filename){ -CIniFile ini(filename); +CIniFile ini((char*)filename.data()); ini.ReadFile(); ClipboardTimeOut=ini.GetValueI("Options","ClipboardTimeOut",20); Toolbar=ini.GetValueB("UI","ShowToolbar",true); EntryDetails=ini.GetValueB("UI","ShowEntryDetails",true); OpenLast=ini.GetValueB("Options","OpenLast",true); -LastFile=ini.GetValue("Options","LastFile",""); -ParseColumnString(ini.GetValue("UI","Columns","1111100000"),Columns); -BannerColor1=ParseColorString(ini.GetValue("Options","BannerColor1","0,104,176")); -BannerColor2=ParseColorString(ini.GetValue("Options","BannerColor2","213,239,255")); -BannerTextColor=ParseColorString(ini.GetValue("Options","BannerTextColor","4,0,80")); +LastFile=ini.GetValue("Options","LastFile","").c_str(); +ParseColumnString(ini.GetValue("UI","Columns","1111100000").c_str(),Columns); +BannerColor1=ParseColorString(ini.GetValue("Options","BannerColor1","0,104,176").c_str()); +BannerColor2=ParseColorString(ini.GetValue("Options","BannerColor2","213,239,255").c_str()); +BannerTextColor=ParseColorString(ini.GetValue("Options","BannerTextColor","4,0,80").c_str()); ShowPasswords=ini.GetValueB("Options","ShowPasswords",false); -OpenUrlCommand=ini.GetValue("Options","UrlCmd","kfmclient openURL %1"); -Language=ini.GetValue("Options","LangFile",""); -ParseBoolString(ini.GetValue("Options","SearchOptions","00110111"),SearchOptions,8); +OpenUrlCommand=ini.GetValue("Options","UrlCmd","kfmclient openURL %1").c_str(); +Language=ini.GetValue("Options","LangFile","").c_str(); +ParseBoolString(ini.GetValue("Options","SearchOptions","00110111").c_str(),SearchOptions,8); ListView_HidePasswords=ini.GetValueB("UI","HidePasswords",true); ListView_HideUsernames=ini.GetValueB("UI","HideUsernames",false); -ParseBoolString(ini.GetValue("Options","PwGenOptions","1111100001"),PwGenOptions,10); +ParseBoolString(ini.GetValue("Options","PwGenOptions","1111100001").c_str(),PwGenOptions,10); PwGenLength=ini.GetValueI("Options","PwGenLength",25); -PwGenCharList=ini.GetValue("Options","PwGenCharList",""); +PwGenCharList=ini.GetValue("Options","PwGenCharList","").c_str(); ExpandGroupTree=ini.GetValueB("Options","ExpandGroupTree",true); EnableKdePlugin=ini.GetValueB("KDE Plugin","Enabled",false); return true; } bool CConfig::saveToIni(QString filename){ -CIniFile ini(filename); +CIniFile ini((const char*)filename); ini.ReadFile(); ini.SetValueI("Options","ClipboardTimeOut",ClipboardTimeOut); ini.SetValueB("UI","ShowToolbar",Toolbar); ini.SetValueB("UI","ShowEntryDetails",EntryDetails); - if(OpenLast)ini.SetValue("Options","LastFile",LastFile); + if(OpenLast)ini.SetValue("Options","LastFile",(const char*)LastFile); else ini.SetValue("Options","LastFile",""); -ini.SetValue("UI","Columns",CreateColumnString(),true); -ini.SetValue("Options","BannerColor1",CreateColorString(BannerColor1),true); -ini.SetValue("Options","BannerColor2",CreateColorString(BannerColor2),true); -ini.SetValue("Options","BannerTextColor",CreateColorString(BannerTextColor),true); +ini.SetValue("UI","Columns",(const char*)CreateColumnString(),true); +ini.SetValue("Options","BannerColor1",(const char*)CreateColorString(BannerColor1),true); +ini.SetValue("Options","BannerColor2",(const char*)CreateColorString(BannerColor2),true); +ini.SetValue("Options","BannerTextColor",(const char*)CreateColorString(BannerTextColor),true); ini.SetValueB("Options","ShowPasswords",ShowPasswords,true); -ini.SetValue("Options","UrlCmd",OpenUrlCommand,true); -ini.SetValue("Options","LangFile",Language,true); -ini.SetValue("Options","SearchOptions",CreateBoolString(SearchOptions,8),true); +ini.SetValue("Options","UrlCmd",(const char*)OpenUrlCommand,true); +ini.SetValue("Options","LangFile",(const char*)Language,true); +ini.SetValue("Options","SearchOptions",(const char*)CreateBoolString(SearchOptions,8),true); ini.SetValueB("UI","HidePasswords",ListView_HidePasswords); ini.SetValueB("UI","HideUsernames",ListView_HideUsernames); -ini.SetValue("Options","PwGenOptions",CreateBoolString(PwGenOptions,10),true); +ini.SetValue("Options","PwGenOptions",(const char*)CreateBoolString(PwGenOptions,10),true); ini.SetValueI("Options","PwGenLength",PwGenLength,true); -ini.SetValue("Options","PwGenCharList",PwGenCharList,true); +ini.SetValue("Options","PwGenCharList",(const char*)PwGenCharList,true); ini.SetValueB("Options","ExpandGroupTree",ExpandGroupTree,true); ini.SetValueB("KDE Plugin","Enabled",EnableKdePlugin,true); if(!ini.WriteFile())return false; @@ -102,15 +102,15 @@ return str; QColor CConfig::ParseColorString(QString str){ QStringList lst=QStringList::split(',',str); if(lst.size()!=3){ - cout << QObject::trUtf8("Warnung:")+" CConfig::ParseColorString(QString):"+QObject::trUtf8("ungültiger RGB-Farbwert: ") << str << endl; - return QColor(0,0,0);} + qWarning(QObject::trUtf8("Warnung:")+" CConfig::ParseColorString(QString):"+QObject::trUtf8("ungültiger RGB-Farbwert.\n")); + return QColor(0,0,0);} bool err[3]; int r=lst[0].toUInt(err); int g=lst[1].toUInt(err+1); int b=lst[2].toUInt(err+2); if(!err[0] || !err[1] || !err[2]){ - cout << QObject::trUtf8("Warnung:")+" CConfig::ParseColorString(QString):"+QObject::trUtf8("ungültiger RGB-Farbwert: ") << str << endl; - return QColor(0,0,0);} + qWarning(QObject::trUtf8("Warnung:")+" CConfig::ParseColorString(QString):"+QObject::trUtf8("ungültiger RGB-Farbwert.\n")); + return QColor(0,0,0);} return QColor(r,g,b); } diff --git a/src/crypto/rijndael.cpp b/src/crypto/rijndael.cpp index 62f3cca..8e9961c 100755 --- a/src/crypto/rijndael.cpp +++ b/src/crypto/rijndael.cpp @@ -40,7 +40,7 @@ #include "rijndael.h" -static UINT8 S[256]= +static Q_UINT8 S[256]= { 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, @@ -61,7 +61,7 @@ static UINT8 S[256]= }; -static UINT8 T1[256][4]= +static Q_UINT8 T1[256][4]= { 0xc6,0x63,0x63,0xa5, 0xf8,0x7c,0x7c,0x84, 0xee,0x77,0x77,0x99, 0xf6,0x7b,0x7b,0x8d, 0xff,0xf2,0xf2,0x0d, 0xd6,0x6b,0x6b,0xbd, 0xde,0x6f,0x6f,0xb1, 0x91,0xc5,0xc5,0x54, @@ -129,7 +129,7 @@ static UINT8 T1[256][4]= 0x7b,0xb0,0xb0,0xcb, 0xa8,0x54,0x54,0xfc, 0x6d,0xbb,0xbb,0xd6, 0x2c,0x16,0x16,0x3a }; -static UINT8 T2[256][4]= +static Q_UINT8 T2[256][4]= { 0xa5,0xc6,0x63,0x63, 0x84,0xf8,0x7c,0x7c, 0x99,0xee,0x77,0x77, 0x8d,0xf6,0x7b,0x7b, 0x0d,0xff,0xf2,0xf2, 0xbd,0xd6,0x6b,0x6b, 0xb1,0xde,0x6f,0x6f, 0x54,0x91,0xc5,0xc5, @@ -197,7 +197,7 @@ static UINT8 T2[256][4]= 0xcb,0x7b,0xb0,0xb0, 0xfc,0xa8,0x54,0x54, 0xd6,0x6d,0xbb,0xbb, 0x3a,0x2c,0x16,0x16 }; -static UINT8 T3[256][4]= +static Q_UINT8 T3[256][4]= { 0x63,0xa5,0xc6,0x63, 0x7c,0x84,0xf8,0x7c, 0x77,0x99,0xee,0x77, 0x7b,0x8d,0xf6,0x7b, 0xf2,0x0d,0xff,0xf2, 0x6b,0xbd,0xd6,0x6b, 0x6f,0xb1,0xde,0x6f, 0xc5,0x54,0x91,0xc5, @@ -265,7 +265,7 @@ static UINT8 T3[256][4]= 0xb0,0xcb,0x7b,0xb0, 0x54,0xfc,0xa8,0x54, 0xbb,0xd6,0x6d,0xbb, 0x16,0x3a,0x2c,0x16 }; -static UINT8 T4[256][4]= +static Q_UINT8 T4[256][4]= { 0x63,0x63,0xa5,0xc6, 0x7c,0x7c,0x84,0xf8, 0x77,0x77,0x99,0xee, 0x7b,0x7b,0x8d,0xf6, 0xf2,0xf2,0x0d,0xff, 0x6b,0x6b,0xbd,0xd6, 0x6f,0x6f,0xb1,0xde, 0xc5,0xc5,0x54,0x91, @@ -333,7 +333,7 @@ static UINT8 T4[256][4]= 0xb0,0xb0,0xcb,0x7b, 0x54,0x54,0xfc,0xa8, 0xbb,0xbb,0xd6,0x6d, 0x16,0x16,0x3a,0x2c }; -static UINT8 T5[256][4]= +static Q_UINT8 T5[256][4]= { 0x51,0xf4,0xa7,0x50, 0x7e,0x41,0x65,0x53, 0x1a,0x17,0xa4,0xc3, 0x3a,0x27,0x5e,0x96, 0x3b,0xab,0x6b,0xcb, 0x1f,0x9d,0x45,0xf1, 0xac,0xfa,0x58,0xab, 0x4b,0xe3,0x03,0x93, @@ -401,7 +401,7 @@ static UINT8 T5[256][4]= 0x7b,0xcb,0x84,0x61, 0xd5,0x32,0xb6,0x70, 0x48,0x6c,0x5c,0x74, 0xd0,0xb8,0x57,0x42 }; -static UINT8 T6[256][4]= +static Q_UINT8 T6[256][4]= { 0x50,0x51,0xf4,0xa7, 0x53,0x7e,0x41,0x65, 0xc3,0x1a,0x17,0xa4, 0x96,0x3a,0x27,0x5e, 0xcb,0x3b,0xab,0x6b, 0xf1,0x1f,0x9d,0x45, 0xab,0xac,0xfa,0x58, 0x93,0x4b,0xe3,0x03, @@ -469,7 +469,7 @@ static UINT8 T6[256][4]= 0x61,0x7b,0xcb,0x84, 0x70,0xd5,0x32,0xb6, 0x74,0x48,0x6c,0x5c, 0x42,0xd0,0xb8,0x57 }; -static UINT8 T7[256][4]= +static Q_UINT8 T7[256][4]= { 0xa7,0x50,0x51,0xf4, 0x65,0x53,0x7e,0x41, 0xa4,0xc3,0x1a,0x17, 0x5e,0x96,0x3a,0x27, 0x6b,0xcb,0x3b,0xab, 0x45,0xf1,0x1f,0x9d, 0x58,0xab,0xac,0xfa, 0x03,0x93,0x4b,0xe3, @@ -537,7 +537,7 @@ static UINT8 T7[256][4]= 0x84,0x61,0x7b,0xcb, 0xb6,0x70,0xd5,0x32, 0x5c,0x74,0x48,0x6c, 0x57,0x42,0xd0,0xb8 }; -static UINT8 T8[256][4]= +static Q_UINT8 T8[256][4]= { 0xf4,0xa7,0x50,0x51, 0x41,0x65,0x53,0x7e, 0x17,0xa4,0xc3,0x1a, 0x27,0x5e,0x96,0x3a, 0xab,0x6b,0xcb,0x3b, 0x9d,0x45,0xf1,0x1f, 0xfa,0x58,0xab,0xac, 0xe3,0x03,0x93,0x4b, @@ -605,7 +605,7 @@ static UINT8 T8[256][4]= 0xcb,0x84,0x61,0x7b, 0x32,0xb6,0x70,0xd5, 0x6c,0x5c,0x74,0x48, 0xb8,0x57,0x42,0xd0 }; -static UINT8 S5[256]= +static Q_UINT8 S5[256]= { 0x52,0x09,0x6a,0xd5, 0x30,0x36,0xa5,0x38, @@ -673,7 +673,7 @@ static UINT8 S5[256]= 0x55,0x21,0x0c,0x7d }; -static UINT8 U1[256][4]= +static Q_UINT8 U1[256][4]= { 0x00,0x00,0x00,0x00, 0x0e,0x09,0x0d,0x0b, 0x1c,0x12,0x1a,0x16, 0x12,0x1b,0x17,0x1d, 0x38,0x24,0x34,0x2c, 0x36,0x2d,0x39,0x27, 0x24,0x36,0x2e,0x3a, 0x2a,0x3f,0x23,0x31, @@ -741,7 +741,7 @@ static UINT8 U1[256][4]= 0x9f,0x5d,0x80,0xbe, 0x91,0x54,0x8d,0xb5, 0x83,0x4f,0x9a,0xa8, 0x8d,0x46,0x97,0xa3 }; -static UINT8 U2[256][4]= +static Q_UINT8 U2[256][4]= { 0x00,0x00,0x00,0x00, 0x0b,0x0e,0x09,0x0d, 0x16,0x1c,0x12,0x1a, 0x1d,0x12,0x1b,0x17, 0x2c,0x38,0x24,0x34, 0x27,0x36,0x2d,0x39, 0x3a,0x24,0x36,0x2e, 0x31,0x2a,0x3f,0x23, @@ -809,7 +809,7 @@ static UINT8 U2[256][4]= 0xbe,0x9f,0x5d,0x80, 0xb5,0x91,0x54,0x8d, 0xa8,0x83,0x4f,0x9a, 0xa3,0x8d,0x46,0x97 }; -static UINT8 U3[256][4]= +static Q_UINT8 U3[256][4]= { 0x00,0x00,0x00,0x00, 0x0d,0x0b,0x0e,0x09, 0x1a,0x16,0x1c,0x12, 0x17,0x1d,0x12,0x1b, 0x34,0x2c,0x38,0x24, 0x39,0x27,0x36,0x2d, 0x2e,0x3a,0x24,0x36, 0x23,0x31,0x2a,0x3f, @@ -877,7 +877,7 @@ static UINT8 U3[256][4]= 0x80,0xbe,0x9f,0x5d, 0x8d,0xb5,0x91,0x54, 0x9a,0xa8,0x83,0x4f, 0x97,0xa3,0x8d,0x46 }; -static UINT8 U4[256][4]= +static Q_UINT8 U4[256][4]= { 0x00,0x00,0x00,0x00, 0x09,0x0d,0x0b,0x0e, 0x12,0x1a,0x16,0x1c, 0x1b,0x17,0x1d,0x12, 0x24,0x34,0x2c,0x38, 0x2d,0x39,0x27,0x36, 0x36,0x2e,0x3a,0x24, 0x3f,0x23,0x31,0x2a, @@ -945,7 +945,7 @@ static UINT8 U4[256][4]= 0x5d,0x80,0xbe,0x9f, 0x54,0x8d,0xb5,0x91, 0x4f,0x9a,0xa8,0x83, 0x46,0x97,0xa3,0x8d }; -static UINT32 rcon[30]= +static Q_UINT32 rcon[30]= { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, @@ -970,7 +970,7 @@ Rijndael::~Rijndael() // nothing here } -int Rijndael::init(Mode mode,Direction dir,const UINT8 * key,KeyLength keyLen,UINT8 * initVector) +int Rijndael::init(Mode mode,Direction dir,const Q_UINT8 * key,KeyLength keyLen,Q_UINT8 * initVector) { // Not initialized yet m_state = Invalid; @@ -999,7 +999,7 @@ int Rijndael::init(Mode mode,Direction dir,const UINT8 * key,KeyLength keyLen,UI } } - UINT32 uKeyLenInBytes; + Q_UINT32 uKeyLenInBytes; // And check the key length switch(keyLen) @@ -1025,9 +1025,9 @@ int Rijndael::init(Mode mode,Direction dir,const UINT8 * key,KeyLength keyLen,UI if(!key) return RIJNDAEL_BAD_KEY; - UINT8 keyMatrix[_MAX_KEY_COLUMNS][4]; + Q_UINT8 keyMatrix[_MAX_KEY_COLUMNS][4]; - for(UINT32 i = 0;i < uKeyLenInBytes;i++)keyMatrix[i >> 2][i & 3] = key[i]; + for(Q_UINT32 i = 0;i < uKeyLenInBytes;i++)keyMatrix[i >> 2][i & 3] = key[i]; keySched(keyMatrix); @@ -1038,10 +1038,10 @@ int Rijndael::init(Mode mode,Direction dir,const UINT8 * key,KeyLength keyLen,UI return RIJNDAEL_SUCCESS; } -int Rijndael::blockEncrypt(const UINT8 *input,int inputLen,UINT8 *outBuffer) +int Rijndael::blockEncrypt(const Q_UINT8 *input,int inputLen,Q_UINT8 *outBuffer) { int i, k, numBlocks; - UINT8 block[16], iv[4][4]; + Q_UINT8 block[16], iv[4][4]; if(m_state != Valid) return RIJNDAEL_NOT_INITIALIZED; if(m_direction != Encrypt) return RIJNDAEL_BAD_DIRECTION; @@ -1060,18 +1060,18 @@ int Rijndael::blockEncrypt(const UINT8 *input,int inputLen,UINT8 *outBuffer) } break; case CBC: - ((UINT32*)block)[0] = ((UINT32*)m_initVector)[0] ^ ((UINT32*)input)[0]; - ((UINT32*)block)[1] = ((UINT32*)m_initVector)[1] ^ ((UINT32*)input)[1]; - ((UINT32*)block)[2] = ((UINT32*)m_initVector)[2] ^ ((UINT32*)input)[2]; - ((UINT32*)block)[3] = ((UINT32*)m_initVector)[3] ^ ((UINT32*)input)[3]; + ((Q_UINT32*)block)[0] = ((Q_UINT32*)m_initVector)[0] ^ ((Q_UINT32*)input)[0]; + ((Q_UINT32*)block)[1] = ((Q_UINT32*)m_initVector)[1] ^ ((Q_UINT32*)input)[1]; + ((Q_UINT32*)block)[2] = ((Q_UINT32*)m_initVector)[2] ^ ((Q_UINT32*)input)[2]; + ((Q_UINT32*)block)[3] = ((Q_UINT32*)m_initVector)[3] ^ ((Q_UINT32*)input)[3]; encrypt(block,outBuffer); input += 16; for(i = numBlocks - 1;i > 0;i--) { - ((UINT32*)block)[0] = ((UINT32*)outBuffer)[0] ^ ((UINT32*)input)[0]; - ((UINT32*)block)[1] = ((UINT32*)outBuffer)[1] ^ ((UINT32*)input)[1]; - ((UINT32*)block)[2] = ((UINT32*)outBuffer)[2] ^ ((UINT32*)input)[2]; - ((UINT32*)block)[3] = ((UINT32*)outBuffer)[3] ^ ((UINT32*)input)[3]; + ((Q_UINT32*)block)[0] = ((Q_UINT32*)outBuffer)[0] ^ ((Q_UINT32*)input)[0]; + ((Q_UINT32*)block)[1] = ((Q_UINT32*)outBuffer)[1] ^ ((Q_UINT32*)input)[1]; + ((Q_UINT32*)block)[2] = ((Q_UINT32*)outBuffer)[2] ^ ((Q_UINT32*)input)[2]; + ((Q_UINT32*)block)[3] = ((Q_UINT32*)outBuffer)[3] ^ ((Q_UINT32*)input)[3]; outBuffer += 16; encrypt(block,outBuffer); input += 16; @@ -1081,19 +1081,19 @@ int Rijndael::blockEncrypt(const UINT8 *input,int inputLen,UINT8 *outBuffer) #if STRICT_ALIGN memcpy(iv,m_initVector,16); #else /* !STRICT_ALIGN */ - *((UINT32*)iv[0]) = *((UINT32*)(m_initVector )); - *((UINT32*)iv[1]) = *((UINT32*)(m_initVector + 4)); - *((UINT32*)iv[2]) = *((UINT32*)(m_initVector + 8)); - *((UINT32*)iv[3]) = *((UINT32*)(m_initVector +12)); + *((Q_UINT32*)iv[0]) = *((Q_UINT32*)(m_initVector )); + *((Q_UINT32*)iv[1]) = *((Q_UINT32*)(m_initVector + 4)); + *((Q_UINT32*)iv[2]) = *((Q_UINT32*)(m_initVector + 8)); + *((Q_UINT32*)iv[3]) = *((Q_UINT32*)(m_initVector +12)); #endif /* ?STRICT_ALIGN */ for(i = numBlocks; i > 0; i--) { for(k = 0; k < 128; k++) { - *((UINT32*) block ) = *((UINT32*)iv[0]); - *((UINT32*)(block+ 4)) = *((UINT32*)iv[1]); - *((UINT32*)(block+ 8)) = *((UINT32*)iv[2]); - *((UINT32*)(block+12)) = *((UINT32*)iv[3]); + *((Q_UINT32*) block ) = *((Q_UINT32*)iv[0]); + *((Q_UINT32*)(block+ 4)) = *((Q_UINT32*)iv[1]); + *((Q_UINT32*)(block+ 8)) = *((Q_UINT32*)iv[2]); + *((Q_UINT32*)(block+12)) = *((Q_UINT32*)iv[3]); encrypt(block,block); outBuffer[k/8] ^= (block[0] & 0x80) >> (k & 7); iv[0][0] = (iv[0][0] << 1) | (iv[0][1] >> 7); @@ -1123,10 +1123,10 @@ int Rijndael::blockEncrypt(const UINT8 *input,int inputLen,UINT8 *outBuffer) return 128 * numBlocks; } -int Rijndael::padEncrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) +int Rijndael::padEncrypt(const Q_UINT8 *input, int inputOctets, Q_UINT8 *outBuffer) { int i, numBlocks, padLen; - UINT8 block[16], *iv; + Q_UINT8 block[16], *iv; if(m_state != Valid) return RIJNDAEL_NOT_INITIALIZED; if(m_direction != Encrypt) return RIJNDAEL_NOT_INITIALIZED; @@ -1154,10 +1154,10 @@ int Rijndael::padEncrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) iv = m_initVector; for(i = numBlocks; i > 0; i--) { - ((UINT32*)block)[0] = ((UINT32*)input)[0] ^ ((UINT32*)iv)[0]; - ((UINT32*)block)[1] = ((UINT32*)input)[1] ^ ((UINT32*)iv)[1]; - ((UINT32*)block)[2] = ((UINT32*)input)[2] ^ ((UINT32*)iv)[2]; - ((UINT32*)block)[3] = ((UINT32*)input)[3] ^ ((UINT32*)iv)[3]; + ((Q_UINT32*)block)[0] = ((Q_UINT32*)input)[0] ^ ((Q_UINT32*)iv)[0]; + ((Q_UINT32*)block)[1] = ((Q_UINT32*)input)[1] ^ ((Q_UINT32*)iv)[1]; + ((Q_UINT32*)block)[2] = ((Q_UINT32*)input)[2] ^ ((Q_UINT32*)iv)[2]; + ((Q_UINT32*)block)[3] = ((Q_UINT32*)input)[3] ^ ((Q_UINT32*)iv)[3]; encrypt(block, outBuffer); iv = outBuffer; input += 16; @@ -1169,7 +1169,7 @@ int Rijndael::padEncrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) block[i] = input[i] ^ iv[i]; } for (i = 16 - padLen; i < 16; i++) { - block[i] = (UINT8)padLen ^ iv[i]; + block[i] = (Q_UINT8)padLen ^ iv[i]; } encrypt(block,outBuffer); break; @@ -1181,10 +1181,10 @@ int Rijndael::padEncrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) return 16*(numBlocks + 1); } -int Rijndael::blockDecrypt(const UINT8 *input, int inputLen, UINT8 *outBuffer) +int Rijndael::blockDecrypt(const Q_UINT8 *input, int inputLen, Q_UINT8 *outBuffer) { int i, k, numBlocks; - UINT8 block[16], iv[4][4]; + Q_UINT8 block[16], iv[4][4]; if(m_state != Valid) return RIJNDAEL_NOT_INITIALIZED; if((m_mode != CFB1) && (m_direction == Encrypt)) return RIJNDAEL_BAD_DIRECTION; @@ -1207,26 +1207,26 @@ int Rijndael::blockDecrypt(const UINT8 *input, int inputLen, UINT8 *outBuffer) #if STRICT_ALIGN memcpy(iv,m_initVector,16); #else - *((UINT32*)iv[0]) = *((UINT32*)(m_initVector )); - *((UINT32*)iv[1]) = *((UINT32*)(m_initVector+ 4)); - *((UINT32*)iv[2]) = *((UINT32*)(m_initVector+ 8)); - *((UINT32*)iv[3]) = *((UINT32*)(m_initVector+12)); + *((Q_UINT32*)iv[0]) = *((Q_UINT32*)(m_initVector )); + *((Q_UINT32*)iv[1]) = *((Q_UINT32*)(m_initVector+ 4)); + *((Q_UINT32*)iv[2]) = *((Q_UINT32*)(m_initVector+ 8)); + *((Q_UINT32*)iv[3]) = *((Q_UINT32*)(m_initVector+12)); #endif for (i = numBlocks; i > 0; i--) { decrypt(input, block); - ((UINT32*)block)[0] ^= *((UINT32*)iv[0]); - ((UINT32*)block)[1] ^= *((UINT32*)iv[1]); - ((UINT32*)block)[2] ^= *((UINT32*)iv[2]); - ((UINT32*)block)[3] ^= *((UINT32*)iv[3]); + ((Q_UINT32*)block)[0] ^= *((Q_UINT32*)iv[0]); + ((Q_UINT32*)block)[1] ^= *((Q_UINT32*)iv[1]); + ((Q_UINT32*)block)[2] ^= *((Q_UINT32*)iv[2]); + ((Q_UINT32*)block)[3] ^= *((Q_UINT32*)iv[3]); #if STRICT_ALIGN memcpy(iv, input, 16); memcpy(outBuf, block, 16); #else - *((UINT32*)iv[0]) = ((UINT32*)input)[0]; ((UINT32*)outBuffer)[0] = ((UINT32*)block)[0]; - *((UINT32*)iv[1]) = ((UINT32*)input)[1]; ((UINT32*)outBuffer)[1] = ((UINT32*)block)[1]; - *((UINT32*)iv[2]) = ((UINT32*)input)[2]; ((UINT32*)outBuffer)[2] = ((UINT32*)block)[2]; - *((UINT32*)iv[3]) = ((UINT32*)input)[3]; ((UINT32*)outBuffer)[3] = ((UINT32*)block)[3]; + *((Q_UINT32*)iv[0]) = ((Q_UINT32*)input)[0]; ((Q_UINT32*)outBuffer)[0] = ((Q_UINT32*)block)[0]; + *((Q_UINT32*)iv[1]) = ((Q_UINT32*)input)[1]; ((Q_UINT32*)outBuffer)[1] = ((Q_UINT32*)block)[1]; + *((Q_UINT32*)iv[2]) = ((Q_UINT32*)input)[2]; ((Q_UINT32*)outBuffer)[2] = ((Q_UINT32*)block)[2]; + *((Q_UINT32*)iv[3]) = ((Q_UINT32*)input)[3]; ((Q_UINT32*)outBuffer)[3] = ((Q_UINT32*)block)[3]; #endif input += 16; outBuffer += 16; @@ -1236,19 +1236,19 @@ int Rijndael::blockDecrypt(const UINT8 *input, int inputLen, UINT8 *outBuffer) #if STRICT_ALIGN memcpy(iv, m_initVector, 16); #else - *((UINT32*)iv[0]) = *((UINT32*)(m_initVector)); - *((UINT32*)iv[1]) = *((UINT32*)(m_initVector+ 4)); - *((UINT32*)iv[2]) = *((UINT32*)(m_initVector+ 8)); - *((UINT32*)iv[3]) = *((UINT32*)(m_initVector+12)); + *((Q_UINT32*)iv[0]) = *((Q_UINT32*)(m_initVector)); + *((Q_UINT32*)iv[1]) = *((Q_UINT32*)(m_initVector+ 4)); + *((Q_UINT32*)iv[2]) = *((Q_UINT32*)(m_initVector+ 8)); + *((Q_UINT32*)iv[3]) = *((Q_UINT32*)(m_initVector+12)); #endif for(i = numBlocks; i > 0; i--) { for(k = 0; k < 128; k++) { - *((UINT32*) block ) = *((UINT32*)iv[0]); - *((UINT32*)(block+ 4)) = *((UINT32*)iv[1]); - *((UINT32*)(block+ 8)) = *((UINT32*)iv[2]); - *((UINT32*)(block+12)) = *((UINT32*)iv[3]); + *((Q_UINT32*) block ) = *((Q_UINT32*)iv[0]); + *((Q_UINT32*)(block+ 4)) = *((Q_UINT32*)iv[1]); + *((Q_UINT32*)(block+ 8)) = *((Q_UINT32*)iv[2]); + *((Q_UINT32*)(block+12)) = *((Q_UINT32*)iv[3]); encrypt(block, block); iv[0][0] = (iv[0][0] << 1) | (iv[0][1] >> 7); iv[0][1] = (iv[0][1] << 1) | (iv[0][2] >> 7); @@ -1278,11 +1278,11 @@ int Rijndael::blockDecrypt(const UINT8 *input, int inputLen, UINT8 *outBuffer) return 128*numBlocks; } -int Rijndael::padDecrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) +int Rijndael::padDecrypt(const Q_UINT8 *input, int inputOctets, Q_UINT8 *outBuffer) { int i, numBlocks, padLen; - UINT8 block[16]; - UINT32 iv[4]; + Q_UINT8 block[16]; + Q_UINT32 iv[4]; if(m_state != Valid) return RIJNDAEL_NOT_INITIALIZED; if(m_direction != Decrypt) return RIJNDAEL_BAD_DIRECTION; @@ -1317,10 +1317,10 @@ int Rijndael::padDecrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) for (i = numBlocks - 1; i > 0; i--) { decrypt(input, block); - ((UINT32*)block)[0] ^= iv[0]; - ((UINT32*)block)[1] ^= iv[1]; - ((UINT32*)block)[2] ^= iv[2]; - ((UINT32*)block)[3] ^= iv[3]; + ((Q_UINT32*)block)[0] ^= iv[0]; + ((Q_UINT32*)block)[1] ^= iv[1]; + ((Q_UINT32*)block)[2] ^= iv[2]; + ((Q_UINT32*)block)[3] ^= iv[3]; memcpy(iv, input, 16); memcpy(outBuffer, block, 16); input += 16; @@ -1328,10 +1328,10 @@ int Rijndael::padDecrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) } /* last block */ decrypt(input, block); - ((UINT32*)block)[0] ^= iv[0]; - ((UINT32*)block)[1] ^= iv[1]; - ((UINT32*)block)[2] ^= iv[2]; - ((UINT32*)block)[3] ^= iv[3]; + ((Q_UINT32*)block)[0] ^= iv[0]; + ((Q_UINT32*)block)[1] ^= iv[1]; + ((Q_UINT32*)block)[2] ^= iv[2]; + ((Q_UINT32*)block)[3] ^= iv[3]; padLen = block[15]; if((padLen <= 0) || (padLen > 16)) return RIJNDAEL_CORRUPTED_DATA; for(i = 16 - padLen; i < 16; i++) @@ -1354,7 +1354,7 @@ int Rijndael::padDecrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void Rijndael::keySched(UINT8 key[_MAX_KEY_COLUMNS][4]) +void Rijndael::keySched(Q_UINT8 key[_MAX_KEY_COLUMNS][4]) { int j,rconpointer = 0; @@ -1362,13 +1362,13 @@ void Rijndael::keySched(UINT8 key[_MAX_KEY_COLUMNS][4]) // The number of calculations depends on keyBits and blockBits int uKeyColumns = m_uRounds - 6; - UINT8 tempKey[_MAX_KEY_COLUMNS][4]; + Q_UINT8 tempKey[_MAX_KEY_COLUMNS][4]; // Copy the input key to the temporary key matrix for(j = 0;j < uKeyColumns;j++) { - *((UINT32*)(tempKey[j])) = *((UINT32*)(key[j])); + *((Q_UINT32*)(tempKey[j])) = *((Q_UINT32*)(key[j])); } int r = 0; @@ -1379,7 +1379,7 @@ void Rijndael::keySched(UINT8 key[_MAX_KEY_COLUMNS][4]) { for(;(j < uKeyColumns) && (t < 4); j++, t++) { - *((UINT32*)m_expandedKey[r][t]) = *((UINT32*)tempKey[j]); + *((Q_UINT32*)m_expandedKey[r][t]) = *((Q_UINT32*)tempKey[j]); } @@ -1402,12 +1402,12 @@ void Rijndael::keySched(UINT8 key[_MAX_KEY_COLUMNS][4]) { for(j = 1; j < uKeyColumns; j++) { - *((UINT32*)tempKey[j]) ^= *((UINT32*)tempKey[j-1]); + *((Q_UINT32*)tempKey[j]) ^= *((Q_UINT32*)tempKey[j-1]); } } else { for(j = 1; j < uKeyColumns/2; j++) { - *((UINT32*)tempKey[j]) ^= *((UINT32*)tempKey[j-1]); + *((Q_UINT32*)tempKey[j]) ^= *((Q_UINT32*)tempKey[j-1]); } tempKey[uKeyColumns/2][0] ^= S[tempKey[uKeyColumns/2 - 1][0]]; tempKey[uKeyColumns/2][1] ^= S[tempKey[uKeyColumns/2 - 1][1]]; @@ -1415,14 +1415,14 @@ void Rijndael::keySched(UINT8 key[_MAX_KEY_COLUMNS][4]) tempKey[uKeyColumns/2][3] ^= S[tempKey[uKeyColumns/2 - 1][3]]; for(j = uKeyColumns/2 + 1; j < uKeyColumns; j++) { - *((UINT32*)tempKey[j]) ^= *((UINT32*)tempKey[j-1]); + *((Q_UINT32*)tempKey[j]) ^= *((Q_UINT32*)tempKey[j-1]); } } for(j = 0; (j < uKeyColumns) && (r <= (int)m_uRounds); ) { for(; (j < uKeyColumns) && (t < 4); j++, t++) { - *((UINT32*)m_expandedKey[r][t]) = *((UINT32*)tempKey[j]); + *((Q_UINT32*)m_expandedKey[r][t]) = *((Q_UINT32*)tempKey[j]); } if(t == 4) { @@ -1436,74 +1436,74 @@ void Rijndael::keySched(UINT8 key[_MAX_KEY_COLUMNS][4]) void Rijndael::keyEncToDec() { int r; - UINT8 *w; + Q_UINT8 *w; for(r = 1; r < (int)m_uRounds; r++) { w = m_expandedKey[r][0]; - *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]); + *((Q_UINT32*)w) = *((Q_UINT32*)U1[w[0]]) ^ *((Q_UINT32*)U2[w[1]]) ^ *((Q_UINT32*)U3[w[2]]) ^ *((Q_UINT32*)U4[w[3]]); w = m_expandedKey[r][1]; - *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]); + *((Q_UINT32*)w) = *((Q_UINT32*)U1[w[0]]) ^ *((Q_UINT32*)U2[w[1]]) ^ *((Q_UINT32*)U3[w[2]]) ^ *((Q_UINT32*)U4[w[3]]); w = m_expandedKey[r][2]; - *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]); + *((Q_UINT32*)w) = *((Q_UINT32*)U1[w[0]]) ^ *((Q_UINT32*)U2[w[1]]) ^ *((Q_UINT32*)U3[w[2]]) ^ *((Q_UINT32*)U4[w[3]]); w = m_expandedKey[r][3]; - *((UINT32*)w) = *((UINT32*)U1[w[0]]) ^ *((UINT32*)U2[w[1]]) ^ *((UINT32*)U3[w[2]]) ^ *((UINT32*)U4[w[3]]); + *((Q_UINT32*)w) = *((Q_UINT32*)U1[w[0]]) ^ *((Q_UINT32*)U2[w[1]]) ^ *((Q_UINT32*)U3[w[2]]) ^ *((Q_UINT32*)U4[w[3]]); } } -void Rijndael::encrypt(const UINT8 a[16], UINT8 b[16]) +void Rijndael::encrypt(const Q_UINT8 a[16], Q_UINT8 b[16]) { int r; - UINT8 temp[4][4]; - - *((UINT32*)temp[0]) = *((UINT32*)(a )) ^ *((UINT32*)m_expandedKey[0][0]); - *((UINT32*)temp[1]) = *((UINT32*)(a+ 4)) ^ *((UINT32*)m_expandedKey[0][1]); - *((UINT32*)temp[2]) = *((UINT32*)(a+ 8)) ^ *((UINT32*)m_expandedKey[0][2]); - *((UINT32*)temp[3]) = *((UINT32*)(a+12)) ^ *((UINT32*)m_expandedKey[0][3]); - *((UINT32*)(b )) = *((UINT32*)T1[temp[0][0]]) - ^ *((UINT32*)T2[temp[1][1]]) - ^ *((UINT32*)T3[temp[2][2]]) - ^ *((UINT32*)T4[temp[3][3]]); - *((UINT32*)(b + 4)) = *((UINT32*)T1[temp[1][0]]) - ^ *((UINT32*)T2[temp[2][1]]) - ^ *((UINT32*)T3[temp[3][2]]) - ^ *((UINT32*)T4[temp[0][3]]); - *((UINT32*)(b + 8)) = *((UINT32*)T1[temp[2][0]]) - ^ *((UINT32*)T2[temp[3][1]]) - ^ *((UINT32*)T3[temp[0][2]]) - ^ *((UINT32*)T4[temp[1][3]]); - *((UINT32*)(b +12)) = *((UINT32*)T1[temp[3][0]]) - ^ *((UINT32*)T2[temp[0][1]]) - ^ *((UINT32*)T3[temp[1][2]]) - ^ *((UINT32*)T4[temp[2][3]]); + Q_UINT8 temp[4][4]; + + *((Q_UINT32*)temp[0]) = *((Q_UINT32*)(a )) ^ *((Q_UINT32*)m_expandedKey[0][0]); + *((Q_UINT32*)temp[1]) = *((Q_UINT32*)(a+ 4)) ^ *((Q_UINT32*)m_expandedKey[0][1]); + *((Q_UINT32*)temp[2]) = *((Q_UINT32*)(a+ 8)) ^ *((Q_UINT32*)m_expandedKey[0][2]); + *((Q_UINT32*)temp[3]) = *((Q_UINT32*)(a+12)) ^ *((Q_UINT32*)m_expandedKey[0][3]); + *((Q_UINT32*)(b )) = *((Q_UINT32*)T1[temp[0][0]]) + ^ *((Q_UINT32*)T2[temp[1][1]]) + ^ *((Q_UINT32*)T3[temp[2][2]]) + ^ *((Q_UINT32*)T4[temp[3][3]]); + *((Q_UINT32*)(b + 4)) = *((Q_UINT32*)T1[temp[1][0]]) + ^ *((Q_UINT32*)T2[temp[2][1]]) + ^ *((Q_UINT32*)T3[temp[3][2]]) + ^ *((Q_UINT32*)T4[temp[0][3]]); + *((Q_UINT32*)(b + 8)) = *((Q_UINT32*)T1[temp[2][0]]) + ^ *((Q_UINT32*)T2[temp[3][1]]) + ^ *((Q_UINT32*)T3[temp[0][2]]) + ^ *((Q_UINT32*)T4[temp[1][3]]); + *((Q_UINT32*)(b +12)) = *((Q_UINT32*)T1[temp[3][0]]) + ^ *((Q_UINT32*)T2[temp[0][1]]) + ^ *((Q_UINT32*)T3[temp[1][2]]) + ^ *((Q_UINT32*)T4[temp[2][3]]); for(r = 1; r < (int)m_uRounds-1; r++) { - *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)m_expandedKey[r][0]); - *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)m_expandedKey[r][1]); - *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)m_expandedKey[r][2]); - *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)m_expandedKey[r][3]); - - *((UINT32*)(b )) = *((UINT32*)T1[temp[0][0]]) - ^ *((UINT32*)T2[temp[1][1]]) - ^ *((UINT32*)T3[temp[2][2]]) - ^ *((UINT32*)T4[temp[3][3]]); - *((UINT32*)(b + 4)) = *((UINT32*)T1[temp[1][0]]) - ^ *((UINT32*)T2[temp[2][1]]) - ^ *((UINT32*)T3[temp[3][2]]) - ^ *((UINT32*)T4[temp[0][3]]); - *((UINT32*)(b + 8)) = *((UINT32*)T1[temp[2][0]]) - ^ *((UINT32*)T2[temp[3][1]]) - ^ *((UINT32*)T3[temp[0][2]]) - ^ *((UINT32*)T4[temp[1][3]]); - *((UINT32*)(b +12)) = *((UINT32*)T1[temp[3][0]]) - ^ *((UINT32*)T2[temp[0][1]]) - ^ *((UINT32*)T3[temp[1][2]]) - ^ *((UINT32*)T4[temp[2][3]]); + *((Q_UINT32*)temp[0]) = *((Q_UINT32*)(b )) ^ *((Q_UINT32*)m_expandedKey[r][0]); + *((Q_UINT32*)temp[1]) = *((Q_UINT32*)(b+ 4)) ^ *((Q_UINT32*)m_expandedKey[r][1]); + *((Q_UINT32*)temp[2]) = *((Q_UINT32*)(b+ 8)) ^ *((Q_UINT32*)m_expandedKey[r][2]); + *((Q_UINT32*)temp[3]) = *((Q_UINT32*)(b+12)) ^ *((Q_UINT32*)m_expandedKey[r][3]); + + *((Q_UINT32*)(b )) = *((Q_UINT32*)T1[temp[0][0]]) + ^ *((Q_UINT32*)T2[temp[1][1]]) + ^ *((Q_UINT32*)T3[temp[2][2]]) + ^ *((Q_UINT32*)T4[temp[3][3]]); + *((Q_UINT32*)(b + 4)) = *((Q_UINT32*)T1[temp[1][0]]) + ^ *((Q_UINT32*)T2[temp[2][1]]) + ^ *((Q_UINT32*)T3[temp[3][2]]) + ^ *((Q_UINT32*)T4[temp[0][3]]); + *((Q_UINT32*)(b + 8)) = *((Q_UINT32*)T1[temp[2][0]]) + ^ *((Q_UINT32*)T2[temp[3][1]]) + ^ *((Q_UINT32*)T3[temp[0][2]]) + ^ *((Q_UINT32*)T4[temp[1][3]]); + *((Q_UINT32*)(b +12)) = *((Q_UINT32*)T1[temp[3][0]]) + ^ *((Q_UINT32*)T2[temp[0][1]]) + ^ *((Q_UINT32*)T3[temp[1][2]]) + ^ *((Q_UINT32*)T4[temp[2][3]]); } - *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)m_expandedKey[m_uRounds-1][0]); - *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)m_expandedKey[m_uRounds-1][1]); - *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)m_expandedKey[m_uRounds-1][2]); - *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)m_expandedKey[m_uRounds-1][3]); + *((Q_UINT32*)temp[0]) = *((Q_UINT32*)(b )) ^ *((Q_UINT32*)m_expandedKey[m_uRounds-1][0]); + *((Q_UINT32*)temp[1]) = *((Q_UINT32*)(b+ 4)) ^ *((Q_UINT32*)m_expandedKey[m_uRounds-1][1]); + *((Q_UINT32*)temp[2]) = *((Q_UINT32*)(b+ 8)) ^ *((Q_UINT32*)m_expandedKey[m_uRounds-1][2]); + *((Q_UINT32*)temp[3]) = *((Q_UINT32*)(b+12)) ^ *((Q_UINT32*)m_expandedKey[m_uRounds-1][3]); b[ 0] = T1[temp[0][0]][1]; b[ 1] = T1[temp[1][1]][1]; b[ 2] = T1[temp[2][2]][1]; @@ -1520,66 +1520,66 @@ void Rijndael::encrypt(const UINT8 a[16], UINT8 b[16]) b[13] = T1[temp[0][1]][1]; b[14] = T1[temp[1][2]][1]; b[15] = T1[temp[2][3]][1]; - *((UINT32*)(b )) ^= *((UINT32*)m_expandedKey[m_uRounds][0]); - *((UINT32*)(b+ 4)) ^= *((UINT32*)m_expandedKey[m_uRounds][1]); - *((UINT32*)(b+ 8)) ^= *((UINT32*)m_expandedKey[m_uRounds][2]); - *((UINT32*)(b+12)) ^= *((UINT32*)m_expandedKey[m_uRounds][3]); + *((Q_UINT32*)(b )) ^= *((Q_UINT32*)m_expandedKey[m_uRounds][0]); + *((Q_UINT32*)(b+ 4)) ^= *((Q_UINT32*)m_expandedKey[m_uRounds][1]); + *((Q_UINT32*)(b+ 8)) ^= *((Q_UINT32*)m_expandedKey[m_uRounds][2]); + *((Q_UINT32*)(b+12)) ^= *((Q_UINT32*)m_expandedKey[m_uRounds][3]); } -void Rijndael::decrypt(const UINT8 a[16], UINT8 b[16]) +void Rijndael::decrypt(const Q_UINT8 a[16], Q_UINT8 b[16]) { int r; - UINT8 temp[4][4]; - - *((UINT32*)temp[0]) = *((UINT32*)(a )) ^ *((UINT32*)m_expandedKey[m_uRounds][0]); - *((UINT32*)temp[1]) = *((UINT32*)(a+ 4)) ^ *((UINT32*)m_expandedKey[m_uRounds][1]); - *((UINT32*)temp[2]) = *((UINT32*)(a+ 8)) ^ *((UINT32*)m_expandedKey[m_uRounds][2]); - *((UINT32*)temp[3]) = *((UINT32*)(a+12)) ^ *((UINT32*)m_expandedKey[m_uRounds][3]); - - *((UINT32*)(b )) = *((UINT32*)T5[temp[0][0]]) - ^ *((UINT32*)T6[temp[3][1]]) - ^ *((UINT32*)T7[temp[2][2]]) - ^ *((UINT32*)T8[temp[1][3]]); - *((UINT32*)(b+ 4)) = *((UINT32*)T5[temp[1][0]]) - ^ *((UINT32*)T6[temp[0][1]]) - ^ *((UINT32*)T7[temp[3][2]]) - ^ *((UINT32*)T8[temp[2][3]]); - *((UINT32*)(b+ 8)) = *((UINT32*)T5[temp[2][0]]) - ^ *((UINT32*)T6[temp[1][1]]) - ^ *((UINT32*)T7[temp[0][2]]) - ^ *((UINT32*)T8[temp[3][3]]); - *((UINT32*)(b+12)) = *((UINT32*)T5[temp[3][0]]) - ^ *((UINT32*)T6[temp[2][1]]) - ^ *((UINT32*)T7[temp[1][2]]) - ^ *((UINT32*)T8[temp[0][3]]); + Q_UINT8 temp[4][4]; + + *((Q_UINT32*)temp[0]) = *((Q_UINT32*)(a )) ^ *((Q_UINT32*)m_expandedKey[m_uRounds][0]); + *((Q_UINT32*)temp[1]) = *((Q_UINT32*)(a+ 4)) ^ *((Q_UINT32*)m_expandedKey[m_uRounds][1]); + *((Q_UINT32*)temp[2]) = *((Q_UINT32*)(a+ 8)) ^ *((Q_UINT32*)m_expandedKey[m_uRounds][2]); + *((Q_UINT32*)temp[3]) = *((Q_UINT32*)(a+12)) ^ *((Q_UINT32*)m_expandedKey[m_uRounds][3]); + + *((Q_UINT32*)(b )) = *((Q_UINT32*)T5[temp[0][0]]) + ^ *((Q_UINT32*)T6[temp[3][1]]) + ^ *((Q_UINT32*)T7[temp[2][2]]) + ^ *((Q_UINT32*)T8[temp[1][3]]); + *((Q_UINT32*)(b+ 4)) = *((Q_UINT32*)T5[temp[1][0]]) + ^ *((Q_UINT32*)T6[temp[0][1]]) + ^ *((Q_UINT32*)T7[temp[3][2]]) + ^ *((Q_UINT32*)T8[temp[2][3]]); + *((Q_UINT32*)(b+ 8)) = *((Q_UINT32*)T5[temp[2][0]]) + ^ *((Q_UINT32*)T6[temp[1][1]]) + ^ *((Q_UINT32*)T7[temp[0][2]]) + ^ *((Q_UINT32*)T8[temp[3][3]]); + *((Q_UINT32*)(b+12)) = *((Q_UINT32*)T5[temp[3][0]]) + ^ *((Q_UINT32*)T6[temp[2][1]]) + ^ *((Q_UINT32*)T7[temp[1][2]]) + ^ *((Q_UINT32*)T8[temp[0][3]]); for(r = m_uRounds-1; r > 1; r--) { - *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)m_expandedKey[r][0]); - *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)m_expandedKey[r][1]); - *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)m_expandedKey[r][2]); - *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)m_expandedKey[r][3]); - *((UINT32*)(b )) = *((UINT32*)T5[temp[0][0]]) - ^ *((UINT32*)T6[temp[3][1]]) - ^ *((UINT32*)T7[temp[2][2]]) - ^ *((UINT32*)T8[temp[1][3]]); - *((UINT32*)(b+ 4)) = *((UINT32*)T5[temp[1][0]]) - ^ *((UINT32*)T6[temp[0][1]]) - ^ *((UINT32*)T7[temp[3][2]]) - ^ *((UINT32*)T8[temp[2][3]]); - *((UINT32*)(b+ 8)) = *((UINT32*)T5[temp[2][0]]) - ^ *((UINT32*)T6[temp[1][1]]) - ^ *((UINT32*)T7[temp[0][2]]) - ^ *((UINT32*)T8[temp[3][3]]); - *((UINT32*)(b+12)) = *((UINT32*)T5[temp[3][0]]) - ^ *((UINT32*)T6[temp[2][1]]) - ^ *((UINT32*)T7[temp[1][2]]) - ^ *((UINT32*)T8[temp[0][3]]); + *((Q_UINT32*)temp[0]) = *((Q_UINT32*)(b )) ^ *((Q_UINT32*)m_expandedKey[r][0]); + *((Q_UINT32*)temp[1]) = *((Q_UINT32*)(b+ 4)) ^ *((Q_UINT32*)m_expandedKey[r][1]); + *((Q_UINT32*)temp[2]) = *((Q_UINT32*)(b+ 8)) ^ *((Q_UINT32*)m_expandedKey[r][2]); + *((Q_UINT32*)temp[3]) = *((Q_UINT32*)(b+12)) ^ *((Q_UINT32*)m_expandedKey[r][3]); + *((Q_UINT32*)(b )) = *((Q_UINT32*)T5[temp[0][0]]) + ^ *((Q_UINT32*)T6[temp[3][1]]) + ^ *((Q_UINT32*)T7[temp[2][2]]) + ^ *((Q_UINT32*)T8[temp[1][3]]); + *((Q_UINT32*)(b+ 4)) = *((Q_UINT32*)T5[temp[1][0]]) + ^ *((Q_UINT32*)T6[temp[0][1]]) + ^ *((Q_UINT32*)T7[temp[3][2]]) + ^ *((Q_UINT32*)T8[temp[2][3]]); + *((Q_UINT32*)(b+ 8)) = *((Q_UINT32*)T5[temp[2][0]]) + ^ *((Q_UINT32*)T6[temp[1][1]]) + ^ *((Q_UINT32*)T7[temp[0][2]]) + ^ *((Q_UINT32*)T8[temp[3][3]]); + *((Q_UINT32*)(b+12)) = *((Q_UINT32*)T5[temp[3][0]]) + ^ *((Q_UINT32*)T6[temp[2][1]]) + ^ *((Q_UINT32*)T7[temp[1][2]]) + ^ *((Q_UINT32*)T8[temp[0][3]]); } - *((UINT32*)temp[0]) = *((UINT32*)(b )) ^ *((UINT32*)m_expandedKey[1][0]); - *((UINT32*)temp[1]) = *((UINT32*)(b+ 4)) ^ *((UINT32*)m_expandedKey[1][1]); - *((UINT32*)temp[2]) = *((UINT32*)(b+ 8)) ^ *((UINT32*)m_expandedKey[1][2]); - *((UINT32*)temp[3]) = *((UINT32*)(b+12)) ^ *((UINT32*)m_expandedKey[1][3]); + *((Q_UINT32*)temp[0]) = *((Q_UINT32*)(b )) ^ *((Q_UINT32*)m_expandedKey[1][0]); + *((Q_UINT32*)temp[1]) = *((Q_UINT32*)(b+ 4)) ^ *((Q_UINT32*)m_expandedKey[1][1]); + *((Q_UINT32*)temp[2]) = *((Q_UINT32*)(b+ 8)) ^ *((Q_UINT32*)m_expandedKey[1][2]); + *((Q_UINT32*)temp[3]) = *((Q_UINT32*)(b+12)) ^ *((Q_UINT32*)m_expandedKey[1][3]); b[ 0] = S5[temp[0][0]]; b[ 1] = S5[temp[3][1]]; b[ 2] = S5[temp[2][2]]; @@ -1596,10 +1596,10 @@ void Rijndael::decrypt(const UINT8 a[16], UINT8 b[16]) b[13] = S5[temp[2][1]]; b[14] = S5[temp[1][2]]; b[15] = S5[temp[0][3]]; - *((UINT32*)(b )) ^= *((UINT32*)m_expandedKey[0][0]); - *((UINT32*)(b+ 4)) ^= *((UINT32*)m_expandedKey[0][1]); - *((UINT32*)(b+ 8)) ^= *((UINT32*)m_expandedKey[0][2]); - *((UINT32*)(b+12)) ^= *((UINT32*)m_expandedKey[0][3]); + *((Q_UINT32*)(b )) ^= *((Q_UINT32*)m_expandedKey[0][0]); + *((Q_UINT32*)(b+ 4)) ^= *((Q_UINT32*)m_expandedKey[0][1]); + *((Q_UINT32*)(b+ 8)) ^= *((Q_UINT32*)m_expandedKey[0][2]); + *((Q_UINT32*)(b+12)) ^= *((Q_UINT32*)m_expandedKey[0][3]); } diff --git a/src/crypto/rijndael.h b/src/crypto/rijndael.h index f5f299d..c8262e9 100755 --- a/src/crypto/rijndael.h +++ b/src/crypto/rijndael.h @@ -101,9 +101,9 @@ protected: State m_state; Mode m_mode; Direction m_direction; - UINT8 m_initVector[MAX_IV_SIZE]; - UINT32 m_uRounds; - UINT8 m_expandedKey[_MAX_ROUNDS+1][4][4]; + Q_UINT8 m_initVector[MAX_IV_SIZE]; + Q_UINT32 m_uRounds; + Q_UINT8 m_expandedKey[_MAX_ROUNDS+1][4][4]; public: ////////////////////////////////////////////////////////////////////////////////////////// // API @@ -123,7 +123,7 @@ public: // this CAN be binary data (it is not expected to be null terminated) // keyLen : Rijndael::Key16Bytes , Rijndael::Key24Bytes or Rijndael::Key32Bytes // initVector: initialization vector, you will usually use 0 here - int init(Mode mode,Direction dir,const UINT8 *key,KeyLength keyLen,UINT8 * initVector = 0); + int init(Mode mode,Direction dir,const Q_UINT8 *key,KeyLength keyLen,Q_UINT8 * initVector = 0); // Encrypts the input array (can be binary data) // The input array length must be a multiple of 16 bytes, the remaining part // is DISCARDED. @@ -131,28 +131,28 @@ public: // Input len is in BITS! // outBuffer must be at least inputLen / 8 bytes long. // Returns the encrypted buffer length in BITS or an error code < 0 in case of error - int blockEncrypt(const UINT8 *input, int inputLen, UINT8 *outBuffer); + int blockEncrypt(const Q_UINT8 *input, int inputLen, Q_UINT8 *outBuffer); // Encrypts the input array (can be binary data) // The input array can be any length , it is automatically padded on a 16 byte boundary. // Input len is in BYTES! // outBuffer must be at least (inputLen + 16) bytes long // Returns the encrypted buffer length in BYTES or an error code < 0 in case of error - int padEncrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer); + int padEncrypt(const Q_UINT8 *input, int inputOctets, Q_UINT8 *outBuffer); // Decrypts the input vector // Input len is in BITS! // outBuffer must be at least inputLen / 8 bytes long // Returns the decrypted buffer length in BITS and an error code < 0 in case of error - int blockDecrypt(const UINT8 *input, int inputLen, UINT8 *outBuffer); + int blockDecrypt(const Q_UINT8 *input, int inputLen, Q_UINT8 *outBuffer); // Decrypts the input vector // Input len is in BYTES! // outBuffer must be at least inputLen bytes long // Returns the decrypted buffer length in BYTES and an error code < 0 in case of error - int padDecrypt(const UINT8 *input, int inputOctets, UINT8 *outBuffer); + int padDecrypt(const Q_UINT8 *input, int inputOctets, Q_UINT8 *outBuffer); protected: - void keySched(UINT8 key[_MAX_KEY_COLUMNS][4]); + void keySched(Q_UINT8 key[_MAX_KEY_COLUMNS][4]); void keyEncToDec(); - void encrypt(const UINT8 a[16], UINT8 b[16]); - void decrypt(const UINT8 a[16], UINT8 b[16]); + void encrypt(const Q_UINT8 a[16], Q_UINT8 b[16]); + void decrypt(const Q_UINT8 a[16], Q_UINT8 b[16]); }; #endif // _RIJNDAEL_H_ diff --git a/src/crypto/sha1.cpp b/src/crypto/sha1.cpp index 9033f9a..c5f96b4 100755 --- a/src/crypto/sha1.cpp +++ b/src/crypto/sha1.cpp @@ -1,261 +1,261 @@ -/* - 100% free public domain implementation of the SHA-1 algorithm - by Dominik Reichl - - Version 1.5 - 2005-01-01 - - 64-bit compiler compatibility added - - Made variable wiping optional (define SHA1_WIPE_VARIABLES) - - Removed unnecessary variable initializations - - ROL32 improvement for the Microsoft compiler (using _rotl) - - ======== Test Vectors (from FIPS PUB 180-1) ======== - - SHA1("abc") = - A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D - - SHA1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = - 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 - - SHA1(A million repetitions of "a") = - 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F -*/ -#include "global.h" -#include "sha1.h" - -#define SHA1_MAX_FILE_BUFFER 8000 - -// Rotate x bits to the left -#ifndef ROL32 -#ifdef _MSC_VER -#define ROL32(_val32, _nBits) _rotl(_val32, _nBits) -#else -#define ROL32(_val32, _nBits) (((_val32)<<(_nBits))|((_val32)>>(32-(_nBits)))) -#endif -#endif - -#ifdef KEEPASS_LITTLE_ENDIAN -#define SHABLK0(i) (m_block->l[i] = \ - (ROL32(m_block->l[i],24) & 0xFF00FF00) | (ROL32(m_block->l[i],8) & 0x00FF00FF)) -#else -#define SHABLK0(i) (m_block->l[i]) -#endif - -#define SHABLK(i) (m_block->l[i&15] = ROL32(m_block->l[(i+13)&15] ^ m_block->l[(i+8)&15] \ - ^ m_block->l[(i+2)&15] ^ m_block->l[i&15],1)) - -// SHA-1 rounds -#define _R0(v,w,x,y,z,i) { z+=((w&(x^y))^y)+SHABLK0(i)+0x5A827999+ROL32(v,5); w=ROL32(w,30); } -#define _R1(v,w,x,y,z,i) { z+=((w&(x^y))^y)+SHABLK(i)+0x5A827999+ROL32(v,5); w=ROL32(w,30); } -#define _R2(v,w,x,y,z,i) { z+=(w^x^y)+SHABLK(i)+0x6ED9EBA1+ROL32(v,5); w=ROL32(w,30); } -#define _R3(v,w,x,y,z,i) { z+=(((w|x)&y)|(w&x))+SHABLK(i)+0x8F1BBCDC+ROL32(v,5); w=ROL32(w,30); } -#define _R4(v,w,x,y,z,i) { z+=(w^x^y)+SHABLK(i)+0xCA62C1D6+ROL32(v,5); w=ROL32(w,30); } - -CSHA1::CSHA1() -{ - m_block = (SHA1_WORKSPACE_BLOCK *)m_workspace; - - Reset(); -} - -CSHA1::~CSHA1() -{ - Reset(); -} - -void CSHA1::Reset() -{ - // SHA1 initialization constants - m_state[0] = 0x67452301; - m_state[1] = 0xEFCDAB89; - m_state[2] = 0x98BADCFE; - m_state[3] = 0x10325476; - m_state[4] = 0xC3D2E1F0; - - m_count[0] = 0; - m_count[1] = 0; -} -void CSHA1::Update(unsigned char* data, int len){ - - UINT_32 i, j; - - j = (m_count[0] >> 3) & 63; - - if((m_count[0] += len << 3) < (len << 3)) m_count[1]++; - - m_count[1] += (len >> 29); - - if((j + len) > 63) - { - i = 64 - j; - memcpy(&m_buffer[j], data, i); - Transform(m_state, m_buffer); - - for( ; i + 63 < len; i += 64) Transform(m_state, &data[i]); - - j = 0; - } - else i = 0; - - memcpy(&m_buffer[j], &data[i], len - i); - - -} - - -void CSHA1::Transform(UINT_32 *state, UINT_8 *buffer) -{ - // Copy state[] to working vars - UINT_32 a = state[0], b = state[1], c = state[2], d = state[3], e = state[4]; - - memcpy(m_block, buffer, 64); - - // 4 rounds of 20 operations each. Loop unrolled. - _R0(a,b,c,d,e, 0); _R0(e,a,b,c,d, 1); _R0(d,e,a,b,c, 2); _R0(c,d,e,a,b, 3); - _R0(b,c,d,e,a, 4); _R0(a,b,c,d,e, 5); _R0(e,a,b,c,d, 6); _R0(d,e,a,b,c, 7); - _R0(c,d,e,a,b, 8); _R0(b,c,d,e,a, 9); _R0(a,b,c,d,e,10); _R0(e,a,b,c,d,11); - _R0(d,e,a,b,c,12); _R0(c,d,e,a,b,13); _R0(b,c,d,e,a,14); _R0(a,b,c,d,e,15); - _R1(e,a,b,c,d,16); _R1(d,e,a,b,c,17); _R1(c,d,e,a,b,18); _R1(b,c,d,e,a,19); - _R2(a,b,c,d,e,20); _R2(e,a,b,c,d,21); _R2(d,e,a,b,c,22); _R2(c,d,e,a,b,23); - _R2(b,c,d,e,a,24); _R2(a,b,c,d,e,25); _R2(e,a,b,c,d,26); _R2(d,e,a,b,c,27); - _R2(c,d,e,a,b,28); _R2(b,c,d,e,a,29); _R2(a,b,c,d,e,30); _R2(e,a,b,c,d,31); - _R2(d,e,a,b,c,32); _R2(c,d,e,a,b,33); _R2(b,c,d,e,a,34); _R2(a,b,c,d,e,35); - _R2(e,a,b,c,d,36); _R2(d,e,a,b,c,37); _R2(c,d,e,a,b,38); _R2(b,c,d,e,a,39); - _R3(a,b,c,d,e,40); _R3(e,a,b,c,d,41); _R3(d,e,a,b,c,42); _R3(c,d,e,a,b,43); - _R3(b,c,d,e,a,44); _R3(a,b,c,d,e,45); _R3(e,a,b,c,d,46); _R3(d,e,a,b,c,47); - _R3(c,d,e,a,b,48); _R3(b,c,d,e,a,49); _R3(a,b,c,d,e,50); _R3(e,a,b,c,d,51); - _R3(d,e,a,b,c,52); _R3(c,d,e,a,b,53); _R3(b,c,d,e,a,54); _R3(a,b,c,d,e,55); - _R3(e,a,b,c,d,56); _R3(d,e,a,b,c,57); _R3(c,d,e,a,b,58); _R3(b,c,d,e,a,59); - _R4(a,b,c,d,e,60); _R4(e,a,b,c,d,61); _R4(d,e,a,b,c,62); _R4(c,d,e,a,b,63); - _R4(b,c,d,e,a,64); _R4(a,b,c,d,e,65); _R4(e,a,b,c,d,66); _R4(d,e,a,b,c,67); - _R4(c,d,e,a,b,68); _R4(b,c,d,e,a,69); _R4(a,b,c,d,e,70); _R4(e,a,b,c,d,71); - _R4(d,e,a,b,c,72); _R4(c,d,e,a,b,73); _R4(b,c,d,e,a,74); _R4(a,b,c,d,e,75); - _R4(e,a,b,c,d,76); _R4(d,e,a,b,c,77); _R4(c,d,e,a,b,78); _R4(b,c,d,e,a,79); - - // Add the working vars back into state - state[0] += a; - state[1] += b; - state[2] += c; - state[3] += d; - state[4] += e; - - // Wipe variables -#ifdef SHA1_WIPE_VARIABLES - a = b = c = d = e = 0; -#endif -} - - -// Hash in file contents -bool CSHA1::HashFile(char *szFileName) -{ - unsigned long ulFileSize, ulRest, ulBlocks; - unsigned long i; - UINT_8 uData[SHA1_MAX_FILE_BUFFER]; - FILE *fIn; - - if(szFileName == NULL) return false; - - fIn = fopen(szFileName, "rb"); - if(fIn == NULL) return false; - - fseek(fIn, 0, SEEK_END); - ulFileSize = (unsigned long)ftell(fIn); - fseek(fIn, 0, SEEK_SET); - - if(ulFileSize != 0) - { - ulBlocks = ulFileSize / SHA1_MAX_FILE_BUFFER; - ulRest = ulFileSize % SHA1_MAX_FILE_BUFFER; - } - else - { - ulBlocks = 0; - ulRest = 0; - } - - for(i = 0; i < ulBlocks; i++) - { - fread(uData, 1, SHA1_MAX_FILE_BUFFER, fIn); - Update((UINT_8 *)uData, SHA1_MAX_FILE_BUFFER); - } - - if(ulRest != 0) - { - fread(uData, 1, ulRest, fIn); - Update((UINT_8 *)uData, ulRest); - } - - fclose(fIn); fIn = NULL; - return true; -} - -void CSHA1::Final() -{ - UINT_32 i; - UINT_8 finalcount[8]; - - for(i = 0; i < 8; i++) - finalcount[i] = (UINT_8)((m_count[((i >= 4) ? 0 : 1)] - >> ((3 - (i & 3)) * 8) ) & 255); // Endian independent - - Update((UINT_8 *)"\200", 1); - - while ((m_count[0] & 504) != 448) - Update((UINT_8 *)"\0", 1); - - Update(finalcount, 8); // Cause a SHA1Transform() - - for(i = 0; i < 20; i++) - { - m_digest[i] = (UINT_8)((m_state[i >> 2] >> ((3 - (i & 3)) * 8) ) & 255); - } - - // Wipe variables for security reasons -#ifdef SHA1_WIPE_VARIABLES - i = 0; - memset(m_buffer, 0, 64); - memset(m_state, 0, 20); - memset(m_count, 0, 8); - memset(finalcount, 0, 8); - Transform(m_state, m_buffer); -#endif -} - -// Get the final hash as a pre-formatted string -void CSHA1::ReportHash(char *szReport, unsigned char uReportType) -{ - unsigned char i; - char szTemp[16]; - - if(szReport == NULL) return; - - if(uReportType == REPORT_HEX) - { - sprintf(szTemp, "%02X", m_digest[0]); - strcat(szReport, szTemp); - - for(i = 1; i < 20; i++) - { - sprintf(szTemp, " %02X", m_digest[i]); - strcat(szReport, szTemp); - } - } - else if(uReportType == REPORT_DIGIT) - { - sprintf(szTemp, "%u", m_digest[0]); - strcat(szReport, szTemp); - - for(i = 1; i < 20; i++) - { - sprintf(szTemp, " %u", m_digest[i]); - strcat(szReport, szTemp); - } - } - else strcpy(szReport, "Error: Unknown report type!"); -} - -// Get the raw message digest -void CSHA1::GetHash(UINT_8 *puDest) -{ - memcpy(puDest, m_digest, 20); -} +/* + 100% free public domain implementation of the SHA-1 algorithm + by Dominik Reichl + + Version 1.5 - 2005-01-01 + - 64-bit compiler compatibility added + - Made variable wiping optional (define SHA1_WIPE_VARIABLES) + - Removed unnecessary variable initializations + - ROL32 improvement for the Microsoft compiler (using _rotl) + + ======== Test Vectors (from FIPS PUB 180-1) ======== + + SHA1("abc") = + A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D + + SHA1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = + 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 + + SHA1(A million repetitions of "a") = + 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F +*/ +#include "global.h" +#include "sha1.h" + +#define SHA1_MAX_FILE_BUFFER 8000 + +// Rotate x bits to the left +#ifndef ROL32 +#ifdef _MSC_VER +#define ROL32(_val32, _nBits) _rotl(_val32, _nBits) +#else +#define ROL32(_val32, _nBits) (((_val32)<<(_nBits))|((_val32)>>(32-(_nBits)))) +#endif +#endif + +#ifdef KEEPASS_LITTLE_ENDIAN +#define SHABLK0(i) (m_block->l[i] = \ + (ROL32(m_block->l[i],24) & 0xFF00FF00) | (ROL32(m_block->l[i],8) & 0x00FF00FF)) +#else +#define SHABLK0(i) (m_block->l[i]) +#endif + +#define SHABLK(i) (m_block->l[i&15] = ROL32(m_block->l[(i+13)&15] ^ m_block->l[(i+8)&15] \ + ^ m_block->l[(i+2)&15] ^ m_block->l[i&15],1)) + +// SHA-1 rounds +#define _R0(v,w,x,y,z,i) { z+=((w&(x^y))^y)+SHABLK0(i)+0x5A827999+ROL32(v,5); w=ROL32(w,30); } +#define _R1(v,w,x,y,z,i) { z+=((w&(x^y))^y)+SHABLK(i)+0x5A827999+ROL32(v,5); w=ROL32(w,30); } +#define _R2(v,w,x,y,z,i) { z+=(w^x^y)+SHABLK(i)+0x6ED9EBA1+ROL32(v,5); w=ROL32(w,30); } +#define _R3(v,w,x,y,z,i) { z+=(((w|x)&y)|(w&x))+SHABLK(i)+0x8F1BBCDC+ROL32(v,5); w=ROL32(w,30); } +#define _R4(v,w,x,y,z,i) { z+=(w^x^y)+SHABLK(i)+0xCA62C1D6+ROL32(v,5); w=ROL32(w,30); } + +CSHA1::CSHA1() +{ + m_block = (SHA1_WORKSPACE_BLOCK *)m_workspace; + + Reset(); +} + +CSHA1::~CSHA1() +{ + Reset(); +} + +void CSHA1::Reset() +{ + // SHA1 initialization constants + m_state[0] = 0x67452301; + m_state[1] = 0xEFCDAB89; + m_state[2] = 0x98BADCFE; + m_state[3] = 0x10325476; + m_state[4] = 0xC3D2E1F0; + + m_count[0] = 0; + m_count[1] = 0; +} +void CSHA1::Update(unsigned char* data, int len){ + + Q_UINT_32 i, j; + + j = (m_count[0] >> 3) & 63; + + if((m_count[0] += len << 3) < (len << 3)) m_count[1]++; + + m_count[1] += (len >> 29); + + if((j + len) > 63) + { + i = 64 - j; + memcpy(&m_buffer[j], data, i); + Transform(m_state, m_buffer); + + for( ; i + 63 < len; i += 64) Transform(m_state, &data[i]); + + j = 0; + } + else i = 0; + + memcpy(&m_buffer[j], &data[i], len - i); + + +} + + +void CSHA1::Transform(Q_UINT_32 *state, Q_UINT_8 *buffer) +{ + // Copy state[] to working vars + Q_UINT_32 a = state[0], b = state[1], c = state[2], d = state[3], e = state[4]; + + memcpy(m_block, buffer, 64); + + // 4 rounds of 20 operations each. Loop unrolled. + _R0(a,b,c,d,e, 0); _R0(e,a,b,c,d, 1); _R0(d,e,a,b,c, 2); _R0(c,d,e,a,b, 3); + _R0(b,c,d,e,a, 4); _R0(a,b,c,d,e, 5); _R0(e,a,b,c,d, 6); _R0(d,e,a,b,c, 7); + _R0(c,d,e,a,b, 8); _R0(b,c,d,e,a, 9); _R0(a,b,c,d,e,10); _R0(e,a,b,c,d,11); + _R0(d,e,a,b,c,12); _R0(c,d,e,a,b,13); _R0(b,c,d,e,a,14); _R0(a,b,c,d,e,15); + _R1(e,a,b,c,d,16); _R1(d,e,a,b,c,17); _R1(c,d,e,a,b,18); _R1(b,c,d,e,a,19); + _R2(a,b,c,d,e,20); _R2(e,a,b,c,d,21); _R2(d,e,a,b,c,22); _R2(c,d,e,a,b,23); + _R2(b,c,d,e,a,24); _R2(a,b,c,d,e,25); _R2(e,a,b,c,d,26); _R2(d,e,a,b,c,27); + _R2(c,d,e,a,b,28); _R2(b,c,d,e,a,29); _R2(a,b,c,d,e,30); _R2(e,a,b,c,d,31); + _R2(d,e,a,b,c,32); _R2(c,d,e,a,b,33); _R2(b,c,d,e,a,34); _R2(a,b,c,d,e,35); + _R2(e,a,b,c,d,36); _R2(d,e,a,b,c,37); _R2(c,d,e,a,b,38); _R2(b,c,d,e,a,39); + _R3(a,b,c,d,e,40); _R3(e,a,b,c,d,41); _R3(d,e,a,b,c,42); _R3(c,d,e,a,b,43); + _R3(b,c,d,e,a,44); _R3(a,b,c,d,e,45); _R3(e,a,b,c,d,46); _R3(d,e,a,b,c,47); + _R3(c,d,e,a,b,48); _R3(b,c,d,e,a,49); _R3(a,b,c,d,e,50); _R3(e,a,b,c,d,51); + _R3(d,e,a,b,c,52); _R3(c,d,e,a,b,53); _R3(b,c,d,e,a,54); _R3(a,b,c,d,e,55); + _R3(e,a,b,c,d,56); _R3(d,e,a,b,c,57); _R3(c,d,e,a,b,58); _R3(b,c,d,e,a,59); + _R4(a,b,c,d,e,60); _R4(e,a,b,c,d,61); _R4(d,e,a,b,c,62); _R4(c,d,e,a,b,63); + _R4(b,c,d,e,a,64); _R4(a,b,c,d,e,65); _R4(e,a,b,c,d,66); _R4(d,e,a,b,c,67); + _R4(c,d,e,a,b,68); _R4(b,c,d,e,a,69); _R4(a,b,c,d,e,70); _R4(e,a,b,c,d,71); + _R4(d,e,a,b,c,72); _R4(c,d,e,a,b,73); _R4(b,c,d,e,a,74); _R4(a,b,c,d,e,75); + _R4(e,a,b,c,d,76); _R4(d,e,a,b,c,77); _R4(c,d,e,a,b,78); _R4(b,c,d,e,a,79); + + // Add the working vars back into state + state[0] += a; + state[1] += b; + state[2] += c; + state[3] += d; + state[4] += e; + + // Wipe variables +#ifdef SHA1_WIPE_VARIABLES + a = b = c = d = e = 0; +#endif +} + + +// Hash in file contents +bool CSHA1::HashFile(char *szFileName) +{ + unsigned long ulFileSize, ulRest, ulBlocks; + unsigned long i; + Q_UINT_8 uData[SHA1_MAX_FILE_BUFFER]; + FILE *fIn; + + if(szFileName == NULL) return false; + + fIn = fopen(szFileName, "rb"); + if(fIn == NULL) return false; + + fseek(fIn, 0, SEEK_END); + ulFileSize = (unsigned long)ftell(fIn); + fseek(fIn, 0, SEEK_SET); + + if(ulFileSize != 0) + { + ulBlocks = ulFileSize / SHA1_MAX_FILE_BUFFER; + ulRest = ulFileSize % SHA1_MAX_FILE_BUFFER; + } + else + { + ulBlocks = 0; + ulRest = 0; + } + + for(i = 0; i < ulBlocks; i++) + { + fread(uData, 1, SHA1_MAX_FILE_BUFFER, fIn); + Update((Q_UINT_8 *)uData, SHA1_MAX_FILE_BUFFER); + } + + if(ulRest != 0) + { + fread(uData, 1, ulRest, fIn); + Update((Q_UINT_8 *)uData, ulRest); + } + + fclose(fIn); fIn = NULL; + return true; +} + +void CSHA1::Final() +{ + Q_UINT_32 i; + Q_UINT_8 finalcount[8]; + + for(i = 0; i < 8; i++) + finalcount[i] = (Q_UINT_8)((m_count[((i >= 4) ? 0 : 1)] + >> ((3 - (i & 3)) * 8) ) & 255); // Endian independent + + Update((Q_UINT_8 *)"\200", 1); + + while ((m_count[0] & 504) != 448) + Update((Q_UINT_8 *)"\0", 1); + + Update(finalcount, 8); // Cause a SHA1Transform() + + for(i = 0; i < 20; i++) + { + m_digest[i] = (Q_UINT_8)((m_state[i >> 2] >> ((3 - (i & 3)) * 8) ) & 255); + } + + // Wipe variables for security reasons +#ifdef SHA1_WIPE_VARIABLES + i = 0; + memset(m_buffer, 0, 64); + memset(m_state, 0, 20); + memset(m_count, 0, 8); + memset(finalcount, 0, 8); + Transform(m_state, m_buffer); +#endif +} + +// Get the final hash as a pre-formatted string +void CSHA1::ReportHash(char *szReport, unsigned char uReportType) +{ + unsigned char i; + char szTemp[16]; + + if(szReport == NULL) return; + + if(uReportType == REPORT_HEX) + { + sprintf(szTemp, "%02X", m_digest[0]); + strcat(szReport, szTemp); + + for(i = 1; i < 20; i++) + { + sprintf(szTemp, " %02X", m_digest[i]); + strcat(szReport, szTemp); + } + } + else if(uReportType == REPORT_DIGIT) + { + sprintf(szTemp, "%u", m_digest[0]); + strcat(szReport, szTemp); + + for(i = 1; i < 20; i++) + { + sprintf(szTemp, " %u", m_digest[i]); + strcat(szReport, szTemp); + } + } + else strcpy(szReport, "Error: Unknown report type!"); +} + +// Get the raw message digest +void CSHA1::GetHash(Q_UINT_8 *puDest) +{ + memcpy(puDest, m_digest, 20); +} diff --git a/src/crypto/sha1.h b/src/crypto/sha1.h index fb82927..42fb403 100755 --- a/src/crypto/sha1.h +++ b/src/crypto/sha1.h @@ -1,99 +1,99 @@ -/* - 100% free public domain implementation of the SHA-1 algorithm - by Dominik Reichl - - Version 1.5 - 2005-01-01 - - 64-bit compiler compatibility added - - Made variable wiping optional (define SHA1_WIPE_VARIABLES) - - Removed unnecessary variable initializations - - ROL32 improvement for the Microsoft compiler (using _rotl) - - ======== Test Vectors (from FIPS PUB 180-1) ======== - - SHA1("abc") = - A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D - - SHA1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = - 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 - - SHA1(A million repetitions of "a") = - 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F -*/ - -#ifndef ___SHA1_HDR___ -#define ___SHA1_HDR___ - -#include // Needed for file access -#include // Needed for memset and memcpy -#include // Needed for strcat and strcpy - - -// If you're compiling big endian, just comment out the following line - - -// #define or #undef this, if you want the CSHA1 class to wipe all -// temporary variables after processing -#define SHA1_WIPE_VARIABLES - -///////////////////////////////////////////////////////////////////////////// -// Define 8- and 32-bit variables - -#ifndef UINT_32 - #define UINT_8 unsigned char - #if (ULONG_MAX == 0xFFFFFFFF) - #define UINT_32 unsigned long - #else - #define UINT_32 unsigned int - #endif -#endif - - -///////////////////////////////////////////////////////////////////////////// -// Declare SHA1 workspace - -typedef union -{ - UINT_8 c[64]; - UINT_32 l[16]; -} SHA1_WORKSPACE_BLOCK; - -class CSHA1 -{ -public: - // Two different formats for ReportHash(...) - enum - { - REPORT_HEX = 0, - REPORT_DIGIT = 1 - }; - - // Constructor and Destructor - CSHA1(); - ~CSHA1(); - - UINT_32 m_state[5]; - UINT_32 m_count[2]; - UINT_8 m_buffer[64]; - UINT_8 m_digest[20]; - - void Reset(); - - // Update the hash value - void Update(unsigned char* data, int len); - bool HashFile(char *szFileName); - - // Finalize hash and report - void Final(); - void ReportHash(char *szReport, unsigned char uReportType = REPORT_HEX); - void GetHash(UINT_8 *puDest); - -private: - // Private SHA-1 transformation - void Transform(UINT_32 *state, UINT_8 *buffer); - - // Member variables - UINT_8 m_workspace[64]; - SHA1_WORKSPACE_BLOCK *m_block; // SHA1 pointer to the byte array above -}; - -#endif +/* + 100% free public domain implementation of the SHA-1 algorithm + by Dominik Reichl + + Version 1.5 - 2005-01-01 + - 64-bit compiler compatibility added + - Made variable wiping optional (define SHA1_WIPE_VARIABLES) + - Removed unnecessary variable initializations + - ROL32 improvement for the Microsoft compiler (using _rotl) + + ======== Test Vectors (from FIPS PUB 180-1) ======== + + SHA1("abc") = + A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D + + SHA1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = + 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 + + SHA1(A million repetitions of "a") = + 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F +*/ + +#ifndef ___SHA1_HDR___ +#define ___SHA1_HDR___ + +#include // Needed for file access +#include // Needed for memset and memcpy +#include // Needed for strcat and strcpy + + +// If you're compiling big endian, just comment out the following line + + +// #define or #undef this, if you want the CSHA1 class to wipe all +// temporary variables after processing +#define SHA1_WIPE_VARIABLES + +///////////////////////////////////////////////////////////////////////////// +// Define 8- and 32-bit variables + +#ifndef Q_UINT_32 + #define Q_UINT_8 unsigned char + #if (ULONG_MAX == 0xFFFFFFFF) + #define Q_UINT_32 unsigned long + #else + #define Q_UINT_32 unsigned int + #endif +#endif + + +///////////////////////////////////////////////////////////////////////////// +// Declare SHA1 workspace + +typedef union +{ + Q_UINT_8 c[64]; + Q_UINT_32 l[16]; +} SHA1_WORKSPACE_BLOCK; + +class CSHA1 +{ +public: + // Two different formats for ReportHash(...) + enum + { + REPORT_HEX = 0, + REPORT_DIGIT = 1 + }; + + // Constructor and Destructor + CSHA1(); + ~CSHA1(); + + Q_UINT_32 m_state[5]; + Q_UINT_32 m_count[2]; + Q_UINT_8 m_buffer[64]; + Q_UINT_8 m_digest[20]; + + void Reset(); + + // Update the hash value + void Update(unsigned char* data, int len); + bool HashFile(char *szFileName); + + // Finalize hash and report + void Final(); + void ReportHash(char *szReport, unsigned char uReportType = REPORT_HEX); + void GetHash(Q_UINT_8 *puDest); + +private: + // Private SHA-1 transformation + void Transform(Q_UINT_32 *state, Q_UINT_8 *buffer); + + // Member variables + Q_UINT_8 m_workspace[64]; + SHA1_WORKSPACE_BLOCK *m_block; // SHA1 pointer to the byte array above +}; + +#endif diff --git a/src/crypto/sha256.c b/src/crypto/sha256.c index 0b94581..5be8f5c 100755 --- a/src/crypto/sha256.c +++ b/src/crypto/sha256.c @@ -22,7 +22,7 @@ #include "sha256.h" -#define GET_UINT32(n,b,i) \ +#define GET_Q_UINT32(n,b,i) \ { \ (n) = ( (uint32) (b)[(i) ] << 24 ) \ | ( (uint32) (b)[(i) + 1] << 16 ) \ @@ -30,7 +30,7 @@ | ( (uint32) (b)[(i) + 3] ); \ } -#define PUT_UINT32(n,b,i) \ +#define PUT_Q_UINT32(n,b,i) \ { \ (b)[(i) ] = (uint8) ( (n) >> 24 ); \ (b)[(i) + 1] = (uint8) ( (n) >> 16 ); \ @@ -58,22 +58,22 @@ void sha256_process( sha256_context *ctx, uint8 data[64] ) uint32 temp1, temp2, W[64]; uint32 A, B, C, D, E, F, G, H; - GET_UINT32( W[0], data, 0 ); - GET_UINT32( W[1], data, 4 ); - GET_UINT32( W[2], data, 8 ); - GET_UINT32( W[3], data, 12 ); - GET_UINT32( W[4], data, 16 ); - GET_UINT32( W[5], data, 20 ); - GET_UINT32( W[6], data, 24 ); - GET_UINT32( W[7], data, 28 ); - GET_UINT32( W[8], data, 32 ); - GET_UINT32( W[9], data, 36 ); - GET_UINT32( W[10], data, 40 ); - GET_UINT32( W[11], data, 44 ); - GET_UINT32( W[12], data, 48 ); - GET_UINT32( W[13], data, 52 ); - GET_UINT32( W[14], data, 56 ); - GET_UINT32( W[15], data, 60 ); + GET_Q_UINT32( W[0], data, 0 ); + GET_Q_UINT32( W[1], data, 4 ); + GET_Q_UINT32( W[2], data, 8 ); + GET_Q_UINT32( W[3], data, 12 ); + GET_Q_UINT32( W[4], data, 16 ); + GET_Q_UINT32( W[5], data, 20 ); + GET_Q_UINT32( W[6], data, 24 ); + GET_Q_UINT32( W[7], data, 28 ); + GET_Q_UINT32( W[8], data, 32 ); + GET_Q_UINT32( W[9], data, 36 ); + GET_Q_UINT32( W[10], data, 40 ); + GET_Q_UINT32( W[11], data, 44 ); + GET_Q_UINT32( W[12], data, 48 ); + GET_Q_UINT32( W[13], data, 52 ); + GET_Q_UINT32( W[14], data, 56 ); + GET_Q_UINT32( W[15], data, 60 ); #define SHR(x,n) ((x & 0xFFFFFFFF) >> n) #define ROTR(x,n) (SHR(x,n) | (x << (32 - n))) @@ -241,8 +241,8 @@ void sha256_finish( sha256_context *ctx, uint8 digest[32] ) | ( ctx->total[1] << 3 ); low = ( ctx->total[0] << 3 ); - PUT_UINT32( high, msglen, 0 ); - PUT_UINT32( low, msglen, 4 ); + PUT_Q_UINT32( high, msglen, 0 ); + PUT_Q_UINT32( low, msglen, 4 ); last = ctx->total[0] & 0x3F; padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last ); @@ -250,14 +250,14 @@ void sha256_finish( sha256_context *ctx, uint8 digest[32] ) sha256_update( ctx, sha256_padding, padn ); sha256_update( ctx, msglen, 8 ); - PUT_UINT32( ctx->state[0], digest, 0 ); - PUT_UINT32( ctx->state[1], digest, 4 ); - PUT_UINT32( ctx->state[2], digest, 8 ); - PUT_UINT32( ctx->state[3], digest, 12 ); - PUT_UINT32( ctx->state[4], digest, 16 ); - PUT_UINT32( ctx->state[5], digest, 20 ); - PUT_UINT32( ctx->state[6], digest, 24 ); - PUT_UINT32( ctx->state[7], digest, 28 ); + PUT_Q_UINT32( ctx->state[0], digest, 0 ); + PUT_Q_UINT32( ctx->state[1], digest, 4 ); + PUT_Q_UINT32( ctx->state[2], digest, 8 ); + PUT_Q_UINT32( ctx->state[3], digest, 12 ); + PUT_Q_UINT32( ctx->state[4], digest, 16 ); + PUT_Q_UINT32( ctx->state[5], digest, 20 ); + PUT_Q_UINT32( ctx->state[6], digest, 24 ); + PUT_Q_UINT32( ctx->state[7], digest, 28 ); } #ifdef TEST diff --git a/src/crypto/twoclass.cpp b/src/crypto/twoclass.cpp index 796c299..8d39dec 100755 --- a/src/crypto/twoclass.cpp +++ b/src/crypto/twoclass.cpp @@ -40,7 +40,7 @@ CTwofish::~CTwofish() { } -bool CTwofish::init(UINT8 *pKey, unsigned long uKeyLen, UINT8 *initVector) +bool CTwofish::init(Q_UINT8 *pKey, unsigned long uKeyLen, Q_UINT8 *initVector) { //ASSERT(pKey != NULL); if(pKey == NULL) return false; @@ -61,10 +61,10 @@ bool CTwofish::init(UINT8 *pKey, unsigned long uKeyLen, UINT8 *initVector) return true; } -int CTwofish::padEncrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer) +int CTwofish::padEncrypt(Q_UINT8 *pInput, int nInputOctets, Q_UINT8 *pOutBuffer) { int i, numBlocks, padLen; - UINT8 block[16], *iv; + Q_UINT8 block[16], *iv; //ASSERT((pInput != NULL) && (nInputOctets != NULL) && (pOutBuffer != NULL)); if((pInput == NULL) || (nInputOctets <= 0) || (pOutBuffer == NULL)) return 0; @@ -74,10 +74,10 @@ int CTwofish::padEncrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer) iv = m_pInitVector; for(i = numBlocks; i > 0; i--) { - ((UINT32*)block)[0] = ((UINT32*)pInput)[0] ^ ((UINT32*)iv)[0]; - ((UINT32*)block)[1] = ((UINT32*)pInput)[1] ^ ((UINT32*)iv)[1]; - ((UINT32*)block)[2] = ((UINT32*)pInput)[2] ^ ((UINT32*)iv)[2]; - ((UINT32*)block)[3] = ((UINT32*)pInput)[3] ^ ((UINT32*)iv)[3]; + ((Q_UINT32*)block)[0] = ((Q_UINT32*)pInput)[0] ^ ((Q_UINT32*)iv)[0]; + ((Q_UINT32*)block)[1] = ((Q_UINT32*)pInput)[1] ^ ((Q_UINT32*)iv)[1]; + ((Q_UINT32*)block)[2] = ((Q_UINT32*)pInput)[2] ^ ((Q_UINT32*)iv)[2]; + ((Q_UINT32*)block)[3] = ((Q_UINT32*)pInput)[3] ^ ((Q_UINT32*)iv)[3]; Twofish_encrypt(&m_key, (Twofish_Byte *)block, (Twofish_Byte *)pOutBuffer); @@ -90,12 +90,12 @@ int CTwofish::padEncrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer) for (i = 0; i < 16 - padLen; i++) { - block[i] = (UINT8)(pInput[i] ^ iv[i]); + block[i] = (Q_UINT8)(pInput[i] ^ iv[i]); } for (i = 16 - padLen; i < 16; i++) { - block[i] = (UINT8)((UINT8)padLen ^ iv[i]); + block[i] = (Q_UINT8)((Q_UINT8)padLen ^ iv[i]); } Twofish_encrypt(&m_key, (Twofish_Byte *)block, (Twofish_Byte *)pOutBuffer); @@ -103,11 +103,11 @@ int CTwofish::padEncrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer) return 16 * (numBlocks + 1); } -int CTwofish::padDecrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer) +int CTwofish::padDecrypt(Q_UINT8 *pInput, int nInputOctets, Q_UINT8 *pOutBuffer) { int i, numBlocks, padLen; - UINT8 block[16]; - UINT32 iv[4]; + Q_UINT8 block[16]; + Q_UINT32 iv[4]; //ASSERT((pInput != NULL) && (nInputOctets != NULL) && (pOutBuffer != NULL)); if((pInput == NULL) || (nInputOctets <= 0) || (pOutBuffer == NULL)) return 0; @@ -121,10 +121,10 @@ int CTwofish::padDecrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer) for(i = numBlocks - 1; i > 0; i--) { Twofish_decrypt(&m_key, (Twofish_Byte *)pInput, (Twofish_Byte *)block); - ((UINT32*)block)[0] ^= iv[0]; - ((UINT32*)block)[1] ^= iv[1]; - ((UINT32*)block)[2] ^= iv[2]; - ((UINT32*)block)[3] ^= iv[3]; + ((Q_UINT32*)block)[0] ^= iv[0]; + ((Q_UINT32*)block)[1] ^= iv[1]; + ((Q_UINT32*)block)[2] ^= iv[2]; + ((Q_UINT32*)block)[3] ^= iv[3]; memcpy(iv, pInput, 16); memcpy(pOutBuffer, block, 16); pInput += 16; @@ -132,10 +132,10 @@ int CTwofish::padDecrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer) } Twofish_decrypt(&m_key, (Twofish_Byte *)pInput, (Twofish_Byte *)block); - ((UINT32*)block)[0] ^= iv[0]; - ((UINT32*)block)[1] ^= iv[1]; - ((UINT32*)block)[2] ^= iv[2]; - ((UINT32*)block)[3] ^= iv[3]; + ((Q_UINT32*)block)[0] ^= iv[0]; + ((Q_UINT32*)block)[1] ^= iv[1]; + ((Q_UINT32*)block)[2] ^= iv[2]; + ((Q_UINT32*)block)[3] ^= iv[3]; padLen = block[15]; if(padLen <= 0 || padLen > 16) return -1; for(i = 16 - padLen; i < 16; i++) diff --git a/src/crypto/twoclass.h b/src/crypto/twoclass.h index 86bde39..c234c32 100755 --- a/src/crypto/twoclass.h +++ b/src/crypto/twoclass.h @@ -39,14 +39,14 @@ public: CTwofish(); virtual ~CTwofish(); - bool init(UINT8 *pKey, unsigned long uKeyLen, UINT8 *initVector = NULL); + bool init(Q_UINT8 *pKey, unsigned long uKeyLen, Q_UINT8 *initVector = NULL); - int padEncrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer); - int padDecrypt(UINT8 *pInput, int nInputOctets, UINT8 *pOutBuffer); + int padEncrypt(Q_UINT8 *pInput, int nInputOctets, Q_UINT8 *pOutBuffer); + int padDecrypt(Q_UINT8 *pInput, int nInputOctets, Q_UINT8 *pOutBuffer); private: Twofish_key m_key; - UINT8 m_pInitVector[16]; + Q_UINT8 m_pInitVector[16]; }; #endif diff --git a/src/crypto/twofish.cpp b/src/crypto/twofish.cpp index 3123719..652d916 100755 --- a/src/crypto/twofish.cpp +++ b/src/crypto/twofish.cpp @@ -245,7 +245,7 @@ * * Unfortunately there is no portable way of writing the constant * 0xffffffff. You don't know which suffix to use (U, or UL?) - * The UINT32_MASK definition uses a bit of trickery. Shift-left + * The Q_UINT32_MASK definition uses a bit of trickery. Shift-left * is only defined if the shift amount is strictly less than the size * of the UInt32, so we can't use (1<<32). The answer it to take the value * 2, cast it to a UInt32, shift it left 31 positions, and subtract one. @@ -263,11 +263,11 @@ * For example, MS compilers have the __rotl and __rotr functions * that generate x86 rotation instructions. */ -#define UINT32_MASK ( (((Twofish_UInt32)2)<<31) - 1 ) +#define Q_UINT32_MASK ( (((Twofish_UInt32)2)<<31) - 1 ) #ifndef _MSC_VER -#define ROL32(x,n) ( (x)<<(n) | ((x) & UINT32_MASK) >> (32-(n)) ) -#define ROR32(x,n) ( (x)>>(n) | ((x) & UINT32_MASK) << (32-(n)) ) +#define ROL32(x,n) ( (x)<<(n) | ((x) & Q_UINT32_MASK) >> (32-(n)) ) +#define ROR32(x,n) ( (x)>>(n) | ((x) & Q_UINT32_MASK) << (32-(n)) ) #else #define ROL32(x,n) (_lrotl((x), (n))) #define ROR32(x,n) (_lrotr((x), (n))) @@ -306,7 +306,7 @@ * This macro does not affect the conversion of the inputs and outputs * of the cipher. See the CONVERT_USING_CASTS macro for that. */ -#define SELECT_BYTE_FROM_UINT32_IN_MEMORY 0 /* default = 0 */ +#define SELECT_BYTE_FROM_Q_UINT32_IN_MEMORY 0 /* default = 0 */ /* @@ -331,7 +331,7 @@ * This option does not work unless a UInt32 is exactly 32 bits. * * This macro only changes the reading/writing of the plaintext/ciphertext. - * See the SELECT_BYTE_FROM_UINT32_IN_MEMORY to affect the way in which + * See the SELECT_BYTE_FROM_Q_UINT32_IN_MEMORY to affect the way in which * a UInt32 is split into 4 bytes for the S-box selection. */ #define CONVERT_USING_CASTS 0 /* default = 0 */ @@ -339,7 +339,7 @@ /* * Endianness switch. - * Only relevant if SELECT_BYTE_FROM_UINT32_IN_MEMORY or + * Only relevant if SELECT_BYTE_FROM_Q_UINT32_IN_MEMORY or * CONVERT_USING_CASTS is set. * * Set to 1 on a big-endian machine, and to 0 on a little-endian machine. @@ -407,7 +407,7 @@ /* * Compute byte offset within a UInt32 stored in memory. * - * This is only used when SELECT_BYTE_FROM_UINT32_IN_MEMORY is set. + * This is only used when SELECT_BYTE_FROM_Q_UINT32_IN_MEMORY is set. * * The input is the byte number 0..3, 0 for least significant. * Note the use of sizeof() to support UInt32 types that are larger @@ -424,7 +424,7 @@ * Macro to get Byte no. b from UInt32 value X. * We use two different definition, depending on the settings. */ -#if SELECT_BYTE_FROM_UINT32_IN_MEMORY +#if SELECT_BYTE_FROM_Q_UINT32_IN_MEMORY /* Pick the byte from the memory in which X is stored. */ #define SELECT_BYTE( X, b ) (((Twofish_Byte *)(&(X)))[BYTE_OFFSET(b)]) #else diff --git a/src/dialogs/AboutDlg.cpp b/src/dialogs/AboutDlg.cpp index 9f85f2b..148bb02 100755 --- a/src/dialogs/AboutDlg.cpp +++ b/src/dialogs/AboutDlg.cpp @@ -20,14 +20,14 @@ #include "mainwindow.h" #include -#include +#include #include #include #include #include "AboutDlg.h" -CAboutDialog::CAboutDialog(QWidget* parent, const char* name, bool modal, WFlags fl) +CAboutDialog::CAboutDialog(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : AboutDlg(parent,name, modal,fl) { mainwnd=((CMainWindow*)parentWidget()); @@ -57,7 +57,7 @@ close(); void CAboutDialog::OnLicenseClicked(){ QDialog dlg(this,NULL,true); -QScrollView scroll(&dlg); +Q3ScrollView scroll(&dlg); QLabel label(&scroll,"License-Scroll"); scroll.addChild(&label); QFile gpl(((CMainWindow*)parentWidget())->appdir+"/../share/keepass/license.txt"); @@ -68,7 +68,7 @@ QMessageBox::critical(this,trUtf8("Fehler"),trUtf8("Die Datei '%1' konnte nicht return; } -if(!gpl.open(IO_ReadOnly)){ +if(!gpl.open(QIODevice::ReadOnly)){ QMessageBox::critical(this,trUtf8("Fehler"),trUtf8("Die Datei '%1' konnte nicht geöffnet werden.") .arg("'license.txt'")+trUtf8("Es trat folgender Fehler auf:\n%1").arg(gpl.errorString()) ,trUtf8("OK"),0,0,2,1); diff --git a/src/dialogs/AboutDlg.h b/src/dialogs/AboutDlg.h index ba9f6f5..05db255 100755 --- a/src/dialogs/AboutDlg.h +++ b/src/dialogs/AboutDlg.h @@ -31,7 +31,7 @@ class CAboutDialog : public AboutDlg LinkLabel *Link_Homepage,*Link_EMail,*Link_License; public: - CAboutDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CAboutDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CAboutDialog(); CMainWindow* mainwnd; diff --git a/src/dialogs/ChangeKeyDlg.cpp b/src/dialogs/ChangeKeyDlg.cpp index 2365c9a..7f36cd9 100755 --- a/src/dialogs/ChangeKeyDlg.cpp +++ b/src/dialogs/ChangeKeyDlg.cpp @@ -27,12 +27,12 @@ #include #include #include -#include +#include #include -CChangeKeyDlg::CChangeKeyDlg(QWidget* parent,PwDatabase* _db,const char* name, bool modal, WFlags fl) +CChangeKeyDlg::CChangeKeyDlg(QWidget* parent,PwDatabase* _db,const char* name, bool modal, Qt::WFlags fl) : ChangeKeyDialog(parent,name, modal,fl) { db=_db; @@ -78,8 +78,8 @@ else return;} } -UINT8 file_key[32]={0}; -UINT8 pw_key[32]={0}; +Q_UINT8 file_key[32]={0}; +Q_UINT8 pw_key[32]={0}; if(keyfile!=""){ QFile file(keyfile); @@ -87,7 +87,7 @@ if(file.exists()){ int r=QMessageBox::warning(this,trUtf8("Vorhandene Datei überschreiben?"),trUtf8("Unter dem gewählten Dateinamen existiert bereits eine Datei.\nSoll sie überschrieben werden?"),"Ja","Nein",NULL,1,1); if(r==1)return;} getRandomBytes(file_key,1,32,true); -if(file.open(IO_WriteOnly | IO_Truncate)==false){ +if(file.open(QIODevice::WriteOnly | QIODevice::Truncate)==false){ QMessageBox::critical(this,trUtf8("Fehler"),trUtf8("Schlüsseldatei konnte nicht geöffnet werden."),"OK",0,0,2,1); return; } @@ -114,7 +114,7 @@ done(1); void CChangeKeyDlg::OnSelect() { if(Button_Browse->isEnabled()){ -keyfile=QFileDialog::getSaveFileName(QDir::homeDirPath(),"",this,trUtf8("Schlüsseldatei öffnen")); +keyfile=Q3FileDialog::getSaveFileName(QDir::homeDirPath(),"",this,trUtf8("Schlüsseldatei öffnen")); if(keyfile=="")return; Combo_Dirs->insertItem(keyfile); Combo_Dirs->setCurrentItem(Combo_Dirs->count()-1); @@ -131,7 +131,7 @@ IsFile.append(true); void CChangeKeyDlg::OnBrowse() { -QString dir=QFileDialog::getExistingDirectory(QDir::homeDirPath(),NULL,trUtf8("Verzeichnis wählen")); +QString dir=Q3FileDialog::getExistingDirectory(QDir::homeDirPath(),NULL,trUtf8("Verzeichnis wählen")); if(dir=="")return; keyfile=dir+"/pwsafe.key"; Combo_Dirs->insertItem(dir); @@ -190,8 +190,8 @@ Edit_Password_2->setDisabled(true);} void CChangeKeyDlg::OnCheckBoxChanged(int i) { -if(i==QButton::NoChange)return; -if(i==QButton::On){ +if(i==QCheckBox::NoChange)return; +if(i==QCheckBox::On){ Combo_Dirs->setEnabled(true); Button_Browse->setEnabled(true); Edit_Password->setEnabled(true); diff --git a/src/dialogs/ChangeKeyDlg.h b/src/dialogs/ChangeKeyDlg.h index bbf673e..d70d7bf 100755 --- a/src/dialogs/ChangeKeyDlg.h +++ b/src/dialogs/ChangeKeyDlg.h @@ -22,7 +22,7 @@ #define _CHANGEKEYDLG_H_ #include "ui_ChangeKeyDlg.h" #include -#include +#include #include class CChangeKeyDlg : public ChangeKeyDialog @@ -30,7 +30,7 @@ class CChangeKeyDlg : public ChangeKeyDialog Q_OBJECT public: - CChangeKeyDlg(QWidget* parent,PwDatabase* db, const char* name = 0, bool modal = true, WFlags fl = 0 ); + CChangeKeyDlg(QWidget* parent,PwDatabase* db, const char* name = 0, bool modal = true, Qt::WFlags fl = 0 ); ~CChangeKeyDlg(); /*$PUBLIC_FUNCTIONS$*/ @@ -59,7 +59,7 @@ private: PwDatabase* db; CMainWindow* parentwnd; QStringList Paths; -QValueList IsFile; +Q3ValueList IsFile; public: QString keyfile; diff --git a/src/dialogs/DatabaseSettingsDlg.cpp b/src/dialogs/DatabaseSettingsDlg.cpp index 6a7acd7..3a39ff1 100755 --- a/src/dialogs/DatabaseSettingsDlg.cpp +++ b/src/dialogs/DatabaseSettingsDlg.cpp @@ -20,11 +20,13 @@ #include #include #include +//Added by qt3to4: +#include #include "mainwindow.h" #include "DatabaseSettingsDlg.h" -CDbSettingsDlg::CDbSettingsDlg(CMainWindow* parent,Database* db, const char* name, bool modal, WFlags fl) +CDbSettingsDlg::CDbSettingsDlg(CMainWindow* parent,Database* db, const char* name, bool modal, Qt::WFlags fl) : dbsettingdlg_base(parent,name, modal,fl) { database=db; diff --git a/src/dialogs/DatabaseSettingsDlg.h b/src/dialogs/DatabaseSettingsDlg.h index 0226d96..06bd497 100755 --- a/src/dialogs/DatabaseSettingsDlg.h +++ b/src/dialogs/DatabaseSettingsDlg.h @@ -22,13 +22,15 @@ #include "ui_DatabaseSettingsDlg.h" #include "mainwindow.h" #include "Database.h" +//Added by qt3to4: +#include class CDbSettingsDlg : public dbsettingdlg_base { Q_OBJECT public: - CDbSettingsDlg(CMainWindow* parent,Database* db,const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CDbSettingsDlg(CMainWindow* parent,Database* db,const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CDbSettingsDlg(); virtual void showEvent(QShowEvent *); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/dialogs/EditEntryDlg.cpp b/src/dialogs/EditEntryDlg.cpp index 0225771..dec900c 100755 --- a/src/dialogs/EditEntryDlg.cpp +++ b/src/dialogs/EditEntryDlg.cpp @@ -24,16 +24,18 @@ #include #include #include -#include -#include +#include +#include #include #include #include #include #include -#include +#include #include #include +//Added by qt3to4: +#include #include "PasswordGenDlg.h" @@ -41,7 +43,7 @@ -CEditEntryDlg::CEditEntryDlg(QWidget* parent, const char* name, bool modal, WFlags fl) +CEditEntryDlg::CEditEntryDlg(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : EditEntryDialog(parent,name, modal,fl) { @@ -261,17 +263,17 @@ Edit_Expire_Time->setPaletteBackgroundColor(QColor(255,255,255));///@FIXME Stand void CEditEntryDlg::OnNewAttachment() { -QString filename=QFileDialog::getOpenFileName(QDir::homeDirPath(),"",this,QString::fromUtf8("Anhang hinzufügen...")); +QString filename=Q3FileDialog::getOpenFileName(QDir::homeDirPath(),"",this,QString::fromUtf8("Anhang hinzufügen...")); if(filename=="")return; QFile file(filename); -if(file.open(IO_ReadOnly)==false){ +if(file.open(QIODevice::ReadOnly)==false){ file.close(); QMessageBox::warning(NULL,trUtf8("Fehler"),trUtf8("Datei konnte nicht geöffnet werden."),"OK"); return; } ModFlag=true; if(entry->pBinaryData)delete [] entry->pBinaryData; -entry->pBinaryData = new UINT8 [file.size()]; +entry->pBinaryData = new Q_UINT8 [file.size()]; if(entry->pBinaryData==NULL){ file.close(); @@ -300,7 +302,7 @@ ButtonDeleteAttachment->setEnabled(true); void CEditEntryDlg::OnSaveAttachment() { -QString filename=QFileDialog::getSaveFileName(QDir::homeDirPath(),"",this,trUtf8("Anhang speichern...")); +QString filename=Q3FileDialog::getSaveFileName(QDir::homeDirPath(),"",this,trUtf8("Anhang speichern...")); if(filename=="")return; QFile file(filename); if(file.exists()){ @@ -310,7 +312,7 @@ if(file.remove()==false){ QMessageBox::critical(NULL,"Fehler",QString::fromUtf8("Datei konnte nicht überschrieben werden."),"OK"); return;} } -if(file.open(IO_WriteOnly)==false){ +if(file.open(QIODevice::WriteOnly)==false){ QMessageBox::critical(NULL,"Fehler",QString::fromUtf8("Datei konnte nicht erstellt werden."),"OK"); return; } diff --git a/src/dialogs/EditEntryDlg.h b/src/dialogs/EditEntryDlg.h index 2ffcdbd..14fd80d 100755 --- a/src/dialogs/EditEntryDlg.h +++ b/src/dialogs/EditEntryDlg.h @@ -21,13 +21,16 @@ #ifndef EDITENTRYDLG_H #define EDITENTRYDLG_H #include "ui_EditEntryDlg.h" +//Added by qt3to4: +#include +#include class CEditEntryDlg : public EditEntryDialog { Q_OBJECT public: - CEditEntryDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + CEditEntryDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0); ~CEditEntryDlg(); virtual void showEvent(QShowEvent *); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/dialogs/EditGroupDlg.cpp b/src/dialogs/EditGroupDlg.cpp index a3bcc23..82ca266 100755 --- a/src/dialogs/EditGroupDlg.cpp +++ b/src/dialogs/EditGroupDlg.cpp @@ -22,10 +22,12 @@ #include #include +//Added by qt3to4: +#include #include "EditGroupDlg.h" -CEditGroupDialog::CEditGroupDialog(QWidget* parent, const char* name, bool modal, WFlags fl) +CEditGroupDialog::CEditGroupDialog(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : EditGroupDialog(parent,name, modal,fl) { IconID=0; diff --git a/src/dialogs/EditGroupDlg.h b/src/dialogs/EditGroupDlg.h index 1a61aea..4e70f93 100755 --- a/src/dialogs/EditGroupDlg.h +++ b/src/dialogs/EditGroupDlg.h @@ -23,13 +23,15 @@ #include "ui_EditGroupDlg.h" #include +//Added by qt3to4: +#include class CEditGroupDialog : public EditGroupDialog { Q_OBJECT public: - CEditGroupDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CEditGroupDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CEditGroupDialog(); virtual void showEvent(QShowEvent *event); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/dialogs/LanguageDlg.cpp b/src/dialogs/LanguageDlg.cpp index bda049a..a4877e4 100755 --- a/src/dialogs/LanguageDlg.cpp +++ b/src/dialogs/LanguageDlg.cpp @@ -22,8 +22,10 @@ #include #include #include -#include +#include #include +//Added by qt3to4: +#include #include const char* infostrings[]={ @@ -35,13 +37,13 @@ const char* msg[]={QT_TRANSLATE_NOOP("_MSG","Die Änderung der Sprache wird erst QT_TRANSLATE_NOOP("_MSG","OK"), QT_TRANSLATE_NOOP("_MSG","Hinweis")}; -CLanguageDlg::CLanguageDlg(QWidget* parent, const char* name, WFlags fl) +CLanguageDlg::CLanguageDlg(QWidget* parent, const char* name, Qt::WFlags fl) : LanguageDlg(parent,name,fl) { parentwnd=((CMainWindow*)parentWidget()); parentwnd->CreateBanner(Banner,parentwnd->Icon_I18n32x32,trUtf8("Spracheinstellungen")); -QListViewItem* item; +Q3ListViewItem* item; QString& config_lang=parentwnd->config->Language; QStringList files; @@ -51,7 +53,7 @@ if(dir.exists()){ files=dir.entryList("*.qm",QDir::Files); } -List->insertItem(item=new QListViewItem(List,"","Deutsch","-","-")); +List->insertItem(item=new Q3ListViewItem(List,"","Deutsch","-","-")); if(config_lang=="_DEUTSCH_")item->setPixmap(0,*parentwnd->Icon_Ok16x16); pItems.push_back(item); filenames.push_back("_DEUTSCH_"); @@ -62,9 +64,9 @@ QTranslator translator; if(!translator.load(langdir+files[i])){ QMessageBox::warning(this,tr("Warnung"),tr("Die Datei '%1' konnte nicht geladen werden.").arg(files[i]),tr("OK"),0,0,2,1); continue;} -List->insertItem(item=new QListViewItem(List,"",translator.findMessage("_INFO","$TRANSL_LANGUAGE").translation() - ,translator.findMessage("_INFO","$TRANSL_VERSION").translation() - ,translator.findMessage("_INFO","$TRANSL_AUTHOR").translation())); +List->insertItem(item=new Q3ListViewItem(List,"",translator.translate("_INFO","$TRANSL_LANGUAGE") + ,translator.translate("_INFO","$TRANSL_VERSION") + ,translator.translate("_INFO","$TRANSL_AUTHOR"))); if(config_lang==files[i])item->setPixmap(0,*parentwnd->Icon_Ok16x16); pItems.push_back(item); filenames.push_back(files[i]); @@ -85,13 +87,13 @@ List->setColumnWidth(3,width); } } -void CLanguageDlg::OnItemRightClick(QListViewItem* item) +void CLanguageDlg::OnItemRightClick(Q3ListViewItem* item) { //CTX-MENU } -void CLanguageDlg::OnItemDoubleClicked(QListViewItem* item) // == Slot für Button "wählen" +void CLanguageDlg::OnItemDoubleClicked(Q3ListViewItem* item) // == Slot für Button "wählen" { int i; QString langdir=parentwnd->appdir+"/../share/keepass/i18n/"; @@ -99,7 +101,7 @@ QString langdir=parentwnd->appdir+"/../share/keepass/i18n/"; for(i=0;iconfig->Language=filenames[i]; @@ -130,7 +132,7 @@ List->setColumnWidth(3,width); void CLanguageDlg::OnApplyButtonClicked() { -QListViewItem* item=List->selectedItem(); +Q3ListViewItem* item=List->selectedItem(); if(item)OnItemDoubleClicked(item); else QMessageBox::information(this,tr("Hinweis"),trUtf8("Es ist keine Übersetzung aufsgewählt."),tr("OK"),0,0,2,1); } diff --git a/src/dialogs/LanguageDlg.h b/src/dialogs/LanguageDlg.h index 5b6e79e..59f82bc 100755 --- a/src/dialogs/LanguageDlg.h +++ b/src/dialogs/LanguageDlg.h @@ -22,6 +22,8 @@ #define _LANGUAGEDLG_H_ #include "ui_LanguageDlg.h" #include +//Added by qt3to4: +#include @@ -30,11 +32,11 @@ class CLanguageDlg : public LanguageDlg Q_OBJECT public: - CLanguageDlg(QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); + CLanguageDlg(QWidget* parent = 0, const char* name = 0, Qt::WFlags fl = 0 ); ~CLanguageDlg(); CMainWindow* parentwnd; vector filenames; - vector pItems; + vector pItems; /*$PUBLIC_FUNCTIONS$*/ public slots: @@ -48,8 +50,8 @@ protected: protected slots: /*$PROTECTED_SLOTS$*/ virtual void showEvent(QShowEvent *e); - virtual void OnItemDoubleClicked(QListViewItem* item); - virtual void OnItemRightClick(QListViewItem* item); + virtual void OnItemDoubleClicked(Q3ListViewItem* item); + virtual void OnItemRightClick(Q3ListViewItem* item); virtual void OnButtonCloseClicked(); virtual void OnApplyButtonClicked(); diff --git a/src/dialogs/PasswordDlg.cpp b/src/dialogs/PasswordDlg.cpp index 3f1bc30..d5f04d5 100755 --- a/src/dialogs/PasswordDlg.cpp +++ b/src/dialogs/PasswordDlg.cpp @@ -24,16 +24,16 @@ #include #include #include -#include +#include #include #include #include -#include +#include #include -CPasswordDialog::CPasswordDialog(QWidget* parent, const char* name, bool modal, WFlags fl) +CPasswordDialog::CPasswordDialog(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : PasswordDlg(parent,name, modal,fl) { parentwnd=((CMainWindow*)parentWidget()); @@ -95,7 +95,7 @@ return; void CPasswordDialog::OnButtonBrowse() { ///@PlatformSpecific -QString dir=QFileDialog::getExistingDirectory(QDir::homeDirPath(),NULL,QString::fromUtf8("Verzeichnis wählen")); +QString dir=Q3FileDialog::getExistingDirectory(QDir::homeDirPath(),NULL,QString::fromUtf8("Verzeichnis wählen")); if(dir=="")return; QFile file(dir+"/pwsafe.key"); @@ -117,7 +117,7 @@ QMessageBox::warning(this,"Datei nicht gefunden",QString::fromUtf8("Im gewählte void CPasswordDialog::OnSelectClicked() { if(Button_Browse->isEnabled()){ -keyfile=QFileDialog::getOpenFileName(QDir::homeDirPath(),"",this,QString::fromUtf8("Schlüsseldatei öffnen")); +keyfile=Q3FileDialog::getOpenFileName(QDir::homeDirPath(),"",this,QString::fromUtf8("Schlüsseldatei öffnen")); if(keyfile=="")return; Combo_Dirs->insertItem(keyfile); Combo_Dirs->setCurrentItem(Combo_Dirs->count()-1); @@ -172,7 +172,7 @@ Button_Browse->setEnabled(true);} void CPasswordDialog::OnCheckBox_BothChanged(int state) { -if(state==QButton::On){ +if(state==QCheckBox::On){ Combo_Dirs->setEnabled(true); Button_Browse->setEnabled(true); Edit_Password->setEnabled(true);} diff --git a/src/dialogs/PasswordDlg.h b/src/dialogs/PasswordDlg.h index b927ab8..1d133cb 100755 --- a/src/dialogs/PasswordDlg.h +++ b/src/dialogs/PasswordDlg.h @@ -22,6 +22,8 @@ #define PASSWORDDIALOG_H #include "lib/UrlLabel.h" #include "ui_PasswordDlg.h" +//Added by qt3to4: +#include class CPasswordDialog : public PasswordDlg { @@ -31,7 +33,7 @@ private: CMainWindow* parentwnd; int NumComboEntries; QStringList Paths; -QValueList IsFile; +Q3ValueList IsFile; LinkLabel* Label_select; @@ -43,7 +45,7 @@ bool canceled; public: - CPasswordDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CPasswordDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CPasswordDialog(); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/dialogs/PasswordGenDlg.cpp b/src/dialogs/PasswordGenDlg.cpp index d35b741..427604a 100755 --- a/src/dialogs/PasswordGenDlg.cpp +++ b/src/dialogs/PasswordGenDlg.cpp @@ -25,9 +25,9 @@ #include #include #include -#include +#include -CGenPwDialog::CGenPwDialog(QWidget* parent, const char* name, bool modal, WFlags fl) +CGenPwDialog::CGenPwDialog(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : GenPwDlg(parent,name, modal,fl) { mainwnd=(CMainWindow*)(((CEditEntryDlg*)parentWidget())->parentWidget()); @@ -47,7 +47,7 @@ CGenPwDialog::~CGenPwDialog() void CGenPwDialog::OnRadio1StateChanged(int state) { switch (state){ - case QButton::On: + case QCheckBox::On: Radio_2->setChecked(false); checkBox1->setEnabled(true); checkBox2->setEnabled(true); @@ -58,7 +58,7 @@ switch (state){ checkBox7->setEnabled(true); checkBox8->setEnabled(true); break; - case QButton::Off: + case QCheckBox::Off: if(Radio_2->isChecked()==false)Radio_2->setChecked(true); checkBox1->setDisabled(true); checkBox2->setDisabled(true); @@ -70,7 +70,7 @@ switch (state){ checkBox8->setDisabled(true); break; - case QButton::NoChange: + case QCheckBox::NoChange: break; } @@ -79,15 +79,15 @@ switch (state){ void CGenPwDialog::OnRadio2StateChanged(int state) { switch (state){ - case QButton::On: + case QCheckBox::On: Radio_1->setChecked(false); Edit_chars->setEnabled(true); break; - case QButton::Off: + case QCheckBox::Off: if(Radio_1->isChecked()==false)Radio_1->setChecked(true); Edit_chars->setDisabled(true); break; - case QButton::NoChange: + case QCheckBox::NoChange: break; } @@ -149,7 +149,7 @@ num+=AddToAssoctable(assoctable,128,255,num); QString str=Edit_chars->text(); int i=0; while(str.length()>0){ -assoctable[i]=(char)((QChar)str[0]); +assoctable[i]=((QChar)str[0]).toAscii(); str.remove(str[0]); i++; num++; diff --git a/src/dialogs/PasswordGenDlg.h b/src/dialogs/PasswordGenDlg.h index 14ac737..e4e3a07 100755 --- a/src/dialogs/PasswordGenDlg.h +++ b/src/dialogs/PasswordGenDlg.h @@ -32,7 +32,7 @@ private: int AddToAssoctable(char* table,int start,int end,int pos); bool trim(unsigned char &value,int range); public: - CGenPwDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CGenPwDialog(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CGenPwDialog(); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/dialogs/SearchDlg.cpp b/src/dialogs/SearchDlg.cpp index e81799a..8b76d66 100755 --- a/src/dialogs/SearchDlg.cpp +++ b/src/dialogs/SearchDlg.cpp @@ -25,7 +25,7 @@ #include #include -CSearchDlg::CSearchDlg(CGroup* pGroup,QWidget* parent, const char* name, bool modal, WFlags fl) +CSearchDlg::CSearchDlg(CGroup* pGroup,QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : Search_Dlg(parent,name, modal,fl) { parentwnd=(CMainWindow*)parent; diff --git a/src/dialogs/SearchDlg.h b/src/dialogs/SearchDlg.h index 4efddd8..d099b52 100755 --- a/src/dialogs/SearchDlg.h +++ b/src/dialogs/SearchDlg.h @@ -27,7 +27,7 @@ class CSearchDlg : public Search_Dlg Q_OBJECT public: - CSearchDlg(CGroup* pGroup=NULL,QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CSearchDlg(CGroup* pGroup=NULL,QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CSearchDlg(); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/dialogs/SettingsDlg.cpp b/src/dialogs/SettingsDlg.cpp index 3488939..0048888 100755 --- a/src/dialogs/SettingsDlg.cpp +++ b/src/dialogs/SettingsDlg.cpp @@ -26,7 +26,7 @@ #include "SettingsDlg.h" -CSettingsDlg::CSettingsDlg(QWidget* parent, const char* name, bool modal, WFlags fl) +CSettingsDlg::CSettingsDlg(QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : SettingsDialog(parent,name, modal,fl) { pw=((CMainWindow*)parentWidget())->db; @@ -36,13 +36,13 @@ mainwnd->CreateBanner(Banner,mainwnd->Icon_Settings32x32,trUtf8("Einstellungen") CheckBox_OpenLast->setChecked(mainwnd->config->OpenLast); SpinBox_ClipboardTime->setValue(mainwnd->config->ClipboardTimeOut); pixmTextColor->setPixmap(*(new QPixmap(pixmTextColor->width(),pixmTextColor->height()))); -pixmTextColor->pixmap()->fill(mainwnd->config->BannerTextColor); +//pixmTextColor->pixmap()->fill(mainwnd->config->BannerTextColor); pixmColor1->setPixmap(*(new QPixmap(pixmColor1->width(),pixmColor1->height()))); -pixmColor1->pixmap()->fill(mainwnd->config->BannerColor1); +//pixmColor1->pixmap()->fill(mainwnd->config->BannerColor1); pixmColor2->setPixmap(*(new QPixmap(pixmColor2->width(),pixmColor2->height()))); -pixmColor2->pixmap()->fill(mainwnd->config->BannerColor2); +//pixmColor2->pixmap()->fill(mainwnd->config->BannerColor2); color1=mainwnd->config->BannerColor1; color2=mainwnd->config->BannerColor2; diff --git a/src/dialogs/SettingsDlg.h b/src/dialogs/SettingsDlg.h index eabfb4d..3ba8850 100755 --- a/src/dialogs/SettingsDlg.h +++ b/src/dialogs/SettingsDlg.h @@ -31,7 +31,7 @@ class CSettingsDlg : public SettingsDialog public: CMainWindow* mainwnd; PwDatabase* pw; - CSettingsDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CSettingsDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CSettingsDlg(); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/dialogs/SimplePasswordDlg.cpp b/src/dialogs/SimplePasswordDlg.cpp index 74af573..d61a0c1 100755 --- a/src/dialogs/SimplePasswordDlg.cpp +++ b/src/dialogs/SimplePasswordDlg.cpp @@ -23,7 +23,7 @@ #include #include -CSimplePasswordDialog::CSimplePasswordDialog(bool HidePw,QWidget* parent, const char* name, bool modal, WFlags fl) +CSimplePasswordDialog::CSimplePasswordDialog(bool HidePw,QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : SimplePasswordDialog(parent,name, modal,fl) { if(HidePw)Button_HidePassword->toggle(); diff --git a/src/dialogs/SimplePasswordDlg.h b/src/dialogs/SimplePasswordDlg.h index 616447d..cdddd56 100755 --- a/src/dialogs/SimplePasswordDlg.h +++ b/src/dialogs/SimplePasswordDlg.h @@ -28,7 +28,7 @@ class CSimplePasswordDialog : public SimplePasswordDialog Q_OBJECT public: - CSimplePasswordDialog(bool HidePw,QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + CSimplePasswordDialog(bool HidePw,QWidget* parent = 0, const char* name = 0, bool modal = FALSE, Qt::WFlags fl = 0 ); ~CSimplePasswordDialog(); /*$PUBLIC_FUNCTIONS$*/ diff --git a/src/import/Import_KWalletXml.cpp b/src/import/Import_KWalletXml.cpp index 1506903..e7cc18c 100755 --- a/src/import/Import_KWalletXml.cpp +++ b/src/import/Import_KWalletXml.cpp @@ -29,14 +29,14 @@ QFile file(FileName); if(!file.exists()){ err+=QObject::trUtf8("Datei nicht gefunden"); return false;} -if(!file.open(IO_ReadOnly)){ +if(!file.open(QIODevice::ReadOnly)){ err+=QObject::trUtf8("Datei konnte nicht geöffnet werden"); return false;} int len=file.size(); if(len==0){ err+=QObject::trUtf8("Datei ist leer"); return false;} -UINT8* buffer=new UINT8[len]; +Q_UINT8* buffer=new Q_UINT8[len]; file.readBlock((char*)buffer,len); file.close(); QDomDocument doc; @@ -44,7 +44,7 @@ QString xmlerr; int col,line; if(!doc.setContent(QString::fromUtf8((char*)buffer,len),false,&xmlerr,&line,&col)){ cout << "Import_PwManager::parseXmlContent():" << endl; - cout << (xmlerr+" (Line:%1 Column:%2)").arg(line).arg(col) << endl; + cout << (xmlerr+" (Line:%1 Column:%2)").arg(line).arg(col).ascii() << endl; err+=QObject::trUtf8("Ungültiges XML-Dokument"); delete [] buffer; return false;} @@ -93,7 +93,7 @@ int offset=0; if(len<48){ err+=QObject::trUtf8("Unerwartete Dateilänge"); return false;} -UINT8* buffer=new UINT8[len]; +Q_UINT8* buffer=new Q_UINT8[len]; int df=file.readBlock((char*)buffer,len); file.close(); diff --git a/src/import/Import_PwManager.cpp b/src/import/Import_PwManager.cpp index 497f73e..32bedbb 100755 --- a/src/import/Import_PwManager.cpp +++ b/src/import/Import_PwManager.cpp @@ -34,7 +34,7 @@ char* buffer=NULL; int offset=0; int len=0; if(!file.exists()){err+=QObject::trUtf8("Die angegebene Datei existiert nicht."); return false;} -if(!file.open(IO_ReadOnly)){err+=QObject::trUtf8("Datei konnte nicht geöffnet werden."); return false;} +if(!file.open(QIODevice::ReadOnly)){err+=QObject::trUtf8("Datei konnte nicht geöffnet werden."); return false;} if(len=file.size()) buffer=new char[len]; else {err+=QObject::trUtf8("Datei ist leer"); return false;} file.readBlock(buffer,len); @@ -116,7 +116,7 @@ QString err; int col,line; if(!db.setContent(QString::fromUtf8(content,strlen(content)-1),false,&err,&line,&col)){ cout << "Import_PwManager::parseXmlContent():" << endl; - cout << (err+" (Line:%1 Column:%2)").arg(line).arg(col) << endl; + cout << (err+" (Line:%1 Column:%2)").arg(line).arg(col).ascii() << endl; return false;} QDomElement root=db.documentElement(); if(root.tagName()!="P")return false; diff --git a/src/lib/PwmTime.cpp b/src/lib/PwmTime.cpp index 8a52658..c6d2dd1 100644 --- a/src/lib/PwmTime.cpp +++ b/src/lib/PwmTime.cpp @@ -21,9 +21,9 @@ void CPwmTime::Set(unsigned char* pBytes){ -UINT32 dw1, dw2, dw3, dw4, dw5; -dw1 = (UINT32)pBytes[0]; dw2 = (UINT32)pBytes[1]; dw3 = (UINT32)pBytes[2]; -dw4 = (UINT32)pBytes[3]; dw5 = (UINT32)pBytes[4]; +Q_UINT32 dw1, dw2, dw3, dw4, dw5; +dw1 = (Q_UINT32)pBytes[0]; dw2 = (Q_UINT32)pBytes[1]; dw3 = (Q_UINT32)pBytes[2]; +dw4 = (Q_UINT32)pBytes[3]; dw5 = (Q_UINT32)pBytes[4]; // Unpack 5 byte structure to date and time ///@FIXME nicht Endian-sicher Year = (dw1 << 6) | (dw2 >> 2); @@ -36,14 +36,14 @@ Second = dw5 & 0x0000003F; void CPwmTime::GetPackedTime(unsigned char* pBytes){ ///@FIXME nicht Endian-sicher -pBytes[0] = (UINT8)(((UINT32)Year >> 6) & 0x0000003F); -pBytes[1] = (UINT8)((((UINT32)Year & 0x0000003F) << 2) | (((UINT32)Month >> 2) & 0x00000003)); -pBytes[2] = (UINT8)((((UINT32)Month & 0x00000003) << 6) | (((UINT32)Day & 0x0000001F) << 1) | (((UINT32)Hour >> 4) & 0x00000001)); -pBytes[3] = (UINT8)((((UINT32)Hour & 0x0000000F) << 4) | (((UINT32)Minute >> 2) & 0x0000000F)); -pBytes[4] = (UINT8)((((UINT32)Minute & 0x00000003) << 6) | ((UINT32)Second & 0x0000003F)); +pBytes[0] = (Q_UINT8)(((Q_UINT32)Year >> 6) & 0x0000003F); +pBytes[1] = (Q_UINT8)((((Q_UINT32)Year & 0x0000003F) << 2) | (((Q_UINT32)Month >> 2) & 0x00000003)); +pBytes[2] = (Q_UINT8)((((Q_UINT32)Month & 0x00000003) << 6) | (((Q_UINT32)Day & 0x0000001F) << 1) | (((Q_UINT32)Hour >> 4) & 0x00000001)); +pBytes[3] = (Q_UINT8)((((Q_UINT32)Hour & 0x0000000F) << 4) | (((Q_UINT32)Minute >> 2) & 0x0000000F)); +pBytes[4] = (Q_UINT8)((((Q_UINT32)Minute & 0x00000003) << 6) | ((Q_UINT32)Second & 0x0000003F)); } -QString CPwmTime::GetString(UINT16 format){ +QString CPwmTime::GetString(Q_UINT16 format){ QString str; switch(format){ case 0: @@ -88,7 +88,7 @@ str=str.arg(Second);} return str; } -void CPwmTime::Set(UINT8 iDay,UINT8 iMonth,UINT16 iYear,UINT8 iHour,UINT8 iMinute,UINT8 iSecond){ +void CPwmTime::Set(Q_UINT8 iDay,Q_UINT8 iMonth,Q_UINT16 iYear,Q_UINT8 iHour,Q_UINT8 iMinute,Q_UINT8 iSecond){ Day=iDay; Month=iMonth; Year=iYear; diff --git a/src/lib/PwmTime.h b/src/lib/PwmTime.h index cd50b60..4256e46 100644 --- a/src/lib/PwmTime.h +++ b/src/lib/PwmTime.h @@ -25,15 +25,15 @@ class CPwmTime; class CPwmTime{ public: - UINT16 Year; - UINT8 Month; - UINT8 Day; - UINT8 Hour; - UINT8 Minute; - UINT8 Second; + Q_UINT16 Year; + Q_UINT8 Month; + Q_UINT8 Day; + Q_UINT8 Hour; + Q_UINT8 Minute; + Q_UINT8 Second; - QString GetString(UINT16 format); - void Set(UINT8,UINT8,UINT16,UINT8,UINT8,UINT8); + QString GetString(Q_UINT16 format); + void Set(Q_UINT8,Q_UINT8,Q_UINT16,Q_UINT8,Q_UINT8,Q_UINT8); void Set(unsigned char* packedTime); void GetPackedTime(unsigned char* dst); static bool IsValidDate(QString& string); @@ -48,4 +48,4 @@ public: }; -#endif \ No newline at end of file +#endif diff --git a/src/lib/SecString.cpp b/src/lib/SecString.cpp index 2e45a37..4f357c6 100755 --- a/src/lib/SecString.cpp +++ b/src/lib/SecString.cpp @@ -23,7 +23,7 @@ #include #include "random.h" -UINT8 SecString::Key[32]={0}; +Q_UINT8 SecString::Key[32]={0}; SecString::SecString(){ data=NULL; @@ -102,4 +102,4 @@ return len; void SecString::generateSessionKey(){ getRandomBytes(Key,32,1,false); -} \ No newline at end of file +} diff --git a/src/lib/SecString.h b/src/lib/SecString.h index c7ed7c2..2ceb142 100755 --- a/src/lib/SecString.h +++ b/src/lib/SecString.h @@ -40,7 +40,7 @@ public: static void generateSessionKey(); private: - static UINT8 Key[32]; + static Q_UINT8 Key[32]; QString plaintext; char* data; int len; @@ -48,4 +48,4 @@ private: }; -#endif \ No newline at end of file +#endif diff --git a/src/lib/UrlLabel.cpp b/src/lib/UrlLabel.cpp index f86d102..ee50589 100755 --- a/src/lib/UrlLabel.cpp +++ b/src/lib/UrlLabel.cpp @@ -24,12 +24,15 @@ #include #include #include +//Added by qt3to4: +#include +#include -LinkLabel::LinkLabel(QWidget *parent, const char* name,const QString& text, int x, int y,WFlags f) : QLabel(parent,name,f){ +LinkLabel::LinkLabel(QWidget *parent, const char* name,const QString& text, int x, int y,Qt::WFlags f) : QLabel(parent,name,f){ QFont font(parentWidget()->font()); font.setUnderline(true); setFont(font); setPaletteForegroundColor(QColor(20,20,255)); -setCursor(PointingHandCursor); +setCursor(Qt::PointingHandCursor); setText(text); setPos(x,y); } @@ -39,7 +42,7 @@ LinkLabel::~LinkLabel(){ } void LinkLabel::mouseReleaseEvent(QMouseEvent* event){ -if(event->button()==LeftButton) +if(event->button()==Qt::LeftButton) clicked(); } diff --git a/src/lib/UrlLabel.h b/src/lib/UrlLabel.h index bd3dcb3..86939e2 100755 --- a/src/lib/UrlLabel.h +++ b/src/lib/UrlLabel.h @@ -21,12 +21,14 @@ #ifndef _LINKLABEL_H_ #define _LINKLABEL_H_ #include -#include +#include +//Added by qt3to4: +#include class LinkLabel : public QLabel{ Q_OBJECT public: -LinkLabel(QWidget *parent, const char* name = 0,const QString& text=QString::null, int x=0, int y=0,WFlags f=0); +LinkLabel(QWidget *parent, const char* name = 0,const QString& text=QString::null, int x=0, int y=0,Qt::WFlags f=0); ~LinkLabel(); void setPos(int x,int y); diff --git a/src/lib/random.cpp b/src/lib/random.cpp index 7336547..da84ae3 100755 --- a/src/lib/random.cpp +++ b/src/lib/random.cpp @@ -31,11 +31,11 @@ else{ dev_random = fopen("/dev/urandom","r");} if (dev_random==NULL){ - cout << QObject::tr("/dev/random konnte nicht geöffnet werden - nutze Standardbibliothek (stdlib)") << endl; + qWarning(QObject::tr("/dev/random konnte nicht geöffnet werden - nutze Standardbibliothek (stdlib)")+"\n"); srand(QTime(0,0,0).secsTo(QTime::currentTime())); for(int i=0;i #include #include +//Added by qt3to4: +#include #include "pwsafe.h" #include "PwmConfig.h" diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 256006f..4879b64 100755 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -21,23 +21,28 @@ //QT #include #include -#include +#include #include #include -#include -#include +#include +#include #include #include -#include -#include +#include +#include #include #include #include #include -#include +#include #include #include #include +//Added by qt3to4: +#include +#include +#include +#include //STD #include //local @@ -61,7 +66,7 @@ #include "import/Import_PwManager.h" #include "import/Import_KWalletXml.h" -CMainWindow::CMainWindow(QApplication* app,QString ArgFile,CConfig* cfg,QWidget* parent,const char* name, WFlags fl) +CMainWindow::CMainWindow(QApplication* app,QString ArgFile,CConfig* cfg,QWidget* parent,const char* name, Qt::WFlags fl) : MainFrame(parent,name,fl) { config=cfg; @@ -111,8 +116,8 @@ Icon_Search32x32=new QPixmap; // Signal-Slot Connections // connect(&ClipboardTimer, SIGNAL(timeout()), this, SLOT(OnClipboardTimerEvent())); -connect(GroupView,SIGNAL(collapsed(QListViewItem*)),this, SLOT(OnGroupItemCollapsed(QListViewItem*))); -connect(GroupView,SIGNAL(expanded(QListViewItem*)),this, SLOT(OnGroupItemExpanded(QListViewItem*))); +connect(GroupView,SIGNAL(collapsed(Q3ListViewItem*)),this, SLOT(OnGroupItemCollapsed(Q3ListViewItem*))); +connect(GroupView,SIGNAL(expanded(Q3ListViewItem*)),this, SLOT(OnGroupItemExpanded(Q3ListViewItem*))); // MainWnd // @@ -207,7 +212,7 @@ else { QFileInfo file(ArgFile); if(file.exists() && file.isFile())OpenDatabase(ArgFile); - else {cout << "file not found "<< ArgFile << endl;} + else {cout << "file not found "<< ArgFile.ascii() << endl;} } @@ -247,7 +252,7 @@ void CMainWindow::OnMainWinResize() } void CMainWindow::OnFileOpen(){ -QString filename=QFileDialog::getOpenFileName(QDir::homeDirPath(),"*.kdb",this,trUtf8("Datenbank öffnen")); +QString filename=Q3FileDialog::getOpenFileName(QDir::homeDirPath(),"*.kdb",this,trUtf8("Datenbank öffnen")); if(filename=="")return; OpenDatabase(filename); } @@ -289,7 +294,7 @@ else{ delete db; FileOpen=false; QMessageBox::critical(NULL,trUtf8("Fehler"),trUtf8("Beim öffnen der Datenbank ist ein Fehler aufgetreten:\n%1") - .arg(err),trUtf8("OK"),0,0); + .arg(err),trUtf8("OK"),0,0,0); } } @@ -329,7 +334,7 @@ for(int i=0;isetText(j++,entry->BinaryDesc);} } } -void CMainWindow::OnEntryChanged(QListViewItem* item){ +void CMainWindow::OnEntryChanged(Q3ListViewItem* item){ if(item)SetEditMenuState(STATE_SingleEntrySelected); else SetEditMenuState(STATE_NoEntrySelected); updateEntryDetails((EntryItem*)item); @@ -436,7 +441,7 @@ updateEntryDetails((EntryItem*)item); void CMainWindow::showEvent(QShowEvent *event){ if(event->spontaneous()==false){ SetEditMenuState(STATE_NoGroupSelected); -QValueList s; +Q3ValueList s; s.push_back(25); s.push_back(100); parentWidget()->resize(750,450); splitter->setSizes(s); @@ -466,7 +471,7 @@ SetFileMenuState(STATE_FileOpen); } } -void CMainWindow::OnEntryDoubleClicked(QListViewItem* item,const QPoint& Point, int column){ +void CMainWindow::OnEntryDoubleClicked(Q3ListViewItem* item,const QPoint& Point, int column){ if(item && (column==0)){ OnEditEntry(); } @@ -487,7 +492,7 @@ float b1[3]; float b2[3]; float a1,a2; QPixmap* banner_pixmap=new QPixmap(w,h); ///@FIXME löscht der Destruktor von QLabel die Pixmap zum schluss??? -QPainter painter(banner_pixmap,24); +QPainter painter(banner_pixmap); QPen pen; pen.setWidth(1); painter.setPen(pen); @@ -562,7 +567,7 @@ if(db->SaveDataBase(db->filename))setModFlag(false); void CMainWindow::OnFileSaveAs() { -QString filename=QFileDialog::getSaveFileName(QDir::homeDirPath(),"*.kdb",this,trUtf8("Datenbank öffnen")); +QString filename=Q3FileDialog::getSaveFileName(QDir::homeDirPath(),"*.kdb",this,trUtf8("Datenbank öffnen")); if(filename=="")return; db->filename=filename; config->LastFile=filename; @@ -741,7 +746,7 @@ OpenURL(currentEntry()->URL); } void CMainWindow::OpenURL(QString url){ -QProcess browser; +Q3Process browser; browser.setArguments(QStringList::split(' ',config->OpenUrlCommand.arg(url))); browser.start(); } @@ -753,7 +758,7 @@ if(entry.BinaryDataLength==0){ QMessageBox::information(NULL,trUtf8("Hinweis"),trUtf8("Dieser Eintrag hat keinen Dateianhang."),"OK"); return; } -QString filename=QFileDialog::getSaveFileName(QDir::homeDirPath(),"",this,trUtf8("Anhang speichern...")); +QString filename=Q3FileDialog::getSaveFileName(QDir::homeDirPath(),"",this,trUtf8("Anhang speichern...")); if(filename=="")return; QFile file(filename); if(file.exists()){ @@ -763,7 +768,7 @@ if(file.remove()==false){ QMessageBox::critical(NULL,trUtf8("Fehler"),trUtf8("Datei konnte nicht überschrieben werden."),trUtf8("OK")); return;} } -if(file.open(IO_WriteOnly)==false){ +if(file.open(QIODevice::WriteOnly)==false){ QMessageBox::critical(NULL,trUtf8("Fehler"),trUtf8("Datei konnte nicht erstellt werden."),trUtf8("OK")); return; } @@ -896,11 +901,11 @@ updateGroupView(); } -void CMainWindow::OnEntryRightClicked(QListViewItem* item, const QPoint& pos,int column) +void CMainWindow::OnEntryRightClicked(Q3ListViewItem* item, const QPoint& pos,int column) { if(!FileOpen)return; if(!CurrentGroup) return; -QPopupMenu menu; +Q3PopupMenu menu; connect(&menu, SIGNAL(activated(int)), this, SLOT(OnEntryCtxMenuClicked(int))); menu.insertItem(trUtf8("Passwort in Zwischenablage kopieren"),1); menu.insertItem(trUtf8("Benutzername in Zwischenablage kopieren"),2); @@ -951,11 +956,11 @@ break; } } -void CMainWindow::OnGroupRightClicked(QListViewItem* item, const QPoint& pos, int column) +void CMainWindow::OnGroupRightClicked(Q3ListViewItem* item, const QPoint& pos, int column) { if(!FileOpen)return; -QPopupMenu menu; +Q3PopupMenu menu; if(column!=-1){ if(((GroupItem*)item)->pGroup->ID!=db->SearchGroupID){ connect(&menu, SIGNAL(activated(int)), this, SLOT(OnGroupCtxMenuClicked(int))); @@ -1146,7 +1151,7 @@ updateEntryView(); void CMainWindow::OnExtrasLanguage() { -CLanguageDlg dlg(this,0,true); +CLanguageDlg dlg(this,0/*,QT3 modal? = true*/); dlg.exec(); } @@ -1166,11 +1171,11 @@ modflag=flag; toolButtonSave->setEnabled(flag); } -void CMainWindow::OnGroupItemExpanded(QListViewItem* item){ +void CMainWindow::OnGroupItemExpanded(Q3ListViewItem* item){ ((GroupItem*)item)->pGroup->UI_ItemIsExpanded=true; } -void CMainWindow::OnGroupItemCollapsed(QListViewItem* item){ +void CMainWindow::OnGroupItemCollapsed(Q3ListViewItem* item){ ((GroupItem*)item)->pGroup->UI_ItemIsExpanded=false; } @@ -1186,7 +1191,7 @@ if(db->Groups.size()){ //cout << "Start: 0x" << QString::number((unsigned int)&db->Groups.front(),16) << endl; //cout << "End: 0x" << QString::number((unsigned int)&db->Groups.back(),16) << endl; for(int i=0;iGroups.size();i++){ -cout << QString("(+%1) '%2', Level=%3, ID=%4").arg(i).arg(db->Groups[i].Name).arg(db->Groups[i].Level).arg(db->Groups[i].ID) +cout << QString("(+%1) '%2', Level=%3, ID=%4").arg(i).arg(db->Groups[i].Name).arg(db->Groups[i].Level).arg(db->Groups[i].ID).ascii() << endl; } } @@ -1201,7 +1206,7 @@ QString groupname="???"; groupname="'"+db->Groups[j].Name+"'"; break;} } -cout << QString("(+%1) '%2', GroupID=%3 [%4], sID=%5").arg(i).arg(db->Entries[i].Title).arg(db->Entries[i].GroupID).arg(groupname).arg(db->Entries[i].sID) +cout << QString("(+%1) '%2', GroupID=%3 [%4], sID=%5").arg(i).arg(db->Entries[i].Title).arg(db->Entries[i].GroupID).arg(groupname).arg(db->Entries[i].sID).ascii() << endl; } } @@ -1233,7 +1238,7 @@ switch(ret){ case 2: return; } } -QString filename=QFileDialog::getOpenFileName(QDir::homeDirPath(),"*.pwm",this,trUtf8("Datenbank importieren")); +QString filename=Q3FileDialog::getOpenFileName(QDir::homeDirPath(),"*.pwm",this,trUtf8("Datenbank importieren")); if(filename=="")return; CSimplePasswordDialog dlg(!config->ShowPasswords,this,"SimplePasswordDlg",true); if(!dlg.exec())return; @@ -1305,7 +1310,7 @@ switch(ret){ case 2: return; } } -QString filename=QFileDialog::getOpenFileName(QDir::homeDirPath(),"*.xml",this,trUtf8("Datenbank importieren")); +QString filename=Q3FileDialog::getOpenFileName(QDir::homeDirPath(),"*.xml",this,trUtf8("Datenbank importieren")); if(filename=="")return; Import_KWalletXml importer; QString err; @@ -1373,4 +1378,4 @@ return (EntryItem*)EntryView->currentItem(); CEntry* CMainWindow::currentEntry(){ return ((EntryItem*)EntryView->currentItem())->pEntry; -} \ No newline at end of file +} diff --git a/src/mainwindow.h b/src/mainwindow.h index 7c368d9..4a01ffd 100755 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -28,6 +28,10 @@ #include #include #include +//Added by qt3to4: +#include +#include +#include #include "ui_MainWindow.h" #include "ListViews.h" #include "PwmConfig.h" @@ -40,7 +44,7 @@ Q_OBJECT public: /*$PUBLIC_FUNCTIONS$*/ - CMainWindow(QApplication* app,QString ArgFile,CConfig* config, QWidget* parent = 0,const char* name = 0, WFlags fl = 0 ); + CMainWindow(QApplication* app,QString ArgFile,CConfig* config, QWidget* parent = 0,const char* name = 0, Qt::WFlags fl = 0 ); ~CMainWindow(); protected: /*$PROTECTED_FUNCTIONS$*/ @@ -54,9 +58,9 @@ public slots: virtual void OnClose(); virtual void OnMainWinResize(); virtual void OnFileOpen(); - virtual void OnGroupChanged(QListViewItem*); - virtual void OnEntryChanged(QListViewItem*); - virtual void OnEntryDoubleClicked(QListViewItem*,const QPoint&,int); + virtual void OnGroupChanged(Q3ListViewItem*); + virtual void OnEntryChanged(Q3ListViewItem*); + virtual void OnEntryDoubleClicked(Q3ListViewItem*,const QPoint&,int); virtual void OnMenu_closeDB(); virtual void OnFileSaveAs(); virtual void OnFileSave(); @@ -76,9 +80,9 @@ public slots: virtual void OnEditEntry(); virtual void OnAddEntry(); virtual void OnSaveAttachment(); - virtual void OnEntryRightClicked(QListViewItem* item, const QPoint& pos,int column); + virtual void OnEntryRightClicked(Q3ListViewItem* item, const QPoint& pos,int column); virtual void OnEntryCtxMenuClicked(int id); - virtual void OnGroupRightClicked(QListViewItem* item, const QPoint& pos, int column); + virtual void OnGroupRightClicked(Q3ListViewItem* item, const QPoint& pos, int column); virtual void OnGroupCtxMenuClicked(int id); virtual void OnChangeDbKey(); virtual void OnDbSettings(); @@ -100,8 +104,8 @@ public slots: virtual void OnExtrasLanguage(); virtual void OnSearchGroupCtxMenuClicked(int); virtual void OnQickSearch(); - virtual void OnGroupItemExpanded(QListViewItem* item); - virtual void OnGroupItemCollapsed(QListViewItem* item); + virtual void OnGroupItemExpanded(Q3ListViewItem* item); + virtual void OnGroupItemCollapsed(Q3ListViewItem* item); virtual void DEBUG_OnPrintDbStucture(); virtual void OnImportPwManagerFile(); virtual void OnView_HideUsernamesToggled(bool state); diff --git a/src/pwsafe.cpp b/src/pwsafe.cpp index 34648e1..2eee8f3 100755 --- a/src/pwsafe.cpp +++ b/src/pwsafe.cpp @@ -21,7 +21,7 @@ #include "mainwindow.h" #include "pwsafe.h" -PwSafe::PwSafe(QApplication* app,QString& ArgFile,CConfig* cfg):QMainWindow( 0, "Keepass") +PwSafe::PwSafe(QApplication* app,QString& ArgFile,CConfig* cfg):Q3MainWindow( 0, "Keepass") { mainWin=new CMainWindow(app,ArgFile,cfg,this); diff --git a/src/pwsafe.h b/src/pwsafe.h index 7ed33c5..97d34fd 100755 --- a/src/pwsafe.h +++ b/src/pwsafe.h @@ -23,12 +23,12 @@ #define _PWSAFE_H_ #include -#include +#include #include "PwmConfig.h" class CMainWindow; -class PwSafe : public QMainWindow +class PwSafe : public Q3MainWindow { Q_OBJECT public: diff --git a/src/src.pro b/src/src.pro index 1b184bd..f825370 100755 --- a/src/src.pro +++ b/src/src.pro @@ -97,3 +97,8 @@ thread \ exceptions \ stl TEMPLATE = app +#The following line was inserted by qt3to4 +QT += xml qt3support +#The following line was inserted by qt3to4 +CONFIG += uic3 +