Commit Graph

131 Commits

Author SHA1 Message Date
Dejan Bosanac 6d20cba0e4 https://issues.apache.org/jira/browse/AMQ-6253 - mqtt composite destinations support for virtual topic subscriptions 2016-04-15 11:00:39 +02:00
Timothy Bish f3544f248f https://issues.apache.org/jira/browse/AMQ-5886
Ensure we reject protocol version that we don't currently support.
2016-03-03 12:41:59 -05:00
Timothy Bish 5d6d42ce97 https://issues.apache.org/jira/browse/AMQ-5883
https://issues.apache.org/jira/browse/AMQ-5884
https://issues.apache.org/jira/browse/AMQ-5885

Add additional validation of Topic names used in subscribe and
unsubscriobe that test for spec compliance.
2016-03-02 12:30:54 -05:00
Timothy Bish 8ef44452a2 https://issues.apache.org/jira/browse/AMQ-5880
Adds a test for the issue that is ignored for now while we wait for a
fixed MQTT client release.
2016-03-01 16:18:16 -05:00
Christopher L. Shannon (cshannon) 19c9404916 https://issues.apache.org/jira/browse/AMQ-5882
removing illegal wildcard characters used in topics for some MQTT tests
2016-02-29 13:29:44 +00:00
Christopher L. Shannon (cshannon) 1b38b27ed2 https://issues.apache.org/jira/browse/AMQ-5882
Fail to publish if the topic name in the publish packet contains a wild
card character as per the MQTT V3.1 and V3.1.1 spec.
2016-02-28 17:54:23 +00:00
Timothy Bish 6e2edf08c3 https://issues.apache.org/jira/browse/AMQ-6187
Create a proper SSLContext for the MQTT client provider in the tests to
avoid failure on newer JDKs
2016-02-26 13:42:16 -05:00
Timothy Bish c530b69e16 https://issues.apache.org/jira/browse/AMQ-5881
Fail the connect if the password is set but the username bit is not as
per the V3.1.1 spec requirements.
2016-02-25 19:08:22 -05:00
Dejan Bosanac 9bc28214d5 https://issues.apache.org/jira/browse/AMQ-6060 - retain will message 2015-11-24 14:13:32 +01:00
Dejan Bosanac f8bfff0bc8 https://issues.apache.org/jira/browse/AMQ-6029 - wss transport with certificate authentication 2015-10-30 11:42:36 +01:00
Dejan Bosanac f09b9203a0 https://issues.apache.org/jira/browse/AMQ-6021 - mqtt+nio+ssl certificate authentication 2015-10-23 15:25:33 +02:00
Dejan Bosanac 816e8dfe54 https://issues.apache.org/jira/browse/AMQ-6002 - escape client id in virtual topic mqtt subscription; add test 2015-10-07 11:42:03 +02:00
Dejan Bosanac aa743cbd7a https://issues.apache.org/jira/browse/AMQ-6002 - escape client id in virtual topic mqtt subscription 2015-10-07 11:28:41 +02:00
Dejan Bosanac b83c38b04c https://issues.apache.org/jira/browse/AMQ-5997 - support legacy clients 2015-10-05 12:55:48 +02:00
Dejan Bosanac 4a8fec4a66 https://issues.apache.org/jira/browse/AMQ-5983 - mqtt virtual topic queue restore 2015-09-28 13:10:31 +02:00
Christopher L. Shannon (cshannon) 04ee70a161 https://issues.apache.org/jira/browse/AMQ-5889
Adding support for auto detection of wire protocols over a transport.
OpenWire, AMQP, STOMP, and MQTT can all be detected and the broker
will properly handle each one over a given Transport.  Currently
auto TCP, NIO, SSL, and NIO+SSL transports can handle auto-detection
of the wire format and client but support could be added in the
future for other transports like websockets.
2015-08-11 19:39:29 +00:00
Christopher L. Shannon (cshannon) 457dbd8b64 https://issues.apache.org/jira/browse/AMQ-5919
Converting printStackTrace statements to slf4j so that exceptions
are logged properly
2015-08-05 16:29:29 +00:00
gtully e1c707e813 https://issues.apache.org/jira/browse/AMQ-5856 - fix typo that lead to recursive call - test regression in MQTTConnectTest 2015-07-08 12:18:05 +01:00
Timothy Bish 455f1ca475 https://issues.apache.org/jira/browse/AMQ-5872
The code that adds subscriptions for retroactive subscribers did not
account for the case where the last ack position in the ackLocations
table is used as a placeholder for the next incoming message and there
may not be an element in the messageReference tracker for that index
especially after restart when the index is reloaded.  The code needed to
check this when it iterates of the existing message references to add a
value so to avoid the NPE.  

