From: Francis Dupont Date: Tue, 4 Oct 2022 11:04:47 +0000 (+0200) Subject: [#2573] Applied Thomas's proposal X-Git-Tag: Kea-2.3.2~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8aa556d04faea8d0981e036083ea1efb656a72ba;p=thirdparty%2Fkea.git [#2573] Applied Thomas's proposal --- diff --git a/src/lib/dhcpsrv/alloc_engine.cc b/src/lib/dhcpsrv/alloc_engine.cc index 62577912f9..3c868f469d 100644 --- a/src/lib/dhcpsrv/alloc_engine.cc +++ b/src/lib/dhcpsrv/alloc_engine.cc @@ -4727,9 +4727,6 @@ AllocEngine::updateLease6ExtendedInfo(const Lease6Ptr& lease, relay_elem->set("link", ElementPtr(new StringElement(relay.linkaddr_.toText()))); relay_elem->set("peer", ElementPtr(new StringElement(relay.peeraddr_.toText()))); - OptionPtr remote_id; - OptionPtr relay_id; - // If there are relay options, we'll pack them into a buffer and then // convert that into a hex string. If there are no options, we omit // then entry. @@ -4749,28 +4746,26 @@ AllocEngine::updateLease6ExtendedInfo(const Lease6Ptr& lease, auto remote_id_it = relay.options_.find(D6O_REMOTE_ID); if (remote_id_it != relay.options_.end()) { - remote_id = remote_id_it->second; + OptionPtr remote_id = remote_id_it->second; + if (remote_id) { + std::vector bytes = remote_id->toBinary(false); + if (bytes.size() > 0) { + relay_elem->set("remote-id", + Element::create(encode::encodeHex(bytes))); + } + } } auto relay_id_it = relay.options_.find(D6O_RELAY_ID); if (relay_id_it != relay.options_.end()) { - relay_id = relay_id_it->second; - } - } - - if (remote_id) { - std::vector bytes = remote_id->toBinary(false); - if (bytes.size() > 0) { - relay_elem->set("remote-id", - Element::create(encode::encodeHex(bytes))); - } - } - - if (relay_id) { - std::vector bytes = relay_id->toBinary(false); - if (bytes.size() > 0) { - relay_elem->set("relay-id", - Element::create(encode::encodeHex(bytes))); + OptionPtr relay_id = relay_id_it->second; + if (relay_id) { + std::vector bytes = relay_id->toBinary(false); + if (bytes.size() > 0) { + relay_elem->set("relay-id", + Element::create(encode::encodeHex(bytes))); + } + } } }