Skip to content

Commit b886473

Browse files
committed
📚 Document deprecated config options for UIDPlusData
1 parent d4ada3b commit b886473

1 file changed

Lines changed: 27 additions & 34 deletions

File tree

lib/net/imap/config.rb

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -360,39 +360,32 @@ def self.[](config)
360360
#
361361
# Alias for responses_without_block
362362

363-
# Whether ResponseParser should use the deprecated UIDPlusData or
364-
# CopyUIDData for +COPYUID+ response codes, and UIDPlusData or
365-
# AppendUIDData for +APPENDUID+ response codes.
363+
# **NOTE:** <em>+UIDPlusData+ has been removed since +v0.6.0+, and this
364+
# config option only configures deprecation warnings. The config option
365+
# will be **removed** in +v0.7.0+.</em>
366366
#
367-
# UIDPlusData stores its data in arrays of numbers, which is vulnerable to
368-
# a memory exhaustion denial of service attack from an untrusted or
369-
# compromised server. Set this option to +false+ to completely block this
370-
# vulnerability. Otherwise, parser_max_deprecated_uidplus_data_size
371-
# mitigates this vulnerability.
367+
# ResponseParser always returns CopyUIDData for +COPYUID+ response codes,
368+
# and AppendUIDData for +APPENDUID+ response codes. Previously, this
369+
# option determined when UIDPlusData would be returned instead.
372370
#
373-
# AppendUIDData and CopyUIDData are _mostly_ backward-compatible with
374-
# UIDPlusData. Most applications should be able to upgrade with little
375-
# or no changes.
371+
# Parser support for +UIDPLUS+ added in +v0.3.2+.
376372
#
377-
# <em>(Parser support for +UIDPLUS+ added in +v0.3.2+.)</em>
373+
# Config option added in +v0.4.19+ and +v0.5.6+.
378374
#
379-
# <em>(Config option added in +v0.4.19+ and +v0.5.6+.)</em>
375+
# <em>UIDPlusData removed in +v0.6.0+.</em>
380376
#
381-
# <em>UIDPlusData will be removed in +v0.6+ and this config setting will
382-
# be ignored.</em>
383-
#
384-
# ==== Valid options
377+
# ==== Options
385378
#
386379
# [+true+ <em>(original default)</em>]
387-
# ResponseParser only uses UIDPlusData.
380+
# <em>Since v0.6.0:</em>
381+
# Prints a deprecation warning when parsing +COPYUID+ or +APPENDUID+.
388382
#
389383
# [+:up_to_max_size+ <em>(default since +v0.5.6+)</em>]
390-
# ResponseParser uses UIDPlusData when the +uid-set+ size is below
391-
# parser_max_deprecated_uidplus_data_size. Above that size,
392-
# ResponseParser uses AppendUIDData or CopyUIDData.
384+
# <em>Since v0.6.0:</em>
385+
# Prints a deprecation warning when parsing +COPYUID+ or +APPENDUID+.
393386
#
394-
# [+false+ <em>(planned default for +v0.6+)</em>]
395-
# ResponseParser _only_ uses AppendUIDData and CopyUIDData.
387+
# [+false+ <em>(default since +v0.6.0+)</em>]
388+
# This is the only supported option <em>(since v0.6.0)</em>.
396389
attr_accessor :parser_use_deprecated_uidplus_data, type: Enum[
397390
true, :up_to_max_size, false
398391
], defaults: {
@@ -401,22 +394,22 @@ def self.[](config)
401394
0.6r => false,
402395
}
403396

404-
# The maximum +uid-set+ size that ResponseParser will parse into
405-
# deprecated UIDPlusData. This limit only applies when
406-
# parser_use_deprecated_uidplus_data is not +false+.
397+
# **NOTE:** <em>+UIDPlusData+ has been removed since +v0.6.0+, and this
398+
# config option only configures deprecation warnings. The config option
399+
# will be **removed** in +v0.7.0+.</em>
407400
#
408-
# <em>(Parser support for +UIDPLUS+ added in +v0.3.2+.)</em>
401+
# ResponseParser always returns CopyUIDData for +COPYUID+ response codes,
402+
# and AppendUIDData for +APPENDUID+ response codes. Previously, this
403+
# option determined when UIDPlusData would be returned instead.
409404
#
410-
# <em>Support for limiting UIDPlusData to a maximum size was added in
411-
# +v0.3.8+, +v0.4.19+, and +v0.5.6+.</em>
405+
# Parser support for +UIDPLUS+ added in +v0.3.2+.
412406
#
413-
# <em>UIDPlusData will be removed in +v0.6+.</em>
407+
# Support for limiting UIDPlusData to a maximum size was added in
408+
# +v0.3.8+, +v0.4.19+, and +v0.5.6+.
414409
#
415-
# ==== Versioned Defaults
410+
# <em>UIDPlusData was removed in +v0.6.0+.</em>
416411
#
417-
# Because this limit guards against a remote server causing catastrophic
418-
# memory exhaustion, the versioned default (used by #load_defaults) also
419-
# applies to versions without the feature.
412+
# ==== Versioned Defaults
420413
#
421414
# * +0.3+ and prior: <tt>10,000</tt>
422415
# * +0.4+: <tt>1,000</tt>

0 commit comments

Comments
 (0)