• Dave Cridland's avatar
    Change OF-888 fix to be based on error · 5115f9b8
    Dave Cridland authored
    OF-888 is presumed to be a recursion due to an attempt to bounce a bounce, in
    other words it's failing to handle a double-bounce.
    
    It appears to be caused when routing a stanza from a MUC fails, and for some
    reason I don't yet understand, the routing of the bounce to the originating
    MUC source also fails.
    
    The test for the double bounce is only present for the IQ case, but this fails
    in any case because it tests only for the IQ case, and uses a test which checks
    the IQ's symbolic type; this is not actually set by Packet.setError(), so does
    not trigger.
    
    Tom's fix inserted a sentinel into the original failing stanza, however a new
    stanza is created for the bounce, which will not contain the sentinel; therefore
    the fix will not protect from a recursion.
    
    Therefore this patch:
    
    1) Removes Tom's fix for OF-888.
    
    2) Tests for the message and presence error types.
    
    3) Tests for the presence of a stanza error (though this is a warning).
    
    4) Explicitly sets the stanza error type.
    5115f9b8
LocalOutgoingServerSession.java 36 KB