cpp: Support new flags for direct signing/encryption of files
* lang/cpp/src/context.h (enum EncryptionFlags): Add constant EncryptFile. * lang/cpp/src/global.h (enum SignatureMode): Add constant SignFile. * lang/cpp/src/context.cpp (sigflags2sigflags): Handle new flag SignFile. (encryptflags2encryptflags): Handle new flag EncryptFile. (operator<<): Add new flags to the corresponding debug streams. * lang/cpp/src/signingresult.cpp (CreatedSignature::mode): Handle new flag SignFile (even if it cannot occur). -- GnuPG-bug-id: 6550
This commit is contained in:
parent
5efd3486a9
commit
60c0fd7c95
@ -1301,6 +1301,9 @@ static gpgme_sig_mode_t sigflags2sigflags(SignatureMode flags)
|
|||||||
if (flags & SignatureMode::SignArchive) {
|
if (flags & SignatureMode::SignArchive) {
|
||||||
result |= GPGME_SIG_MODE_ARCHIVE;
|
result |= GPGME_SIG_MODE_ARCHIVE;
|
||||||
}
|
}
|
||||||
|
if (flags & SignatureMode::SignFile) {
|
||||||
|
result |= GPGME_SIG_MODE_FILE;
|
||||||
|
}
|
||||||
return static_cast<gpgme_sig_mode_t>(result);
|
return static_cast<gpgme_sig_mode_t>(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1363,6 +1366,9 @@ static gpgme_encrypt_flags_t encryptflags2encryptflags(Context::EncryptionFlags
|
|||||||
if (flags & Context::EncryptArchive) {
|
if (flags & Context::EncryptArchive) {
|
||||||
result |= GPGME_ENCRYPT_ARCHIVE;
|
result |= GPGME_ENCRYPT_ARCHIVE;
|
||||||
}
|
}
|
||||||
|
if (flags & Context::EncryptFile) {
|
||||||
|
result |= GPGME_ENCRYPT_FILE;
|
||||||
|
}
|
||||||
return static_cast<gpgme_encrypt_flags_t>(result);
|
return static_cast<gpgme_encrypt_flags_t>(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1927,6 +1933,7 @@ std::ostream &operator<<(std::ostream &os, SignatureMode mode)
|
|||||||
}
|
}
|
||||||
#define CHECK( x ) if ( !(mode & (x)) ) {} else do { os << #x " "; } while (0)
|
#define CHECK( x ) if ( !(mode & (x)) ) {} else do { os << #x " "; } while (0)
|
||||||
CHECK(SignArchive);
|
CHECK(SignArchive);
|
||||||
|
CHECK(SignFile);
|
||||||
#undef CHECK
|
#undef CHECK
|
||||||
return os << ')';
|
return os << ')';
|
||||||
}
|
}
|
||||||
@ -1945,6 +1952,7 @@ std::ostream &operator<<(std::ostream &os, Context::EncryptionFlags flags)
|
|||||||
CHECK(EncryptWrap);
|
CHECK(EncryptWrap);
|
||||||
CHECK(WantAddress);
|
CHECK(WantAddress);
|
||||||
CHECK(EncryptArchive);
|
CHECK(EncryptArchive);
|
||||||
|
CHECK(EncryptFile);
|
||||||
#undef CHECK
|
#undef CHECK
|
||||||
return os << ')';
|
return os << ')';
|
||||||
}
|
}
|
||||||
|
@ -450,7 +450,8 @@ public:
|
|||||||
ThrowKeyIds = 64,
|
ThrowKeyIds = 64,
|
||||||
EncryptWrap = 128,
|
EncryptWrap = 128,
|
||||||
WantAddress = 256,
|
WantAddress = 256,
|
||||||
EncryptArchive = 512
|
EncryptArchive = 512,
|
||||||
|
EncryptFile = 1024
|
||||||
};
|
};
|
||||||
EncryptionResult encrypt(const std::vector<Key> &recipients, const Data &plainText, Data &cipherText, EncryptionFlags flags);
|
EncryptionResult encrypt(const std::vector<Key> &recipients, const Data &plainText, Data &cipherText, EncryptionFlags flags);
|
||||||
GpgME::Error encryptSymmetrically(const Data &plainText, Data &cipherText);
|
GpgME::Error encryptSymmetrically(const Data &plainText, Data &cipherText);
|
||||||
|
@ -79,6 +79,7 @@ enum SignatureMode {
|
|||||||
Detached = 1,
|
Detached = 1,
|
||||||
Clearsigned = 2,
|
Clearsigned = 2,
|
||||||
SignArchive = 4,
|
SignArchive = 4,
|
||||||
|
SignFile = 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class RevocationReason {
|
enum class RevocationReason {
|
||||||
|
@ -200,6 +200,7 @@ GpgME::SignatureMode GpgME::CreatedSignature::mode() const
|
|||||||
case GPGME_SIG_MODE_DETACH: return Detached;
|
case GPGME_SIG_MODE_DETACH: return Detached;
|
||||||
case GPGME_SIG_MODE_CLEAR: return Clearsigned;
|
case GPGME_SIG_MODE_CLEAR: return Clearsigned;
|
||||||
case GPGME_SIG_MODE_ARCHIVE: return SignArchive; // cannot happen
|
case GPGME_SIG_MODE_ARCHIVE: return SignArchive; // cannot happen
|
||||||
|
case GPGME_SIG_MODE_FILE: return SignFile; // cannot happen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user