Remove a bunch of unused methods in cTWUtil
This commit is contained in:
parent
dc943880de
commit
6582fb77fb
|
@ -332,61 +332,6 @@ bool cTWUtil::IsObjectEncrypted( const TCHAR* objFileName, const cFileHeaderID&
|
||||||
return( fEncrypted );
|
return( fEncrypted );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cTWUtil::IsObjectEncrypted( cArchive &arch, const cFileHeaderID& fhid, const TSTRING& errorMsg )
|
|
||||||
{
|
|
||||||
bool fEncrypted = false;
|
|
||||||
cDebug d("IsObjectEncrypted");
|
|
||||||
d.TraceDebug(_T("Reading from archive\n"));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
cFileHeader fileHeader;
|
|
||||||
cSerializerImpl fhSer(arch, cSerializerImpl::S_READ, TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME).c_str());
|
|
||||||
fileHeader.Read(&fhSer);
|
|
||||||
|
|
||||||
// check for a mismatched header
|
|
||||||
if (fileHeader.GetID() != fhid)
|
|
||||||
ThrowAndAssert(eSerializerInputStreamFmt(_T(""), TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME).c_str(), eSerializer::TY_FILE));
|
|
||||||
|
|
||||||
// switch on the type of encoding...
|
|
||||||
if(fileHeader.GetEncoding() == cFileHeader::ASYM_ENCRYPTION)
|
|
||||||
{
|
|
||||||
fEncrypted = true;
|
|
||||||
}
|
|
||||||
else if(fileHeader.GetEncoding() == cFileHeader::COMPRESSED)
|
|
||||||
{
|
|
||||||
fEncrypted = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
// unknown encoding...
|
|
||||||
ThrowAndAssert(eSerializerInputStreamFmt(_T(""), TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME).c_str(), eSerializer::TY_FILE));
|
|
||||||
}
|
|
||||||
catch(eArchive& e)
|
|
||||||
{
|
|
||||||
// Note: Output to TCERR is O.K. here, it is documented that this is what this function does
|
|
||||||
TSTRING msg = e.GetMsg();
|
|
||||||
if( ! msg.empty() )
|
|
||||||
msg += _T("\n");
|
|
||||||
msg += errorMsg;
|
|
||||||
|
|
||||||
cTWUtil::PrintErrorMsg(ePoly(e.GetID(), msg, e.GetFlags() ));
|
|
||||||
ThrowAndAssert(ePoly());
|
|
||||||
}
|
|
||||||
catch(eSerializer& e)
|
|
||||||
{
|
|
||||||
// Note: Output to TCERR is O.K. here, it is documented that this is what this function does
|
|
||||||
TSTRING msg = e.GetMsg();
|
|
||||||
if( ! msg.empty() )
|
|
||||||
msg += _T("\n");
|
|
||||||
msg += errorMsg;
|
|
||||||
|
|
||||||
cTWUtil::PrintErrorMsg(ePoly(e.GetID(), msg, e.GetFlags() ));
|
|
||||||
ThrowAndAssert(ePoly());
|
|
||||||
}
|
|
||||||
|
|
||||||
return( fEncrypted );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// WriteDatabase
|
// WriteDatabase
|
||||||
|
@ -452,20 +397,6 @@ void cTWUtil::WriteReport(const TCHAR* filename, const cFCOReportHeader& reportH
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void cTWUtil::WriteReport(cArchive &archive, const cFCOReportHeader& reportHeader, const cFCOReport& r, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey)
|
|
||||||
{
|
|
||||||
cFileHeader fileHeader;
|
|
||||||
fileHeader.SetID(cFCOReport::GetFileHeaderID());
|
|
||||||
|
|
||||||
TSTRING filename = TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME);
|
|
||||||
|
|
||||||
WriteObjectToArchive(archive, filename.c_str(), &reportHeader, r, fileHeader, bEncrypt, pPrivateKey);
|
|
||||||
|
|
||||||
iUserNotify::GetInstance()->Notify( iUserNotify::V_NORMAL, _T("%s%s\n"),
|
|
||||||
TSS_GetString( cTW, tw::STR_WRITE_REPORT_FILE).c_str(),
|
|
||||||
cDisplayEncoder::EncodeInline( filename ).c_str() );
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// ReadReport
|
// ReadReport
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -478,16 +409,6 @@ void cTWUtil::ReadReport(const TCHAR* reportFileName, cFCOReportHeader& reportHe
|
||||||
ReadObject(reportFileName, &reportHeader, r, cFCOReport::GetFileHeaderID(), pPublicKey, bEncrypted);
|
ReadObject(reportFileName, &reportHeader, r, cFCOReport::GetFileHeaderID(), pPublicKey, bEncrypted);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cTWUtil::ReadReport(cArchive &archive, cFCOReportHeader& reportHeader, cFCOReport& r, const cElGamalSigPublicKey* pPublicKey, bool silent, bool& bEncrypted)
|
|
||||||
{
|
|
||||||
TSTRING filename = TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME);
|
|
||||||
|
|
||||||
iUserNotify::GetInstance()->Notify( iUserNotify::V_VERBOSE, _T("%s%s\n"),
|
|
||||||
TSS_GetString( cTW, tw::STR_OPEN_REPORT_FILE).c_str(),
|
|
||||||
cDisplayEncoder::EncodeInline( filename ).c_str());
|
|
||||||
|
|
||||||
ReadObjectFromArchive(archive, filename.c_str(), &reportHeader, r, cFCOReport::GetFileHeaderID(), pPublicKey, bEncrypted);
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// UpdatePolicyFile
|
// UpdatePolicyFile
|
||||||
|
@ -598,38 +519,6 @@ void cTWUtil::WriteConfigText(const TCHAR* filename, const TSTRING configText, b
|
||||||
cDisplayEncoder::EncodeInline( filename ).c_str() );
|
cDisplayEncoder::EncodeInline( filename ).c_str() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void cTWUtil::WriteConfigText(cArchive &archive, const TSTRING configText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey)
|
|
||||||
{
|
|
||||||
cSerializableNString nstring;
|
|
||||||
|
|
||||||
nstring.mString = CONFIG_FILE_MAGIC_8BYTE;
|
|
||||||
|
|
||||||
TSTRING filename = TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME);
|
|
||||||
|
|
||||||
std::string ns;
|
|
||||||
cStringUtil::Convert( ns, configText );
|
|
||||||
nstring.mString += ns;
|
|
||||||
|
|
||||||
cFileHeader fileHeader;
|
|
||||||
fileHeader.SetID(cConfigFile::GetFileHeaderID());
|
|
||||||
|
|
||||||
fileHeader.SetVersion(CURRENT_FIXED_VERSION);
|
|
||||||
|
|
||||||
if (bEncrypt)
|
|
||||||
{
|
|
||||||
ASSERT(pPrivateKey != 0);
|
|
||||||
cElGamalSigPublicKey publicKey(*pPrivateKey);
|
|
||||||
fileHeader.GetBaggage().MapArchive(0, publicKey.GetWriteLen());
|
|
||||||
publicKey.Write(fileHeader.GetBaggage().GetMap());
|
|
||||||
}
|
|
||||||
|
|
||||||
WriteObjectToArchive(archive, filename.c_str(), NULL, nstring, fileHeader, bEncrypt, pPrivateKey);
|
|
||||||
|
|
||||||
iUserNotify::GetInstance()->Notify( iUserNotify::V_NORMAL, _T("%s%s\n"),
|
|
||||||
TSS_GetString( cTW, tw::STR_WRITE_CONFIG_FILE).c_str(),
|
|
||||||
cDisplayEncoder::EncodeInline( filename ).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// ReadConfigText
|
// ReadConfigText
|
||||||
|
@ -742,111 +631,6 @@ void cTWUtil::ReadConfigText(const TCHAR* filename, TSTRING& configText, cArchiv
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void cTWUtil::ReadConfigText(cArchive &arch, TSTRING& configText, cArchive* pBaggage)
|
|
||||||
{
|
|
||||||
// TODO -- neat up this function; try to use LoadObject() above...
|
|
||||||
|
|
||||||
cSerializableNString nstring;
|
|
||||||
|
|
||||||
TSTRING filename = TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME);
|
|
||||||
|
|
||||||
// This was coppied from ReadObject(). We need to use the baggage of the
|
|
||||||
// file header to obtain the public key, thus the special casing.
|
|
||||||
cDebug d("ReadConfigText");
|
|
||||||
d.TraceDebug(_T("Reading %s from file %s\n"), nstring.GetType().AsString(), filename.c_str());
|
|
||||||
|
|
||||||
iUserNotify::GetInstance()->Notify( iUserNotify::V_VERBOSE, _T("%s%s\n"),
|
|
||||||
TSS_GetString( cTW, tw::STR_OPEN_CONFIG_FILE).c_str(),
|
|
||||||
cDisplayEncoder::EncodeInline( filename ).c_str());
|
|
||||||
|
|
||||||
|
|
||||||
cFileHeader fileHeader;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
cSerializerImpl fhSer(arch, cSerializerImpl::S_READ);
|
|
||||||
fileHeader.Read(&fhSer);
|
|
||||||
}
|
|
||||||
catch (eError&)
|
|
||||||
{
|
|
||||||
throw eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0 // XXX: This is broken, how can you convert a class to an int??? -PH
|
|
||||||
d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetEncoding());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// check for a mismatched header
|
|
||||||
if (fileHeader.GetID() != cConfigFile::GetFileHeaderID())
|
|
||||||
throw eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE);
|
|
||||||
|
|
||||||
// check the version
|
|
||||||
if (fileHeader.GetVersion() != CURRENT_FIXED_VERSION)
|
|
||||||
throw eSerializerVersionMismatch(_T(""), filename.c_str(), eSerializer::TY_FILE);
|
|
||||||
|
|
||||||
// switch on the type of encoding...
|
|
||||||
if(fileHeader.GetEncoding() == cFileHeader::ASYM_ENCRYPTION)
|
|
||||||
{
|
|
||||||
d.TraceDebug("Config file is compressed, public key len %d.\n", fileHeader.GetBaggage().Length());
|
|
||||||
|
|
||||||
// tell the user the db is encrypted
|
|
||||||
iUserNotify::GetInstance()->Notify( iUserNotify::V_VERBOSE, TSS_GetString(cTW, tw::STR_FILE_ENCRYPTED).c_str());
|
|
||||||
iUserNotify::GetInstance()->Notify( iUserNotify::V_VERBOSE, TSS_GetString(cTW, tw::STR_NEWLINE).c_str());
|
|
||||||
|
|
||||||
ASSERT(fileHeader.GetBaggage().Length() > 0);
|
|
||||||
if (fileHeader.GetBaggage().Length() <= 0)
|
|
||||||
ThrowAndAssert(eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE));
|
|
||||||
|
|
||||||
fileHeader.GetBaggage().MapArchive(0, fileHeader.GetBaggage().Length());
|
|
||||||
|
|
||||||
cElGamalSigPublicKey publicKey(fileHeader.GetBaggage().GetMap());
|
|
||||||
|
|
||||||
cElGamalSigArchive cryptoArchive;
|
|
||||||
cryptoArchive.SetRead(&arch, &publicKey);
|
|
||||||
|
|
||||||
cSerializerImpl ser(cryptoArchive, cSerializerImpl::S_READ);
|
|
||||||
ser.Init();
|
|
||||||
ser.ReadObject(&nstring);
|
|
||||||
ser.Finit();
|
|
||||||
|
|
||||||
// copy the baggage into the archive, if it was passed in
|
|
||||||
// Note: We rely in VerifySiteKey that we only fill out pBaggage if
|
|
||||||
// the config file is encrypted.
|
|
||||||
//
|
|
||||||
if( pBaggage )
|
|
||||||
{
|
|
||||||
fileHeader.GetBaggage().Seek( 0, cBidirArchive::BEGINNING );
|
|
||||||
pBaggage->Copy( &fileHeader.GetBaggage(), fileHeader.GetBaggage().Length() );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(fileHeader.GetEncoding() == cFileHeader::COMPRESSED)
|
|
||||||
{
|
|
||||||
d.TraceDebug("Config file is not compressed.\n");
|
|
||||||
|
|
||||||
//not encrypted db...
|
|
||||||
cNullCryptoArchive cryptoArchive;
|
|
||||||
cryptoArchive.Start(&arch);
|
|
||||||
|
|
||||||
cSerializerImpl ser(cryptoArchive, cSerializerImpl::S_READ);
|
|
||||||
ser.Init();
|
|
||||||
ser.ReadObject(&nstring);
|
|
||||||
ser.Finit();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
// unknown encoding...
|
|
||||||
throw eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE);
|
|
||||||
|
|
||||||
// check 8 byte header
|
|
||||||
if (nstring.mString.compare(0, 8*sizeof(byte), CONFIG_FILE_MAGIC_8BYTE) != 0)
|
|
||||||
ThrowAndAssert(eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE));
|
|
||||||
|
|
||||||
// remove 8 byte header
|
|
||||||
nstring.mString.assign(nstring.mString.substr(8));
|
|
||||||
|
|
||||||
cStringUtil::Convert( configText, nstring.mString );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Given a filename and the text of a policy file, write an encrypted version
|
// Given a filename and the text of a policy file, write an encrypted version
|
||||||
// of the policy file text to disk.
|
// of the policy file text to disk.
|
||||||
|
@ -871,26 +655,6 @@ void cTWUtil::WritePolicyText(const TCHAR* filename, const std::string& polText,
|
||||||
cDisplayEncoder::EncodeInline( filename ).c_str() );
|
cDisplayEncoder::EncodeInline( filename ).c_str() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void cTWUtil::WritePolicyText(cArchive &archive, const std::string& polText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey)
|
|
||||||
{
|
|
||||||
cSerializableNString nstring;
|
|
||||||
|
|
||||||
TSTRING filename = TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME);
|
|
||||||
|
|
||||||
// add a 8 byte header we can use to verify decryption
|
|
||||||
nstring.mString = POLICY_FILE_MAGIC_8BYTE;
|
|
||||||
|
|
||||||
nstring.mString += polText;
|
|
||||||
|
|
||||||
cFileHeader fileHeader;
|
|
||||||
fileHeader.SetID(cPolicyFile::GetFileHeaderID());
|
|
||||||
|
|
||||||
WriteObjectToArchive(archive, filename.c_str(), NULL, nstring, fileHeader, bEncrypt, pPrivateKey);
|
|
||||||
|
|
||||||
iUserNotify::GetInstance()->Notify( iUserNotify::V_NORMAL, _T("%s%s\n"),
|
|
||||||
TSS_GetString( cTW, tw::STR_WRITE_POLICY_FILE).c_str(),
|
|
||||||
cDisplayEncoder::EncodeInline( filename ).c_str());
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// ReadPolicyText
|
// ReadPolicyText
|
||||||
|
@ -917,24 +681,6 @@ void cTWUtil::ReadPolicyText(const TCHAR* filename, std::string& polText, const
|
||||||
polText = nstring.mString;
|
polText = nstring.mString;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cTWUtil::ReadPolicyText(cArchive &archive, std::string& polText, const cElGamalSigPublicKey* pPublicKey)
|
|
||||||
{
|
|
||||||
cSerializableNString nstring;
|
|
||||||
|
|
||||||
TSTRING filename = TSS_GetString( cTW, tw::STR_MEMORY_MAPPED_FILENAME);
|
|
||||||
|
|
||||||
bool bEncrypted;
|
|
||||||
ReadObjectFromArchive(archive, filename.c_str(), NULL, nstring, cPolicyFile::GetFileHeaderID(), pPublicKey, bEncrypted);
|
|
||||||
|
|
||||||
// check 8 byte header
|
|
||||||
if (nstring.mString.compare(0, 8*sizeof(byte), POLICY_FILE_MAGIC_8BYTE) != 0)
|
|
||||||
ThrowAndAssert(eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE));
|
|
||||||
|
|
||||||
// remove 8 byte header
|
|
||||||
nstring.mString.assign(nstring.mString.substr(8));
|
|
||||||
|
|
||||||
polText = nstring.mString;
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// OpenKeyFile
|
// OpenKeyFile
|
||||||
|
|
|
@ -106,16 +106,16 @@ public:
|
||||||
// if an error occurs, this will print the error message to stderr and throw eError.
|
// if an error occurs, this will print the error message to stderr and throw eError.
|
||||||
|
|
||||||
static void WriteReport (const TCHAR* filename, const cFCOReportHeader& reportHeader, const cFCOReport& r, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey); // throw eError
|
static void WriteReport (const TCHAR* filename, const cFCOReportHeader& reportHeader, const cFCOReport& r, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey); // throw eError
|
||||||
static void WriteReport (cArchive &archive, const cFCOReportHeader& reportHeader, const cFCOReport& r, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey); // throw eError
|
|
||||||
static void ReadReport (const TCHAR* reportFileName, cFCOReportHeader& reportHeader, cFCOReport& r, const cElGamalSigPublicKey* pPublicKey, bool silent, bool& bEncrypted); // throw eError
|
static void ReadReport (const TCHAR* reportFileName, cFCOReportHeader& reportHeader, cFCOReport& r, const cElGamalSigPublicKey* pPublicKey, bool silent, bool& bEncrypted); // throw eError
|
||||||
static void ReadReport (cArchive &archive, cFCOReportHeader& reportHeader, cFCOReport& r, const cElGamalSigPublicKey* pPublicKey, bool silent, bool& bEncrypted); // throw eError
|
|
||||||
// same as Read/WriteDatabase above, except it operates on reports
|
// same as Read/WriteDatabase above, except it operates on reports
|
||||||
// if an error occurs, this will print the error message to stderr and throw eError.
|
// if an error occurs, this will print the error message to stderr and throw eError.
|
||||||
|
|
||||||
static void WriteConfigText(const TCHAR* filename, const TSTRING configText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey); // throw (eArchive())
|
static void WriteConfigText(const TCHAR* filename, const TSTRING configText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey); // throw (eArchive())
|
||||||
static void WriteConfigText(cArchive &archive, const TSTRING configText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey); // throw (eArchive())
|
|
||||||
static void ReadConfigText(const TCHAR* filename, TSTRING& configText, cArchive* pBaggage = 0);
|
static void ReadConfigText(const TCHAR* filename, TSTRING& configText, cArchive* pBaggage = 0);
|
||||||
static void ReadConfigText(cArchive &archive, TSTRING& configText, cArchive* pBaggage = 0);
|
|
||||||
// read and write config file text to and from disk.
|
// read and write config file text to and from disk.
|
||||||
// if pBaggage is non-NULL, the contents of the baggage( ie -- the public key ) is copied to the archive.
|
// if pBaggage is non-NULL, the contents of the baggage( ie -- the public key ) is copied to the archive.
|
||||||
// eArchive is thrown if filename can not be opened
|
// eArchive is thrown if filename can not be opened
|
||||||
|
@ -123,9 +123,9 @@ public:
|
||||||
// eConfigFile is thrown if config file does not parse correctly during reading
|
// eConfigFile is thrown if config file does not parse correctly during reading
|
||||||
|
|
||||||
static void WritePolicyText(const TCHAR* filename, const std::string& policyText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey);
|
static void WritePolicyText(const TCHAR* filename, const std::string& policyText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey);
|
||||||
static void WritePolicyText(cArchive &archive, const std::string& policyText, bool bEncrypt, const cElGamalSigPrivateKey* pPrivateKey);
|
|
||||||
static void ReadPolicyText(const TCHAR* filename, std::string& policyText, const cElGamalSigPublicKey* pPublicKey);
|
static void ReadPolicyText(const TCHAR* filename, std::string& policyText, const cElGamalSigPublicKey* pPublicKey);
|
||||||
static void ReadPolicyText(cArchive &archive, std::string& policyText, const cElGamalSigPublicKey* pPublicKey);
|
|
||||||
// read and write policy file to and from disk
|
// read and write policy file to and from disk
|
||||||
// eError() will be thrown on error
|
// eError() will be thrown on error
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue