remailer 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.5.2
@@ -209,6 +209,8 @@ class Remailer::AbstractConnection < EventMachine::Connection
209
209
  def unbind
210
210
  return if (@unbound)
211
211
 
212
+ self.cancel_timer!
213
+
212
214
  self.after_unbind
213
215
 
214
216
  @unbound = true
@@ -249,12 +251,6 @@ class Remailer::AbstractConnection < EventMachine::Connection
249
251
  self.set_timer!
250
252
  end
251
253
 
252
- def detach
253
- self.cancel_timer!
254
-
255
- super
256
- end
257
-
258
254
  # Returns the current state of the active interpreter, or nil if no state
259
255
  # is assigned.
260
256
  def state
@@ -335,7 +331,7 @@ class Remailer::AbstractConnection < EventMachine::Connection
335
331
  remote_options = @options
336
332
  interpreter = @interpreter
337
333
 
338
- if (@connecting_to_proxy)
334
+ if (self.proxy_connection_initiated?)
339
335
  remote_options = @options[:proxy]
340
336
  end
341
337
 
@@ -163,18 +163,6 @@ class Remailer::SMTP::Client < Remailer::AbstractConnection
163
163
  error_notification(:out_of_band, "Receiving data before a protocol has been established.")
164
164
  end
165
165
  end
166
-
167
- def post_init
168
- @timer = EventMachine.add_periodic_timer(1) do
169
- check_for_timeouts!
170
- end
171
- end
172
-
173
- #
174
- def detach
175
- @timer.cancel
176
- super
177
- end
178
166
 
179
167
  # Returns the current state of the active interpreter, or nil if no state
180
168
  # is assigned.
@@ -214,62 +202,6 @@ class Remailer::SMTP::Client < Remailer::AbstractConnection
214
202
  rescue
215
203
  nil
216
204
  end
217
-
218
- # Resets the timeout time. Returns the time at which a timeout will occur.
219
- def reset_timeout!
220
- @timeout_at = Time.now + @timeout
221
- end
222
-
223
- # Returns the number of seconds remaining until a timeout will occur, or
224
- # nil if no time-out is pending.
225
- def time_remaning
226
- @timeout_at and (@timeout_at.to_i - Time.now.to_i)
227
- end
228
-
229
- # Checks for a timeout condition, and if one is detected, will close the
230
- # connection and send appropriate callbacks.
231
- def check_for_timeouts!
232
- return if (!@timeout_at or Time.now < @timeout_at or @timed_out)
233
-
234
- @timed_out = true
235
- @timeout_at = nil
236
-
237
- if (@connected and @active_message)
238
- message_callback(:timeout, "Response timed out before send could complete")
239
- error_notification(:timeout, "Response timed out")
240
- debug_notification(:timeout, "Response timed out")
241
- send_callback(:on_error)
242
- elsif (!@connected)
243
- remote_options = @options
244
- interpreter = @interpreter
245
-
246
- if (self.proxy_connection_initiated?)
247
- remote_options = @options[:proxy]
248
- end
249
-
250
- message = "Timed out before a connection could be established to #{remote_options[:host]}:#{remote_options[:port]}"
251
-
252
- if (interpreter)
253
- message << " using #{interpreter.label}"
254
- end
255
-
256
- connect_notification(false, message)
257
- debug_notification(:timeout, message)
258
- error_notification(:timeout, message)
259
-
260
- send_callback(:on_error)
261
- else
262
- interpreter = @interpreter
263
-
264
- if (interpreter and interpreter.respond_to?(:close))
265
- interpreter.close
266
- else
267
- send_callback(:on_disconnect)
268
- end
269
- end
270
-
271
- close_connection
272
- end
273
205
 
274
206
  # Returns true if pipelining support has been detected on the connection,
275
207
  # false otherwise.
@@ -1,6 +1,6 @@
1
1
  class Remailer::SMTP::Server::Interpreter < Remailer::Interpreter
2
2
  # == State Definitions ====================================================
3
-
3
+
4
4
  default do |error|
5
5
  delegate.send_line("500 Invalid command")
6
6
  end
@@ -159,8 +159,8 @@ class Remailer::SMTP::Server::Interpreter < Remailer::Interpreter
159
159
 
