Cannot write property 'security' on boolean false
Closed this issue · 2 comments
Prerequisites
- Tried the most recent nightly build
- Checked if your issue is already reported.
- Answered all the questions in this template (Or provide a working crystal ball).
What happened?
Download latest nightly build. Import from Thunderbird. Observe "hang". Check devtools to find error "Cannot write property 'security' on boolean false":
This seems to happen because of this call:
sieve.connect(new SieveUrl(`sieve://${this.hostname}:${port}`), false);
Here, false
is passed, however sieve.connect
seems to expect an options
object as second argument.
What did you expect to happen?
Successful import.
Which Version
Include information about your system, server and most important if it is about the app or webextension.
- Latest standalone app (20231017.1)
- Operating system: Win10
- Sieve/Mail Server - hosted at dogado
Seems like this regression was introduced by #680
However, I'm not even sure why false
is passed here in the first place as opposed to true
, because this argument apparently used to be secure
and my Thunderbird profile has "SSL/TLS" set for this account!
Concerning you question:
Sieve uses implicit startTLS means you always start insecure and then update to secure. You normally upgrade before authenticating.
In case you just want to read read the server's capabilities then you don't need to authenticate, and thus you don't upgrade your connection to secure. You just connect ask the server what are your capabilities and then disconnect.
If you got a useful response you know everything is fine and in every other case you know you are not talking to a sieve server and thus the basic configuration is wrong.
Should be fixed with the following build, the whole import logic is now updated: