]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[4268a] Padded hlen/htype pkt4
authorFrancis Dupont <fdupont@isc.org>
Mon, 25 Apr 2016 14:36:10 +0000 (16:36 +0200)
committerFrancis Dupont <fdupont@isc.org>
Mon, 25 Apr 2016 14:36:10 +0000 (16:36 +0200)
src/lib/eval/token.cc
src/lib/eval/token.h

index 095fd52380f5c0d9ddd982eefcb528d38e0cae1a..7745a3da06b6a5419f59a886c66957173c99e889 100644 (file)
@@ -163,11 +163,19 @@ TokenPkt4::evaluate(const Pkt& pkt, ValueStack& values) {
             break;
 
         case HLEN:
-            binary.assign(1, pkt4.getHlen());
+            // Pad the uint8_t field to 4 bytes.
+            binary.push_back(0);
+            binary.push_back(0);
+            binary.push_back(0);
+            binary.push_back(pkt4.getHlen());
             break;
 
         case HTYPE:
-            binary.assign(1, pkt4.getHtype());
+            // Pad the uint8_t field to 4 bytes.
+            binary.push_back(0);
+            binary.push_back(0);
+            binary.push_back(0);
+            binary.push_back(pkt4.getHtype());
             break;
 
         default:
index b3c4cedd62413b7da31163554222d20ccba61b8e..1df143fe35a871ec9b6756515360ccf2b064f055 100644 (file)
@@ -299,8 +299,8 @@ protected:
 /// - ciaddr (client IP address, 4 octets)
 /// - yiaddr ('your' (client) IP address, 4 octets)
 /// - siaddr (next server IP address, 4 octets)
-/// - hlen   (hardware address length, 1 octet)
-/// - htype  (hardware address type, 1 octet)
+/// - hlen   (hardware address length, padded to 4 octets)
+/// - htype  (hardware address type, padded to 4 octets)
 class TokenPkt4 : public Token {
 public: