thsmi/sieve

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":

image

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!

thsmi commented

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.