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

Bad RCPT TO leads to exception. Shoud return 501. #1019

Closed
SonicGD opened this issue Mar 11, 2020 · 0 comments
Closed

Bad RCPT TO leads to exception. Shoud return 501. #1019

SonicGD opened this issue Mar 11, 2020 · 0 comments
Labels

Comments

@SonicGD
Copy link
Contributor

SonicGD commented Mar 11, 2020

Hello. If postal receives malformed RCPT TO header it throws exception.

[smtp.1:110] [2020-03-11T06:17:34.464] DEBUG -- : [WMOP0F] <= RCPT TO:<>
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] An error occurred while processing data from a client.
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] NoMethodError: undefined method `split' for nil:NilClass
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/client.rb:255:in `rcpt_to'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/client.rb:79:in `handle_command'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/client.rb:50:in `handle'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/server.rb:160:in `block (2 levels) in run_event_loop'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/server.rb:87:in `select'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/server.rb:87:in `block in run_event_loop'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/server.rb:85:in `loop'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/server.rb:85:in `run_event_loop'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/postal/smtp_server/server.rb:260:in `run'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /opt/postal/app/lib/tasks/postal.rake:13:in `block (2 levels) in <top (required)>'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/task.rb:273:in `block in execute'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/task.rb:273:in `each'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/task.rb:273:in `execute'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/task.rb:194:in `invoke_with_call_chain'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/task.rb:183:in `invoke'
[smtp.1:110] [2020-03-11T06:17:34.484] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:160:in `invoke_task'
[smtp.1:110] [2020-03-11T06:17:34.485] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:116:in `block (2 levels) in top_level'
[smtp.1:110] [2020-03-11T06:17:34.485] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:116:in `each'
[smtp.1:110] [2020-03-11T06:17:34.485] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:116:in `block in top_level'
[smtp.1:110] [2020-03-11T06:17:34.485] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:125:in `run_with_threads'
[smtp.1:110] [2020-03-11T06:17:34.485] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:110:in `top_level'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:83:in `block in run'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:186:in `standard_exception_handling'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/lib/rake/application.rb:80:in `run'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/bundle/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/bundle/bin/rake:23:in `load'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/bundle/bin/rake:23:in `<top (required)>'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/cli/exec.rb:74:in `load'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/cli/exec.rb:74:in `kernel_load'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/cli/exec.rb:28:in `run'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/cli.rb:463:in `exec'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/cli.rb:27:in `dispatch'
[smtp.1:110] [2020-03-11T06:17:34.489] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
[smtp.1:110] [2020-03-11T06:17:34.490] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/cli.rb:18:in `start'
[smtp.1:110] [2020-03-11T06:17:34.490] ERROR -- : [WMOP0F] /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/exe/bundle:30:in `block in <top (required)>'
[smtp.1:110] [2020-03-11T06:17:34.490] ERROR -- : [WMOP0F] /usr/local/lib/ruby/site_ruby/2.3.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'
[smtp.1:110] [2020-03-11T06:17:34.490] ERROR -- : [WMOP0F] /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/exe/bundle:22:in `<top (required)>'
[smtp.1:110] [2020-03-11T06:17:34.490] ERROR -- : [WMOP0F] /usr/local/bundle/bin/bundle:23:in `load'
[smtp.1:110] [2020-03-11T06:17:34.490] ERROR -- : [WMOP0F] /usr/local/bundle/bin/bundle:23:in `<main>'

I tried the same on mailgun and got 501 response:

RCPT TO: <>
501 Invalid command or cannot parse to address
RCPT TO:
501 Invalid command or cannot parse to address

I think postal also shouldn't crash on such input.

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

No branches or pull requests

2 participants