Home Patches

Patch for Glacier2, release 3.0.1

benoitbenoit Rennes, FranceAdministrators, ZeroC Staff Benoit FoucherOrganization: ZeroC, Inc.Project: Ice ZeroC Staff
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

  • OrNotOrNot Member Bin.LiOrganization: GE HealthcareProject: Enterprise solution
    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
  • matthewmatthew NL, CanadaMember Matthew NewhookOrganization: ZeroC, Inc.Project: Internet Communications Engine ✭✭✭
    The patch fixes a bug in the glacier2router with buffered mode. It does not affect the Ice core.
  • OrNotOrNot Member Bin.LiOrganization: GE HealthcareProject: Enterprise solution
    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
  • matthewmatthew NL, CanadaMember Matthew NewhookOrganization: ZeroC, Inc.Project: Internet Communications Engine ✭✭✭
    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.
  • OrNotOrNot Member Bin.LiOrganization: GE HealthcareProject: Enterprise solution
    Thank you very much.
Sign In or Register to comment.