[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