JAMES-4207 Do not announce capabilities after authentication#3049
Conversation
chibenwa
left a comment
There was a problem hiding this comment.
No specific objection.
Do we need to backport this fix in 3.9.x and 3.8.x ?
|
The additional announcement has been introduced this year and is not included in any release, I think. Do you still remember what the initial reason was for announcing capabilities after authentication? Was there some client that expected James to do so? |
It was backported to previous release branches I presume, not yet released
A security report originating from a large mailing company (this is PMC private so I cannot disclose it) This was not a security issue but more the fact we do not re-advertize capability after STARTTLS
Then fair sorry I may have misunderstood the ABNF or read the RFC too quickly. |
My interpretation was SASL = AUTH hence the code. I disregarded "security layer" But it is immediatly followed by
So understanding this as Thanks for catching it. |
That was mine too, at first. However, the real SASL security layers seem to be very rarely used nowadays. If you search for RFC 4616 (SASL PLAIN):
RFC 7628 (SASL OAUTHBEARER):
|
Hm, then it should maybe be backported. My webmail client (Roundcube) couldn't use Managesieve with the master branch. Luckily, it's a really small change.
Makes sense, after STARTTLS, re-advertizing is indeed necessary.
No worries, I also overlooked it when first reading it and searched for the error in the Roundcube codebase for a while because I was convinced that your patch fulfilled the RFC. |
|
Backports shall be trivial. Are you ok taking a look at it? |
As far as I can see, your original commit was never backported. The branches 3.8.x and 3.9.x do not send managesieve capabilities after STARTTLS. |
RFC 5804 states that capabilities must be sent after a SASL security layer was negotiated. This is not the case for any of the authentication mechanisms offered by James.
957fcc1 to
4b769f3
Compare
At least found out during the cherry-pick that you adapted some tests. I have reverted those now, too. |
RFC 5804 states that capabilities must be sent after a SASL security layer was negotiated. This is not the case for any of the authentication mechanisms offered by James.
This reverts parts of this commit and fixes JAMES-4207.