stomp 1.3.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +15 -0
- data/README.rdoc +3 -1
- data/examples/conn11_hb1.rb +2 -2
- data/examples/examplogger.rb +306 -0
- data/examples/logexamp.rb +2 -2
- data/examples/logexamp_ssl.rb +2 -2
- data/lib/client/utils.rb +3 -1
- data/lib/connection/heartbeats.rb +20 -38
- data/lib/connection/netio.rb +22 -25
- data/lib/connection/utils.rb +22 -17
- data/lib/stomp/client.rb +29 -13
- data/lib/stomp/connection.rb +33 -14
- data/lib/stomp/constants.rb +81 -17
- data/lib/stomp/null_logger.rb +2 -0
- data/lib/stomp/version.rb +1 -1
- data/spec/connection_spec.rb +6 -1
- data/stomp.gemspec +11 -8
- data/test/test_anonymous.rb +2 -2
- data/test/test_urlogin.rb +3 -3
- metadata +61 -40
- checksums.yaml +0 -15
data/lib/connection/netio.rb
CHANGED
@@ -130,9 +130,7 @@ module Stomp
|
|
130
130
|
@failure = $!
|
131
131
|
raise unless @reliable
|
132
132
|
errstr = "transmit to #{@host} failed: #{$!}\n"
|
133
|
-
|
134
|
-
@logger.on_miscerr(log_params, "es_trans: " + errstr)
|
135
|
-
else
|
133
|
+
unless slog(:on_miscerr, log_params, "es_trans: " + errstr)
|
136
134
|
$stderr.print errstr
|
137
135
|
end
|
138
136
|
# !!! This loop initiates a re-connect !!!
|
@@ -200,15 +198,10 @@ module Stomp
|
|
200
198
|
# open_tcp_socket opens a TCP socket.
|
201
199
|
def open_tcp_socket()
|
202
200
|
tcp_socket = nil
|
203
|
-
|
204
|
-
if @logger && @logger.respond_to?(:on_connecting)
|
205
|
-
@logger.on_connecting(log_params)
|
206
|
-
end
|
207
|
-
|
201
|
+
slog(:on_connecting, log_params)
|
208
202
|
Timeout::timeout(@connect_timeout, Stomp::Error::SocketOpenTimeout) do
|
209
203
|
tcp_socket = TCPSocket.open(@host, @port)
|
210
204
|
end
|
211
|
-
|
212
205
|
tcp_socket
|
213
206
|
end
|
214
207
|
|
@@ -219,15 +212,19 @@ module Stomp
|
|
219
212
|
ctx = OpenSSL::SSL::SSLContext.new
|
220
213
|
ctx.verify_mode = OpenSSL::SSL::VERIFY_NONE # Assume for now
|
221
214
|
#
|
222
|
-
# Note: if a client uses :ssl => true this
|
215
|
+
# Note: if a client uses :ssl => true this would result in the gem using
|
223
216
|
# the _default_ Ruby ciphers list. This is _known_ to fail in later
|
224
|
-
# Ruby releases. The gem
|
225
|
-
#
|
217
|
+
# Ruby releases. The gem now detects :ssl => true, and replaces that
|
218
|
+
# with:
|
226
219
|
# * :ssl => Stomp::SSLParams.new
|
220
|
+
#
|
221
|
+
# The above results in the use of Stomp default parameters.
|
222
|
+
#
|
223
|
+
# To specifically request Stomp default parameters, use:
|
227
224
|
# * :ssl => Stomp::SSLParams.new(..., :ciphers => Stomp::DEFAULT_CIPHERS)
|
228
225
|
#
|
229
226
|
# If connecting with an SSLParams instance, and the _default_ Ruby
|
230
|
-
# ciphers list is required, use:
|
227
|
+
# ciphers list is actually required, use:
|
231
228
|
# * :ssl => Stomp::SSLParams.new(..., :use_ruby_ciphers => true)
|
232
229
|
#
|
233
230
|
# If a custom ciphers list is required, connect with:
|
@@ -275,16 +272,15 @@ module Stomp
|
|
275
272
|
if @ssl.ciphers # User ciphers list?
|
276
273
|
ctx.ciphers = @ssl.ciphers # Accept user supplied ciphers
|
277
274
|
else
|
275
|
+
ctx.ciphers = Stomp::DEFAULT_CIPHERS # Just use Stomp defaults
|
278
276
|
end
|
279
277
|
end
|
280
278
|
end
|
281
279
|
|
282
280
|
#
|
283
281
|
ssl = nil
|
284
|
-
|
285
|
-
|
286
|
-
end
|
287
|
-
|
282
|
+
slog(:on_ssl_connecting, log_params)
|
283
|
+
# _dump_ctx(ctx)
|
288
284
|
Timeout::timeout(@connect_timeout, Stomp::Error::SocketOpenTimeout) do
|
289
285
|
tcp_socket = TCPSocket.open(@host, @port)
|
290
286
|
ssl = OpenSSL::SSL::SSLSocket.new(tcp_socket, ctx)
|
@@ -304,16 +300,12 @@ module Stomp
|
|
304
300
|
end
|
305
301
|
@ssl.peer_cert = ssl.peer_cert
|
306
302
|
end
|
307
|
-
|
308
|
-
@logger.on_ssl_connected(log_params)
|
309
|
-
end
|
303
|
+
slog(:on_ssl_connected, log_params)
|
310
304
|
ssl
|
311
305
|
rescue Exception => ex
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
@logger.on_ssl_connectfail(lp)
|
316
|
-
end
|
306
|
+
lp = log_params.clone
|
307
|
+
lp[:ssl_exception] = ex
|
308
|
+
slog(:on_ssl_connectfail, lp)
|
317
309
|
#
|
318
310
|
raise # Reraise
|
319
311
|
end
|
@@ -401,6 +393,11 @@ module Stomp
|
|
401
393
|
line
|
402
394
|
end
|
403
395
|
|
396
|
+
# Used for debugging
|
397
|
+
def _dump_ctx(ctx)
|
398
|
+
p [ "dc01", ctx.inspect ]
|
399
|
+
p [ "dc02ciphers", ctx.ciphers ]
|
400
|
+
end
|
404
401
|
end # class Connection
|
405
402
|
|
406
403
|
end # module Stomp
|
data/lib/connection/utils.rb
CHANGED
@@ -116,9 +116,7 @@ module Stomp
|
|
116
116
|
used_socket = open_socket() # sets @closed = false if OK
|
117
117
|
# Open is complete
|
118
118
|
connect(used_socket)
|
119
|
-
|
120
|
-
@logger.on_connected(log_params)
|
121
|
-
end
|
119
|
+
slog(:on_connected, log_params)
|
122
120
|
@connection_attempts = 0
|
123
121
|
rescue
|
124
122
|
@failure = $!
|
@@ -132,20 +130,16 @@ module Stomp
|
|
132
130
|
# b) should never be retried
|
133
131
|
raise if @failure.is_a?(Stomp::Error::ProtocolError11p)
|
134
132
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
@logger.on_connectfail(log_params)
|
139
|
-
rescue Exception => aex
|
140
|
-
raise if aex.is_a?(Stomp::Error::LoggerConnectionError)
|
133
|
+
begin
|
134
|
+
unless slog(:on_connectfail,log_params)
|
135
|
+
$stderr.print "connect to #{@host} failed: #{$!} will retry(##{@connection_attempts}) in #{@reconnect_delay}\n"
|
141
136
|
end
|
142
|
-
|
143
|
-
|
137
|
+
rescue Exception => aex
|
138
|
+
raise if aex.is_a?(Stomp::Error::LoggerConnectionError)
|
144
139
|
end
|
145
|
-
raise Stomp::Error::MaxReconnectAttempts if max_reconnect_attempts?
|
146
140
|
|
141
|
+
raise Stomp::Error::MaxReconnectAttempts if max_reconnect_attempts?
|
147
142
|
sleep(@reconnect_delay)
|
148
|
-
|
149
143
|
@connection_attempts += 1
|
150
144
|
|
151
145
|
if @parameters
|
@@ -183,7 +177,8 @@ module Stomp
|
|
183
177
|
:max_hbrlck_fails => 0,
|
184
178
|
:fast_hbs_adjust => 0.0,
|
185
179
|
:connread_timeout => 0,
|
186
|
-
:tcp_nodelay => true
|
180
|
+
:tcp_nodelay => true,
|
181
|
+
:start_timeout => 10,
|
187
182
|
}
|
188
183
|
|
189
184
|
res_params = default_params.merge(params)
|
@@ -208,6 +203,18 @@ module Stomp
|
|
208
203
|
@passcode = current_host[:passcode] || ""
|
209
204
|
end
|
210
205
|
|
206
|
+
# Duplicate parameters hash
|
207
|
+
def _hdup(h)
|
208
|
+
ldup = {}
|
209
|
+
ldup.merge!(h)
|
210
|
+
ldup[:hosts] = []
|
211
|
+
hvals = h[:hosts].nil? ? h["hosts"] : h[:hosts]
|
212
|
+
hvals.each do |hv|
|
213
|
+
ldup[:hosts] << hv.dup
|
214
|
+
end
|
215
|
+
ldup
|
216
|
+
end
|
217
|
+
|
211
218
|
# max_reconnect_attempts? returns nil or the number of maximum reconnect
|
212
219
|
# attempts.
|
213
220
|
def max_reconnect_attempts?
|
@@ -237,9 +244,7 @@ module Stomp
|
|
237
244
|
@failure = $!
|
238
245
|
raise unless @reliable
|
239
246
|
errstr = "receive failed: #{$!}"
|
240
|
-
|
241
|
-
@logger.on_miscerr(log_params, "es_oldrecv: " + errstr)
|
242
|
-
else
|
247
|
+
unless slog(:on_miscerr, log_params, "es_oldrecv: " + errstr)
|
243
248
|
$stderr.print errstr
|
244
249
|
end
|
245
250
|
|
data/lib/stomp/client.rb
CHANGED
@@ -50,6 +50,8 @@ module Stomp
|
|
50
50
|
# :max_hbrlck_fails => 0,
|
51
51
|
# :fast_hbs_adjust => 0.0,
|
52
52
|
# :connread_timeout => 0,
|
53
|
+
# :tcp_nodelay => true,
|
54
|
+
# :start_timeout => 10,
|
53
55
|
# }
|
54
56
|
#
|
55
57
|
# e.g. c = Stomp::Client.new(hash)
|
@@ -84,10 +86,15 @@ module Stomp
|
|
84
86
|
@logger = @parameters[:logger] ||= Stomp::NullLogger.new
|
85
87
|
|
86
88
|
@start_timeout = @parameters[:start_timeout] || 10
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
89
|
+
begin
|
90
|
+
timeout(@start_timeout) {
|
91
|
+
create_error_handler
|
92
|
+
create_connection(autoflush)
|
93
|
+
start_listeners()
|
94
|
+
}
|
95
|
+
rescue TimeoutError
|
96
|
+
ex = Stomp::Error::StartTimeoutException.new(@start_timeout)
|
97
|
+
raise ex
|
91
98
|
end
|
92
99
|
end
|
93
100
|
|
@@ -190,14 +197,8 @@ module Stomp
|
|
190
197
|
if block_given?
|
191
198
|
headers['receipt'] = register_receipt_listener lambda {|r| yield r}
|
192
199
|
end
|
193
|
-
|
194
|
-
|
195
|
-
elsif protocol == Stomp::SPL_11
|
196
|
-
headers.merge!(:subscription => message.headers['subscription'])
|
197
|
-
@connection.ack(message.headers['message-id'], headers)
|
198
|
-
else
|
199
|
-
@connection.ack(message.headers['message-id'], headers)
|
200
|
-
end
|
200
|
+
context = ack_context_for(message, headers)
|
201
|
+
@connection.ack context[:message_id], context[:headers]
|
201
202
|
end
|
202
203
|
|
203
204
|
# For posterity, we alias:
|
@@ -205,7 +206,22 @@ module Stomp
|
|
205
206
|
|
206
207
|
# Stomp 1.1+ NACK.
|
207
208
|
def nack(message, headers = {})
|
208
|
-
|
209
|
+
context = ack_context_for(message, headers)
|
210
|
+
@connection.nack context[:message_id], context[:headers]
|
211
|
+
end
|
212
|
+
|
213
|
+
#
|
214
|
+
def ack_context_for(message, headers)
|
215
|
+
id = case protocol
|
216
|
+
when Stomp::SPL_12
|
217
|
+
'ack'
|
218
|
+
when Stomp::SPL_11
|
219
|
+
headers.merge!(:subscription => message.headers['subscription'])
|
220
|
+
'message-id'
|
221
|
+
else
|
222
|
+
'message-id'
|
223
|
+
end
|
224
|
+
{:message_id => message.headers[id], :headers => headers}
|
209
225
|
end
|
210
226
|
|
211
227
|
# Unreceive a message, sending it back to its queue or to the DLQ.
|
data/lib/stomp/connection.rb
CHANGED
@@ -75,6 +75,8 @@ module Stomp
|
|
75
75
|
# :max_hbrlck_fails => 0,
|
76
76
|
# :fast_hbs_adjust => 0.0,
|
77
77
|
# :connread_timeout => 0,
|
78
|
+
# :tcp_nodelay => true,
|
79
|
+
# :start_timeout => 10,
|
78
80
|
# }
|
79
81
|
#
|
80
82
|
# e.g. c = Stomp::Connection.new(hash)
|
@@ -123,6 +125,8 @@ module Stomp
|
|
123
125
|
@max_hbrlck_fails = 0 # 0 means never retry for HB read lock failures
|
124
126
|
@fast_hbs_adjust = 0.0 # Fast heartbeat senders sleep adjustment
|
125
127
|
@connread_timeout = 0 # Connect read CONNECTED/ERROR timeout
|
128
|
+
@tcp_nodelay = true # Disable Nagle
|
129
|
+
@start_timeout = 10 # Client only, startup timeout
|
126
130
|
warn "login looks like a URL, do you have the correct parameters?" if @login =~ /:\/\//
|
127
131
|
end
|
128
132
|
|
@@ -142,7 +146,8 @@ module Stomp
|
|
142
146
|
# hashed_initialize prepares a new connection with a Hash of initialization
|
143
147
|
# parameters.
|
144
148
|
def hashed_initialize(params)
|
145
|
-
|
149
|
+
lp = _hdup(params)
|
150
|
+
@parameters = refine_params(lp)
|
146
151
|
@reliable = @parameters[:reliable]
|
147
152
|
@reconnect_delay = @parameters[:initial_reconnect_delay]
|
148
153
|
@connect_headers = @parameters[:connect_headers]
|
@@ -158,6 +163,13 @@ module Stomp
|
|
158
163
|
@max_hbrlck_fails = @parameters[:max_hbrlck_fails]
|
159
164
|
@fast_hbs_adjust = @parameters[:fast_hbs_adjust]
|
160
165
|
@connread_timeout = @parameters[:connread_timeout]
|
166
|
+
#
|
167
|
+
# Try to support Ruby 1.9.x and 2.x ssl.
|
168
|
+
unless defined?(RSpec)
|
169
|
+
@parameters[:hosts].each do |ah|
|
170
|
+
ah[:ssl] = Stomp::SSLParams.new if ah[:ssl] == true
|
171
|
+
end
|
172
|
+
end
|
161
173
|
#sets the first host to connect
|
162
174
|
change_host
|
163
175
|
end
|
@@ -183,7 +195,7 @@ module Stomp
|
|
183
195
|
headers = headers.symbolize_keys
|
184
196
|
headers[:transaction] = name
|
185
197
|
_headerCheck(headers)
|
186
|
-
|
198
|
+
slog(:on_begin, log_params, headers)
|
187
199
|
transmit(Stomp::CMD_BEGIN, headers)
|
188
200
|
end
|
189
201
|
|
@@ -214,7 +226,7 @@ module Stomp
|
|
214
226
|
headers[:'message-id'] = message_id
|
215
227
|
end
|
216
228
|
_headerCheck(headers)
|
217
|
-
|
229
|
+
slog(:on_ack, log_params, headers)
|
218
230
|
transmit(Stomp::CMD_ACK, headers)
|
219
231
|
end
|
220
232
|
|
@@ -226,11 +238,11 @@ module Stomp
|
|
226
238
|
headers = headers.symbolize_keys
|
227
239
|
case @protocol
|
228
240
|
when Stomp::SPL_12
|
229
|
-
# The
|
241
|
+
# The NACK frame MUST include an id header matching the ack header
|
230
242
|
# of the MESSAGE being acknowledged.
|
231
243
|
headers[:id] = message_id
|
232
244
|
else # Stomp::SPL_11 only
|
233
|
-
#
|
245
|
+
# NACK has two REQUIRED headers: message-id, which MUST contain a value
|
234
246
|
# matching the message-id for the MESSAGE being acknowledged and
|
235
247
|
# subscription, which MUST be set to match the value of the subscription's
|
236
248
|
# id header.
|
@@ -238,7 +250,7 @@ module Stomp
|
|
238
250
|
raise Stomp::Error::SubscriptionRequiredError unless headers[:subscription]
|
239
251
|
end
|
240
252
|
_headerCheck(headers)
|
241
|
-
|
253
|
+
slog(:on_nack, log_params, headers)
|
242
254
|
transmit(Stomp::CMD_NACK, headers)
|
243
255
|
end
|
244
256
|
|
@@ -248,7 +260,7 @@ module Stomp
|
|
248
260
|
headers = headers.symbolize_keys
|
249
261
|
headers[:transaction] = name
|
250
262
|
_headerCheck(headers)
|
251
|
-
|
263
|
+
slog(:on_commit, log_params, headers)
|
252
264
|
transmit(Stomp::CMD_COMMIT, headers)
|
253
265
|
end
|
254
266
|
|
@@ -258,7 +270,7 @@ module Stomp
|
|
258
270
|
headers = headers.symbolize_keys
|
259
271
|
headers[:transaction] = name
|
260
272
|
_headerCheck(headers)
|
261
|
-
|
273
|
+
slog(:on_abort, log_params, headers)
|
262
274
|
transmit(Stomp::CMD_ABORT, headers)
|
263
275
|
end
|
264
276
|
|
@@ -273,7 +285,7 @@ module Stomp
|
|
273
285
|
headers[:id] = subId if headers[:id].nil?
|
274
286
|
end
|
275
287
|
_headerCheck(headers)
|
276
|
-
|
288
|
+
slog(:on_subscribe, log_params, headers)
|
277
289
|
|
278
290
|
# Store the subscription so that we can replay if we reconnect.
|
279
291
|
if @reliable
|
@@ -296,7 +308,7 @@ module Stomp
|
|
296
308
|
headers[:id] = subId unless headers[:id]
|
297
309
|
end
|
298
310
|
_headerCheck(headers)
|
299
|
-
|
311
|
+
slog(:on_unsubscribe, log_params, headers)
|
300
312
|
transmit(Stomp::CMD_UNSUBSCRIBE, headers)
|
301
313
|
if @reliable
|
302
314
|
subId = dest if subId.nil?
|
@@ -312,7 +324,7 @@ module Stomp
|
|
312
324
|
headers = headers.symbolize_keys
|
313
325
|
headers[:destination] = destination
|
314
326
|
_headerCheck(headers)
|
315
|
-
|
327
|
+
slog(:on_publish, log_params, message, headers)
|
316
328
|
transmit(Stomp::CMD_SEND, headers, message)
|
317
329
|
end
|
318
330
|
|
@@ -375,7 +387,7 @@ module Stomp
|
|
375
387
|
end
|
376
388
|
transmit(Stomp::CMD_DISCONNECT, headers)
|
377
389
|
@disconnect_receipt = receive if headers[:receipt]
|
378
|
-
|
390
|
+
slog(:on_disconnect, log_params)
|
379
391
|
close_socket
|
380
392
|
end
|
381
393
|
|
@@ -398,7 +410,7 @@ module Stomp
|
|
398
410
|
super_result = __old_receive()
|
399
411
|
if super_result.nil? && @reliable && !closed?
|
400
412
|
errstr = "connection.receive returning EOF as nil - resetting connection.\n"
|
401
|
-
|
413
|
+
slog(:on_miscerr, log_params, "es_recv: " + errstr)
|
402
414
|
$stderr.print errstr
|
403
415
|
|
404
416
|
# !!! This initiates a re-connect !!!
|
@@ -417,7 +429,7 @@ module Stomp
|
|
417
429
|
@closed = true
|
418
430
|
warn 'warning: broker sent EOF, and connection not reliable' unless defined?(Test)
|
419
431
|
end
|
420
|
-
|
432
|
+
slog(:on_receive, log_params, super_result)
|
421
433
|
return super_result
|
422
434
|
end
|
423
435
|
|
@@ -480,6 +492,13 @@ module Stomp
|
|
480
492
|
@hbrecv_count
|
481
493
|
end
|
482
494
|
|
495
|
+
# log call router
|
496
|
+
def slog(name, *parms)
|
497
|
+
return false unless @logger
|
498
|
+
@logger.send(name, *parms) if @logger.respond_to?(:"#{name}")
|
499
|
+
@logger.respond_to?(:"#{name}")
|
500
|
+
end
|
501
|
+
|
483
502
|
end # class
|
484
503
|
|
485
504
|
end # module
|
data/lib/stomp/constants.rb
CHANGED
@@ -90,25 +90,89 @@ module Stomp
|
|
90
90
|
|
91
91
|
# A fairly safe and generally supported ciphers list.
|
92
92
|
DEFAULT_CIPHERS = [
|
93
|
-
["
|
94
|
-
["
|
95
|
-
["
|
96
|
-
["
|
97
|
-
["
|
98
|
-
["
|
99
|
-
["
|
100
|
-
["
|
101
|
-
["
|
102
|
-
["
|
103
|
-
["
|
104
|
-
["
|
93
|
+
["AES128-GCM-SHA256","TLSv1/SSLv3",128,128],
|
94
|
+
["AES128-SHA256","TLSv1/SSLv3",128,128],
|
95
|
+
["AES128-SHA","TLSv1/SSLv3",128,128],
|
96
|
+
["AES256-GCM-SHA384","TLSv1/SSLv3",256,256],
|
97
|
+
["AES256-SHA256","TLSv1/SSLv3",256,256],
|
98
|
+
["AES256-SHA","TLSv1/SSLv3",256,256],
|
99
|
+
["CAMELLIA128-SHA","TLSv1/SSLv3",128,128],
|
100
|
+
["CAMELLIA256-SHA","TLSv1/SSLv3",256,256],
|
101
|
+
["DES-CBC3-SHA","TLSv1/SSLv3",168,168],
|
102
|
+
["DES-CBC-SHA","TLSv1/SSLv3",56,56],
|
103
|
+
["DHE-DSS-AES128-GCM-SHA256","TLSv1/SSLv3",128,128],
|
104
|
+
["DHE-DSS-AES128-SHA256","TLSv1/SSLv3",128,128],
|
105
|
+
["DHE-DSS-AES128-SHA","TLSv1/SSLv3",128,128],
|
106
|
+
["DHE-DSS-AES256-GCM-SHA384","TLSv1/SSLv3",256,256],
|
107
|
+
["DHE-DSS-AES256-SHA256","TLSv1/SSLv3",256,256],
|
108
|
+
["DHE-DSS-AES256-SHA","TLSv1/SSLv3",256,256],
|
109
|
+
["DHE-DSS-CAMELLIA128-SHA","TLSv1/SSLv3",128,128],
|
110
|
+
["DHE-DSS-CAMELLIA256-SHA","TLSv1/SSLv3",256,256],
|
111
|
+
["DHE-DSS-SEED-SHA","TLSv1/SSLv3",128,128],
|
112
|
+
["DHE-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128],
|
113
|
+
["DHE-RSA-AES128-SHA256","TLSv1/SSLv3",128,128],
|
114
|
+
["DHE-RSA-AES128-SHA","TLSv1/SSLv3",128,128],
|
115
|
+
["DHE-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256],
|
116
|
+
["DHE-RSA-AES256-SHA256","TLSv1/SSLv3",256,256],
|
117
|
+
["DHE-RSA-AES256-SHA","TLSv1/SSLv3",256,256],
|
118
|
+
["DHE-RSA-CAMELLIA128-SHA","TLSv1/SSLv3",128,128],
|
119
|
+
["DHE-RSA-CAMELLIA256-SHA","TLSv1/SSLv3",256,256],
|
120
|
+
["DHE-RSA-SEED-SHA","TLSv1/SSLv3",128,128],
|
121
|
+
["ECDH-ECDSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128],
|
122
|
+
["ECDH-ECDSA-AES128-SHA256","TLSv1/SSLv3",128,128],
|
123
|
+
["ECDH-ECDSA-AES128-SHA","TLSv1/SSLv3",128,128],
|
124
|
+
["ECDH-ECDSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256],
|
125
|
+
["ECDH-ECDSA-AES256-SHA384","TLSv1/SSLv3",256,256],
|
126
|
+
["ECDH-ECDSA-AES256-SHA","TLSv1/SSLv3",256,256],
|
127
|
+
["ECDH-ECDSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168],
|
128
|
+
["ECDH-ECDSA-RC4-SHA","TLSv1/SSLv3",128,128],
|
129
|
+
["ECDHE-ECDSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128],
|
130
|
+
["ECDHE-ECDSA-AES128-SHA256","TLSv1/SSLv3",128,128],
|
131
|
+
["ECDHE-ECDSA-AES128-SHA","TLSv1/SSLv3",128,128],
|
132
|
+
["ECDHE-ECDSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256],
|
133
|
+
["ECDHE-ECDSA-AES256-SHA384","TLSv1/SSLv3",256,256],
|
134
|
+
["ECDHE-ECDSA-AES256-SHA","TLSv1/SSLv3",256,256],
|
135
|
+
["ECDHE-ECDSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168],
|
136
|
+
["ECDHE-ECDSA-RC4-SHA","TLSv1/SSLv3",128,128],
|
137
|
+
["ECDHE-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128],
|
138
|
+
["ECDHE-RSA-AES128-SHA256","TLSv1/SSLv3",128,128],
|
139
|
+
["ECDHE-RSA-AES128-SHA","TLSv1/SSLv3",128,128],
|
140
|
+
["ECDHE-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256],
|
141
|
+
["ECDHE-RSA-AES256-SHA384","TLSv1/SSLv3",256,256],
|
142
|
+
["ECDHE-RSA-AES256-SHA","TLSv1/SSLv3",256,256],
|
143
|
+
["ECDHE-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168],
|
144
|
+
["ECDHE-RSA-RC4-SHA","TLSv1/SSLv3",128,128],
|
145
|
+
["ECDH-RSA-AES128-GCM-SHA256","TLSv1/SSLv3",128,128],
|
146
|
+
["ECDH-RSA-AES128-SHA256","TLSv1/SSLv3",128,128],
|
147
|
+
["ECDH-RSA-AES128-SHA","TLSv1/SSLv3",128,128],
|
148
|
+
["ECDH-RSA-AES256-GCM-SHA384","TLSv1/SSLv3",256,256],
|
149
|
+
["ECDH-RSA-AES256-SHA384","TLSv1/SSLv3",256,256],
|
150
|
+
["ECDH-RSA-AES256-SHA","TLSv1/SSLv3",256,256],
|
151
|
+
["ECDH-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168],
|
152
|
+
["ECDH-RSA-RC4-SHA","TLSv1/SSLv3",128,128],
|
153
|
+
["EDH-DSS-DES-CBC3-SHA","TLSv1/SSLv3",168,168],
|
105
154
|
["EDH-DSS-DES-CBC-SHA", "TLSv1/SSLv3", 56, 56],
|
106
|
-
["DES-CBC-SHA",
|
107
|
-
["
|
108
|
-
["
|
109
|
-
["EXP-DES-CBC-SHA",
|
110
|
-
["EXP-
|
155
|
+
["EDH-DSS-DES-CBC-SHA","TLSv1/SSLv3",56,56],
|
156
|
+
["EDH-RSA-DES-CBC3-SHA","TLSv1/SSLv3",168,168],
|
157
|
+
["EDH-RSA-DES-CBC-SHA","TLSv1/SSLv3",56,56],
|
158
|
+
["EXP-DES-CBC-SHA","TLSv1/SSLv3",40,56],
|
159
|
+
["EXP-EDH-DSS-DES-CBC-SHA","TLSv1/SSLv3",40,56],
|
160
|
+
["EXP-EDH-RSA-DES-CBC-SHA","TLSv1/SSLv3",40,56],
|
161
|
+
["EXP-RC2-CBC-MD5","TLSv1/SSLv3",40,128],
|
111
162
|
["EXP-RC4-MD5", "TLSv1/SSLv3", 40, 128],
|
163
|
+
["PSK-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168],
|
164
|
+
["PSK-AES128-CBC-SHA","TLSv1/SSLv3",128,128],
|
165
|
+
["PSK-AES256-CBC-SHA","TLSv1/SSLv3",256,256],
|
166
|
+
["PSK-RC4-SHA","TLSv1/SSLv3",128,128],
|
167
|
+
["RC4-MD5","TLSv1/SSLv3",128,128],
|
168
|
+
["RC4-SHA","TLSv1/SSLv3",128,128],
|
169
|
+
["SEED-SHA","TLSv1/SSLv3",128,128],
|
170
|
+
["SRP-DSS-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168],
|
171
|
+
["SRP-DSS-AES-128-CBC-SHA","TLSv1/SSLv3",128,128],
|
172
|
+
["SRP-DSS-AES-256-CBC-SHA","TLSv1/SSLv3",256,256],
|
173
|
+
["SRP-RSA-3DES-EDE-CBC-SHA","TLSv1/SSLv3",168,168],
|
174
|
+
["SRP-RSA-AES-128-CBC-SHA","TLSv1/SSLv3",128,128],
|
175
|
+
["SRP-RSA-AES-256-CBC-SHA","TLSv1/SSLv3",256,256],
|
112
176
|
]
|
113
177
|
|
114
178
|
# stomp URL regex pattern, for e.g. login:passcode@host:port or host:port
|