[Box Backup-commit] COMMIT r2946 - box/trunk/lib/backupstore
subversion at boxbackup.org
subversion at boxbackup.org
Tue Apr 26 19:48:00 BST 2011
Author: chris
Date: 2011-04-26 19:48:00 +0100 (Tue, 26 Apr 2011)
New Revision: 2946
Modified:
box/trunk/lib/backupstore/BackupStoreFilenameClear.cpp
box/trunk/lib/backupstore/BackupStoreFilenameClear.h
Log:
Add a method to BackupStoreFilenameClear to get the clear filename only if
it's available or crypto has been configured to decrypt it. This allows
client and server to share the same definition of protocol objects that
use Filenames, instead of using BackupStoreFilename on the server and
BackupStoreFilenameClear on the client.
Modified: box/trunk/lib/backupstore/BackupStoreFilenameClear.cpp
===================================================================
--- box/trunk/lib/backupstore/BackupStoreFilenameClear.cpp 2011-04-26 18:44:26 UTC (rev 2945)
+++ box/trunk/lib/backupstore/BackupStoreFilenameClear.cpp 2011-04-26 18:48:00 UTC (rev 2946)
@@ -59,8 +59,8 @@
//
// --------------------------------------------------------------------------
BackupStoreFilenameClear::BackupStoreFilenameClear(const BackupStoreFilenameClear &rToCopy)
- : BackupStoreFilename(rToCopy),
- mClearFilename(rToCopy.mClearFilename)
+: BackupStoreFilename(rToCopy),
+ mClearFilename(rToCopy.mClearFilename)
{
}
@@ -73,7 +73,7 @@
//
// --------------------------------------------------------------------------
BackupStoreFilenameClear::BackupStoreFilenameClear(const BackupStoreFilename &rToCopy)
- : BackupStoreFilename(rToCopy)
+: BackupStoreFilename(rToCopy)
{
// Will get a clear filename when it's required
}
@@ -112,6 +112,18 @@
MakeClearAvailable();
return mClearFilename;
}
+const std::string &BackupStoreFilenameClear::GetClearFilenameIfPossible(const std::string& alternative) const
+{
+ if(mClearFilename.empty() && !(sBlowfishDecrypt.IsInitialised()))
+ {
+ // encrypted and cannot decrypt
+ return alternative;
+ }
+ else
+ {
+ return GetClearFilename();
+ }
+}
#endif
// --------------------------------------------------------------------------
@@ -167,7 +179,7 @@
switch(encoding)
{
case Encoding_Clear:
- BOX_TRACE("**** BackupStoreFilename encoded with "
+ BOX_WARNING("**** BackupStoreFilename encoded with "
"Clear encoding ****");
mClearFilename.assign(GetEncodedFilename().c_str() + 2,
size - 2);
Modified: box/trunk/lib/backupstore/BackupStoreFilenameClear.h
===================================================================
--- box/trunk/lib/backupstore/BackupStoreFilenameClear.h 2011-04-26 18:44:26 UTC (rev 2945)
+++ box/trunk/lib/backupstore/BackupStoreFilenameClear.h 2011-04-26 18:48:00 UTC (rev 2946)
@@ -38,6 +38,7 @@
const std::string GetClearFilename() const;
#else
const std::string &GetClearFilename() const;
+ const std::string &GetClearFilenameIfPossible(const std::string& alternative) const;
#endif
void SetClearFilename(const std::string &rToEncode);
More information about the Boxbackup-commit
mailing list