summaryrefslogtreecommitdiff
path: root/src/libsystemd-network/dhcp6-protocol.h
diff options
context:
space:
mode:
authorPatrik Flykt <patrik.flykt@linux.intel.com>2018-01-04 15:11:41 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2018-01-04 15:22:43 +0200
commit3bc424a3cc0bacc688ec2f4f93a5560fb4ca393b (patch)
treed664034b7e4deeb005a5d6566990b111c78ea327 /src/libsystemd-network/dhcp6-protocol.h
parente0026dcbd21b172d51ac05e476044ac9504c1f71 (diff)
downloadsystemd-3bc424a3cc0bacc688ec2f4f93a5560fb4ca393b.tar.gz
dhcp6: Sanitize DHCPv6 IA option parsing
Sanitize code for parsing DHCPv6 IA NA and TA options and their nested Status options so that the options can be fully and properly ignored should they not be conformant to the specification. Do this by defining a proper DHCP6Option structure and sending that structure to the parsing function. The parsing function will then not manipulate either any option data pointers or their lengths in order to iterate over the current option. Needless to say, this affects a few files including the test program.
Diffstat (limited to 'src/libsystemd-network/dhcp6-protocol.h')
-rw-r--r--src/libsystemd-network/dhcp6-protocol.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libsystemd-network/dhcp6-protocol.h b/src/libsystemd-network/dhcp6-protocol.h
index 7bbf183996..5f7e809ba1 100644
--- a/src/libsystemd-network/dhcp6-protocol.h
+++ b/src/libsystemd-network/dhcp6-protocol.h
@@ -34,6 +34,7 @@ struct DHCP6Message {
} _packed_;
be32_t transaction_id;
};
+ uint8_t options[];
} _packed_;
typedef struct DHCP6Message DHCP6Message;