rpush 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ddc24f899bd6b0f1eed7b50b40f16658290cec0e
4
- data.tar.gz: bffc9e9752d7d53fa65dd6f6f1498e6a0f8d3ad4
3
+ metadata.gz: 46ba458f1bce103da495d96eb5c823d75a8dbb65
4
+ data.tar.gz: 39fd41cb301888ba9e93f6b01a76b3688ed2cf08
5
5
  SHA512:
6
- metadata.gz: 458e8e80010377460ad4968ac03ac448e435d221fb6385a7045a023e07114f69635d5f3f130c2c3bcf68b4ac35396d50a58de888154959275a326d5e680ab059
7
- data.tar.gz: 85197cad6ac231852aeba0c1d405a9f2eaab8a4b60523cc7e9b223d6598436a53075dd6eadf7a7611f38e32a03173cbf04d1804445215e474f738de1af76ce61
6
+ metadata.gz: e6818f8d0a1adc9990e1d7f28b2a4b4299ab1d38a9f43be7b23eb281a74d2743d72ab4bbc75dc7cf51c610afee9160f77ef2a929d344570d64f6da58053e6979
7
+ data.tar.gz: 1eb53814eefda8f89a74f97dc85d7f8d54ff679041eb81ce1793c18be91655f7aae2e5518fceeaf61ad3ffbb127664a0b9e5446db2c307c67ff75e22ec8921ef
@@ -1,3 +1,7 @@
1
+ ## 2.0.1 (Sept 13, 2014)
2
+ * Add ssl_certificate_revoked reflection (#68).
3
+ * Fix for Postgis support in 2.0.0 migration (#70).
4
+
1
5
  ## 2.0.0 (Sept 6, 2014)
2
6
  * Use APNs enhanced binary format version 2.
3
7
  * Support running multiple Rpush processes when using ActiveRecord and Redis.
data/README.md CHANGED
@@ -8,19 +8,17 @@
8
8
  ### Rpush. The push notification service for Ruby.
9
9
 
10
10
  * Supported services:
11
- * **Apple Push Notification Service**
12
- * **Google Cloud Messaging**
13
- * **Amazon Device Messaging**
14
- * **Windows Phone Push Notification Service**
15
-
11
+ * [**Apple Push Notification Service**](#apple-push-notification-service)
12
+ * [**Google Cloud Messaging**](#google-cloud-messaging)
13
+ * [**Amazon Device Messaging**](#amazon-device-messaging)
14
+ * [**Windows Phone Push Notification Service**](#windows-phone-notification-service)
16
15
 
17
16
  * Supported storage backends:
18
- * ActiveRecord
19
- * Redis
20
- * More coming soon!
21
-
17
+ * **ActiveRecord**
18
+ * **Redis**
19
+ * More coming!
22
20
 
23
- * Seamless Rails (3, 4) integration.
21
+ * Seamless Rails integration (3 & 4) .
24
22
  * Scales vertically (threading) and horizontally (multiple processes).
25
23
  * Designed for uptime - new apps are loaded automatically, signal `HUP` to update running apps.
26
24
  * Run as a daemon or inside an [existing process](https://github.com/rpush/rpush/wiki/Embedding-API).
@@ -106,6 +106,10 @@ Rpush.reflect do |on|
106
106
  # on.ssl_certificate_will_expire do |app, expiration_time|
107
107
  # end
108
108
 
109
+ # Called when an SSL certificate has been revoked.
110
+ # on.ssl_certificate_revoked do |app, error|
111
+ # end
112
+
109
113
  # Called when the ADM returns a canonical registration ID.
110
114
  # You will need to replace old_id with canonical_id in your records.
111
115
  # on.adm_canonical_id do |old_id, canonical_id|
@@ -37,6 +37,6 @@ class Rpush200Updates < ActiveRecord::Migration
37
37
  end
38
38
 
39
39
  def self.postgresql?
40
- adapter_name =~ /postgresql/
40
+ adapter_name =~ /postgresql|postgis/
41
41
  end
42
42
  end
@@ -108,6 +108,12 @@ module Rpush
108
108
  ssl_socket.sync = true
109
109
  ssl_socket.connect
110
110
  [tcp_socket, ssl_socket]
111
+ rescue StandardError => error
112
+ if error.message =~ /certificate revoked/i
113
+ log_warn('Certificate has been revoked.')
114
+ reflect(:ssl_certificate_revoked, @app, error)
115
+ end
116
+ raise
111
117
  end
112
118
 
113
119
  def check_certificate_expiration
@@ -15,7 +15,7 @@ module Rpush
15
15
  :notification_failed, :notification_will_retry, :gcm_delivered_to_recipient,
16
16
  :gcm_failed_to_recipient, :gcm_canonical_id, :gcm_invalid_registration_id,
17
17
  :error, :adm_canonical_id, :adm_failed_to_recipient,
18
- :tcp_connection_lost, :ssl_certificate_will_expire,
18
+ :tcp_connection_lost, :ssl_certificate_will_expire, :ssl_certificate_revoked,
19
19
  :notification_id_will_retry, :notification_id_failed
20
20
  ]
21
21
 
@@ -1,3 +1,3 @@
1
1
  module Rpush
2
- VERSION = '2.0.0'
2
+ VERSION = '2.0.1'
3
3
  end
@@ -113,6 +113,23 @@ describe Rpush::Daemon::TcpConnection do
113
113
  end
114
114
  end
115
115
  end
116
+
117
+ describe 'certificate revocation' do
118
+ let(:cert_revoked_error) { OpenSSL::SSL::SSLError.new('certificate revoked') }
119
+ before do
120
+ ssl_socket.stub(:connect).and_raise(cert_revoked_error)
121
+ end
122
+
123
+ it 'reflects that the certificate has been revoked' do
124
+ connection.should_receive(:reflect).with(:ssl_certificate_revoked, app, cert_revoked_error)
125
+ expect { connection.connect }.to raise_error(cert_revoked_error)
126
+ end
127
+
128
+ it 'logs that the certificate has been revoked' do
129
+ logger.should_receive(:warn).with('[Connection 0] Certificate has been revoked.')
130
+ expect { connection.connect }.to raise_error(cert_revoked_error)
131
+ end
132
+ end
116
133
  end
117
134
 
118
135
  describe "when shuting down the connection" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpush
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Leitch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-07 00:00:00.000000000 Z
11
+ date: 2014-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json