mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-30 21:45:37 +00:00
[#1680] added ChangeLog entry and addressed comments
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
1895. [func] razvan
|
||||||
|
Added additional evaluation tokens to extract and print data:
|
||||||
|
addrtotext, int8totext, int16totext, int32totext, uint8totext,
|
||||||
|
uint16totext, uint32totext.
|
||||||
|
(Gitlab #1680)
|
||||||
|
|
||||||
1894. [func] fdupont
|
1894. [func] fdupont
|
||||||
Implemented 'auth' logger, dedicated to logging access
|
Implemented 'auth' logger, dedicated to logging access
|
||||||
control information, such as basic HTTP authentication.
|
control information, such as basic HTTP authentication.
|
||||||
|
@@ -321,7 +321,9 @@ loaded by the correct process per the table below.
|
|||||||
| | |sufficient it may be used directly. If your jurisdiction |
|
| | |sufficient it may be used directly. If your jurisdiction |
|
||||||
| | |requires that you save a different set of information, you |
|
| | |requires that you save a different set of information, you |
|
||||||
| | |may use it as a template or example and create your own |
|
| | |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|
|
| Flexible | Support |Kea software provides a way to handle host reservations that|
|
||||||
| Identifier | customers |include addresses, prefixes, options, client classes and |
|
| Identifier | customers |include addresses, prefixes, options, client classes and |
|
||||||
|
@@ -493,12 +493,12 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// @brief checks if the given token is a inttotext operator
|
/// @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,
|
void checkTokenIntToText(const TokenPtr& token,
|
||||||
const std::string& expected) {
|
const std::string& expected) {
|
||||||
ASSERT_TRUE(token);
|
ASSERT_TRUE(token);
|
||||||
boost::shared_ptr<TokenInteger> inttotext =
|
boost::shared_ptr<TokenIntegerType> inttotext =
|
||||||
boost::dynamic_pointer_cast<TokenInteger>(token);
|
boost::dynamic_pointer_cast<TokenIntegerType>(token);
|
||||||
EXPECT_TRUE(inttotext);
|
EXPECT_TRUE(inttotext);
|
||||||
|
|
||||||
Pkt4Ptr pkt4(new Pkt4(DHCPDISCOVER, 12345));
|
Pkt4Ptr pkt4(new Pkt4(DHCPDISCOVER, 12345));
|
||||||
|
@@ -116,6 +116,7 @@ TokenIpAddressToText::evaluate(Pkt& /*pkt*/, ValueStack& values) {
|
|||||||
if (!size) {
|
if (!size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
values.pop();
|
values.pop();
|
||||||
|
|
||||||
if ((size != V4ADDRESS_LEN) && (size != V6ADDRESS_LEN)) {
|
if ((size != V4ADDRESS_LEN) && (size != V6ADDRESS_LEN)) {
|
||||||
@@ -143,12 +144,13 @@ TokenInt8ToText::evaluate(Pkt& /*pkt*/, ValueStack& values) {
|
|||||||
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size;
|
|
||||||
string op = values.top();
|
string op = values.top();
|
||||||
|
size_t size = op.size();
|
||||||
|
|
||||||
if (!(size = op.size())) {
|
if (!size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
values.pop();
|
values.pop();
|
||||||
|
|
||||||
if (size != sizeof(int8_t)) {
|
if (size != sizeof(int8_t)) {
|
||||||
@@ -171,12 +173,13 @@ TokenInt16ToText::evaluate(Pkt& /*pkt*/, ValueStack& values) {
|
|||||||
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size;
|
|
||||||
string op = values.top();
|
string op = values.top();
|
||||||
|
size_t size = op.size();
|
||||||
|
|
||||||
if (!(size = op.size())) {
|
if (!size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
values.pop();
|
values.pop();
|
||||||
|
|
||||||
if (size != sizeof(int16_t)) {
|
if (size != sizeof(int16_t)) {
|
||||||
@@ -201,12 +204,13 @@ TokenInt32ToText::evaluate(Pkt& /*pkt*/, ValueStack& values) {
|
|||||||
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size;
|
|
||||||
string op = values.top();
|
string op = values.top();
|
||||||
|
size_t size = op.size();
|
||||||
|
|
||||||
if (!(size = op.size())) {
|
if (!size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
values.pop();
|
values.pop();
|
||||||
|
|
||||||
if (size != sizeof(int32_t)) {
|
if (size != sizeof(int32_t)) {
|
||||||
@@ -231,12 +235,13 @@ TokenUInt8ToText::evaluate(Pkt& /*pkt*/, ValueStack& values) {
|
|||||||
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size;
|
|
||||||
string op = values.top();
|
string op = values.top();
|
||||||
|
size_t size = op.size();
|
||||||
|
|
||||||
if (!(size = op.size())) {
|
if (!size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
values.pop();
|
values.pop();
|
||||||
|
|
||||||
if (size != sizeof(uint8_t)) {
|
if (size != sizeof(uint8_t)) {
|
||||||
@@ -259,12 +264,13 @@ TokenUInt16ToText::evaluate(Pkt& /*pkt*/, ValueStack& values) {
|
|||||||
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size;
|
|
||||||
string op = values.top();
|
string op = values.top();
|
||||||
|
size_t size = op.size();
|
||||||
|
|
||||||
if (!(size = op.size())) {
|
if (!size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
values.pop();
|
values.pop();
|
||||||
|
|
||||||
if (size != sizeof(uint16_t)) {
|
if (size != sizeof(uint16_t)) {
|
||||||
@@ -289,12 +295,13 @@ TokenUInt32ToText::evaluate(Pkt& /*pkt*/, ValueStack& values) {
|
|||||||
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
isc_throw(EvalBadStack, "Incorrect empty stack.");
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t size;
|
|
||||||
string op = values.top();
|
string op = values.top();
|
||||||
|
size_t size = op.size();
|
||||||
|
|
||||||
if (!(size = op.size())) {
|
if (!size) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
values.pop();
|
values.pop();
|
||||||
|
|
||||||
if (size != sizeof(uint32_t)) {
|
if (size != sizeof(uint32_t)) {
|
||||||
|
Reference in New Issue
Block a user