remailer 0.4.19 → 0.4.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/lib/remailer/connection/smtp_interpreter.rb +23 -4
- data/remailer.gemspec +2 -2
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.20
|
@@ -27,7 +27,7 @@ class Remailer::Connection::SmtpInterpreter < Remailer::Interpreter
|
|
27
27
|
|
28
28
|
# Encodes a string in Base64 as a single line
|
29
29
|
def self.base64(string)
|
30
|
-
[ string.to_s ].pack('m').
|
30
|
+
[ string.to_s ].pack('m').gsub(/\n/, '')
|
31
31
|
end
|
32
32
|
|
33
33
|
# == State Mapping ========================================================
|
@@ -102,7 +102,7 @@ class Remailer::Connection::SmtpInterpreter < Remailer::Interpreter
|
|
102
102
|
end
|
103
103
|
|
104
104
|
unless (continues)
|
105
|
-
if (delegate.use_tls? and delegate.tls_support?)
|
105
|
+
if (delegate.use_tls? and delegate.tls_support? and !@tls)
|
106
106
|
enter_state(:starttls)
|
107
107
|
elsif (delegate.requires_authentication?)
|
108
108
|
enter_state(:auth)
|
@@ -111,6 +111,13 @@ class Remailer::Connection::SmtpInterpreter < Remailer::Interpreter
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
end
|
114
|
+
|
115
|
+
interpret(500..599) do |result_code|
|
116
|
+
# RFC1869 suggests trying HELO if EHLO results in some kind of error,
|
117
|
+
# typically 5xx, but the actual code varies wildly depending on server.
|
118
|
+
delegate.protocol = :smtp
|
119
|
+
enter_state(:helo)
|
120
|
+
end
|
114
121
|
end
|
115
122
|
|
116
123
|
state :starttls do
|
@@ -120,8 +127,14 @@ class Remailer::Connection::SmtpInterpreter < Remailer::Interpreter
|
|
120
127
|
|
121
128
|
interpret(220) do
|
122
129
|
delegate.start_tls
|
130
|
+
@tls = true
|
123
131
|
|
124
|
-
|
132
|
+
case (delegate.protocol)
|
133
|
+
when :esmtp
|
134
|
+
enter_state(:ehlo)
|
135
|
+
else
|
136
|
+
enter_state(:helo)
|
137
|
+
end
|
125
138
|
end
|
126
139
|
end
|
127
140
|
|
@@ -195,9 +208,10 @@ class Remailer::Connection::SmtpInterpreter < Remailer::Interpreter
|
|
195
208
|
end
|
196
209
|
|
197
210
|
interpret(220) do
|
198
|
-
# "HELO/EHLO command already issued"
|
199
211
|
if (delegate.requires_authentication?)
|
200
212
|
enter_state(:auth)
|
213
|
+
elsif (delegate.active_message)
|
214
|
+
enter_state(:mail_from)
|
201
215
|
else
|
202
216
|
enter_state(:established)
|
203
217
|
end
|
@@ -290,6 +304,11 @@ class Remailer::Connection::SmtpInterpreter < Remailer::Interpreter
|
|
290
304
|
interpret(221) do
|
291
305
|
enter_state(:terminated)
|
292
306
|
end
|
307
|
+
|
308
|
+
interpret(502) do
|
309
|
+
# "502 5.5.2 Error: command not recognized"
|
310
|
+
enter_state(:terminated)
|
311
|
+
end
|
293
312
|
end
|
294
313
|
|
295
314
|
state :terminated do
|
data/remailer.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "remailer"
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.20"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Scott Tadman"]
|
12
|
-
s.date = "2011-
|
12
|
+
s.date = "2011-11-02"
|
13
13
|
s.description = "EventMachine SMTP Mail User Agent"
|
14
14
|
s.email = "scott@twg.ca"
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.20
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-11-02 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine
|
16
|
-
requirement: &
|
16
|
+
requirement: &2153998580 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2153998580
|
25
25
|
description: EventMachine SMTP Mail User Agent
|
26
26
|
email: scott@twg.ca
|
27
27
|
executables: []
|