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 );
|
||||
}
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -478,16 +409,6 @@ void cTWUtil::ReadReport(const TCHAR* reportFileName, cFCOReportHeader& reportHe
|
|||
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
|
||||
|
@ -598,38 +519,6 @@ void cTWUtil::WriteConfigText(const TCHAR* filename, const TSTRING configText, b
|
|||
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
|
||||
|
@ -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
|
||||
// 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() );
|
||||
}
|
||||
|
||||
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
|
||||
|
@ -917,24 +681,6 @@ void cTWUtil::ReadPolicyText(const TCHAR* filename, std::string& polText, const
|
|||
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
|
||||
|
|
|
@ -106,16 +106,16 @@ public:
|
|||
// 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 (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 (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
|
||||
// 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(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(cArchive &archive, TSTRING& configText, cArchive* pBaggage = 0);
|
||||
|
||||
// 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.
|
||||
// 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
|
||||
|
||||
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(cArchive &archive, std::string& policyText, const cElGamalSigPublicKey* pPublicKey);
|
||||
|
||||
// read and write policy file to and from disk
|
||||
// eError() will be thrown on error
|
||||
|
||||
|
|
Loading…
Reference in New Issue