Commit Graph

1421 Commits

Author SHA1 Message Date
Daniil Fedotov 0cae4fc7fe Set session_present flag 2016-04-22 12:28:08 +01:00
Daniil Fedotov 2d2b8f96d8 Tests message redelivery when resuming session 2016-04-22 12:25:30 +01:00
Michael Klishin 54ad6b4260 Merge branch 'master' into rabbitmq-server-550 2016-03-23 20:01:39 +03:00
Michael Klishin f72cca58a1 Merge branch 'stable' 2016-03-23 17:20:56 +03:00
Michael Klishin 7e50e27c32 Update rabbitmq-components.mk 2016-03-23 17:13:41 +03:00
Michael Klishin bc28f75d1e Trailing ws 2016-03-23 12:26:50 +00:00
Daniil Fedotov bc81db7199 schema testing fixes 2016-03-23 12:26:50 +00:00
Daniil Fedotov a1467d8aca Missing listener options 2016-03-23 12:26:50 +00:00
Daniil Fedotov 677a66b990 none option for tcp_listen_options config 2016-03-23 12:26:50 +00:00
Daniil Fedotov 2f47e113f4 cuttlefish schema 2016-03-23 12:26:50 +00:00
Michael Klishin 66bc029d05 Merge branch 'stable' 2016-03-09 23:33:19 +03:00
Michael Klishin 328e2043e1 Emit stats unconditionally
...of connection (flow control) state.

This makes it much easier to reason about flow control
state when looking at the management UI or monitoring tools
that poll HTTP API.
Now that rabbitmq/rabbitmq-management#41 is merged, there are
few arguments against always emitting stats.

Fixes #71.
2016-03-08 16:03:53 +03:00
Michael Klishin a72c9e14d2 Merge branch 'stable' 2016-03-05 11:27:29 +03:00
Michael Klishin 44389f778b In fact, even more 2016-03-05 11:21:00 +03:00
Michael Klishin 72bfeef88b Wait a bit more 2016-03-05 11:20:54 +03:00
Michael Klishin 9b7c29841b Cosmetics 2016-03-05 11:09:38 +03:00
Michael Klishin 706d82dafb Explain 2016-03-05 11:09:26 +03:00
Michael Klishin 4c5aecf0f0 skip_publishes => expect_publishes 2016-03-05 11:04:56 +03:00
Michael Klishin 1078f5787f Trailing ws 2016-03-05 11:01:20 +03:00
Michael Klishin fd4d1a9b1d Trailing ws 2016-03-05 10:59:35 +03:00
Michael Klishin c09578b19d Ignore temp JUnit runner files 2016-03-05 10:58:53 +03:00
Michael Klishin ff28d87d9a Compile 2016-03-05 10:57:29 +03:00
Michael Klishin f6d613871a defered => deferred 2016-03-05 10:56:53 +03:00
Daniil Fedotov 98cf125e39 Defer last receive after blocking 2016-03-04 20:33:01 +00:00
Michael Klishin 25538025df Merge branch 'stable' 2016-03-04 14:45:33 +03:00
Michael Klishin b12d16ef71 Use 0 for frame_max
Atoms break HTTP API clients in statically typed languages, e.g. Go
and Java
2016-03-04 13:58:59 +03:00
Michael Klishin 30ca7ce8c1 Set product to "MQTT client"
Not much more specific but a bit more suitable.
2016-03-04 13:35:53 +03:00
Michael Klishin 15d23e4474 Cosmetics 2016-03-04 13:34:53 +03:00
Loïc Hoguin 439d8521aa Emit stats for management UI 2016-03-03 14:59:53 +01:00
Loïc Hoguin 738f263798 MQTT connections use exactly one channel 2016-03-03 14:59:53 +01:00
Loïc Hoguin 7b42c20b7e Allow passing the adapter info on processor init 2016-03-03 14:59:53 +01:00
Michael Klishin c619f638ee Merge branch 'stable' 2016-03-03 14:38:16 +03:00
Daniil Fedotov 6b5de44f9c Tests for mqtt blocking 2016-03-02 16:57:48 +00:00
Daniil Fedotov 024586071c conserve_resources arguments 2016-03-02 15:07:20 +00:00
Daniil Fedotov d1685b08fd More tests to check QoS2 is not ignored 2016-01-27 12:05:08 +00:00
Daniil Fedotov 64f5911ec2 Downgrade publishes if QoS = 2 to QoS = 1 2016-01-12 18:02:37 +00:00
Loïc Hoguin 59d4eddeef Make number of Ranch acceptors configurable 2016-01-12 11:31:48 +01:00
Michael Klishin a01ee29b6c Wording 2016-01-09 17:13:41 +03:00
Daniil Fedotov be1555b469 rename flag to received_connect_frame 2016-01-09 17:13:41 +03:00
Daniil Fedotov 17e4c707c6 Log MQTT connection. 2016-01-09 17:13:41 +03:00
Daniil Fedotov 954016c69f Log MQTT connection start and close with debug if no data received 2016-01-09 17:13:41 +03:00
Michael Klishin d17a2f3028 Cosmetics 2016-01-09 17:13:41 +03:00
Loïc Hoguin e151b6e072 Make send method configurable and export useful functions
Needed for the new Web-MQTT plugin.
2016-01-09 17:13:41 +03:00
Michael Klishin 7f0f7a7e36 Cosmetics 2016-01-08 02:26:38 +03:00
Loïc Hoguin 1f1cb7ab9b Make send method configurable and export useful functions
Needed for the new Web-MQTT plugin.
2016-01-08 02:26:32 +03:00
Michael Klishin 9ba1da7434 Update (c) info 2016-01-01 12:59:18 +03:00
Pierre Fenoll 62d865b739 .gitignore: make absolute paths relative 2015-12-30 07:09:01 +03:00
Jean-Sébastien Pédron 41b2cc1c5a Update erlang.mk 2015-12-18 20:34:14 +01:00
Jean-Sébastien Pédron 97e551919e Sync with upstream build.config 2015-12-18 20:33:03 +01:00
Jean-Sébastien Pédron f89122a48e Update rabbitmq-components.mk 2015-12-18 19:08:09 +01:00
Michael Klishin 33df46a590 Update rabbitmq-components.mk 2015-12-18 19:49:03 +03:00
Michael Klishin 51e887e52e Update test expectation 2015-12-18 16:32:26 +03:00
Michael Klishin 5992c36a92 Change default non-clean subscription TTL to 24 hours, fixes #49 2015-12-18 16:14:48 +03:00
Michael Klishin d89e68c2d5 Explain 2015-12-18 15:24:16 +03:00
Michael Klishin 70d9bbe563 Switch to rabbit_data_coercion:to_binary/1 [from rabbit_common] 2015-12-10 15:01:47 +03:00
Michael Klishin 648d0f09ba Rename supervisor child: rabbit_keepalive_sup => rabbit_mqtt_keepalive_sup
Fixes #48.
2015-12-10 14:34:14 +03:00
Michael Klishin 988d94a2c1 Add a couple of TODOs 2015-12-10 14:01:08 +03:00
Jean-Sébastien Pédron 512d980447 Update rabbitmq-components.mk 2015-12-03 15:38:49 +01:00
Jean-Sébastien Pédron 42b98673ac Update rabbitmq-components.mk 2015-12-01 18:36:22 +01:00
Jean-Sébastien Pédron 4eda6eecd8 Update rabbitmq-components.mk 2015-12-01 16:17:19 +01:00
Jean-Sébastien Pédron 6017ad84a3 Update rabbitmq-components.mk 2015-11-30 09:19:27 +01:00
Michael Klishin 624a7741cf Merge branch 'colons-in-username' of https://github.com/lshift/rabbitmq-mqtt into lshift-colons-in-username 2015-11-28 20:42:22 +03:00
Michael Klishin b84260c721 Fix the build and a bug
Make sure that authentication with username taken from TLS/x509
certificate succeeds; respect rabbitmq_mqtt.ssl_cert_login.

