Skip to content
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

add starttls #23

Open
MoritzFago opened this issue Apr 7, 2015 · 4 comments
Open

add starttls #23

MoritzFago opened this issue Apr 7, 2015 · 4 comments

Comments

@MoritzFago
Copy link

No description provided.

@EtienneBruines
Copy link
Collaborator

I've started working on this, but I'm not sure if I'm capable enough to finish it.

RFC2595 is the one I'm trying to implement, but it's taking some refactoring (since it needs to modify the connection readers/writers).

EtienneBruines added a commit to EtienneBruines/imapsrv that referenced this issue Jun 25, 2015
It starts the TLS connection using the already existing connection, and
replaces all readers/writers in use to make sure they're reading from
the correct location (meaning they won't notice a difference).

Associated with alienscience#23.
@alienscience
Copy link
Owner

Please carry on if you would like. I am stuck on the getmessage command for at least another month.

Is this helpful:
https://github.com/flashmob/go-guerrilla/blob/master/goguerrilla.go#L367:L376

Its the TLS upgrade used by an SMTP server in go. It uses the go TLS library.

@EtienneBruines
Copy link
Collaborator

That is pretty much the implementation.

https://github.com/alienscience/imapsrv/blob/master/command.go#L59-L65

@EtienneBruines
Copy link
Collaborator

Turns out, using openssl s_client, it seems to work... However, browsers such as geary and thunderbird tend to break...

Somehow they do not respond after the OK message...

The problem

The client does not send a client-handshake during the handshake... The server keeps waiting for it, but the mail clients never send it ...

Solved

Nevermind ... this sub-issue is solved...

I guess it's quite important to send \r\n after the command ... My mistake.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants