Change OF-888 fix to be based on error
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.
Showing
Please register or sign in to comment