stomp 1.3.1 → 1.3.2
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/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
|