Commit Graph

236 Commits

Author SHA1 Message Date
Christopher L. Shannon (cshannon) 808a4c5c17 AMQ-6661 - Fix Auto MQTT protocol detection
Protocol detection now takes into account the variable length header in
the CONNECT packet.
2017-04-25 08:47:08 -04:00
gtully 679db08db3 [AMQ-6643] ensure a wildcard virtual topic subscriber is restricted to the wildcard destination - avoid duplicate and spurious dispatch. fix and test 2017-04-04 10:16:48 +01:00
Hadrian Zbarcea be24a133ef This closes #88 (merged as a65ac586). More file permissions fixes. 2016-11-03 14:26:34 -04:00
Hadrian Zbarcea d5a929c0d2 This closes #205. Won't fix. (fix even more file permissions) 2016-11-03 14:11:40 -04:00
Christopher L. Shannon (cshannon) 98c5866c75 https://issues.apache.org/jira/browse/AMQ-6418
Properly setting the transport properties on the
AutoNIOSSLTransportServer and fixing the Stomp protocol to set the peer
certs when using auto+ssl
2016-09-06 10:17:05 -04:00
Christopher L. Shannon (cshannon) ed0e786b60 https://issues.apache.org/jira/browse/AMQ-6414
Changing the nio+ssl transports to trigger a serviceRead after start up
to prevent blocking. The prevents the channels from not reading in
certain cases, most notably with the auto+nio+ssl transport when used
for a network bridge.  Also added a couple tests and changed a network
bridge test to test out auto+nio+ssl.
2016-09-01 11:39:46 -04:00
Christopher L. Shannon (cshannon) 06a21dbbb3 [maven-release-plugin] prepare for next development iteration 2016-08-02 09:03:37 -04:00
Christopher L. Shannon (cshannon) 71cbc65283 [maven-release-plugin] prepare release activemq-5.14.0 2016-08-02 09:02:54 -04:00
Christopher L. Shannon (cshannon) 667ea7c640 https://issues.apache.org/jira/browse/AMQ-6345
disabling failed assertion for test as it is expected based on how this
test is usin the client
2016-07-07 18:23:50 +00:00
Christopher L. Shannon (cshannon) b5b087d558 https://issues.apache.org/jira/browse/AMQ-6345
Moving PINGREQ tests into its own test class so they aren't run more
than once
2016-07-07 13:53:58 +00:00
Christopher L. Shannon (cshannon) 6dacef1c95 https://issues.apache.org/jira/browse/AMQ-6345
The MQTT transport will now throw an exception if a PINGREQ is sent to
the broker if a CONNECT packet has not been received first as the spec
says CONNECT must be the first packet sent.
2016-07-06 15:59:25 +00:00
Christopher L. Shannon (cshannon) bd442a3388 https://issues.apache.org/jira/browse/AMQ-6343
On MQTT Websocket close, a LWT message will be properly sent if
configured and a disconnect packet was not received
2016-07-05 18:13:45 +00:00
Timothy Bish d9c4048292 Clean up and adjust test timeouts for CI 2016-05-16 11:24:50 -04:00
Timothy Bish ab434ee776 Refactor test which has some flawed assumptions about the incoming
messages based on subscriptions that it makes.  Adds better thread
safety as well.
2016-05-13 18:30:44 -04:00
Timothy Bish 91d277ccb0 Make the result value in the listener volatile since it is read from and
written to in multiple threads without sync.
2016-05-09 16:11:06 -04:00
Timothy Bish 27799fec97 https://issues.apache.org/jira/browse/AMQ-5880
Update to latest MQTT client release to resolve this issue.
2016-05-02 16:21:34 -04:00
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
Timothy Bish 4ecff14030 NO-JIRA Update master version to 5.14.0-SNAPSHOT to match the eventual
release version.
2016-01-20 12:40:20 -05:00
Christopher L. Shannon (cshannon) cfb4ca9f54 [maven-release-plugin] prepare for next development iteration 2015-11-30 13:48:58 +00:00
Christopher L. Shannon (cshannon) abfe038ddf [maven-release-plugin] prepare release activemq-5.13.0 2015-11-30 13:48:11 +00: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
Timothy Bish 6cdd750ddc [maven-release-plugin] prepare for next development iteration 2015-08-10 11:04:26 -04:00
Timothy Bish a9eeb03520 [maven-release-plugin] prepare release activemq-5.12.0 2015-08-10 11:04:17 -04: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 a05a9a2129 https://issues.apache.org/jira/browse/AMQ-5552 - added profile for activemq.tests=smoke to run a fast subset of tests that gives a fast verification of a full build 2015-07-09 14:10:38 +01: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 45eecf3351 upgrade java paho mqtt client 2015-04-21 15:04:04 +02: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
gtully ae595c95b1 [maven-release-plugin] prepare for next development iteration 2015-01-30 12:46:19 +00:00
gtully 4ba1a1689f [maven-release-plugin] prepare release activemq-5.11.0 2015-01-30 12:46:08 +00:00
gtully bf5a2997c7 [maven-release-plugin] prepare for next development iteration 2015-01-26 16:48:46 +00:00
gtully eec2955bde [maven-release-plugin] prepare release activemq-5.11.0 2015-01-26 16:48:37 +00:00
gtully 64fa706d54 Revert "[maven-release-plugin] prepare release activemq-5.11.0"
This reverts commit f47fbe4b89.
2015-01-26 16:39:35 +00:00
gtully f47fbe4b89 [maven-release-plugin] prepare release activemq-5.11.0 2015-01-26 16:17:43 +00: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
Hadrian Zbarcea aedcae139b Revert "[maven-release-plugin] prepare release activemq-5.11.0"
This reverts commit 48b0cf396c.
2015-01-05 12:25:58 -05:00
Hadrian Zbarcea 89995f4723 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 7b285c6f52.
2015-01-05 12:25:47 -05:00
Dejan Bosanac 7b285c6f52 [maven-release-plugin] prepare for next development iteration 2014-12-29 12:44:32 +01:00
Dejan Bosanac 48b0cf396c [maven-release-plugin] prepare release activemq-5.11.0 2014-12-29 12:44:20 +01:00
Hadrian Zbarcea 08b1bedc6d [AMQ-5455] Use a working repository for the paho dependency 2014-11-24 19:31:32 -05:00
Ciprian Ciubotariu b9cbd93a68 Fix mqtt-client artifact missing from eclipse repository
Add alternate repository