Due to a match clause ordering issue it wasn't the case.
2015-11-28 20:20:32 +03:00
Loïc Hoguin 597eecdaf8 Remove unneeded TCP options from config in .app.src files 2015-11-26 14:01:42 +01:00
Jean-Sébastien Pédron 83fd0641fa Update rabbitmq-components.mk 2015-11-26 08:54:11 +01:00
Jean-Sébastien Pédron b4b8955170 Update rabbitmq-components.mk 2015-11-26 08:41:23 +01:00
Jean-Sébastien Pédron 3fd2dd3b13 Update erlang.mk 2015-11-25 10:36:10 +01:00
Jean-Sébastien Pédron 1eb9c9e383 Update rabbitmq-components.mk 2015-11-25 10:35:23 +01:00
Loïc Hoguin 01b2f25acb Use rabbit_net:accept_ack instead of ranch:accept_ack
This function includes operations that must be performed by
processes owning sockets.
2015-11-24 20:17:50 +01:00
Jean-Sébastien Pédron 4c08593f24 Update rabbitmq-components.mk 2015-11-20 10:52:05 +01:00
Michael Klishin a9db0067c4 Merge branch 'master' into rabbitmq-server-260 2015-11-19 16:42:48 +03:00
Jean-Sébastien Pédron f7fb3bff2f Update erlang.mk 2015-11-19 14:31:58 +01:00
ash 001f4a1a01 add option to ignore colons in usernames 2015-11-19 11:36:24 +00:00
Michael Klishin 803c06b6a0 Merge branch 'master' into rabbitmq-server-260 2015-11-19 14:11:30 +03:00
Jean-Sébastien Pédron 33edb766a3 Update erlang.mk 2015-11-18 19:14:41 +01:00
Jean-Sébastien Pédron 64e9bf880c Update erlang.mk 2015-11-18 17:41:29 +01:00
Loïc Hoguin 1f3eadb6e7 Switch to Ranch for connection handling 2015-11-17 15:22:27 +01:00
Jean-Sébastien Pédron 6efcae4fad Update erlang.mk 2015-11-10 13:12:26 +01:00
Jean-Sébastien Pédron 23866a9ec0 Update rabbitmq-components.mk 2015-11-10 13:11:17 +01:00
Jean-Sébastien Pédron f4e7a8fa8a Update rabbitmq-components.mk 2015-11-05 20:59:07 +00:00
Jean-Sébastien Pédron d0c092e1e8 Add Travis CI configuration 2015-11-05 17:55:15 +01:00
Jean-Sébastien Pédron 3441383d18 make tests: Pass certificates path down to test/Makefile
This allows ant to detect the certificates and enable the SSL tests.
2015-11-05 17:50:58 +01:00
Jean-Sébastien Pédron 50c1eadfb2 Update rabbitmq-components.mk 2015-11-03 15:12:30 +01:00
Jean-Sébastien Pédron 703a80a98a Update rabbitmq-components.mk 2015-11-02 10:20:50 +01:00
Jean-Sébastien Pédron f6e67fc61f Update rabbitmq-components.mk 2015-10-30 17:32:56 +01:00
Jean-Sébastien Pédron ffcedeff82 Update erlang.mk 2015-10-28 11:16:08 +01:00
Jean-Sébastien Pédron 9836da4660 Update rabbitmq-components.mk 2015-10-28 11:10:37 +01:00
Jean-Sébastien Pédron f20b4b087a DEPS: Remove rabbit 2015-10-26 18:12:01 +01:00
Jean-Sébastien Pédron 33b542602b Remove stale package.mk 2015-10-26 17:23:33 +01:00
Jean-Sébastien Pédron 7de5cae62e Update erlang.mk 2015-10-26 15:33:34 +01:00
Jean-Sébastien Pédron c8b937f538 Update rabbitmq-components.mk 2015-10-26 11:15:31 +01:00
Jean-Sébastien Pédron 7a1f782115 Update rabbitmq-components.mk 2015-10-26 10:21:21 +01:00
Jean-Sébastien Pédron f354cb3354 Update erlang.mk's build.config 2015-10-23 19:50:54 +02:00
Jean-Sébastien Pédron 469d39494f Update erlang.mk 2015-10-23 18:32:56 +02:00
Jean-Sébastien Pédron baadd3db8b Update rabbitmq-components.mk 2015-10-23 16:05:46 +02:00
Jean-Sébastien Pédron 9626e1fbe0 Merge branch 'master' into erlang.mk 2015-10-23 12:13:24 +02:00
Jean-Sébastien Pédron 46b2da4e29 Update erlang.mk 2015-10-22 18:34:37 +02:00
Michael Klishin c15812ac44 merge stable into master 2015-10-21 20:18:33 +03:00
Jean-Sébastien Pédron e2d80945cf setup-rabbit-test.sh: Take rabbitmqctl location from environment 2015-10-21 14:30:37 +02:00
Jean-Sébastien Pédron 08b5c3a009 test/build.xml: Take Java client location from environment 2015-10-21 14:30:03 +02:00
Jean-Sébastien Pédron 8c4b087c7c Git: Ignore testsuite artifacts 2015-10-21 14:29:41 +02:00
Jean-Sébastien Pédron a075272f0f Update rabbitmq-components.mk 2015-10-19 17:35:45 +02:00
Jean-Sébastien Pédron 300b9acd97 Update erlang.mk 2015-10-19 17:12:42 +02:00
Jean-Sébastien Pédron f36a99f998 Update rabbitmq-components.mk 2015-10-19 17:11:41 +02:00
Jean-Sébastien Pédron 9d5037344d Initial move to erlang.mk 2015-10-19 12:28:46 +02:00
Michael Klishin 0e3efda1ab Merge branch 'stable' 2015-09-30 04:03:26 +08:00
Giuseppe Privitera d26b6e1c91 set auto_delete=false for QoS1 subscriptions 2015-09-29 11:23:34 +01:00
Michael Klishin 1096f3182d Merge branch 'stable' 2015-09-22 12:38:31 +03:00
Michael Klishin 87dba24f4b Rename function 2015-09-22 02:35:19 -07:00
Michael Klishin 85f9f2df5b Two more warnings 2015-09-22 02:31:15 -07:00
Michael Klishin 3981be3e3d Squash a few warnings in tests 2015-09-22 02:26:22 -07:00
Giuseppe Privitera 340bb5d70b refactored tests to use rabbitmq_mqtt:env/1 2015-09-17 23:27:13 +01:00
Giuseppe Privitera 9039d7398b added .app file with some configuration used by tests 2015-09-17 23:26:05 +01:00
Giuseppe Privitera 204b1a59aa added step to copy .app file from test/src to test/ebin 2015-09-17 23:24:42 +01:00
Giuseppe Privitera 1544360485 removed unused test 2015-09-17 23:23:49 +01:00
Giuseppe Privitera 0213ec24e9 use assertEqual instead of pattern matching 2015-09-17 15:40:10 +01:00
Giuseppe Privitera f6d7f16941 refactored coerce to use to_binary identity function 2015-09-17 15:00:33 +01:00
Giuseppe Privitera 578ac7169b coerce default_user & default_pass 2015-09-17 14:50:17 +01:00
Giuseppe Privitera 2b58ca1247 added unit tests 2015-09-17 14:26:22 +01:00
Giuseppe Privitera f196f05373 coerce exchange and vhost to binary 2015-09-17 13:03:53 +01:00
ash-lshift b633549801 revert warning fix 2015-07-14 11:03:31 +01:00
ash-lshift 8fb4904fdc whitespace changes 2015-07-14 10:56:02 +01:00
ash-lshift bafb39f5f0 don't use `apply/2` 2015-07-14 10:47:39 +01:00
ash-lshift 6bc3579023 fix compile warnings 2015-07-14 10:47:01 +01:00
ash-lshift fabf2614ab rename `K` to `Fn` 2015-07-14 10:34:25 +01:00
ash-lshift 868b845101 change resource kind to `topic` 2015-07-14 10:31:42 +01:00
ash-lshift f293972f3c check authorization at mqtt topic level 2015-06-30 09:08:26 +01:00
Michael Klishin 8712428268 Merge branch 'stable' 2015-05-24 04:55:07 +03:00
Michael Klishin 692c6a7060 (c) year 2015-05-24 04:54:58 +03:00
Michael Klishin b52aed4a69 Merge branch 'stable' 2015-05-14 17:19:24 +03:00
Michael Klishin d89eed50e9 Adapt to Java client API change in stable 2015-05-14 14:59:50 +03:00
Jean-Sébastien Pédron dad4ea314a Merge branch 'stable' 2015-05-07 13:02:46 +02:00
Jean-Sébastien Pédron aa6872bb5c test/Makefile: Use $MAKE instead of hard-coding "make"
This one was harmless but let's do this for consistency's sake.

