From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id CA6051F5AE for ; Fri, 24 Jul 2020 21:12:30 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id EDBA212099A; Sat, 25 Jul 2020 06:11:56 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 3AE3C12097F for ; Sat, 25 Jul 2020 06:11:55 +0900 (JST) Received: by filterdrecv-p3iad2-5b55dcd864-n86tl with SMTP id filterdrecv-p3iad2-5b55dcd864-n86tl-21-5F1B4EB5-62 2020-07-24 21:12:21.473106011 +0000 UTC m=+2433785.238547826 Received: from herokuapp.com (unknown) by ismtpd0053p1iad1.sendgrid.net (SG) with ESMTP id 12P1Cew0SAeMZDjNjUy-YA for ; Fri, 24 Jul 2020 21:12:21.330 +0000 (UTC) Date: Fri, 24 Jul 2020 21:12:21 +0000 (UTC) From: merch-redmine@jeremyevans.net Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 75107 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Bug X-Redmine-Issue-Id: 17049 X-Redmine-Issue-Author: Nestorfish X-Redmine-Issue-Assignee: shugo X-Redmine-Sender: jeremyevans0 X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: =?us-ascii?Q?RVE3t853K5scBhbmJHUzZTFFeVC=2FZSUmHZ0Dc+26wcEi2CTgsF1oz0wTSSxGGN?= =?us-ascii?Q?BIn+viy0m6MrQ2rEvuh5VeEGCgw=2Fl3+0LMWL=2FDt?= =?us-ascii?Q?e3oydFRnsIcOFw5Brr2csJ8Yin6EYHViZeMe+Sk?= =?us-ascii?Q?89bIjqTDAeG4ZKiTGgmhrvPxR0FZZQiOBsKgYOe?= =?us-ascii?Q?zNV=2F4OPhPawIimnLPZ3juM99vyLqeMKhNCQE4cK?= =?us-ascii?Q?qWsjOGH4e0+1GA9xw=3D?= To: ruby-core@ruby-lang.org X-ML-Name: ruby-core X-Mail-Count: 99316 Subject: [ruby-core:99316] [Ruby master Bug#17049] Net::IMAP - Handling of NOOP untagged responses sent by Zimbra X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #17049 has been updated by jeremyevans0 (Jeremy Evans). Assignee set to shugo (Shugo Maeda) Per RFC 3501 Section 7: `The client MUST be prepared to accept any response at all times.` Arguably, raising an exception is not proper preparation. Looking at the formal grammar, it does not appear that `* NOOP` is a valid server response (though `* NO OP` would be), so Zimbra's behavior does appear to go against the standard. I think if we were going to fix this in net/imap, we should not make this specific to `* NOOP`, we should handle any unrecognized untagged response the same way. However, @shugo is the maintainer of net/imap, so the behavior is up to him. It looks like Zimbra's bug tracker for the IMAP component is: https://bugzilla.zimbra.com/buglist.cgi?component=IMAP%2FPOP%20Server&product=ZCS&resolution=--- I recommend you report the issue there. You could also create a patch and add it as a pull request to https://github.com/Zimbra/zm-mailbox/pulls. However, it appears the behavior in Zimbra is deliberate to keep connections active, so you may encounter some resistance. According to RFC 3501, sending NOOP to keeping connections open is the job of the client (NOOP requests), it's not the job of the server. ---------------------------------------- Bug #17049: Net::IMAP - Handling of NOOP untagged responses sent by Zimbra https://bugs.ruby-lang.org/issues/17049#change-86711 * Author: Nestorfish (Christophe Le Roy) * Status: Open * Priority: Normal * Assignee: shugo (Shugo Maeda) * ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin17] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- Zimbra server sends invalid untagged responses to prevent some clients from disconnecting during long-running requests. As they are invalid, they raise an exception in Net::IMAP, while they could be clearly identified and safely ignored. I have opened an issue on net-imap GitHub repository, along with a pull request (https://github.com/ruby/net-imap/issues/2 and https://github.com/ruby/net-imap/pull/3), but it seems I should have reported the issue here. Can we have a look to these ? -- https://bugs.ruby-lang.org/