On 02/19/2013 04:44 PM, Eric Blake wrote:
> On 02/18/2013 07:38 PM, Laine Stump wrote:
>> On 02/15/2013 02:02 PM, Gene Czarcinski wrote:
>>> Originally, only a host name was used to associate a
>>> DHCPv6 request with a specific IPv6 address. Further testing
>>> demonstrates that this is an unreliable method and, instead,
>>> a client-id or DUID needs to be used. According to DHCPv6
>>> standards, this id can be a duid-LLT, duid-LL, or duid-UUID
>>> even though dnsmasq will accept almost any text string.
>>>
>> Other than the suggestion to use strcspn() instead of a while loop, this
>> all looks fine to me. ACK with that change made. If you (or someone
>> else) wants to ACK the short interdiff I've attached that makes that
>> change, I'll push it.
>>
>> >From 0b2f2f0794e931af901bc31e4fe6eadc799bee33 Mon Sep 17 00:00:00 2001
>> From: Laine Stump <[email protected]>
>> Date: Mon, 18 Feb 2013 21:33:49 -0500
>> Subject: [PATCH] Changes to squash into "use client id for IPv6 DHCP host
>> definition"
>>
>> ---
>> src/conf/network_conf.c | 15 +++++----------
>> src/util/virdnsmasq.c | 3 +--
>> 2 files changed, 6 insertions(+), 12 deletions(-)
>>
>> diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
>> index 8657284..12bf4d7 100644
>> --- a/src/conf/network_conf.c
>> +++ b/src/conf/network_conf.c
>> @@ -710,16 +710,11 @@ virNetworkDHCPHostDefParseXML(const char *networkName,
>>
>> id = virXMLPropString(node, "id");
>> if (id) {
>> - char *cp = id;
>> -
>> - while (*cp) {
>> - if ((*cp != ':') && (!c_isxdigit(*cp))) {
>> - virReportError(VIR_ERR_XML_ERROR,
>> - _("Cannot use id '%s' in network '%s'"),
>> - id, networkName);
>> - goto cleanup;
>> - }
>> - cp++;
>> + char *cp = id + strcspn(id, "0123456789abcdefABCDEF:");
>> + if (*cp) {
>> + virReportError(VIR_ERR_XML_ERROR,
>> + _("Invalid character '%c' in id '%s' of network
>> '%s'"),
>> + *cp, id, networkName);
> That's not quite right. You want to use strspn(), not strcspn().
Argh! I would have caught that if I'd paid attention to make check.
In the meantime, I noticed that there weren't any networkxml2xml tests
for dhcp6 host records, so I added one before pushing.
>
>> +++ b/src/util/virdnsmasq.c
>> @@ -328,8 +328,7 @@ hostsfileAdd(dnsmasqHostsfile *hostsfile,
>> id, ipstr) < 0)
>> goto alloc_error;
>> }
>> - }
>> - else if (name && mac) {
>> + } else if (name && mac) {
> This hunk is good.
>
> ACK to your interdiff once you use the correct function.
>
I've now pushed both the patches in this series.
Thanks Gene! (and thanks for Eric for catching my mistake!)
--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list