viced: Verify primary host address 70/15070/4
authorAndrew Deason <adeason@sinenomine.net>
Fri, 8 Jul 2022 22:14:26 +0000 (17:14 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Thu, 11 Aug 2022 15:55:04 +0000 (11:55 -0400)
commit9d144491d94e7e19e2d710601a37045ef1ef1fdc
tree74e16a546bad9642fb4cea6fea106f097e7660a3
parent40b2c6036737a416f3b33624b5abeefa407c1b01
viced: Verify primary host address

Currently, h_stateVerifyHost verifies that all of the valid entries on
h->z.interface are on the host address hashtable. If we don't have a
h->z.interface, we check the primary address h->z.host/h->z.port
instead.

But if we do have a h->z.interface, we don't check h->z.host/h->z.port
at all. Normally, the primary address should always be included in the
h->z.interface list (in a 'valid==1' entry), and so checking the
primary address is redundant. However, currently it is possible in
some edge cases for the primary address to be missing from the
hashtable and to not be listed as a valid address in h->z.interface.
In such cases, we don't flag an error or even log a warning, since we
don't check the primary address separately. (These cases are bugs, and
will be addressed in future commits.)

To detect this case, change h_stateVerifyHost to always check
h->z.host, just like we do for the entries in h->z.interface.

Change-Id: Id88276dfd121194141cb493924bab8d50cb8fcf3
Reviewed-on: https://gerrit.openafs.org/15070
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/viced/host.c