Archived

This forum has been archived. Please start a new discussion on GitHub.

Patch for Glacier2, release 3.0.1

benoit
benoit Rennes, France
Hi,

Glacier2 buffered mode in Ice versions >= 2.1.2 has a bug which might cause the Glacier2 router to hang if a client misbehaves or crashes (and the connection loss with the client isn't detected in a timely manner). You're strongly recommend to apply this patch if you're running Glacier2 in an untrusted environment.

To apply the patch:

$ cd Ice-3.0.1
$ patch -p0 < glacier2.patch.txt

Cheers,
Benoit.

Comments

  • hi, there,
    Could you pls give more info about this problem which needs to be patched? Does this problem only affect glacier2 or will affect the strategy of AMD/AMI chain, which is the most important characteristic of ICE.
    The patched file seems like the very old version of glaicer2router.

    Cheers



    OrNot
  • matthew
    matthew NL, Canada
    The patch fixes a bug in the glacier2router with buffered mode. It does not affect the Ice core.
  • Hi, Mattrew,
    The fixed version seems to return to the 2.1.1 (if I did not make a mistake in patching.) In that version, it was once thought as a bug without AMI . So I feel confused by this patch. Of course it was out of this scope of forum, but it will helpful to give more details about the bug. So far as I am concerned , if the stuff ,such as the AMD/AMI MatchMaker in Connection 11 , will be affected since our current project heavy depends on a broker implemented with ICE AMD/AMI.
    Thanks.


    OrNot
  • matthew
    matthew NL, Canada
    The problem is not a generic problem with the Ice core.

    The original problem was that Glacier2 didn't correctly support nested invocations (that is Client -> Glacier2 -> Server -> Glacier2 -> Client). The "fix" for this was included in Ice 3.0, and Ice 3.0.1. However, the fix broke buffered mode in the event that the connection to a client hangs for some reason. I'm pretty sure that Benoit's patch reverts to the pre Ice 3.0 behaviour -- so buffered mode will work again but nested invocations will not.

    We'll have a complete fix for this with the Ice 3.1 release.
  • Thank you very much.