summaryrefslogtreecommitdiff
path: root/lib/backupstore/BackupStoreFilenameClear.cpp
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2011-04-26 18:48:00 +0000
committerChris Wilson <chris+github@qwirx.com>2011-04-26 18:48:00 +0000
commit35bdbe3c4e42d4dfa1a5f8960ce9598dc4fc37b9 (patch)
tree8a785617ca7aaaf4a24a637f4cb481289637a3f1 /lib/backupstore/BackupStoreFilenameClear.cpp
parent1fe4e9308b8f50dbe70cc69bd500eb829a11b460 (diff)
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.
Diffstat (limited to 'lib/backupstore/BackupStoreFilenameClear.cpp')
-rw-r--r--lib/backupstore/BackupStoreFilenameClear.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/lib/backupstore/BackupStoreFilenameClear.cpp b/lib/backupstore/BackupStoreFilenameClear.cpp
index e529d8d3..ad5666cf 100644
--- a/lib/backupstore/BackupStoreFilenameClear.cpp
+++ b/lib/backupstore/BackupStoreFilenameClear.cpp
@@ -59,8 +59,8 @@ BackupStoreFilenameClear::BackupStoreFilenameClear(const std::string &rToEncode)
//
// --------------------------------------------------------------------------
BackupStoreFilenameClear::BackupStoreFilenameClear(const BackupStoreFilenameClear &rToCopy)
- : BackupStoreFilename(rToCopy),
- mClearFilename(rToCopy.mClearFilename)
+: BackupStoreFilename(rToCopy),
+ mClearFilename(rToCopy.mClearFilename)
{
}
@@ -73,7 +73,7 @@ BackupStoreFilenameClear::BackupStoreFilenameClear(const BackupStoreFilenameClea
//
// --------------------------------------------------------------------------
BackupStoreFilenameClear::BackupStoreFilenameClear(const BackupStoreFilename &rToCopy)
- : BackupStoreFilename(rToCopy)
+: BackupStoreFilename(rToCopy)
{
// Will get a clear filename when it's required
}
@@ -112,6 +112,18 @@ const std::string &BackupStoreFilenameClear::GetClearFilename() const
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 @@ void BackupStoreFilenameClear::MakeClearAvailable() const
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);