Kea 2.6.0
d2_tsig_key.h
Go to the documentation of this file.
1// Copyright (C) 2021 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef D2_TSIG_KEY_H
8#define D2_TSIG_KEY_H
9
10#include <dns/name.h>
11#include <dns/tsig.h>
12#include <boost/shared_ptr.hpp>
13
14namespace isc {
15namespace d2 {
16
21class D2TsigKey : public dns::TSIGKey {
22public:
29 explicit D2TsigKey(const std::string& key_spec);
30
43 D2TsigKey(const dns::Name& key_name, const dns::Name& algorithm_name,
44 const void* secret, size_t secret_len, size_t digestbits = 0);
45
49 virtual ~D2TsigKey();
50
53 virtual void resetStats();
54
61
62private:
64 void initStats();
65
67 void removeStats();
68};
69
71typedef boost::shared_ptr<D2TsigKey> D2TsigKeyPtr;
72
73} // namespace d2
74} // namespace isc
75
76#endif // D2_TSIG_KEY_H
Statistics keeping extension of the DNS TSIGKey class.
Definition: d2_tsig_key.h:21
virtual void resetStats()
Reset statistics.
Definition: d2_tsig_key.cc:57
virtual dns::TSIGContextPtr createContext()
Create TSIG context.
Definition: d2_tsig_key.cc:67
virtual ~D2TsigKey()
Destructor.
Definition: d2_tsig_key.cc:32
The Name class encapsulates DNS names.
Definition: name.h:219
TSIG key.
Definition: tsigkey.h:56
boost::shared_ptr< D2TsigKey > D2TsigKeyPtr
Type of pointer to a D2 TSIG key.
Definition: d2_tsig_key.h:71
boost::shared_ptr< TSIGContext > TSIGContextPtr
Definition: tsig.h:435
Defines the logger used by the top-level component of kea-lfc.