RocketChat / RocketChat/Rocket.Chat

SSL3_GET_RECORD:wrong version number sending any emails since upgrading past 0.37

Open
#5,182 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feat: email
Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Your Rocket.Chat version: 0.47

We've had this issue for a while and I've done a lot of searching.
Since we upgraded past 0.37 we get the error sending any email. Registration, notification and the admin "test" button all produce the error.

We're inside of a corporate LAN with an SMTP relay that requires no authentication.

I experimented with changing the user and password which only produced an invalid login error.

Below is the log file from the most recent upgrade till now.

[34mI20161208-17:02:12.089(0) Updating process.env.MAIL_URL 
[34mI20161208-17:02:22.158(0) ufs: store created at  
[34mI20161208-17:02:23.300(0) ufs: store created at  
[34mI20161208-17:02:37.260(0) (rocketchat_migrations.js:160) Migrations: Migrating from version 64 -> 68
[34mI20161208-17:02:37.277(0) (rocketchat_migrations.js:160) Migrations: Running up() on version 65
[34mI20161208-17:02:39.243(0) (rocketchat_migrations.js:160) Migrations: Running up() on version 66
[34mI20161208-17:02:39.306(0) (rocketchat_migrations.js:160) Migrations: Running up() on version 67
[34mI20161208-17:02:39.327(0) (rocketchat_migrations.js:160) Migrations: Running up() on version 68
[34mI20161208-17:02:39.386(0) (rocketchat_migrations.js:160) Migrations: Finished migrating.
[34mI20161208-17:02:49.389(0) [33mNot migrating, control is locked. Attempt 1/30. Trying again in 10 seconds. 
[34mI20161208-17:02:49.398(0) (rocketchat_migrations.js:160) Migrations: Not migrating, already at version 68
[34mI20161208-17:02:49.933(0) Updating process.env.MAIL_URL 
[34mI20161208-17:02:51.898(0) [32mUsing GridFS for custom emoji storage 
[34mI20161208-17:02:52.321(0) [Thu Dec 08 2016 17:02:52 GMT+0000 (GMT)] WARNING A script has tried registering a HTTP route while the HTTP server is disabled with --disabled-httpd. 
[34mI20161208-17:02:52.323(0) [32mLoaded hubot-help/src/help.coffee 
[34mI20161208-17:02:52.350(0) [32mLoaded hello.coffee 
[34mI20161208-17:02:52.368(0) [32mLoaded zen.coffee 
[34mI20161208-17:02:56.739(0) [32mUsing GridFS for Avatar storage 
[34mI20161208-17:02:57.358(0) [32m➔ app.js:3990 [32mSystem ➔ startup 
[34mI20161208-17:02:57.359(0) [32m➔ [32m+------------------------------------+ 
[34mI20161208-17:02:57.359(0) [32m➔ [32m|           SERVER RUNNING           | 
[34mI20161208-17:02:57.361(0) [32m➔ [32m+------------------------------------+ 
[34mI20161208-17:02:57.362(0) [32m➔ [32m|                                    | 
[34mI20161208-17:02:57.362(0) [32m➔ [32m|       Version: 0.47.0              | 
[34mI20161208-17:02:57.363(0) [32m➔ [32m|  Process Port: 3000                | 
[34mI20161208-17:02:57.363(0) [32m➔ [32m|      Site URL: http://server:3000  | 
[34mI20161208-17:02:57.363(0) [32m➔ [32m|         OpLog: Disabled            | 
[34mI20161208-17:02:57.363(0) [32m➔ [32m|                                    | 
[34mI20161208-17:02:57.364(0) [32m➔ [32m+------------------------------------+ 
[34mI20161209-06:19:18.868(0) Exception in defer callback: Error: 140142710757184:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:../deps/openssl/openssl/ssl/s3_pkt.c:362:   at Object.Future.wait (/opt/Rocket.Chat/programs/server/node_modules/fibers/future.js:449:15)   at smtpSend (packages/email.js:108:37)   at Object.Email.send (packages/email.js:211:5)   at /opt/Rocket.Chat/programs/server/packages/rocketchat_lib.js:1434:14   at [object Object]._.extend.withValue (packages/meteor.js:1122:17)   at packages/meteor.js:445:45   at runWithEnvironment (packages/meteor.js:1176:24)      - - - - -    at Error (native)  
[34mI20161209-06:19:21.803(0) Exception in defer callback: Error: 140142710757184:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:../deps/openssl/openssl/ssl/s3_pkt.c:362:   at Object.Future.wait (/opt/Rocket.Chat/programs/server/node_modules/fibers/future.js:449:15)   at smtpSend (packages/email.js:108:37)   at Object.Email.send (packages/email.js:211:5)   at /opt/Rocket.Chat/programs/server/packages/rocketchat_lib.js:1434:14   at [object Object]._.extend.withValue (packages/meteor.js:1122:17)   at packages/meteor.js:445:45   at runWithEnvironment (packages/meteor.js:1176:24)      - - - - -    at Error (native)  
[34mI20161209-08:11:15.506(0) Exception in defer callback: Error: 140142710757184:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:../deps/openssl/openssl/ssl/s3_pkt.c:362:   at Object.Future.wait (/opt/Rocket.Chat/programs/server/node_modules/fibers/future.js:449:15)   at smtpSend (packages/email.js:108:37)   at Object.Email.send (packages/email.js:211:5)   at /opt/Rocket.Chat/programs/server/packages/rocketchat_lib.js:1434:14   at [object Object]._.extend.withValue (packages/meteor.js:1122:17)   at packages/meteor.js:445:45   at runWithEnvironment (packages/meteor.js:1176:24)      - - - - -    at Error (native)  
[34mI20161209-09:20:14.421(0) Sending test email to my@email.address 
[34mI20161209-16:32:07.776(0) Exception in defer callback: Error: 140142710757184:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:../deps/openssl/openssl/ssl/s3_pkt.c:362:   at Object.Future.wait (/opt/Rocket.Chat/programs/server/node_modules/fibers/future.js:449:15)   at smtpSend (packages/email.js:108:37)   at Object.Email.send (packages/email.js:211:5)   at /opt/Rocket.Chat/programs/server/packages/rocketchat_lib.js:1434:14   at [object Object]._.extend.withValue (packages/meteor.js:1122:17)   at packages/meteor.js:445:45   at runWithEnvironment (packages/meteor.js:1176:24)      - - - - -    at Error (native)  
[34mI20161212-09:37:57.953(0) Sending test email to my@email.address 
[34mI20161212-09:38:32.224(0) rocketchat_lib rocketchat_lib.js:1011 [34mMeteor ➔ method sendSMTPTestEmail -> userId: 5aBdc5Mq2XHXS54bJ , arguments:  {} 
[34mI20161212-09:38:32.229(0) Sending test email to my@email.address 
[34mI20161212-09:38:37.999(0) rocketchat_lib rocketchat_lib.js:1011 [34mMeteor ➔ method saveSetting -> userId: 5aBdc5Mq2XHXS54bJ , arguments:  { '0': 'Log_Level', '1': '0', '2': null } 
[34mI20161212-09:47:30.270(0) Updating process.env.MAIL_URL 
[34mI20161212-09:47:33.191(0) Sending test email to my@email.address 
[34mI20161212-09:47:39.675(0) Updating process.env.MAIL_URL 
[34mI20161212-09:47:42.069(0) Sending test email to my@email.address 
[34mI20161212-09:48:00.839(0) Updating process.env.MAIL_URL 
[34mI20161212-09:48:02.969(0) Sending test email to my@email.address 
[34mI20161212-09:48:14.852(0) Updating process.env.MAIL_URL 
[34mI20161212-09:48:15.775(0) Sending test email to my@email.address 
[34mI20161212-09:48:21.540(0) Updating process.env.MAIL_URL 
[34mI20161212-10:01:31.769(0) Exception in defer callback: Error: 140142710757184:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:../deps/openssl/openssl/ssl/s3_pkt.c:362:   at Object.Future.wait (/opt/Rocket.Chat/programs/server/node_modules/fibers/future.js:449:15)   at smtpSend (packages/email.js:108:37)   at Object.Email.send (packages/email.js:211:5)   at /opt/Rocket.Chat/programs/server/packages/rocketchat_lib.js:1434:14   at [object Object]._.extend.withValue (packages/meteor.js:1122:17)   at packages/meteor.js:445:45   at runWithEnvironment (packages/meteor.js:1176:24)      - - - - -    at Error (native)  
[34mI20161212-10:21:49.058(0) Sending test email to my@email.address 

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in packages/email.js at smtpSend, then trace the email call from packages/rocketchat_lib.js:1434 and the MAIL_URL updates shown in the log. Reproduce the failure with the reported unauthenticated SMTP relay and verify that registration, notifications, and the admin test email complete without the SSL error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.