-
-
Notifications
You must be signed in to change notification settings - Fork 265
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
[bug]: config-v1.1.xml returning 400 on missing emailaddress in query #1042
Comments
Based on the error message your client is not providing a valid email address on the request. This is required for autodiscover to work. |
@mdecimus I git this reply from Evolution#2941. Is this something that Stalwart can support? The on-boarding experience is pretty poor for many clients in this scenario. But all seem to have a strong opinion not to improve it. Stalwart could provide some correct details like server name, auth options except username? Or support the |
I believe this is a bug in Evolution. If the 'email' address field is present it has to contain an email address, not a username. Also, most users won't know what's their username. Edit: Also regarding the comment on the Evolution thread. They're not exposing email addresses to random servers, when a user enters user@domain.org as their email address, the client has to contact the autoconfig endpoint of domain.org, not send queries to a "random servers". |
I think they ment if a user mistypes Using a hashing scheme also doesn't even make this more secure, since a malicious server would just answer with arbitrary information so the user can proceed entering their password. And deriving the username from the entered email address is usually quite trivial except someone has an exotic setup. So the password is the more valuable piece of information, which isn't protected here. Therefore, I think their argument is a bit moot - they should just follow the spec. |
There is a draft available on this matter. Makes me thinking how is Microsoft with Outlook and auto-discover making it simply work. And as @oddlama mentioned continuing with the typo will also not prevent a potentially malicious server receive the credentials. @mdecimus I don't this this issue should be closed since there are some paths in the draft that are not working with Stalwart. |
What happened?
When you configure a e-mail account with Thunderbird (Android) it queries the endpoint, but it returns a http 400.
How can we reproduce the problem?
I can reproduce the problem by doing the following steps:
On the discover step it tries:
1."domain.net" "GET /.well-known/autoconfig/mail/config-v1.1.xml HTTP/1.1" 404 125 "-" "okhttp/4.12.0"
2. "domain.net" "GET /.well-known/autoconfig/mail/config-v1.1.xml HTTP/2.0" 400 107 "-" "okhttp/4.12.0"
3. "autoconfig.domain.net" "GET /mail/config-v1.1.xml HTTP/2.0" 400 107 "-" "okhttp/4.12.0"
4. "autoconfig.domain.net" "GET /mail/config-v1.1.xml HTTP/1.1" 400 107 "-" "okhttp/4.12.0"
And then it gives you the option to fill in the details by manually.
Version
v0.10.x
What database are you using?
RocksDB
What blob storage are you using?
RocksDB
Where is your directory located?
LDAP
What operating system are you using?
Linux
Relevant log output
The text was updated successfully, but these errors were encountered: