dhclient: fix updating the DUID in multiline lease files
The nm_dhcp_dhclient_save_duid() function will save a newly generated DUID to a previously existing lease file. The function will only save the DUID if not present in the lease file: in this case, should preserve the other contents of the lease file. A dhclient lease file for IPv6 generated by NetworkManager will always add the DUID as a first item: so in practice finding a lease file without DUID will never happen. This has hidden a bug in the function: the loop that is meant to append the non-duid lines in the lease file would strip all the newlines, mangling the lease file. Fix the function allowing to keep the original lines and add a test to check this functionality is kept well functioning. FIXME: the new test and the other duid ones already there store the file in the current working-directory. Tests should not do that.
Showing with 40 additions and 7 deletions