Project

General

Profile

Actions

Feature #10119

closed

[PATCH] [net/imap] Add CHANGEDSINCE FETCH modifier + complementary add MODSEQ Message Data Item in FETCH Command

Added by plehoux (Philippe-Antoine Lehoux) over 10 years ago. Updated over 7 years ago.

Status:
Closed
Target version:
[ruby-core:64272]

Description

Add [CHANGEDSINCE FETCH modifier]
(http://tools.ietf.org/html/rfc4551#section-3.3.1)

Add [MODSEQ Message Data Item in FETCH Command]
(http://tools.ietf.org/html/rfc4551#section-3.3.2)


Files

modseq-changedsince-changes.patch (2.27 KB) modseq-changedsince-changes.patch plehoux (Philippe-Antoine Lehoux), 08/08/2014 07:57 PM
modseq-changedsince-changes-UPDATED.patch (4.3 KB) modseq-changedsince-changes-UPDATED.patch plehoux (Philippe-Antoine Lehoux), 05/10/2017 05:08 PM

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Subject changed from [PATCH] Add CHANGEDSINCE FETCH modifier + complementary add MODSEQ Message Data Item in FETCH Command to [PATCH] [net/imap] Add CHANGEDSINCE FETCH modifier + complementary add MODSEQ Message Data Item in FETCH Command
  • Description updated (diff)

Updated by hsbt (Hiroshi SHIBATA) over 10 years ago

  • Status changed from Open to Assigned

Updated by shugo (Shugo Maeda) almost 10 years ago

  • Status changed from Assigned to Feedback

It seems to be a bug that store_internal is changed not to use flags.
What was your intention?

Could you write tests for this change?

Updated by plehoux (Philippe-Antoine Lehoux) over 7 years ago

  • File modseq-changedsince-changes-UPDATED.patch added

The above patch was wrong. There is/was no flags variable in current/previous ruby versions.

The attached patch now correctly reflect the real diff.

I also added this test as requested:

  # [Bug #10119]
  def test_msg_att_modseq_data
    parser = Net::IMAP::ResponseParser.new
    response = parser.parse("* 1 FETCH (FLAGS (\Seen) MODSEQ (12345) UID 5)\r\n")
    assert_equal(12345, response.data.attr["MODSEQ"])
  end
Actions #5

Updated by plehoux (Philippe-Antoine Lehoux) over 7 years ago

  • File deleted (modseq-changedsince-changes-UPDATED.patch)

Updated by plehoux (Philippe-Antoine Lehoux) over 7 years ago

I updated the patch so the code doesn't raise when passing a CHANGEDSINCE value bigger than 4294967296, as defined by rfc 4551.

https://tools.ietf.org/html/rfc4551 :

mod-sequence-value = 1*DIGIT
;; Positive unsigned 64-bit integer
;; (mod-sequence)
;; (1 <= n < 18,446,744,073,709,551,615)

Actions #7

Updated by shugo (Shugo Maeda) over 7 years ago

  • Status changed from Feedback to Assigned
Actions #8

Updated by shugo (Shugo Maeda) over 7 years ago

  • Status changed from Assigned to Closed

Applied in changeset trunk|r59424.


lib/net/imap.rb: support CHANGEDSINCE and MODSEQ

Patch by plehoux (Philippe-Antoine Lehoux). [ruby-core:64272] [Feature #10119]

Updated by shugo (Shugo Maeda) over 7 years ago

plehoux (Philippe-Antoine Lehoux) wrote:

I updated the patch so the code doesn't raise when passing a CHANGEDSINCE value bigger than 4294967296, as defined by rfc 4551.

I've merged it. Thank you!

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0