OpenAFS Master Repository branch, openafs-stable-1_8_x, updated. openafs-stable-1_8_7-104-g1e54968

Gerrit Code Review gerrit@openafs.org
Fri, 12 Feb 2021 11:44:05 -0500


The following commit has been merged in the openafs-stable-1_8_x branch:
commit 1e5496856b71dca6cc2fd0e54ea8dea4444e3867
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Apr 30 18:34:28 2018 -0400

    rx: fix out-of-range value for RX_CONN_NAT_PING
    
    Commit 496fb87372555f6acddd4fd88b03c94c85f48511 ("rx: avoid nat ping
    until connection is attached") introduced functionality to defer turning
    on NAT ping for server connections until after reachability had been
    established for the client.
    
    Unfortunately, this feature could never work correctly because it
    assigned an out-of-range flag value of 256 (0x100) for the u_char flags
    field. Instead of calling this out as an error, both gcc and Solaris cc
    elide this flag so that it is never set in
    rx_SetConnSecondsUntilNatPing(), Furthermore, the test in
    rxi_ConnClearAttachWait() will always fail; therefore
    rxi_ScheduleNatKeepAliveEvent is never called after attach wait has
    ended.
    
    Fortunately, this bug is currently moot - not actually exposed in
    OpenAFS. (It was discovered by inspection). This is because there are
    currently no rx_connection objects in the tree that have both NAT ping
    and checkReach (rx_SetCheckReach) enabled. I also searched git history
    and found no time when this bug could ever have been exposed. This does
    raise the question of why the original commit was needed; but instead of
    reverting the original commit, this commit attempts to fix it.
    
    To prevent problems if NAT ping and checkReach are ever both enabled for
    an rx_connection, enlarge the rx_connection flags member so that the
    RX_CONN_NAT_PING value is no longer out of range.
    
    Reviewed-on: https://gerrit.openafs.org/13041
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 55fca11421055d0bcee79f118ea2a035393cc6e5)
    
    Change-Id: I9b02ff06d7bf6ba0dfa30ed5ca17ddb89b517987
    Reviewed-on: https://gerrit.openafs.org/14513
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

 doc/txt/rx-debug.txt |    2 ++
 src/rx/rx.h          |    2 +-
 src/rx/rx_conn.h     |    3 ++-
 src/rx/rx_packet.c   |    2 +-
 4 files changed, 6 insertions(+), 3 deletions(-)

-- 
OpenAFS Master Repository