• G
    dccp: Integration of dynamic feature activation - part 1 (socket setup) · 3a53a9ad
    Gerrit Renker 提交于
    This first patch out of three replaces the hardcoded default settings with
    initialisation code for the dynamic feature negotiation.
    
    Note on retransmitting Confirm options:
    ---------------------------------------
    This patch also defers flushing the client feature-negotiation queue,
    due to the following considerations.
    
    As long as the client is in PARTOPEN, it needs to retransmit the Confirm
    options for the Change options received on the DCCP-Response from the server.
    
    Otherwise, if the packet containing the Confirm options gets dropped in the 
    network, the connection aborts due to undefined feature negotiation state.
    
    Thanks to Leandro Melo de Sales who reported a bug in an earlier revision
    of the patch set, resulting from not retransmitting the Confirm options.
    
    The patch now ensures that the client feature-negotiation queue is flushed only
    when entering the OPEN state. Since confirmed Change options are removed as
    soon as they are confirmed (in the DCCP-Response), this ensures that Confirm
    options are retransmitted.
    Signed-off-by: NGerrit Renker <gerrit@erg.abdn.ac.uk>
    Acked-by: NIan McDonald <ian.mcdonald@jandi.co.nz>
    3a53a9ad
proto.c 27.4 KB