mirror of
https://github.com/postalserver/postal.git
synced 2026-10-18 18:26:06 +00:00
fix(smtp-server): fixes proxy protocol
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "rails_helper"
|
||||
|
||||
module SMTPServer
|
||||
|
||||
describe Client do
|
||||
let(:ip_address) { nil }
|
||||
subject(:client) { described_class.new(ip_address) }
|
||||
|
||||
describe "PROXY" do
|
||||
context "when the proxy header is sent correctly" do
|
||||
it "sets the IP address" do
|
||||
expect(client.handle("PROXY TCP4 1.1.1.1 2.2.2.2 1111 2222")).to eq "220 #{Postal::Config.postal.smtp_hostname} ESMTP Postal/#{client.trace_id}"
|
||||
expect(client.ip_address).to eq "1.1.1.1"
|
||||
end
|
||||
end
|
||||
|
||||
context "when the proxy header is not valid" do
|
||||
it "returns an error" do
|
||||
expect(client.handle("PROXY TCP4")).to eq "502 Proxy Error"
|
||||
expect(client.finished?).to be true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user