Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

πŸ—‘οΈ Add deprecation warnings to .new and #starttls #119

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

nevans
Copy link
Collaborator

@nevans nevans commented Mar 2, 2023

Preparing for a (backwards-incompatible) secure-by-default configuration, Net::IMAP.default_ssl will be used when no explicit port or TLS setting is provided.

TODO: should truthy default_ssl be used to config params when port is 993 but ssl is implicit? Another var?

Moved all deprecated option handling to DeprecatedClientOptions, which is prepended to Net::IMAP.

Additionally, split initialize up into small helper methods making it easier to understand at a glance.

This is a first step towards fixing #118.

@nevans nevans added the IMAP4rev2 Requirement for IMAP4rev2, RFC9051 label Mar 2, 2023
@nevans nevans requested a review from shugo March 3, 2023 16:06
@nevans nevans force-pushed the deprecations-for-new-and-starttls branch 2 times, most recently from e479952 to 1319d2a Compare July 26, 2023 02:52
@nevans nevans force-pushed the deprecations-for-new-and-starttls branch 3 times, most recently from 42a247d to 688fae2 Compare August 28, 2023 13:16
@nevans nevans marked this pull request as draft August 28, 2023 13:21
@nevans nevans force-pushed the deprecations-for-new-and-starttls branch from 688fae2 to 031fb0f Compare August 29, 2023 14:31
@nevans nevans force-pushed the deprecations-for-new-and-starttls branch 7 times, most recently from cf830ef to 6cea168 Compare October 5, 2023 14:01
@nevans nevans force-pushed the deprecations-for-new-and-starttls branch 2 times, most recently from 2141292 to de2244e Compare November 7, 2023 04:38
* `ssl` was renamed to `tls` in most places, with backwards compatible
  aliases.  Using `ssl` does not print any deprecation warnings.  Using
  both `tls` and `ssl` keywords raises an ArgumentError.

* Preparing for a (backwards-incompatible) secure-by-default
  configuration, `Net::IMAP.default_tls` will determine the value for
  `tls` when no explicit port or tls setting is provided.  Using port
  143 will be insecure by default.  Using port 993 will be secure by
  default.  Providing no explicit port will use `Net::IMAP.default_tls`
  with the appropriate port.  And providing any other unknown port will
  use `default_tls` with a warning.

  🚧 TODO: should we use a different config var for default tls params
  when port is 993 and `tls` is unspecified?

  🚧 TODO: should we use a different config var for choosing `tls` when
  `port` is non-standard vs choosing `port` and `tls` when neither are
  specified?

  🚧 TODO: should we use a different var for `default_tls` be used to
  config params when port is 993 but tls is implicit? Another var?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IMAP4rev2 Requirement for IMAP4rev2, RFC9051
Development

Successfully merging this pull request may close these issues.

None yet

1 participant