OpenAFS Master Repository branch, openafs-stable-1_8_x, updated. openafs-stable-1_8_7-84-g7e42148

Gerrit Code Review gerrit@openafs.org
Thu, 14 Jan 2021 17:30:34 -0500


The following commit has been merged in the openafs-stable-1_8_x branch:
commit 6f898c4c711d0aff7ea452670164802b5e423c18
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Thu Jan 14 09:57:13 2021 -0500

    rx: update_nextCid overflow handling is broken
    
    The overflow handling in update_nextCid() produces a rx_nextCid
    value of 0x80000001 which itself is out of the valid range.   When
    used to construct the first call of a new connection the connection
    id for the call becomes 0x80000002, and all subsequent connections
    also trigger the overflow handling and thus also receive connection
    id 0x80000002.
    
    If the same connection id is used for multiple connections from
    the same endpoint the accepting rx peer will be very confused.
    
    When authenticated connections are used, the CHALLENGE/RESPONSE
    will fail because of a mismatch in the connection's callNumber
    array.
    
    If an initiator makes only a single connection to a given rx peer,
    that connection would succeed, but once multiple connections are
    initiated all communication from a broken initiator to any rx peer
    will fail.
    
    The incorrect overflow calculation was introduced by
    39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid
    generation into the rx core").
    
    This change corrects the overflow value to become
    
      1 << RX_CIDSHIFT
    
    Reviewed-on: https://gerrit.openafs.org/14492
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2c0a3901cbfcb231b7b67eb0899a3133516f33c8)
    
    Change-Id: I74d70706ddf99022bed639891cb610fba9ef863d
    Reviewed-on: https://gerrit.openafs.org/14494
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f5ed8c2fac4c94914099881250f5f2e893f3f9f7)

 src/rx/rx.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

-- 
OpenAFS Master Repository