Uh oh!
There was an error while loading. Please reload this page.
[🚧 WIP] SASL refactoring and new mechanisms - #78
Conversation
nevans
commented
Nov 21, 2022
n.b this PR is currently based on #70, #71, #72, #73, #74, #75, and #76. I can rebase part of all of this on master, but I think those will be merged before this is. Also, it's currently failing 2.6, because I used some numbered parameters in a few places. As discussed on #68, we can remove support for 2.6. |
Neustradamus
commented
Nov 24, 2022
@nevans: Good job! |
87a0365 to
26b4d74CompareThe documentation on these methods is meant to complement a new SASL::Authenticator base class and new documentation on each of the individual authenticator classes. See #78 and #82. That base class is added in another PR (#78), but the documentation for these methods can be updated without it. Also, somehow I misremembered `LOGINDISABLED`: it only applies to `LOGIN`, not `AUTHENTICATE`! This fixes that error.
Neustradamus
commented
Jan 9, 2023
@nevans: Happy New Year! Little question, have you a timeline? |
078ea33 to
fd56ca3Compare43180a5 to
1a8deb3CompareNeustradamus
commented
Aug 6, 2023
@nevans: I think that you can remove CRAM-MD5, DIGEST-MD5, LOGIN from all. |
3076a03 to
0af0c6dCompare52c19d6 to
de7fea5Compareefcfcf4 to
9222f15Compare9a837d7 to
b398b46CompareNeustradamus
commented
Oct 12, 2024
@nevans: Thanks to work on this important part! I hope that this part can be official soon ^^ |
nevans
commented
Oct 13, 2024
@Neustradamus the majority of this was split off into other PRs and released with v0.4.0 (or later releases) a little over a year ago. |
Neustradamus
commented
Oct 13, 2024
@nevans: Yes yes but not all yet and net-sasl has not been updated yet too... |
These are further changes I made while working on the SASL authenticators that never got merged... However... it's still deprecated, so don't use it! 🙃
The question is: do we even want to this?
Neustradamus
commented
Dec 17, 2024
@nevans: Good job but net-sasl has not been updated: Where is the code? |
@Neustradamus This PR was for I'd like to sync In the meantime, |
NOTE:This PR started as a big rough-draft for many of the other PRs listed below. Rather than close the PR and create a new tracking issue, I've been keeping the branch around as a set of experimental implementations for some of the TODO list items, while cherry-picking parts of it into their own PRs when they are ready.
EXTERNALANONYMOUSOAUTHBEARERSCRAM-SHA-1,SCRAM-SHA-256SASL-IR(included inIMAP4rev2) #34SCRAM-*and to supportnet-smtp, which already followed the RFC on this.secretalias (forpassword,oauth2_token, etc) to relevant SASL mechanisms #195AuthenticationSuccess (subclass of TaggedResponse)(subclass of NoResponseError)(subclass of BadResponseError)This PR originally had an implementation of this, but it was over-complicated and removed to simplify the API for the v0.4.0 release.
processstate machine, e.g:mongodoes.net-smtpAPI and could greatly simplify the mechanism implementation. It is a little bit trickier to adapt this style to multiple threads and Net::IMAP's receiver loop.net-imapSASL implementation with other gemsShould we create a shared net-sasl gem? #23.
net-smtp,net-pop,net-ldap,mongo, etc.net-smtp: ruby/net-smtp@master...nevans:net-smtp:net-imap-sasl.net-popnet-ldap,mongo, and possibly others...