Some things are broken when using leases that don't expire. We don't
store "expiry-time" in corresponding $brname.status file which sets off
a spiral and we get errors from other places which expect it to be there
always. These patches make sure that the attribute is always there. I've
also implemented another approach, which puts "expiry-time" into the
file only if not infinite and fixed the other places which expect it:

  https://gitlab.com/MichalPrivoznik/libvirt/-/commits/leases_docs/

but I like this version more.

Michal Prívozník (10):
  docs: Document ability to configure lease time
  leaseshelper: Report errors on failure
  virlease: Rework virLeaseReadCustomLeaseFile()
  virlease: Use virTrimSpaces() instead of open coded alternative
  virlease: Allow infinite lease expiry time
  network: Drop @custom_lease_file_len variable from
    networkGetDHCPLeases()
  networkGetDHCPLeases: Use VIR_APPEND_ELEMENT() instead of
    VIR_INSERT_ELEMENT()
  network: Rework networkGetDHCPLeases()
  networkGetDHCPLeases: Handle leases with infinite expiry time
  nss: handle leases with infinite expiry time

 docs/formatnetwork.html.in     | 21 ++++++++-
 src/network/bridge_driver.c    | 79 +++++++++++++++++-----------------
 src/network/leaseshelper.c     |  2 +
 src/util/virlease.c            | 33 +++++++-------
 tests/nssdata/virbr0.status    |  7 +++
 tests/nsstest.c                |  2 +-
 tools/nss/libvirt_nss_leases.c |  4 +-
 7 files changed, 87 insertions(+), 61 deletions(-)

-- 
2.26.2

Reply via email to