160
160
  default do |line|
161
161
  # RFC5321 4.5.2 - Leading dot is removed if line has content
162
-
163
- @transaction.data << (line.sub(/^\./, '') + Remailer::Constants::CRLF)
162
+
163
+ @transaction.data << (line.sub(/^\./, '') << Remailer::Constants::CRLF)
164
164
  end
165
165
  end
166
166
 
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.5.1"
8
+ s.version = "0.5.2"
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 = "2012-03-19"
12
+ s.date = "2012-11-30"
13
13
  s.description = "EventMachine SMTP Mail User Agent"
14
14
  s.email = "scott@twg.ca"
15
15
  s.extra_rdoc_files = [
@@ -56,7 +56,7 @@ Gem::Specification.new do |s|
56
56
  ]
57
57
  s.homepage = "http://github.com/twg/remailer"
58
58
  s.require_paths = ["lib"]
59
- s.rubygems_version = "1.8.17"
59
+ s.rubygems_version = "1.8.24"
60
60
  s.summary = "Reactor-Ready SMTP Mailer"
61
61
 
62
62
  if s.respond_to? :specification_version then
data/test/helper.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'test/unit'
3
3
 
4
- $LOAD_PATH.unshift(File.expand_path(*%w[ .. lib ]), File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(File.expand_path('../lib', File.dirname(__FILE__)))
5
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
6
 
7
7
  require 'timeout'
@@ -14,6 +14,8 @@ rescue => e
14
14
  raise "EventMachine gem could not be loaded: #{e.class}: #{e}"
15
15
  end
16
16
 
17
+ puts $LOAD_PATH.inspect
18
+
17
19
  require 'remailer'
18
20
 
19
21
  class Proc
@@ -31,7 +31,7 @@ class RemailerIMAPClientTest < Test::Unit::TestCase
31
31
  capabilities
32
32
  end
33
33
 
34
- assert_equal %w[ IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH ], capabilities
34
+ assert_equal %w[ IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH AUTH=XOAUTH2 ], capabilities
35
35
 
36
36
  # -- LOGIN ------------------------------------------------------------
37
37
 
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.join(*%w[ .. helper ]), File.dirname(__FILE__))
1
+ require File.expand_path('../helper', File.dirname(__FILE__))
2
2
 
3
3
  class RemailerSMTPServerTest < Test::Unit::TestCase
4
4
  def test_bind
@@ -67,9 +67,9 @@ class RemailerSMTPServerTest < Test::Unit::TestCase
67
67
 
68
68
  sender = 'sender@example.com'.freeze
69
69
  recipient = 'recipient@example.net'.freeze
70
- data = "Subject: Re: Test Message\r\n\r\nTest message.\r\n\r\n.test\r\n.\r\n".freeze
70
+ content = "Subject: Re: Test Message\r\n\r\nTest message.\r\n\r\n.test\r\n.\r\n".freeze
71
71
 
72
- client.send_email(sender, recipient, data)
72
+ client.send_email(sender, recipient, content)
73
73
 
74
74
  assert_eventually(30) do
75
75
  transaction
@@ -77,7 +77,7 @@ class RemailerSMTPServerTest < Test::Unit::TestCase
77
77
 
78
78
  assert_equal sender, transaction.sender
79
79
  assert_equal [ recipient ], transaction.recipients
80
- assert_equal data, transaction.data
80
+ assert_equal content + Remailer::Constants::CRLF, transaction.data
81
81
  end
82
82
  end
83
83
  end
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.5.1
4
+ version: 0.5.2
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: 2012-03-19 00:00:00.000000000 Z
12
+ date: 2012-11-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine
16
- requirement: &2157010820 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,12 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2157010820
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  description: EventMachine SMTP Mail User Agent
26
31
  email: scott@twg.ca
27
32
  executables: []
@@ -86,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
91
  version: '0'
87
92
  requirements: []
88
93
  rubyforge_project:
89
- rubygems_version: 1.8.17
94
+ rubygems_version: 1.8.24
90
95
  signing_key:
91
96
  specification_version: 3
92
97
  summary: Reactor-Ready SMTP Mailer