network: validate DHCP ranges are completely within defined network

virSocketAddrGetRange() has been updated to take the network address
and prefix, and now checks that both the start and end of the range
are within that network, thus validating that the entire range of
addresses is in the network. For IPv4, it also checks that ranges to
not start with the "network address" of the subnet, nor end with the
broadcast address of the subnet (this check doesn't apply to IPv6,
since IPv6 doesn't have a broadcast or network address)

Negative tests have been added to the network update and socket tests
to verify that bad ranges properly generate an error.

This resolves: https://bugzilla.redhat.com/show_bug.cgi?id=985653
This commit is contained in:
Laine Stump
2015-05-22 17:32:02 -04:00
parent 48e8b95d8e
commit 1e334a0a00
10 changed files with 112 additions and 40 deletions

View File

@@ -0,0 +1 @@
<range start='10.0.0.10' end='10.0.0.100'/>

View File

@@ -1 +1 @@
<range start='10.0.0.10' end='10.0.0.100'/>
<range start='192.168.122.10' end='192.168.122.100'/>