References #23.
2015-05-07 13:01:13 +02:00
Jean-Sébastien Pédron 9e9c2dec8c Merge branch 'stable' 2015-05-06 19:13:42 +02:00
Jean-Sébastien Pédron 386bba589e Use $MAKE instead of hard-coding "make"
$MAKE is passed down by Umbrella's do-package.mk. This fixes the
testsuite on systems where "make" is not GNU make.

Fixes #23.
2015-05-06 19:09:27 +02:00
Michael Klishin f2dc1d75cb Merge branch 'stable' 2015-05-01 00:49:48 +03:00
Michael Klishin 5a87bddf0d Ignore test/.idea 2015-05-01 00:49:21 +03:00
Michael Klishin fc3123c7a6 Update README.md 2015-04-28 23:49:46 +03:00
Michael Klishin 8d359a8ea4 Update README.md 2015-04-28 23:47:08 +03:00
Michael Klishin 0f4db19311 Use a higher call timeout here 2015-04-26 19:36:15 +03:00
Michael Klishin 0075bea594 Merge branch 'master' into rabbitmq-mqtt-16 2015-04-26 18:36:13 +03:00
Michael Klishin e099bf21c0 Tests for retained messages 2015-04-26 04:51:30 +03:00
Michael Klishin e8ae92a910 Don't crash if we get a PUBACK for unknown message
E.g. due to bogus clients that interpret QoS downgrade
in curious ways.
2015-04-26 04:51:04 +03:00
Michael Klishin 3c30c87767 Change how retained message delivery QoS is calculated
We now take the lower value of message QoS and
SUBSCRIBE QoS, per community feedback.
2015-04-25 19:35:47 +03:00
Michael Klishin 36374ca849 Fix a badmatch 2015-04-25 19:34:59 +03:00
Michael Klishin 6ac8d4def5 Implement a DETS-based message store, refactor 2015-04-23 02:48:06 +03:00
Michael Klishin c6979e0435 Handle vhost creation and deletion events 2015-04-22 01:14:15 +03:00
Michael Klishin df47dbd77a Refactor 2015-04-22 00:31:23 +03:00
Michael Klishin b79bd7efb4 Trap exits so that terminate/2 is invoked 2015-04-21 19:07:09 +03:00
Michael Klishin 2c6c21a4ef Undo this accidental change 2015-04-21 17:39:20 +03:00
Michael Klishin a4f4d92fd7 Switch to permanent type 2015-04-21 15:18:48 +03:00
Michael Klishin 0b6e7d5714 put/get/delete operations for retained message store
Yet to be done: dump and restore to disk on shutdown
and boot.
2015-04-21 14:26:46 +03:00
Michael Klishin 1c935cfb21 Process bits for retained message stores 2015-04-18 03:55:34 +03:00
Michael Klishin 204dfecea0 Correct a typo 2015-04-16 23:37:23 +03:00
Michael Klishin 8910ce56c6 Correct a typo 2015-04-16 23:36:57 +03:00
Michael Klishin 7b5452415f Ignore test/.idea 2015-04-15 05:53:32 +03:00
Michael Klishin bd6a283e79 Ignore test/.idea/* 2015-03-26 16:59:28 +03:00
Michael Klishin f240c3ded1 Sync CONTRIBUTING.md with the template one 2015-02-20 17:09:21 +03:00
Jean-Sébastien Pédron 92bc2c21d0 Merge branch 'stable' 2015-02-19 18:19:42 +01:00
Jean-Sébastien Pédron 825bf9e580 Convert .hgignore to .gitignore 2015-02-19 17:26:01 +01:00
Michael Klishin df0bff310a Sync CONTRIBUTING.md with the template one 2015-02-18 00:20:51 +03:00
Michael Klishin 6805dfeffa Sync CONTRIBUTING.md with the template one 2015-02-18 00:09:54 +03:00
Jean-Sébastien Pédron 8b3687d042 Merge branch 'stable' 2015-02-17 21:17:55 +01:00
Jean-Sébastien Pédron c7546ef628 Remove the "moved to GitHub" warning. 2015-02-17 21:17:45 +01:00
Jean-Sebastien Pedron 8ec8c2ee97 README.md: Warn about the move to GitHub 2015-02-17 18:12:53 +01:00
Jean-Sebastien Pedron 1fb4e838f2 README.md: Warn about the move to GitHub 2015-02-17 18:12:39 +01:00
Michael Klishin b853a637b3 merge stable into default 2015-02-10 15:54:30 +03:00
Michael Klishin 63ff3a105a MQTT processor should link its channel 2015-02-10 15:52:02 +03:00
Michael Klishin dd67f9d51c merge stable into default 2015-01-31 12:02:19 +03:00
Michael Klishin 9546c4dcc5 Make sure to send LW&T when connection is closed due to a keep-alive timeout 2015-01-31 11:26:49 +03:00
Simon MacMullen 92cd34594d stable to default 2014-12-02 12:40:59 +00:00
Simon MacMullen a725ddbcf8 Merge bug26480 (again) 2014-11-28 15:15:08 +00:00
Simon MacMullen 7b06606359 Oops, that might not exist 2014-11-28 15:14:11 +00:00
Michael Klishin 75fccac9b9 merge heads of default 2014-11-28 18:11:41 +03:00
Michael Klishin 117d556ea2 ssl_cert_login and allow_anonymous probably won't be explicitly set to undefined 2014-11-28 18:08:42 +03:00
Michael Klishin f8890a5c25 Drive by change: correct error message arguments here 2014-11-28 17:40:38 +03:00
Michael Klishin ad3af36155 Don't swallow exceptions in mqtt_processor:process_frame/1 2014-11-28 17:40:16 +03:00
Simon MacMullen 379ecfd911 Simplify. Enforce always running SSL tests. Don't create global variables in the Makefile namespace. 2014-11-28 14:39:39 +00:00
Michael Klishin fe541380b5 Make sure ssl_cert_login has a default value 2014-11-28 16:57:27 +03:00
Simon MacMullen 45826041aa Oops 2014-11-28 11:30:14 +00:00
Simon MacMullen 746495fc43 Rename this to avoid conflict with STOMP. Something of a hack, but it seems to work. 2014-11-28 09:46:53 +00:00
Michael Klishin f50bfda0b1 Backout more package.mk changes 2014-11-27 23:42:04 +03:00
Michael Klishin 5652860bc4 Backout more package.mk changes 2014-11-27 23:41:49 +03:00
Michael Klishin f282d32b1b Backed out changeset aed1b2464613 2014-11-27 23:41:15 +03:00
Michael Klishin 8c94676c73 Add a rule for TEST_EBIN_DIR 2014-11-27 16:14:15 +03:00
Michael Klishin 53ad3c7950 Attempt to fix CI 2014-11-27 15:48:02 +03:00
Michael Klishin 7276dab237 Attempt to fix CI creating test/ebin in one more place 2014-11-27 14:49:51 +03:00
Michael Klishin 779a526837 Use absolute paths here 2014-11-26 01:04:15 +03:00
Michael Klishin 073cc57dcb Don't require peer cert 2014-11-25 23:51:30 +03:00
Michael Klishin 0dc8b8e22d Require TLS certificate in TLS authentication tests
Otherwise we get platform-specific failures and even generic client exceptions.
This case is potentially valid but is likely to be really rare (if you use TLS,
you probably also authenticate, using credentials or the certificate).

In the original patch this scenario was expected to fail. We now go back
to square 1.
2014-11-25 23:44:42 +03:00
Michael Klishin b1147f355c Pick most recent TLS version available 2014-11-25 23:20:38 +03:00
Michael Klishin d68f2b063e Use TLS v1.1 because v1.2 is not available on CI machines 2014-11-25 21:46:23 +03:00
Michael Klishin df5eb6aa57 Certificate authencation needs to be enabled explicitly, as with STOMP
Using the same ssl_cert_login app key.
2014-11-24 21:22:09 +03:00
Michael Klishin 0e298907aa Make it clear that this test does not expect an authentication failure 2014-11-24 21:21:20 +03:00
Michael Klishin 089ef7e86f Rename TLS test package 2014-11-24 17:01:10 +03:00
Michael Klishin a0def030d2 Ditto 2014-11-24 16:59:19 +03:00
Michael Klishin 06f8a2db70 Cosmetics 2014-11-24 16:58:48 +03:00
Michael Klishin 6eca0b71f8 Only ignore test/build/ but not test/build.xml and test/build.properties 2014-11-24 13:13:27 +03:00
Michael Klishin cee8eb2fd8 Client MQTT authentication using x509 certificates
Original patch by Eric Rauer.
2014-11-21 14:54:33 +00:00
Simon MacMullen 147c0c3a3c poodle_check/1 has to come after ensure_ssl/0. 2014-10-20 15:54:48 +01:00
Simon MacMullen 73f3fc4d40 Oops 2014-10-20 14:06:22 +01:00
Simon MacMullen 7305f70289 Test for old Erlang, and shout if we are vulnerable. 2014-10-20 14:05:30 +01:00
Michael Klishin 58a8c6a0f0 Use human-readable MQTT versions in connection adapter info 2014-08-25 13:43:11 +04:00
Michael Klishin f05ca5e4c2 Use manual delivery flow control 2014-08-11 14:26:27 +04:00
Michael Klishin de51bab488 Eliminate a few compiler warnings 2014-07-04 12:10:00 +04:00
Michael Klishin 9f8a6a3f18 merge stable into default 2014-07-04 12:01:56 +04:00
Michael Klishin fe37e1a629 Log correctly closed MQTT connections
Just like we do for AMQP.
2014-07-04 11:38:50 +04:00
Michael Klishin 96cf2cd364 Include MQTT connection (reader) pid in the log message
Just like we do for AMQP connections.
2014-07-04 11:38:27 +04:00
Michael Klishin cf7b440aa4 merge stable into default 2014-07-03 21:41:36 +04:00
Michael Klishin 28fab87eac Avoid ugly error messages when the collector terminates on abrupt reader/processor termination
They are harmless but can really confuse the user.
2014-07-03 21:37:25 +04:00
Michael Klishin 40c6380095 Handle MQTT processor errors more gracefully 2014-07-03 21:36:17 +04:00
Michael Klishin 881251d5f3 Special case TLS alert "unknown CA", which is very common
Indicates a generic certificate verification problem, which we mention.
2014-07-03 16:13:27 +04:00
Michael Klishin a84a8a13a0 Further TLS upgrade error message improvements
* Include connection string
 * Slightly more specific messages for handshake failure and other TLS alerts
2014-07-03 16:03:51 +04:00
Michael Klishin ca67de6b7b Improve error messages for failing connections and TLS upgrades 2014-07-03 15:46:59 +04:00
Michael Klishin 8a2525ec28 Ignore debug/* 2014-06-24 05:01:51 +04:00
Michael Klishin 2aa625b114 err => error 2014-05-25 10:19:01 +04:00
Michael Klishin 5d895a904d merge bug26189 into stable (again) 2014-05-21 11:22:13 +04:00
Michael Klishin 750eeb593d Inline stop and close_connection 2014-05-21 11:13:12 +04:00
Michael Klishin 7ad72a96cf Let terminate/2 close direct client connection 2014-05-21 11:02:35 +04:00
Michael Klishin fb62c75946 Use existing function to close connection 2014-05-21 10:47:54 +04:00
Michael Klishin dfabf68e2e Explain 2014-05-21 10:40:12 +04:00
Michael Klishin 1d4e2a00c5 Close direct connection cleanly when mqtt_reader terminates
Otherwise the connection will receive {'EXIT', Pid, shutdown} which it does
not expect and log a nasty crash report.
2014-05-21 10:36:30 +04:00
Michael Klishin 4232991625 Start collector before client_sup so that it's stopped later than the other 2014-05-21 09:22:38 +04:00
Michael Klishin 98b7de9dc6 List rabbit_mqtt_collector in rabbit_mqtt_sup child spec
To make sure the collector is shut down as expected.
2014-05-21 08:35:52 +04:00
Michael Klishin c9c5899a1f Make sure rabbit_client_sup will terminate rabbit_mqtt_client_sup and not keepalive_sup 2014-05-21 08:15:24 +04:00
Michael Klishin 94820cefaa Make rabbit_mqtt_sup a supervisor2 2014-05-21 07:41:52 +04:00
Simon MacMullen 31dcbfb85d Cosmetic (and test bz notification) 2014-04-15 14:18:37 +01:00
Michael Klishin 9cab3b8af4 Eliminate a warning 2014-04-15 15:21:20 +04:00
Michael Klishin 1c63bf716a Initialise MQTT reader asynchronously, narrow the gap with rabbit_reader 2014-04-15 15:20:49 +04:00
Matthias Radestock bc1cdd77d5 merge stable into default 2014-03-31 13:29:39 +01:00
Matthias Radestock 299bcc1d5b eliminate race in testConnectFirst test
the test was highly timing sensitive; it published 1000 messages and
expected one of those publishes to fail due to the socket getting
closed by the server when encountering the first publish. So if the
client was quick enough / the server slow enough, all the publishes
would go through before the server processed the first one and closed
the socket. Cue test failure.

The new test sends an mqtt 'ping' and waits for a response. Not only
is this non-racy and doesn't require any magic timouts, it also is a
better exercise of the server logic: A 'publish' on a connection which
hasn't seen a 'connect' will fail anyway, even w/o the server code in
place that detects the missing 'connect', since processing a 'publish'
requires an amqp client connection, which in turn is only established
on 'connect'. By contrast, a 'ping' does not require an amqp client
connection. Hence removing the "make sure we have seen a 'connect'"
logic now results in a 'ping' response being sent, which makes the
test fail, as expected.
2014-03-31 13:26:58 +01:00
Matthias Radestock 56860f2009 cosmetic 2014-03-31 13:17:29 +01:00
Emile Joubert 35dc34bfff Better 3.1.1 compatibility 2014-03-19 12:05:42 +00:00
Simon MacMullen 4e07b1d640 Update copyright for 2014 2014-03-17 17:25:23 +00:00
Simon MacMullen 04577ad084 Check source of user is acceptable. 2014-02-18 17:33:33 +00:00
Simon MacMullen 23019b084f Cosmetic: fix indentation. 2014-02-18 17:33:00 +00:00
Simon MacMullen 2206e2ae64 Allow running tests on a Mac 2014-02-03 17:51:02 +00:00
Simon MacMullen 24644c8b25 stable to default 2014-01-30 15:34:48 +00:00
Simon MacMullen f06453a0b9 Publish persistent messages for QoS 1. 2014-01-30 15:33:59 +00:00
Emile Joubert c2da97cf65 Renames and codedocs 2014-01-20 10:33:27 +00:00
Emile Joubert 62c0d40f06 Prevent child calling its supervisor 2014-01-07 10:37:51 +00:00
Emile Joubert 8d950b1f26 Detection of absent keepalives 2014-01-06 17:50:02 +00:00
Emile Joubert f98298a818 Merged stable into default 2013-12-04 15:13:57 +00:00
Emile Joubert d65d20b8b9 Termination conditions when receiving multiple acks 2013-12-04 14:59:22 +00:00
Simon MacMullen b6c09249e6 stable to default 2013-11-19 16:32:46 +00:00
Emile Joubert 4568741872 Support vhosts as part of username 2013-11-18 12:00:47 +00:00
Emile Joubert f87e71af92 Unregister client IDs correctly 2013-11-14 13:48:14 +00:00
Simon MacMullen d0f045bf1f Eliminate use of gen_server:call/2. 2013-10-24 12:22:34 +01:00
Simon MacMullen 9bde9ce822 Revert part of f438760bff27 since the exception is now an IOException. 2013-10-03 11:34:09 +01:00
Emile Joubert 69b255af77 Propagate Erlang client API change 2013-09-24 11:24:21 +01:00
Simon MacMullen 0369111d32 stable to default 2013-09-16 14:45:09 +01:00
Emile Joubert eb080c2704 Only unregister client id when necessary 2013-09-16 11:36:52 +01:00
Alvaro Videla e2c9f63d0c updated README to point to /mqtt.html 2013-08-19 09:14:52 -06:00
Emile Joubert 50f162ea0d Swap connect and setting callback 2013-07-31 15:28:22 +01:00
Emile Joubert 23a100db9a Merged stable into default 2013-07-31 13:57:31 +01:00
Emile Joubert 48fbca2834 Automatically subscribe when connecting 2013-07-26 17:43:25 +01:00
Simon MacMullen bb95f34e47 s/VMware/GoPivotal/g 2013-07-01 10:49:14 +01:00
Simon MacMullen 73d32f6c6b Specify the version of the paho MQTT client to use, and some API tweaks to use the latest version. Why not just use the version that used to work? Well, it required some non-standard ant stuff to build. 2013-04-15 16:38:10 +01:00
Tim Watson c95996d80a merge bug25487 into default 2013-04-05 13:32:59 +01:00
Emile Joubert ed3ee2a2ff client_sup API change 2013-04-05 12:42:32 +01:00
Emile Joubert f225804df5 Transplant reverse of 8c13f168cf00 2013-04-04 17:08:30 +01:00
Emile Joubert 809fa199ca Unfix bug 2013-04-04 16:41:57 +01:00
Emile Joubert 2e74c028c0 client_sup API change 2013-04-04 16:41:20 +01:00
Emile Joubert 1617d8c66d Propagate API change of rabbit_client_sup 2013-03-14 16:13:03 +00:00
Emile Joubert 93dbe20ede Correct use of client_id and worker 2013-03-13 16:11:08 +00:00
Emile Joubert bd0f6f11ff Handle connection abort while opening more gracefully 2013-03-01 10:49:23 +00:00
Matthias Radestock 5eb96838ab merge stable into default 2013-02-28 13:08:55 +00:00
Emile Joubert ffbe2c6560 Hibernate after opening connection and when waiting for data 2013-02-28 13:04:59 +00:00
Matthias Radestock 3458e1ab3e cosmetic 2013-02-28 12:27:23 +00:00
Emile Joubert cc5259ea9c Silence warnings 2013-02-27 11:01:09 +00:00
Matthias Radestock e97b07fa0f socket buffer size tuning has moved into the tcp_acceptor 2013-02-26 15:33:13 +00:00
Simon MacMullen 82f8a8af9b stable to default 2013-01-24 13:15:54 +00:00
Emile Joubert f973d137c3 Update copyright 2013 2013-01-23 13:06:40 +00:00
Simon MacMullen 441a099dd0 API change 2013-01-09 12:06:09 +00:00
Simon MacMullen cb693d294a API change 2013-01-09 11:18:44 +00:00
Simon MacMullen fa2818637e Cosmetic 2013-01-08 16:29:04 +00:00
Simon MacMullen 62f7da67ac Use amqp_direct_connection:socket_adapter_info/1. 2013-01-08 16:25:30 +00:00
Simon MacMullen cc685ac724 address -> host. 2012-11-19 16:39:36 +00:00
Simon MacMullen 0be8fc79af Establish stable branch 2012-11-19 16:37:20 +00:00
Emile Joubert ad7d5bdbf0 Turn off file-based client persistence in tests 2012-11-13 11:30:17 +00:00
Emile Joubert 44d9fa8b17 Tests require Java AMQP 2012-11-12 13:35:35 +00:00
Emile Joubert 0f30448a51 Use binaries in headers 2012-11-06 10:32:38 +00:00
Emile Joubert 7a10b4a7ec Interoperability fixes 2012-11-05 20:30:45 +00:00
Emile Joubert b88a0e3373 Increase test delay 2012-09-25 09:52:41 +01:00
Simon MacMullen 43bd7f0188 Merge bug25089 2012-09-21 15:07:35 +01:00
Simon MacMullen 57cd05f0ed Every other plugin uses :=, and this is preventing the CI misc plugins thing from removing this. 2012-09-19 17:09:13 +01:00
Emile Joubert f574b2dcb6 Authenticate via direct client 2012-09-19 15:34:42 +01:00
Emile Joubert 11c2e485ec Prefer https to git protocol for firewall reasons 2012-09-17 15:37:02 +01:00
Emile Joubert 03dc8b5849 Make tests run from umbrella and pass more reliably 2012-09-17 14:57:31 +01:00
Emile Joubert 2812742f8e Correct log method 2012-09-12 16:28:24 +01:00
Simon MacMullen 0a53188d37 Typo 2012-09-12 14:37:45 +01:00
Emile Joubert 59e92bc6d8 Preview release build changes 2012-09-12 14:34:41 +01:00
Emile Joubert a19130be7f Document configuration 2012-09-12 12:18:39 +01:00
Emile Joubert cfcdf7a59b More consistent naming of credit flow state 2012-08-21 16:45:14 +01:00
Emile Joubert c3801689b2 Backout changeset 641cfc6d09b7 2012-08-21 16:38:14 +01:00
Emile Joubert 13a61caab4 Remove unnecessary configuration 2012-08-21 16:22:31 +01:00
Emile Joubert 2a716fac2b Clearer separation between reader and processor 2012-08-20 17:30:13 +01:00
Emile Joubert d24a5d7f2a Register collector name differently 2012-08-17 15:14:40 +01:00
Emile Joubert a7a58ad66a Updated adapter into record name, safer logging, macro corrections 2012-08-17 15:05:14 +01:00
Emile Joubert a6856a4a04 Improvements around delivery handling 2012-08-16 18:09:21 +01:00
Emile Joubert 37761141cb Name topic translation methods more sensibly 2012-08-16 18:01:45 +01:00
Emile Joubert 8d52799853 Removed adapter info from state 2012-08-16 17:56:50 +01:00
Emile Joubert a53c389211 Remove implicit rules for compiling java 2012-08-10 10:16:15 +01:00
Emile Joubert c904f78b2e Run tests from Makefile 2012-08-09 18:55:45 +01:00
Emile Joubert c55ca8584e Add conservative prefetch limit 2012-08-09 13:52:19 +01:00
Simon MacMullen a225aa3705 Make register not require unregister first. Duplicate detection is now done in the register call. 2012-08-08 13:37:59 +01:00
Simon MacMullen 8a53099fa8 Revert c493777cbfc5, I was being dumb, it won't match due to being in a closure. 2012-08-08 13:30:18 +01:00
Simon MacMullen 85727eafc7 Seems a bit cleaner to ignore undefined here. 2012-08-08 13:09:50 +01:00
Simon MacMullen 75620477ab Simplify 2012-08-08 12:49:53 +01:00
Simon MacMullen 1eef766311 Remove that {go, ...} gs call. 2012-08-08 12:47:24 +01:00
Emile Joubert 02f375a3c0 Add client id collector 2012-08-06 17:58:15 +01:00
Emile Joubert d3f4a2dc24 Updates 2012-08-05 23:52:54 +01:00
Emile Joubert 1b9350fe03 Handle QoS1 duplicate publishes 2012-07-16 22:52:53 +01:00
Emile Joubert ec215b34bd Clean sessions, and anonymous connections 2012-07-16 14:57:31 +01:00
Emile Joubert c553880ac7 Avoid a separate erlang process for processor 2012-07-13 16:32:13 +01:00
Emile Joubert f79bf51275 Tests 2012-07-05 18:08:23 +01:00
Emile Joubert 9783db3f5d Rudimentary unsubscribe support 2012-07-04 17:47:07 +01:00
Emile Joubert 78b41c8fc0 Basic subscription and heartbeat response 2012-07-04 16:31:30 +01:00
Emile Joubert 1603079761 Basic authentication and publishing 2012-07-03 17:35:18 +01:00
Emile Joubert f195facf1c Sufficient parsing to accept connection 2012-07-03 09:55:31 +01:00
Emile Joubert e973267fcf Protocol adapter skeleton 2012-06-26 17:57:24 +01:00