+1895. [func] razvan
+ Added additional evaluation tokens to extract and print data:
+ addrtotext, int8totext, int16totext, int32totext, uint8totext,
+ uint16totext, uint32totext.
+ (Gitlab #1680)
+
1894. [func] fdupont
Implemented 'auth' logger, dedicated to logging access
control information, such as basic HTTP authentication.
| | |sufficient it may be used directly. If your jurisdiction |
| | |requires that you save a different set of information, you |
| | |may use it as a template or example and create your own |
- | | |custom logging hooks. |
+ | | |custom logging hooks. In Kea 1.9.7 additional parameters |
+ | | |have been added to give users more flexibility regarding |
+ | | |what information should be logged. |
+-----------------+---------------+------------------------------------------------------------+
| Flexible | Support |Kea software provides a way to handle host reservations that|
| Identifier | customers |include addresses, prefixes, options, client classes and |
}
/// @brief checks if the given token is a inttotext operator
- template <typename IntegerType, typename TokenInteger>
+ template <typename IntegerType, typename TokenIntegerType>
void checkTokenIntToText(const TokenPtr& token,
const std::string& expected) {
ASSERT_TRUE(token);
- boost::shared_ptr<TokenInteger> inttotext =
- boost::dynamic_pointer_cast<TokenInteger>(token);
+ boost::shared_ptr<TokenIntegerType> inttotext =
+ boost::dynamic_pointer_cast<TokenIntegerType>(token);
EXPECT_TRUE(inttotext);
Pkt4Ptr pkt4(new Pkt4(DHCPDISCOVER, 12345));
if (!size) {
return;
}
+
values.pop();
if ((size != V4ADDRESS_LEN) && (size != V6ADDRESS_LEN)) {
isc_throw(EvalBadStack, "Incorrect empty stack.");
}
- size_t size;
string op = values.top();
+ size_t size = op.size();
- if (!(size = op.size())) {
+ if (!size) {
return;
}
+
values.pop();
if (size != sizeof(int8_t)) {
isc_throw(EvalBadStack, "Incorrect empty stack.");
}
- size_t size;
string op = values.top();
+ size_t size = op.size();
- if (!(size = op.size())) {
+ if (!size) {
return;
}
+
values.pop();
if (size != sizeof(int16_t)) {
isc_throw(EvalBadStack, "Incorrect empty stack.");
}
- size_t size;
string op = values.top();
+ size_t size = op.size();
- if (!(size = op.size())) {
+ if (!size) {
return;
}
+
values.pop();
if (size != sizeof(int32_t)) {
isc_throw(EvalBadStack, "Incorrect empty stack.");
}
- size_t size;
string op = values.top();
+ size_t size = op.size();
- if (!(size = op.size())) {
+ if (!size) {
return;
}
+
values.pop();
if (size != sizeof(uint8_t)) {
isc_throw(EvalBadStack, "Incorrect empty stack.");
}
- size_t size;
string op = values.top();
+ size_t size = op.size();
- if (!(size = op.size())) {
+ if (!size) {
return;
}
+
values.pop();
if (size != sizeof(uint16_t)) {
isc_throw(EvalBadStack, "Incorrect empty stack.");
}
- size_t size;
string op = values.top();
+ size_t size = op.size();
- if (!(size = op.size())) {
+ if (!size) {
return;
}
+
values.pop();
if (size != sizeof(uint32_t)) {