{"action":"opened","issue":{"url":"https://api.github.com/repos/nats-io/gnatsd/issues/205","repository_url":"https://api.github.com/repos/nats-io/gnatsd","labels_url":"https://api.github.com/repos/nats-io/gnatsd/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/nats-io/gnatsd/issues/205/comments","events_url":"https://api.github.com/repos/nats-io/gnatsd/issues/205/events","html_url":"https://github.com/nats-io/gnatsd/issues/205","id":133462893,"number":205,"title":"Clients may not know why a handshake failed when using tls","user":{"login":"camros","id":12055683,"avatar_url":"https://avatars.githubusercontent.com/u/12055683?v=3","gravatar_id":"","url":"https://api.github.com/users/camros","html_url":"https://github.com/camros","followers_url":"https://api.github.com/users/camros/followers","following_url":"https://api.github.com/users/camros/following{/other_user}","gists_url":"https://api.github.com/users/camros/gists{/gist_id}","starred_url":"https://api.github.com/users/camros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/camros/subscriptions","organizations_url":"https://api.github.com/users/camros/orgs","repos_url":"https://api.github.com/users/camros/repos","events_url":"https://api.github.com/users/camros/events{/privacy}","received_events_url":"https://api.github.com/users/camros/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-02-13T19:23:19Z","updated_at":"2016-02-13T19:23:19Z","closed_at":null,"body":"When using tls, the handshake is initiated place after receiving a connect that is successful (e.g., client has invalid authorization or other settings). \r\n\r\nIf the connect fails an -err is sent back and the tls handshake is never initiated. \r\n\r\nClients have no way to know whether a handshake is successful unless they look at bytes and inspect whether -err or the tls handshake magic bytes come back. This is not possible with some tls frameworks or programming languages. \r\n\r\nClients should always know why a connection handshake failed to ensure reconnect and other logic works correctly. "}}