Signed-off-by: Hadrian Zbarcea <hadrian@apache.org>
2014-11-24 17:40:53 -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
Daniel Kulp d510b8b334 Remove some unneeded repos, move one to just the module that needs it, add a defaultGoal 2014-08-19 12:15:46 -04: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
Timothy Bish 052d293143 https://issues.apache.org/jira/browse/AMQ-5308
Improve performance of the codec for large message processing.
2014-08-05 12:43:36 -04:00
Dejan Bosanac c99e2d8372 https://issues.apache.org/jira/browse/AMQ-4719 - allowLinkStealing was not set/used properly by default on mqtt connector 2014-08-05 16:23:45 +02:00
Timothy Bish 7c04ead460 https://issues.apache.org/jira/browse/AMQ-5307
Fixed the MQTTCodec to properly handle frames that come in split up or
bunched together.
2014-08-04 18:58:03 -04:00
Timothy Bish d8f9686d2a https://issues.apache.org/jira/browse/AMQ-5290
Clean up some code to make future work a bit simpler.
2014-07-31 17:49:59 -04:00
Timothy Bish 5de0c8e2fb https://issues.apache.org/jira/browse/AMQ-5298
Fix the NPE case
2014-07-31 17:23:35 -04:00
Timothy Bish efa55278ec https://issues.apache.org/jira/browse/AMQ-5299
Fix duplicate call to unsubscribe.
2014-07-30 20:03:48 -04:00
Timothy Bish 2cd54248c6 https://issues.apache.org/jira/browse/AMQ-5290
Reduce memory overhead of the MQTT Protocol converter by not storing the
UTF8Buffer instances and instead simply store the needed String values.
We always access the String value anyway so all of the UTF8Buffer object
we store carry the overhead of both marshalled UTF-8 bytes and an
unmarshalled String object.
2014-07-30 12:00:38 -04:00
Timothy Bish 829a186f2a Revert to using non-parameterized tests, makes it simpler to debug. 2014-07-29 20:16:00 -04:00
Timothy Bish f55edcfa25 https://issues.apache.org/jira/browse/AMQ-5187
Allow virtual destination to recover retained messages.
2014-07-29 17:20:25 -04:00
Timothy Bish b11fc8faf4 Updated link stealing test to account for isConnected state not being
immediately updated which can lead to failure on a very fast machine.
2014-07-29 15:08:52 -04:00
Dhiraj Bokde bba026a42e Removed redundant broker stop/start in unit test 2014-07-28 14:24:38 -07:00
Dhiraj Bokde e8c5a9fdb4 https://issues.apache.org/jira/browse/AMQ-4719 added enableLinkStealing=true for MQTTSslTransportFactory, test for duplicate client ids for MQTT 2014-07-28 14:15:02 -07:00
Timothy Bish 8d04e2be8e Remove unneeded broker stop / start at test begin. 2014-07-28 15:57:08 -04:00
Dhiraj Bokde 73908d6498 https://issues.apache.org/jira/browse/AMQ-5292 Added support for publishDollarTopics transport option for MQTT to support Topics with '$' prefix 2014-07-28 12:38:43 -07:00