Also cleaned up the MQTT tests such that they place their data dir in
./target so that old stores get removed on 'mvn clean'
2015-07-02 17:04:35 -04:00
Timothy Bish 27edaffded https://issues.apache.org/jira/browse/AMQ-5856
Clean up the MQTT over WebSocket code to allow for handling link
stealing and inactivity monitor.  Ensures that the web socket instances
get cleaned up on errors and avoids leaks that might otherwise arise.
Adds new tests for MQTT over WebSocket.

Adds some missing license headers as well.
2015-06-29 18:35:08 -04:00
Timothy Bish 789eb9abf9 https://issues.apache.org/jira/browse/AMQ-5834
Ensure that a publish receives an ACK even when the user is not
authorized to write to the target destination
2015-06-10 14:59:02 -04:00
Timothy Bish af999fe2b2 https://issues.apache.org/jira/browse/AMQ-5303
Resolves issues with the virtual topic subscription strategy especially
when subscribing durably to the Topic portion of a virtual destination.
2015-06-05 18:05:03 -04:00
Timothy Bish 47e954d0f6 https://issues.apache.org/jira/browse/AMQ-5303
Fix for subscription recovery of durable topic subscriptions using
default subscription strategy and subscribing to a VirtualTopic
instance.
2015-06-04 15:14:52 -04:00
Timothy Bish f37b005acf https://issues.apache.org/jira/browse/AMQ-5776
Add better support for maxFrameSize configuration that fits with the
defaults configuration for the broker by allowing the maxFrameSize to be
configured via ?wireFormat.maxFrameSize on STOMP, AMQP, and MQTT.
Previously we only supported transport.wireFormat.maxFrameSize.
2015-06-02 15:25:11 -04:00
Timothy Bish 3125caee5b https://issues.apache.org/jira/browse/AMQ-5794
implement transport.connectAttemptTimeout option across the transports
fro OpenWire, STOMP, AMQP and MQTT and add tests to cover.
2015-05-26 12:29:23 -04:00
Timothy Bish 3454a8b596 https://issues.apache.org/jira/browse/AMQ-5781
add maxFrameSize to the transport and enforce across the TCP, SSL, NIO
and NIO+SSL transport connectors.
2015-05-18 17:50:55 -04:00
Timothy Bish fd2805fe1c https://issues.apache.org/jira/browse/AMQ-5441
Don't dip into the store to recover durable topic subscriptions or queue
subscriptions depending on the subscription strategy in use.  The needed
information is always kept in either TopicRegion or QueueRegion even
after restart as all stored destinations are reloaded as the broker is
started.
2015-05-15 16:01:54 -04:00
gtully f5283a9045 https://issues.apache.org/jira/browse/AMQ-5734 - fix intermittent failure - seems the retained empty message gets dispatched so we need to consume it or it may have been dispatched to the client, causing a later failure 2015-04-28 16:18:22 +01:00
Timothy Bish 9ef4259297 https://issues.apache.org/jira/browse/AMQ-5616
Use ConcurrentMap in declarations
2015-04-28 11:15:08 -04:00
Dejan Bosanac a4fbe70872 https://issues.apache.org/jira/browse/AMQ-5734
Support MQTT 3.1 silent subscription fail
2015-04-20 18:17:09 +02:00
Timothy Bish 1c72579d7a https://issues.apache.org/jira/browse/AMQ-5598
Parallel connection test, could not reproduce issue.
2015-03-06 16:27:04 -05:00
Dejan Bosanac 4f57744934 https://issues.apache.org/jira/browse/AMQ-5594 - mqtt and virtual topic subs; more refined removing of destinations, as we don't want to remove all descendant destination in a wildcard case 2015-03-02 14:40:07 +01:00
Timothy Bish 101b7123fa https://issues.apache.org/jira/browse/AMQ-5607
Some cleanups of the tests to speed things up.
2015-02-20 19:24:46 -05:00
Dejan Bosanac 05c3112402 https://issues.apache.org/jira/browse/AMQ-5594 - virtual topics and wildcards 2015-02-18 18:29:20 +01:00
Dejan Bosanac d5470254af https://issues.apache.org/jira/browse/AMQ-5530 - default mqtt subscription prefetch 2015-01-26 12:53:56 +01:00
Dejan Bosanac 7948d69056 https://issues.apache.org/jira/browse/AMQ-5511 - retained message for zero-byte clientId client 2015-01-09 12:58:53 +01:00
Timothy Bish 7ebc6ceef8 https://issues.apache.org/jira/browse/AMQ-5481
Add some additional logs to MQTT at the trace level.
2015-01-06 10:32:56 -05:00
Timothy Bish 4b7131ff85 https://issues.apache.org/jira/browse/AMQ-5468
Add a connect check in the inactivity monitor to account for opened
connections that might drop but not be spotted, in the case where the
connect frame is lost this can lead to connections that aren't fully
opened and won't be cleaned up until the broker detects the socket has
failed.  

