mirror of
https://github.com/savoirfairelinux/opendht.git
synced 2026-11-08 04:21:51 +00:00
crypto: add TrustList move operator, prevent copy
This commit is contained in:
1 parent
4d78aea05b
commit
d9bced965b
2 files changed
+15
No files matched your search
@@ -470,6 +470,10 @@ struct OPENDHT_PUBLIC TrustList
|
||||
};
|
||||
|
||||
TrustList();
|
||||
TrustList(TrustList&& o) : trust(std::move(o.trust)) {
|
||||
o.trust = nullptr;
|
||||
}
|
||||
TrustList& operator=(TrustList&& o);
|
||||
~TrustList();
|
||||
void add(const Certificate& crt);
|
||||
void add(const RevocationList& crl);
|
||||
@@ -477,6 +481,8 @@ struct OPENDHT_PUBLIC TrustList
|
||||
VerifyResult verify(const Certificate& crt) const;
|
||||
|
||||
private:
|
||||
TrustList(const TrustList& o) = delete;
|
||||
TrustList& operator=(const TrustList& o) = delete;
|
||||
gnutls_x509_trust_list_t trust;
|
||||
};
|
||||
|
||||
|
||||
@@ -1180,6 +1180,15 @@ TrustList::~TrustList() {
|
||||
gnutls_x509_trust_list_deinit(trust, 1);
|
||||
}
|
||||
|
||||
TrustList&
|
||||
TrustList::operator=(TrustList&& o)
|
||||
{
|
||||
if (trust)
|
||||
gnutls_x509_trust_list_deinit(trust, true);
|
||||
trust = std::move(o.trust);
|
||||
o.trust = nullptr;
|
||||
}
|
||||
|
||||
void TrustList::add(const Certificate& crt)
|
||||
{
|
||||
auto chain = crt.getChainWithRevocations(true);
|
||||
|
||||
Reference in new issue
Block a user