diff --git a/README.md b/README.md
index 3a5982b5..7fc6d635 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# Net::IMAP
Net::IMAP implements Internet Message Access Protocol (IMAP) client
-functionality. The protocol is described in [IMAP](https://tools.ietf.org/html/rfc3501).
+functionality. The protocol is described in [RFC3501](https://www.rfc-editor.org/rfc/rfc3501).
## Installation
diff --git a/lib/net/imap.rb b/lib/net/imap.rb
index 7223d70b..f788b1d1 100644
--- a/lib/net/imap.rb
+++ b/lib/net/imap.rb
@@ -25,8 +25,8 @@ module Net
# Net::IMAP implements Internet Message Access Protocol (\IMAP) client
# functionality. The protocol is described
- # in {IMAP4rev1 [RFC3501]}[https://tools.ietf.org/html/rfc3501]
- # and {IMAP4rev2 [RFC9051]}[https://tools.ietf.org/html/rfc9051].
+ # in {IMAP4rev1 [RFC3501]}[https://www.rfc-editor.org/rfc/rfc3501]
+ # and {IMAP4rev2 [RFC9051]}[https://www.rfc-editor.org/rfc/rfc9051].
#
# == \IMAP Overview
#
@@ -299,15 +299,15 @@ module Net
# === Core \IMAP commands
#
# The following commands are defined either by
- # the [IMAP4rev1[https://tools.ietf.org/html/rfc3501]] base specification, or
+ # the [IMAP4rev1[https://www.rfc-editor.org/rfc/rfc3501]] base specification, or
# by one of the following extensions:
- # [IDLE[https://tools.ietf.org/html/rfc2177]],
- # [NAMESPACE[https://tools.ietf.org/html/rfc2342]],
- # [UNSELECT[https://tools.ietf.org/html/rfc3691]],
- # [ENABLE[https://tools.ietf.org/html/rfc5161]],
- # [MOVE[https://tools.ietf.org/html/rfc6851]].
+ # [IDLE[https://www.rfc-editor.org/rfc/rfc2177]],
+ # [NAMESPACE[https://www.rfc-editor.org/rfc/rfc2342]],
+ # [UNSELECT[https://www.rfc-editor.org/rfc/rfc3691]],
+ # [ENABLE[https://www.rfc-editor.org/rfc/rfc5161]],
+ # [MOVE[https://www.rfc-editor.org/rfc/rfc6851]].
# These extensions are widely supported by modern IMAP4rev1 servers and have
- # all been integrated into [IMAP4rev2[https://tools.ietf.org/html/rfc9051]].
+ # all been integrated into [IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051]].
# *NOTE:* Net::IMAP doesn't support IMAP4rev2 yet.
#
# ==== Any state
@@ -404,7 +404,7 @@ module Net
#
# ==== RFC9051: +IMAP4rev2+
#
- # Although IMAP4rev2[https://tools.ietf.org/html/rfc9051] is not supported
+ # Although IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051] is not supported
# yet, Net::IMAP supports several extensions that have been folded into it:
# +ENABLE+, +IDLE+, +MOVE+, +NAMESPACE+, +SASL-IR+, +UIDPLUS+, +UNSELECT+,
# STATUS=SIZE, and the fetch side of +BINARY+.
@@ -424,13 +424,13 @@ module Net
# - #setquota: sets the resource limits for a given quota root.
#
# ==== RFC2177: +IDLE+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051] and also included
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051] and also included
# above with {Core IMAP commands}[rdoc-ref:Net::IMAP@Core+IMAP+commands].
# - #idle: Allows the server to send updates to the client, without the client
# needing to poll using #noop.
#
# ==== RFC2342: +NAMESPACE+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051] and also included
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051] and also included
# above with {Core IMAP commands}[rdoc-ref:Net::IMAP@Core+IMAP+commands].
# - #namespace: Returns mailbox namespaces, with path prefixes and delimiters.
#
@@ -439,7 +439,7 @@ module Net
#
# ==== RFC3516: +BINARY+
# The fetch side of +BINARY+ has been folded into
- # IMAP4rev2[https://tools.ietf.org/html/rfc9051].
+ # IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051].
# - Updates #fetch and #uid_fetch with the +BINARY+, +BINARY.PEEK+, and
# +BINARY.SIZE+ items. See FetchData#binary and FetchData#binary_size.
#
@@ -447,7 +447,7 @@ module Net
# *NOTE:* The binary extension the #append command is _not_ supported yet.
#
# ==== RFC3691: +UNSELECT+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051] and also included
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051] and also included
# above with {Core IMAP commands}[rdoc-ref:Net::IMAP@Core+IMAP+commands].
# - #unselect: Closes the mailbox and returns to the "_authenticated_" state,
# without expunging any messages.
@@ -459,7 +459,7 @@ module Net
# *NOTE:* +DELETEACL+, +LISTRIGHTS+, and +MYRIGHTS+ are not supported yet.
#
# ==== RFC4315: +UIDPLUS+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051] and also included
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051] and also included
# above with {Core IMAP commands}[rdoc-ref:Net::IMAP@Core+IMAP+commands].
# - #uid_expunge: Restricts #expunge to only remove the specified UIDs.
# - Updates #select, #examine with the +UIDNOTSTICKY+ ResponseCode
@@ -467,15 +467,15 @@ module Net
# - Updates #copy, #move with the +COPYUID+ ResponseCode
#
# ==== RFC4731: +ESEARCH+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051].
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051].
# - Updates #search, #uid_search with +return+ options and ESearchResult.
#
# ==== RFC4959: +SASL-IR+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051].
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051].
# - Updates #authenticate with the option to send an initial response.
#
# ==== RFC5161: +ENABLE+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051] and also included
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051] and also included
# above with {Core IMAP commands}[rdoc-ref:Net::IMAP@Core+IMAP+commands].
# - #enable: Enables backwards incompatible server extensions.
#
@@ -499,7 +499,7 @@ module Net
# +X-GM-THRID+, but Gmail does not support it (as of 2023-11-10).
#
# ==== RFC6851: +MOVE+
- # Folded into IMAP4rev2[https://tools.ietf.org/html/rfc9051] and also included
+ # Folded into IMAP4rev2[https://www.rfc-editor.org/rfc/rfc9051] and also included
# above with {Core IMAP commands}[rdoc-ref:Net::IMAP@Core+IMAP+commands].
# - #move, #uid_move: Moves the specified messages to the end of the
# specified destination mailbox, expunging them from the current mailbox.
@@ -575,57 +575,57 @@ module Net
# Gahrns, M., "IMAP4 Multi-Accessed Mailbox Practice", RFC 2180, DOI
# 10.17487/RFC2180, July 1997, .
#
- # [UTF7[https://tools.ietf.org/html/rfc2152]]::
+ # [UTF7[https://www.rfc-editor.org/rfc/rfc2152]]::
# Goldsmith, D. and M. Davis, "UTF-7 A Mail-Safe Transformation Format of
# Unicode", RFC 2152, DOI 10.17487/RFC2152, May 1997,
# .
#
# === Message envelope and body structure
#
- # [RFC5322[https://tools.ietf.org/html/rfc5322]]::
+ # [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]::
# Resnick, P., Ed., "Internet Message Format",
# RFC 5322, DOI 10.17487/RFC5322, October 2008,
# .
#
# Note: obsoletes
- # RFC-2822[https://tools.ietf.org/html/rfc2822] (April 2001) and
- # RFC-822[https://tools.ietf.org/html/rfc822] (August 1982).
+ # RFC-2822[https://www.rfc-editor.org/rfc/rfc2822] (April 2001) and
+ # RFC-822[https://www.rfc-editor.org/rfc/rfc822] (August 1982).
#
- # [CHARSET[https://tools.ietf.org/html/rfc2978]]::
+ # [CHARSET[https://www.rfc-editor.org/rfc/rfc2978]]::
# Freed, N. and J. Postel, "IANA Charset Registration Procedures", BCP 19,
# RFC 2978, DOI 10.17487/RFC2978, October 2000,
# .
#
- # [DISPOSITION[https://tools.ietf.org/html/rfc2183]]::
+ # [DISPOSITION[https://www.rfc-editor.org/rfc/rfc2183]]::
# Troost, R., Dorner, S., and K. Moore, Ed., "Communicating Presentation
# Information in Internet Messages: The Content-Disposition Header
# Field", RFC 2183, DOI 10.17487/RFC2183, August 1997,
# .
#
- # [MIME-IMB[https://tools.ietf.org/html/rfc2045]]::
+ # [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]]::
# Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions
# (MIME) Part One: Format of Internet Message Bodies",
# RFC 2045, DOI 10.17487/RFC2045, November 1996,
# .
#
- # [MIME-IMT[https://tools.ietf.org/html/rfc2046]]::
+ # [MIME-IMT[https://www.rfc-editor.org/rfc/rfc2046]]::
# Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions
# (MIME) Part Two: Media Types", RFC 2046, DOI 10.17487/RFC2046,
# November 1996, .
#
- # [MIME-HDRS[https://tools.ietf.org/html/rfc2047]]::
+ # [MIME-HDRS[https://www.rfc-editor.org/rfc/rfc2047]]::
# Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part Three:
# Message Header Extensions for Non-ASCII Text",
# RFC 2047, DOI 10.17487/RFC2047, November 1996,
# .
#
- # [RFC2231[https://tools.ietf.org/html/rfc2231]]::
+ # [RFC2231[https://www.rfc-editor.org/rfc/rfc2231]]::
# Freed, N. and K. Moore, "MIME Parameter Value and Encoded Word
# Extensions: Character Sets, Languages, and Continuations",
# RFC 2231, DOI 10.17487/RFC2231, November 1997,
# .
#
- # [I18n-HDRS[https://tools.ietf.org/html/rfc6532]]::
+ # [I18n-HDRS[https://www.rfc-editor.org/rfc/rfc6532]]::
# Yang, A., Steele, S., and N. Freed, "Internationalized Email Headers",
# RFC 6532, DOI 10.17487/RFC6532, February 2012,
# .
@@ -641,12 +641,12 @@ module Net
# RFC 2557, DOI 10.17487/RFC2557, March 1999,
# .
#
- # [MD5[https://tools.ietf.org/html/rfc1864]]::
+ # [MD5[https://www.rfc-editor.org/rfc/rfc1864]]::
# Myers, J. and M. Rose, "The Content-MD5 Header Field",
# RFC 1864, DOI 10.17487/RFC1864, October 1995,
# .
#
- # [RFC3503[https://tools.ietf.org/html/rfc3503]]::
+ # [RFC3503[https://www.rfc-editor.org/rfc/rfc3503]]::
# Melnikov, A., "Message Disposition Notification (MDN)
# profile for Internet Message Access Protocol (IMAP)",
# RFC 3503, DOI 10.17487/RFC3503, March 2003,
@@ -654,27 +654,27 @@ module Net
#
# === \IMAP Extensions
#
- # [QUOTA[https://tools.ietf.org/html/rfc9208]]::
+ # [QUOTA[https://www.rfc-editor.org/rfc/rfc9208]]::
# Melnikov, A., "IMAP QUOTA Extension", RFC 9208, DOI 10.17487/RFC9208,
# March 2022, .
#
# Note: obsoletes
- # RFC-2087[https://tools.ietf.org/html/rfc2087] (January 1997).
+ # RFC-2087[https://www.rfc-editor.org/rfc/rfc2087] (January 1997).
# Net::IMAP does not fully support the RFC9208 updates yet.
- # [IDLE[https://tools.ietf.org/html/rfc2177]]::
+ # [IDLE[https://www.rfc-editor.org/rfc/rfc2177]]::
# Leiba, B., "IMAP4 IDLE command", RFC 2177, DOI 10.17487/RFC2177,
# June 1997, .
- # [NAMESPACE[https://tools.ietf.org/html/rfc2342]]::
+ # [NAMESPACE[https://www.rfc-editor.org/rfc/rfc2342]]::
# Gahrns, M. and C. Newman, "IMAP4 Namespace", RFC 2342,
# DOI 10.17487/RFC2342, May 1998, .
- # [ID[https://tools.ietf.org/html/rfc2971]]::
+ # [ID[https://www.rfc-editor.org/rfc/rfc2971]]::
# Showalter, T., "IMAP4 ID extension", RFC 2971, DOI 10.17487/RFC2971,
# October 2000, .
- # [BINARY[https://tools.ietf.org/html/rfc3516]]::
+ # [BINARY[https://www.rfc-editor.org/rfc/rfc3516]]::
# Nerenberg, L., "IMAP4 Binary Content Extension", RFC 3516,
# DOI 10.17487/RFC3516, April 2003,
# .
- # [ACL[https://tools.ietf.org/html/rfc4314]]::
+ # [ACL[https://www.rfc-editor.org/rfc/rfc4314]]::
# Melnikov, A., "IMAP4 Access Control List (ACL) Extension", RFC 4314,
# DOI 10.17487/RFC4314, December 2005,
# .
@@ -682,33 +682,33 @@ module Net
# Crispin, M., "Internet Message Access Protocol (\IMAP) - UIDPLUS
# extension", RFC 4315, DOI 10.17487/RFC4315, December 2005,
# .
- # [SORT[https://tools.ietf.org/html/rfc5256]]::
+ # [SORT[https://www.rfc-editor.org/rfc/rfc5256]]::
# Crispin, M. and K. Murchison, "Internet Message Access Protocol - SORT and
# THREAD Extensions", RFC 5256, DOI 10.17487/RFC5256, June 2008,
# .
- # [THREAD[https://tools.ietf.org/html/rfc5256]]::
+ # [THREAD[https://www.rfc-editor.org/rfc/rfc5256]]::
# Crispin, M. and K. Murchison, "Internet Message Access Protocol - SORT and
# THREAD Extensions", RFC 5256, DOI 10.17487/RFC5256, June 2008,
# .
# [RFC5530[https://www.rfc-editor.org/rfc/rfc5530.html]]::
# Gulbrandsen, A., "IMAP Response Codes", RFC 5530, DOI 10.17487/RFC5530,
# May 2009, .
- # [MOVE[https://tools.ietf.org/html/rfc6851]]::
+ # [MOVE[https://www.rfc-editor.org/rfc/rfc6851]]::
# Gulbrandsen, A. and N. Freed, Ed., "Internet Message Access Protocol
# (\IMAP) - MOVE Extension", RFC 6851, DOI 10.17487/RFC6851, January 2013,
# .
- # [UTF8=ACCEPT[https://tools.ietf.org/html/rfc6855]]::
- # [UTF8=ONLY[https://tools.ietf.org/html/rfc6855]]::
+ # [UTF8=ACCEPT[https://www.rfc-editor.org/rfc/rfc6855]]::
+ # [UTF8=ONLY[https://www.rfc-editor.org/rfc/rfc6855]]::
# Resnick, P., Ed., Newman, C., Ed., and S. Shen, Ed.,
# "IMAP Support for UTF-8", RFC 6855, DOI 10.17487/RFC6855, March 2013,
# .
- # [CONDSTORE[https://tools.ietf.org/html/rfc7162]]::
- # [QRESYNC[https://tools.ietf.org/html/rfc7162]]::
+ # [CONDSTORE[https://www.rfc-editor.org/rfc/rfc7162]]::
+ # [QRESYNC[https://www.rfc-editor.org/rfc/rfc7162]]::
# Melnikov, A. and D. Cridland, "IMAP Extensions: Quick Flag Changes
# Resynchronization (CONDSTORE) and Quick Mailbox Resynchronization
# (QRESYNC)", RFC 7162, DOI 10.17487/RFC7162, May 2014,
# .
- # [OBJECTID[https://tools.ietf.org/html/rfc8474]]::
+ # [OBJECTID[https://www.rfc-editor.org/rfc/rfc8474]]::
# Gondwana, B., Ed., "IMAP Extension for Object Identifiers",
# RFC 8474, DOI 10.17487/RFC8474, September 2018,
# .
@@ -1146,12 +1146,12 @@ def capability
# )
# end
#
- # See [ID[https://tools.ietf.org/html/rfc2971]] for field definitions.
+ # See [ID[https://www.rfc-editor.org/rfc/rfc2971]] for field definitions.
#
# ==== Capabilities
#
# The server's capabilities must include +ID+
- # [RFC2971[https://tools.ietf.org/html/rfc2971]].
+ # [RFC2971[https://www.rfc-editor.org/rfc/rfc2971]].
def id(client_id=nil)
synchronize do
send_command("ID", ClientID.new(client_id))
@@ -1574,7 +1574,7 @@ def list(refname, mailbox)
# servers, then folder creation (and listing, moving, etc) can lead to
# errors.
#
- # From RFC2342[https://tools.ietf.org/html/rfc2342]:
+ # From RFC2342[https://www.rfc-editor.org/rfc/rfc2342]:
# >>>
# Although typically a server will support only a single Personal
# Namespace, and a single Other User's Namespace, circumstances exist
@@ -1604,7 +1604,7 @@ def list(refname, mailbox)
# ==== Capabilities
#
# The server's capabilities must include either +IMAP4rev2+ or +NAMESPACE+
- # [RFC2342[https://tools.ietf.org/html/rfc2342]].
+ # [RFC2342[https://www.rfc-editor.org/rfc/rfc2342]].
def namespace
synchronize do
send_command("NAMESPACE")
@@ -1666,7 +1666,7 @@ def xlist(refname, mailbox)
# ==== Capabilities
#
# The server's capabilities must include +QUOTA+
- # [RFC2087[https://tools.ietf.org/html/rfc2087]].
+ # [RFC2087[https://www.rfc-editor.org/rfc/rfc2087]].
def getquotaroot(mailbox)
synchronize do
send_command("GETQUOTAROOT", mailbox)
@@ -1687,7 +1687,7 @@ def getquotaroot(mailbox)
# ==== Capabilities
#
# The server's capabilities must include +QUOTA+
- # [RFC2087[https://tools.ietf.org/html/rfc2087]].
+ # [RFC2087[https://www.rfc-editor.org/rfc/rfc2087]].
def getquota(mailbox)
synchronize do
send_command("GETQUOTA", mailbox)
@@ -1705,7 +1705,7 @@ def getquota(mailbox)
# ==== Capabilities
#
# The server's capabilities must include +QUOTA+
- # [RFC2087[https://tools.ietf.org/html/rfc2087]].
+ # [RFC2087[https://www.rfc-editor.org/rfc/rfc2087]].
def setquota(mailbox, quota)
if quota.nil?
data = '()'
@@ -1725,7 +1725,7 @@ def setquota(mailbox, quota)
# ==== Capabilities
#
# The server's capabilities must include +ACL+
- # [RFC4314[https://tools.ietf.org/html/rfc4314]].
+ # [RFC4314[https://www.rfc-editor.org/rfc/rfc4314]].
def setacl(mailbox, user, rights)
if rights.nil?
send_command("SETACL", mailbox, user, "")
@@ -1743,7 +1743,7 @@ def setacl(mailbox, user, rights)
# ==== Capabilities
#
# The server's capabilities must include +ACL+
- # [RFC4314[https://tools.ietf.org/html/rfc4314]].
+ # [RFC4314[https://www.rfc-editor.org/rfc/rfc4314]].
def getacl(mailbox)
synchronize do
send_command("GETACL", mailbox)
@@ -1905,7 +1905,7 @@ def close
# ==== Capabilities
#
# The server's capabilities must include either +IMAP4rev2+ or +UNSELECT+
- # [RFC3691[https://tools.ietf.org/html/rfc3691]].
+ # [RFC3691[https://www.rfc-editor.org/rfc/rfc3691]].
def unselect
send_command("UNSELECT")
end
@@ -1932,8 +1932,8 @@ def unselect
#
# ==== Capabilities
#
- # When either QRESYNC[https://tools.ietf.org/html/rfc7162] or
- # UIDONLY[https://tools.ietf.org/html/rfc9586] are enabled, #expunge
+ # When either QRESYNC[https://www.rfc-editor.org/rfc/rfc7162] or
+ # UIDONLY[https://www.rfc-editor.org/rfc/rfc9586] are enabled, #expunge
# returns VanishedData, which contains UIDs---not message sequence
# numbers.
def expunge
@@ -2455,7 +2455,7 @@ def uid_search(...)
# list of supported extension fields.
#
# The server's capabilities must include +CONDSTORE+
- # {[RFC7162]}[https://tools.ietf.org/html/rfc7162] in order to use the
+ # {[RFC7162]}[https://www.rfc-editor.org/rfc/rfc7162] in order to use the
# +changedsince+ argument. Using +changedsince+ implicitly enables the
# +CONDSTORE+ extension.
#
@@ -2567,7 +2567,7 @@ def uid_fetch(...)
# Extensions may define new data items to be used with #store.
#
# The server's capabilities must include +CONDSTORE+
- # {[RFC7162]}[https://tools.ietf.org/html/rfc7162] in order to use the
+ # {[RFC7162]}[https://www.rfc-editor.org/rfc/rfc7162] in order to use the
# +unchangedsince+ argument. Using +unchangedsince+ implicitly enables the
# +CONDSTORE+ extension.
#
@@ -2648,7 +2648,7 @@ def uid_copy(set, mailbox)
# ==== Capabilities
#
# The server's capabilities must include either +IMAP4rev2+ or +MOVE+
- # [RFC6851[https://tools.ietf.org/html/rfc6851]].
+ # [RFC6851[https://www.rfc-editor.org/rfc/rfc6851]].
#
# If +UIDPLUS+ [RFC4315[https://www.rfc-editor.org/rfc/rfc4315.html]] is
# supported, the server's response should include a +COPYUID+ response code
@@ -2674,7 +2674,7 @@ def move(set, mailbox)
# ==== Capabilities
#
# The server's capabilities must include either +IMAP4rev2+ or +MOVE+
- # [RFC6851[https://tools.ietf.org/html/rfc6851]].
+ # [RFC6851[https://www.rfc-editor.org/rfc/rfc6851]].
#
# When UIDONLY[https://www.rfc-editor.org/rfc/rfc9586.html] is enabled,
# #uid_move must be used instead of #move.
@@ -2705,7 +2705,7 @@ def uid_move(set, mailbox)
# ==== Capabilities
#
# The server's capabilities must include +SORT+
- # [RFC5256[https://tools.ietf.org/html/rfc5256]].
+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]].
def sort(sort_keys, search_keys, charset)
return sort_internal("SORT", sort_keys, search_keys, charset)
end
@@ -2720,7 +2720,7 @@ def sort(sort_keys, search_keys, charset)
# ==== Capabilities
#
# The server's capabilities must include +SORT+
- # [RFC5256[https://tools.ietf.org/html/rfc5256]].
+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]].
def uid_sort(sort_keys, search_keys, charset)
return sort_internal("UID SORT", sort_keys, search_keys, charset)
end
@@ -2745,7 +2745,7 @@ def uid_sort(sort_keys, search_keys, charset)
# ==== Capabilities
#
# The server's capabilities must include +THREAD+
- # [RFC5256[https://tools.ietf.org/html/rfc5256]].
+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]].
def thread(algorithm, search_keys, charset)
return thread_internal("THREAD", algorithm, search_keys, charset)
end
@@ -2759,7 +2759,7 @@ def thread(algorithm, search_keys, charset)
# ==== Capabilities
#
# The server's capabilities must include +THREAD+
- # [RFC5256[https://tools.ietf.org/html/rfc5256]].
+ # [RFC5256[https://www.rfc-editor.org/rfc/rfc5256]].
def uid_thread(algorithm, search_keys, charset)
return thread_internal("UID THREAD", algorithm, search_keys, charset)
end
@@ -2778,8 +2778,8 @@ def uid_thread(algorithm, search_keys, charset)
# ==== Capabilities
#
# The server's capabilities must include
- # +ENABLE+ [RFC5161[https://tools.ietf.org/html/rfc5161]]
- # or +IMAP4REV2+ [RFC9051[https://tools.ietf.org/html/rfc9051]].
+ # +ENABLE+ [RFC5161[https://www.rfc-editor.org/rfc/rfc5161]]
+ # or +IMAP4REV2+ [RFC9051[https://www.rfc-editor.org/rfc/rfc9051]].
#
# Additionally, the server capabilities must include a capability matching
# each enabled extension (usually the same name as the enabled extension).
@@ -2798,7 +2798,7 @@ def uid_thread(algorithm, search_keys, charset)
# "UTF8=ACCEPT" or "IMAP4rev2", depending on server
# capabilities.
#
- # ["UTF8=ACCEPT" [RFC6855[https://tools.ietf.org/html/rfc6855]]]
+ # ["UTF8=ACCEPT" [RFC6855[https://www.rfc-editor.org/rfc/rfc6855]]]
#
# The server's capabilities must include UTF8=ACCEPT _or_
# UTF8=ONLY.
@@ -2817,7 +2817,7 @@ def uid_thread(algorithm, search_keys, charset)
# encoding, even if they generally contain UTF-8 data, if they are
# text at all.
#
- # ["UTF8=ONLY" [RFC6855[https://tools.ietf.org/html/rfc6855]]]
+ # ["UTF8=ONLY" [RFC6855[https://www.rfc-editor.org/rfc/rfc6855]]]
#
# A server that reports the UTF8=ONLY capability _requires_ that
# the client enable("UTF8=ACCEPT") before any mailboxes may be
@@ -2890,7 +2890,7 @@ def enable(*capabilities)
# ==== Capabilities
#
# The server's capabilities must include either +IMAP4rev2+ or +IDLE+
- # [RFC2177[https://tools.ietf.org/html/rfc2177]].
+ # [RFC2177[https://www.rfc-editor.org/rfc/rfc2177]].
def idle(timeout = nil, &response_handler)
raise LocalJumpError, "no block given" unless response_handler
diff --git a/lib/net/imap/fetch_data.rb b/lib/net/imap/fetch_data.rb
index be2a6508..3d8554b5 100644
--- a/lib/net/imap/fetch_data.rb
+++ b/lib/net/imap/fetch_data.rb
@@ -313,7 +313,7 @@ def flags; attr["FLAGS"] end
# :call-seq: internaldate -> Time or nil
#
# The internal date and time of the message on the server. This is not
- # the date and time in the [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # the date and time in the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# header, but rather a date and time which reflects when the message was
# received.
#
@@ -341,7 +341,7 @@ def rfc822; attr["RFC822"] end
# :call-seq: rfc822_size -> Integer or nil
#
- # A number expressing the [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # A number expressing the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# size of the message.
#
# This is the same as getting the value for "RFC822.SIZE" from
diff --git a/lib/net/imap/response_data.rb b/lib/net/imap/response_data.rb
index 8a74e2b3..108ff29b 100644
--- a/lib/net/imap/response_data.rb
+++ b/lib/net/imap/response_data.rb
@@ -469,7 +469,7 @@ class MailboxQuotaRoot < Struct.new(:mailbox, :quotaroots)
# Net::IMAP#getacl returns an array of MailboxACLItem objects.
#
# ==== Required capability
- # +ACL+ - described in [ACL[https://tools.ietf.org/html/rfc4314]]
+ # +ACL+ - described in [ACL[https://www.rfc-editor.org/rfc/rfc4314]]
class MailboxACLItem < Struct.new(:user, :rights, :mailbox)
##
# method: mailbox
@@ -565,11 +565,11 @@ class StatusData < Struct.new(:mailbox, :attr)
# [Note]
# When the #sender and #reply_to fields are absent or empty, they will
# return the same value as #from. Also, fields may return values that are
- # invalid for well-formed [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # invalid for well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# messages when the message is malformed or a draft message.
#
- # See [{IMAP4rev1 §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501.html#section-7.4.2]]
- # and [{IMAP4rev2 §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.5.2]]
+ # See [{IMAP4rev1 §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]]
+ # and [{IMAP4rev2 §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2]]
# for full description of the envelope fields, and
# Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
#
@@ -583,7 +583,7 @@ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
# Returns a string that represents the +Date+ header.
#
# [Note]
- # For a well-formed [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# message, the #date field must not be +nil+. However it can be +nil+
# for a malformed or draft message.
@@ -609,7 +609,7 @@ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
# returns +nil+ for this envelope field.
#
# [Note]
- # For a well-formed [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# message, the #from field must not be +nil+. However it can be +nil+
# for a malformed or draft message.
@@ -622,7 +622,7 @@ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
# [Note]
# If the Sender header is absent, or is present but empty, the
# server sets this field to be the same value as #from. Therefore, in a
- # well-formed [RFC5322[https://tools.ietf.org/html/rfc5322]] message,
+ # well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] message,
# the #sender envelope field must not be +nil+. However it can be
# +nil+ for a malformed or draft message.
@@ -636,7 +636,7 @@ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
# [Note]
# If the Reply-To header is absent, or is present but empty,
# the server sets this field to be the same value as #from. Therefore,
- # in a well-formed [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # in a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# message, the #reply_to envelope field must not be +nil+. However it
# can be +nil+ for a malformed or draft message.
@@ -665,7 +665,7 @@ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
# Returns a string that represents the In-Reply-To header.
#
# [Note]
- # For a well-formed [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# message, the #in_reply_to field, if present, must not be empty. But
# it can still return an empty string for malformed messages.
#
@@ -681,7 +681,7 @@ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
# Returns a string that represents the Message-ID.
#
# [Note]
- # For a well-formed [RFC5322[https://tools.ietf.org/html/rfc5322]]
+ # For a well-formed [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]
# message, the #message_id field, if present, must not be empty. But it
# can still return an empty string for malformed messages.
#
@@ -698,7 +698,7 @@ class Envelope < Struct.new(:date, :subject, :from, :sender, :reply_to,
# === Group syntax
#
# When the #host field is +nil+, this is a special form of address structure
- # that indicates the [RFC5322[https://tools.ietf.org/html/rfc5322]] group
+ # that indicates the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] group
# syntax. If the #mailbox name field is also +nil+, this is an end-of-group
# marker (semicolon in RFC-822 syntax). If the #mailbox name field is
# non-+NIL+, this is the start of a group marker, and the mailbox #name
@@ -708,7 +708,7 @@ class Address < Struct.new(:name, :route, :mailbox, :host)
# method: name
# :call-seq: name -> string or nil
#
- # Returns the [RFC5322[https://tools.ietf.org/html/rfc5322]] address
+ # Returns the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] address
# +display-name+ (or the mailbox +phrase+ in the RFC-822 grammar).
##
@@ -718,28 +718,28 @@ class Address < Struct.new(:name, :route, :mailbox, :host)
# Returns the route from RFC-822 route-addr.
#
# Note:: Generating this obsolete route addressing syntax is not allowed
- # by [RFC5322[https://tools.ietf.org/html/rfc5322]]. However,
+ # by [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]]. However,
# addresses with this syntax must still be accepted and parsed.
##
# method: mailbox
# :call-seq: mailbox -> string or nil
#
- # Returns the [RFC5322[https://tools.ietf.org/html/rfc5322]] address
+ # Returns the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] address
# +local-part+, if #host is not +nil+.
#
# When #host is +nil+, this returns
- # an [RFC5322[https://tools.ietf.org/html/rfc5322]] group name and a +nil+
+ # an [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] group name and a +nil+
# mailbox indicates the end of a group.
##
# method: host
# :call-seq: host -> string or nil
#
- # Returns the [RFC5322[https://tools.ietf.org/html/rfc5322]] addr-spec
+ # Returns the [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] addr-spec
# +domain+ name.
#
- # +nil+ indicates [RFC5322[https://tools.ietf.org/html/rfc5322]] group
+ # +nil+ indicates [RFC5322[https://www.rfc-editor.org/rfc/rfc5322]] group
# syntax.
end
@@ -751,14 +751,14 @@ class ContentDisposition < Struct.new(:dsp_type, :param)
# :call-seq: dsp_type -> string
#
# Returns the content disposition type, as defined by
- # [DISPOSITION[https://tools.ietf.org/html/rfc2183]].
+ # [DISPOSITION[https://www.rfc-editor.org/rfc/rfc2183]].
##
# method: param
# :call-seq: param -> hash
#
# Returns a hash representing parameters of the Content-Disposition
- # field, as defined by [DISPOSITION[https://tools.ietf.org/html/rfc2183]].
+ # field, as defined by [DISPOSITION[https://www.rfc-editor.org/rfc/rfc2183]].
end
# Net::IMAP::ThreadMember represents a thread-node returned
@@ -797,8 +797,8 @@ def all_seqnos(node = self)
# FetchData#attr value. Although these classes don't share a base class,
# this module can be used to pattern match all of them.
#
- # See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501.html#section-7.4.2]
- # and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.5.2-4.9]
+ # See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]
+ # and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2-4.9]
# for full description of all +BODYSTRUCTURE+ fields, and also
# Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
#
@@ -820,8 +820,8 @@ module BodyStructure
# message parts, unless they have a Content-Type that is handled by
# BodyTypeText, BodyTypeMessage, or BodyTypeMultipart.
#
- # See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501.html#section-7.4.2]
- # and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051.html#section-7.5.2-4.9]
+ # See {[IMAP4rev1] §7.4.2}[https://www.rfc-editor.org/rfc/rfc3501#section-7.4.2]
+ # and {[IMAP4rev2] §7.5.2}[https://www.rfc-editor.org/rfc/rfc9051#section-7.5.2-4.9]
# for full description of all +BODYSTRUCTURE+ fields, and also
# Net::IMAP@Message+envelope+and+body+structure for other relevant RFCs.
#
@@ -838,45 +838,45 @@ class BodyTypeBasic < Struct.new(:media_type, :subtype,
# :call-seq: media_type -> string
#
# The top-level media type as defined in
- # [MIME-IMB[https://tools.ietf.org/html/rfc2045]].
+ # [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
##
# method: subtype
# :call-seq: subtype -> string
#
# The media subtype name as defined in
- # [MIME-IMB[https://tools.ietf.org/html/rfc2045]].
+ # [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
##
# method: param
# :call-seq: param -> string
#
# Returns a hash that represents parameters as defined in
- # [MIME-IMB[https://tools.ietf.org/html/rfc2045]].
+ # [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
##
# method: content_id
# :call-seq: content_id -> string
#
# Returns a string giving the content id as defined
- # in [MIME-IMB[https://tools.ietf.org/html/rfc2045]]
- # {§7}[https://tools.ietf.org/html/rfc2045#section-7].
+ # in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]]
+ # {§7}[https://www.rfc-editor.org/rfc/rfc2045#section-7].
##
# method: description
# :call-seq: description -> string
#
# Returns a string giving the content description as defined
- # in [MIME-IMB[https://tools.ietf.org/html/rfc2045]]
- # {§8}[https://tools.ietf.org/html/rfc2045#section-8].
+ # in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]]
+ # {§8}[https://www.rfc-editor.org/rfc/rfc2045#section-8].
##
# method: encoding
# :call-seq: encoding -> string
#
# Returns a string giving the content transfer encoding as defined
- # in [MIME-IMB[https://tools.ietf.org/html/rfc2045]]
- # {§6}[https://tools.ietf.org/html/rfc2045#section-6].
+ # in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]]
+ # {§6}[https://www.rfc-editor.org/rfc/rfc2045#section-6].
##
# method: size
@@ -889,7 +889,7 @@ class BodyTypeBasic < Struct.new(:media_type, :subtype,
# :call-seq: md5 -> string
#
# Returns a string giving the body MD5 value as defined in
- # [MD5[https://tools.ietf.org/html/rfc1864]].
+ # [MD5[https://www.rfc-editor.org/rfc/rfc1864]].
##
# method: disposition
@@ -897,7 +897,7 @@ class BodyTypeBasic < Struct.new(:media_type, :subtype,
#
# Returns a ContentDisposition object giving the content
# disposition, as defined by
- # [DISPOSITION[https://tools.ietf.org/html/rfc2183]].
+ # [DISPOSITION[https://www.rfc-editor.org/rfc/rfc2183]].
##
# method: language
@@ -1065,7 +1065,7 @@ class BodyTypeMultipart < Struct.new(:media_type, :subtype,
# call-seq: subtype -> string
#
# Returns the content subtype name
- # as defined in [MIME-IMB[https://tools.ietf.org/html/rfc2045]].
+ # as defined in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
##
# method: parts
@@ -1079,7 +1079,7 @@ class BodyTypeMultipart < Struct.new(:media_type, :subtype,
# call-seq: param -> hash
#
# Returns a hash that represents parameters
- # as defined in [MIME-IMB[https://tools.ietf.org/html/rfc2045]].
+ # as defined in [MIME-IMB[https://www.rfc-editor.org/rfc/rfc2045]].
##
# method: disposition
diff --git a/lib/net/imap/sasl.rb b/lib/net/imap/sasl.rb
index 985b08dd..373b036e 100644
--- a/lib/net/imap/sasl.rb
+++ b/lib/net/imap/sasl.rb
@@ -5,7 +5,7 @@ class IMAP
# Pluggable authentication mechanisms for protocols which support SASL
# (Simple Authentication and Security Layer), such as IMAP4, SMTP, LDAP, and
- # XMPP. {RFC-4422}[https://tools.ietf.org/html/rfc4422] specifies the
+ # XMPP. {RFC-4422}[https://www.rfc-editor.org/rfc/rfc4422] specifies the
# common \SASL framework:
# >>>
# SASL is conceptually a framework that provides an abstraction layer
diff --git a/lib/net/imap/sasl/anonymous_authenticator.rb b/lib/net/imap/sasl/anonymous_authenticator.rb
index aa4ecae4..570b7865 100644
--- a/lib/net/imap/sasl/anonymous_authenticator.rb
+++ b/lib/net/imap/sasl/anonymous_authenticator.rb
@@ -5,7 +5,7 @@ class IMAP < Protocol
module SASL
# Authenticator for the "+ANONYMOUS+" SASL mechanism, as specified by
- # RFC-4505[https://tools.ietf.org/html/rfc4505]. See
+ # RFC-4505[https://www.rfc-editor.org/rfc/rfc4505]. See
# Net::IMAP#authenticate.
class AnonymousAuthenticator
@@ -13,7 +13,7 @@ class AnonymousAuthenticator
# characters in length.
#
# If it contains an "@" sign, the message must be a valid email address
- # (+addr-spec+ from RFC-2822[https://tools.ietf.org/html/rfc2822]).
+ # (+addr-spec+ from RFC-2822[https://www.rfc-editor.org/rfc/rfc2822]).
# Email syntax is _not_ validated by AnonymousAuthenticator.
#
# Otherwise, it can be any UTF8 string which is permitted by the
@@ -25,7 +25,7 @@ class AnonymousAuthenticator
# new(anonymous_message: "", **) -> authenticator
#
# Creates an Authenticator for the "+ANONYMOUS+" SASL mechanism, as
- # specified in RFC-4505[https://tools.ietf.org/html/rfc4505]. To use
+ # specified in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505]. To use
# this, see Net::IMAP#authenticate or your client's authentication
# method.
#
diff --git a/lib/net/imap/sasl/cram_md5_authenticator.rb b/lib/net/imap/sasl/cram_md5_authenticator.rb
index df2648da..6d4ea0ed 100644
--- a/lib/net/imap/sasl/cram_md5_authenticator.rb
+++ b/lib/net/imap/sasl/cram_md5_authenticator.rb
@@ -1,16 +1,16 @@
# frozen_string_literal: true
# Authenticator for the "+CRAM-MD5+" SASL mechanism, specified in
-# RFC2195[https://tools.ietf.org/html/rfc2195]. See Net::IMAP#authenticate.
+# RFC2195[https://www.rfc-editor.org/rfc/rfc2195]. See Net::IMAP#authenticate.
#
# == Deprecated
#
# +CRAM-MD5+ is obsolete and insecure. It is included for compatibility with
# existing servers.
-# {draft-ietf-sasl-crammd5-to-historic}[https://tools.ietf.org/html/draft-ietf-sasl-crammd5-to-historic-00.html]
+# {draft-ietf-sasl-crammd5-to-historic}[https://www.rfc-editor.org/rfc/draft-ietf-sasl-crammd5-to-historic-00.html]
# recommends using +SCRAM-*+ or +PLAIN+ protected by TLS instead.
#
-# Additionally, RFC8314[https://tools.ietf.org/html/rfc8314] discourage the use
+# Additionally, RFC8314[https://www.rfc-editor.org/rfc/rfc8314] discourage the use
# of cleartext and recommends TLS version 1.2 or greater be used for all
# traffic. With TLS +CRAM-MD5+ is okay, but so is +PLAIN+
class Net::IMAP::SASL::CramMD5Authenticator
diff --git a/lib/net/imap/sasl/digest_md5_authenticator.rb b/lib/net/imap/sasl/digest_md5_authenticator.rb
index 13a2fd35..a1547568 100644
--- a/lib/net/imap/sasl/digest_md5_authenticator.rb
+++ b/lib/net/imap/sasl/digest_md5_authenticator.rb
@@ -1,12 +1,12 @@
# frozen_string_literal: true
# Net::IMAP authenticator for the +DIGEST-MD5+ SASL mechanism type, specified
-# in RFC-2831[https://tools.ietf.org/html/rfc2831]. See Net::IMAP#authenticate.
+# in RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]. See Net::IMAP#authenticate.
#
# == Deprecated
#
# "+DIGEST-MD5+" has been deprecated by
-# RFC-6331[https://tools.ietf.org/html/rfc6331] and should not be relied on for
+# RFC-6331[https://www.rfc-editor.org/rfc/rfc6331] and should not be relied on for
# security. It is included for compatibility with existing servers.
class Net::IMAP::SASL::DigestMD5Authenticator
DataFormatError = Net::IMAP::DataFormatError
@@ -37,10 +37,10 @@ class Net::IMAP::SASL::DigestMD5Authenticator
# Authentication identity: the identity that matches the #password.
#
- # RFC-2831[https://tools.ietf.org/html/rfc2831] uses the term +username+.
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
# "Authentication identity" is the generic term used by
- # RFC-4422[https://tools.ietf.org/html/rfc4422].
- # RFC-4616[https://tools.ietf.org/html/rfc4616] and many later RFCs abbreviate
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs abbreviate
# this to +authcid+.
attr_reader :username
alias authcid username
@@ -85,7 +85,7 @@ class Net::IMAP::SASL::DigestMD5Authenticator
# must be set appropriately to use authenticators in other protocols.
#
# If an IANA-registered name isn't available, GSS-API
- # (RFC-2743[https://tools.ietf.org/html/rfc2743]) allows the generic name
+ # (RFC-2743[https://www.rfc-editor.org/rfc/rfc2743]) allows the generic name
# "host".
attr_reader :service
@@ -93,7 +93,7 @@ class Net::IMAP::SASL::DigestMD5Authenticator
#
# +service_name+ will be ignored when it is +nil+ or identical to +host+.
#
- # From RFC-2831[https://tools.ietf.org/html/rfc2831]:
+ # From RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]:
# >>>
# The service is considered to be replicated if the client's
# service-location process involves resolution using standard DNS lookup
@@ -176,7 +176,7 @@ def initialize(user = nil, pass = nil, authz = nil,
@nc, @stage = {}, STAGE_ONE
end
- # From RFC-2831[https://tools.ietf.org/html/rfc2831]:
+ # From RFC-2831[https://www.rfc-editor.org/rfc/rfc2831]:
# >>>
# Indicates the principal name of the service with which the client wishes
# to connect, formed from the serv-type, host, and serv-name. For
diff --git a/lib/net/imap/sasl/external_authenticator.rb b/lib/net/imap/sasl/external_authenticator.rb
index d324b480..655fb721 100644
--- a/lib/net/imap/sasl/external_authenticator.rb
+++ b/lib/net/imap/sasl/external_authenticator.rb
@@ -5,7 +5,7 @@ class IMAP < Protocol
module SASL
# Authenticator for the "+EXTERNAL+" SASL mechanism, as specified by
- # RFC-4422[https://tools.ietf.org/html/rfc4422]. See
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422]. See
# Net::IMAP#authenticate.
#
# The EXTERNAL mechanism requests that the server use client credentials
@@ -33,7 +33,7 @@ class ExternalAuthenticator
# new(username = nil, **) -> authenticator
#
# Creates an Authenticator for the "+EXTERNAL+" SASL mechanism, as
- # specified in RFC-4422[https://tools.ietf.org/html/rfc4422]. To use
+ # specified in RFC-4422[https://www.rfc-editor.org/rfc/rfc4422]. To use
# this, see Net::IMAP#authenticate or your client's authentication
# method.
#
diff --git a/lib/net/imap/sasl/gs2_header.rb b/lib/net/imap/sasl/gs2_header.rb
index c20a59ef..bc22a4bd 100644
--- a/lib/net/imap/sasl/gs2_header.rb
+++ b/lib/net/imap/sasl/gs2_header.rb
@@ -5,15 +5,15 @@ class IMAP < Protocol
module SASL
# Originally defined for the GS2 mechanism family in
- # RFC5801[https://tools.ietf.org/html/rfc5801],
+ # RFC5801[https://www.rfc-editor.org/rfc/rfc5801],
# several different mechanisms start with a GS2 header:
- # * +GS2-*+ --- RFC5801[https://tools.ietf.org/html/rfc5801]
- # * +SCRAM-*+ --- RFC5802[https://tools.ietf.org/html/rfc5802]
+ # * +GS2-*+ --- RFC5801[https://www.rfc-editor.org/rfc/rfc5801]
+ # * +SCRAM-*+ --- RFC5802[https://www.rfc-editor.org/rfc/rfc5802]
# (ScramAuthenticator)
- # * +SAML20+ --- RFC6595[https://tools.ietf.org/html/rfc6595]
- # * +OPENID20+ --- RFC6616[https://tools.ietf.org/html/rfc6616]
- # * +OAUTH10A+ --- RFC7628[https://tools.ietf.org/html/rfc7628]
- # * +OAUTHBEARER+ --- RFC7628[https://tools.ietf.org/html/rfc7628]
+ # * +SAML20+ --- RFC6595[https://www.rfc-editor.org/rfc/rfc6595]
+ # * +OPENID20+ --- RFC6616[https://www.rfc-editor.org/rfc/rfc6616]
+ # * +OAUTH10A+ --- RFC7628[https://www.rfc-editor.org/rfc/rfc7628]
+ # * +OAUTHBEARER+ --- RFC7628[https://www.rfc-editor.org/rfc/rfc7628]
# (OAuthBearerAuthenticator)
#
# Classes that include this module must implement +#authzid+.
diff --git a/lib/net/imap/sasl/login_authenticator.rb b/lib/net/imap/sasl/login_authenticator.rb
index a9686fbe..c461ff07 100644
--- a/lib/net/imap/sasl/login_authenticator.rb
+++ b/lib/net/imap/sasl/login_authenticator.rb
@@ -3,9 +3,9 @@
# Authenticator for the "+LOGIN+" SASL mechanism. See Net::IMAP#authenticate.
#
# +LOGIN+ authentication sends the password in cleartext.
-# RFC3501[https://tools.ietf.org/html/rfc3501] encourages servers to disable
+# RFC3501[https://www.rfc-editor.org/rfc/rfc3501] encourages servers to disable
# cleartext authentication until after TLS has been negotiated.
-# RFC8314[https://tools.ietf.org/html/rfc8314] recommends TLS version 1.2 or
+# RFC8314[https://www.rfc-editor.org/rfc/rfc8314] recommends TLS version 1.2 or
# greater be used for all traffic, and deprecate cleartext access ASAP. +LOGIN+
# can be secured by TLS encryption.
#
diff --git a/lib/net/imap/sasl/oauthbearer_authenticator.rb b/lib/net/imap/sasl/oauthbearer_authenticator.rb
index 532f1e12..aaf2326d 100644
--- a/lib/net/imap/sasl/oauthbearer_authenticator.rb
+++ b/lib/net/imap/sasl/oauthbearer_authenticator.rb
@@ -7,7 +7,7 @@ class IMAP < Protocol
module SASL
# Abstract base class for the SASL mechanisms defined in
- # RFC7628[https://tools.ietf.org/html/rfc7628]:
+ # RFC7628[https://www.rfc-editor.org/rfc/rfc7628]:
# * OAUTHBEARER[rdoc-ref:OAuthBearerAuthenticator]
# (OAuthBearerAuthenticator)
# * OAUTH10A
@@ -52,7 +52,7 @@ class OAuthAuthenticator
# this may hold information about the failure reason, as JSON.
attr_reader :last_server_response
- # Creates an RFC7628[https://tools.ietf.org/html/rfc7628] OAuth
+ # Creates an RFC7628[https://www.rfc-editor.org/rfc/rfc7628] OAuth
# authenticator.
#
# ==== Parameters
@@ -126,12 +126,12 @@ def authorization; raise "must be implemented by subclass" end
end
# Authenticator for the "+OAUTHBEARER+" SASL mechanism, specified in
- # RFC7628[https://tools.ietf.org/html/rfc7628]. Authenticates using OAuth
- # 2.0 bearer tokens, as described in
- # RFC6750[https://tools.ietf.org/html/rfc6750]. Use via
+ # RFC7628[https://www.rfc-editor.org/rfc/rfc7628]. Authenticates using
+ # OAuth 2.0 bearer tokens, as described in
+ # RFC6750[https://www.rfc-editor.org/rfc/rfc6750]. Use via
# Net::IMAP#authenticate.
#
- # RFC6750[https://tools.ietf.org/html/rfc6750] requires Transport Layer
+ # RFC6750[https://www.rfc-editor.org/rfc/rfc6750] requires Transport Layer
# Security (TLS) to secure the protocol interaction between the client and
# the resource server. TLS _MUST_ be used for +OAUTHBEARER+ to protect
# the bearer token.
diff --git a/lib/net/imap/sasl/plain_authenticator.rb b/lib/net/imap/sasl/plain_authenticator.rb
index 388177c1..793efc17 100644
--- a/lib/net/imap/sasl/plain_authenticator.rb
+++ b/lib/net/imap/sasl/plain_authenticator.rb
@@ -1,12 +1,12 @@
# frozen_string_literal: true
# Authenticator for the "+PLAIN+" SASL mechanism, specified in
-# RFC-4616[https://tools.ietf.org/html/rfc4616]. See Net::IMAP#authenticate.
+# RFC-4616[https://www.rfc-editor.org/rfc/rfc4616]. See Net::IMAP#authenticate.
#
# +PLAIN+ authentication sends the password in cleartext.
-# RFC-3501[https://tools.ietf.org/html/rfc3501] encourages servers to disable
+# RFC-3501[https://www.rfc-editor.org/rfc/rfc3501] encourages servers to disable
# cleartext authentication until after TLS has been negotiated.
-# RFC-8314[https://tools.ietf.org/html/rfc8314] recommends TLS version 1.2 or
+# RFC-8314[https://www.rfc-editor.org/rfc/rfc8314] recommends TLS version 1.2 or
# greater be used for all traffic, and deprecate cleartext access ASAP. +PLAIN+
# can be secured by TLS encryption.
class Net::IMAP::SASL::PlainAuthenticator
@@ -16,11 +16,11 @@ class Net::IMAP::SASL::PlainAuthenticator
# Authentication identity: the identity that matches the #password.
#
- # RFC-2831[https://tools.ietf.org/html/rfc2831] uses the term +username+.
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term +username+.
# "Authentication identity" is the generic term used by
- # RFC-4422[https://tools.ietf.org/html/rfc4422].
- # RFC-4616[https://tools.ietf.org/html/rfc4616] and many later RFCs abbreviate
- # this to +authcid+.
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
+ # abbreviate this to +authcid+.
attr_reader :username
alias authcid username
diff --git a/lib/net/imap/sasl/scram_authenticator.rb b/lib/net/imap/sasl/scram_authenticator.rb
index 141e8321..6b3f2d68 100644
--- a/lib/net/imap/sasl/scram_authenticator.rb
+++ b/lib/net/imap/sasl/scram_authenticator.rb
@@ -11,7 +11,7 @@ class IMAP
module SASL
# Abstract base class for the "+SCRAM-*+" family of SASL mechanisms,
- # defined in RFC5802[https://tools.ietf.org/html/rfc5802]. Use via
+ # defined in RFC5802[https://www.rfc-editor.org/rfc/rfc5802]. Use via
# Net::IMAP#authenticate.
#
# Directly supported:
@@ -99,11 +99,11 @@ def initialize(username_arg = nil, password_arg = nil,
# Authentication identity: the identity that matches the #password.
#
- # RFC-2831[https://tools.ietf.org/html/rfc2831] uses the term +username+.
- # "Authentication identity" is the generic term used by
- # RFC-4422[https://tools.ietf.org/html/rfc4422].
- # RFC-4616[https://tools.ietf.org/html/rfc4616] and many later RFCs abbreviate
- # this to +authcid+.
+ # RFC-2831[https://www.rfc-editor.org/rfc/rfc2831] uses the term
+ # +username+. "Authentication identity" is the generic term used by
+ # RFC-4422[https://www.rfc-editor.org/rfc/rfc4422].
+ # RFC-4616[https://www.rfc-editor.org/rfc/rfc4616] and many later RFCs
+ # abbreviate this to +authcid+.
attr_reader :username
alias authcid username
@@ -263,7 +263,7 @@ def parse_challenge(challenge)
end
# Authenticator for the "+SCRAM-SHA-1+" SASL mechanism, defined in
- # RFC5802[https://tools.ietf.org/html/rfc5802].
+ # RFC5802[https://www.rfc-editor.org/rfc/rfc5802].
#
# Uses the "SHA-1" digest algorithm from OpenSSL::Digest.
#
@@ -273,7 +273,7 @@ class ScramSHA1Authenticator < ScramAuthenticator
end
# Authenticator for the "+SCRAM-SHA-256+" SASL mechanism, defined in
- # RFC7677[https://tools.ietf.org/html/rfc7677].
+ # RFC7677[https://www.rfc-editor.org/rfc/rfc7677].
#
# Uses the "SHA-256" digest algorithm from OpenSSL::Digest.
#
diff --git a/lib/net/imap/stringprep/nameprep.rb b/lib/net/imap/stringprep/nameprep.rb
index 5cfc8ae2..fb17aec4 100644
--- a/lib/net/imap/stringprep/nameprep.rb
+++ b/lib/net/imap/stringprep/nameprep.rb
@@ -4,7 +4,7 @@ module Net
class IMAP
module StringPrep
- # Defined in RFC3491[https://tools.ietf.org/html/rfc3491], the +nameprep+
+ # Defined in RFC3491[https://www.rfc-editor.org/rfc/rfc3491], the +nameprep+
# profile of "Stringprep" is:
# >>>
# used by the IDNA protocol for preparing domain names; it is not
diff --git a/lib/net/imap/stringprep/trace.rb b/lib/net/imap/stringprep/trace.rb
index 63cde9ea..6f605af8 100644
--- a/lib/net/imap/stringprep/trace.rb
+++ b/lib/net/imap/stringprep/trace.rb
@@ -4,11 +4,11 @@ module Net
class IMAP
module StringPrep
- # Defined in RFC-4505[https://tools.ietf.org/html/rfc4505] §3, The +trace+
+ # Defined in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The +trace+
# profile of \StringPrep is used by the +ANONYMOUS+ \SASL mechanism.
module Trace
- # Defined in RFC-4505[https://tools.ietf.org/html/rfc4505] §3.
+ # Defined in RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3.
STRINGPREP_PROFILE = "trace"
# >>>
@@ -23,7 +23,7 @@ module Trace
# No Unicode normalization is required by this profile.
NORMALIZATION = nil
- # From RFC-4505[https://tools.ietf.org/html/rfc4505] §3, The "trace"
+ # From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
# Profile of "Stringprep":
# >>>
# Characters from the following tables of [StringPrep] are prohibited:
@@ -47,7 +47,7 @@ module Trace
module_function
- # From RFC-4505[https://tools.ietf.org/html/rfc4505] §3, The "trace"
+ # From RFC-4505[https://www.rfc-editor.org/rfc/rfc4505] §3, The "trace"
# Profile of "Stringprep":
# >>>
# The character repertoire of this profile is Unicode 3.2 [Unicode].