By default the connection timer is set to 30 seconds, if no connect
frame is read by then the connection is dropped.  The broker can be
configured via the 'transport.connectAttemptTimeout' URI option, a value
<= zero disable the check.
2015-01-05 18:53:34 -05:00
Timothy Bish 74d2c2425f https://issues.apache.org/jira/browse/AMQ-5390
Adds a test case to show that things work as expected.
2014-10-21 17:59:32 -04:00
Timothy Bish d9d9d5b666 https://issues.apache.org/jira/browse/AMQ-5389
https://issues.apache.org/jira/browse/AMQ-5387

Fixes some issues around processing of back to back frames and reading
of null blocks between messages.
2014-10-21 17:14:47 -04:00
Timothy Bish 6885ff0a62 https://issues.apache.org/jira/browse/AMQ-5365
Trap VirtualTopic names that leak from messages sent across a broker
network.
2014-10-20 15:05:08 -04:00
Dejan Bosanac 28b45341d1 https://issues.apache.org/jira/browse/AMQ-5399 - mqtt - out of order acks 2014-10-17 14:40:33 +02:00
Timothy Bish 62c20ebdcf Apply fix and add test for:
https://issues.apache.org/jira/browse/AMQ-5385
2014-10-09 12:40:13 -04:00
Dejan Bosanac fc3d90e8b7 https://issues.apache.org/jira/browse/AMQ-5377 - mqtt wildcard conversion 2014-10-01 12:18:32 +02:00
Timothy Bish eaed01992e fix the test builds. 2014-08-13 09:37:18 -04:00
Timothy Bish 59f8cfc604 https://issues.apache.org/jira/browse/AMQ-5290
Minor cleanup, change transport option from subscriptionStrategyName to
just subscriptionStrategy.
2014-08-12 14:59:51 -04:00
Timothy Bish ec049a0882 https://issues.apache.org/jira/browse/AMQ-5290
Some more refactorings to allow the strategies to have more control of
the subsciption model in use.
2014-08-11 14:03:35 -04:00
Timothy Bish 145b64ac2a Fix test name so it gets included in the surefire test runs. 2014-08-08 17:41:50 -04:00
Christian Posta c42b874972 Test for https://issues.apache.org/jira/browse/AMQ-5290 2014-08-06 15:53:39 -07:00
Timothy Bish 413e4840d6 https://issues.apache.org/jira/browse/AMQ-5290
Adds a subscription strategy model where the default is the normal
durable topic subscription based approach or a strategy that maps all
subscriptions and publish operations to a Virtual Topic model.  A
network of brokers can network the Queues instead of having the durable
topics subscriptions repaeted on each Broker.
2014-08-06 17:41:19 -04:00