Commit Graph

384 Commits

Author SHA1 Message Date
Michael Klishin 4a120630e7 Travis: try OTP 21.0 2018-09-12 17:39:50 +02:00
Michael Klishin 41437e8933 Travis: test against OTP 20.3.x and 21.x 2018-09-12 17:35:25 +02:00
Michael Klishin 80a0283613 Check for Elixir 1.6.6 2018-09-12 17:28:44 +02:00
Michael Klishin 050362e299 Install Elixir 1.6.6 on Travis 2018-09-12 17:23:43 +02:00
Michael Klishin ca3612ba62 Explain why each group uses a dedicated node
Pair: @kjnilsson.
2018-09-12 15:16:25 +02:00
Michael Klishin d1e8ac6c8e Start a node per test group
They use different plugin configurations.

Pairs: @kjnilsson, @dumbbell.
2018-09-12 14:50:19 +02:00
Michael Klishin 60a09423a7 Don't assert on function name
Pair: @kjnilsson.
2018-09-12 13:50:15 +02:00
Michael Klishin 4fc10741f0 Tear down whitelisted certificate dir between group runs
Investigating test interference in CI.

Pair: @kjnilsson.
2018-09-12 13:49:35 +02:00
Jean-Sébastien Pédron 25ba438c0a Update rabbitmq-components.mk 2018-09-11 14:22:43 +02:00
Jean-Sébastien Pédron 2adbb2d19d Update rabbitmq-components.mk 2018-08-09 17:44:25 +02:00
Jean-Sébastien Pédron 313132112a Update rabbitmq-components.mk 2018-08-09 12:17:11 +02:00
Michael Klishin c51ec9f8a7 Compile on OTP 21 from scratch
Part of rabbitmq/rabbitmq-server#1616.

[#157964874]
2018-06-08 02:18:01 +03:00
Jean-Sébastien Pédron 526558dd69 Update rabbitmq-components.mk 2018-06-07 11:31:46 +02:00
Jean-Sébastien Pédron ad3036dd04 Update erlang.mk 2018-04-11 10:54:35 +02:00
Jean-Sébastien Pédron e0c87d924f Update rabbitmq-components.mk 2018-04-11 10:51:32 +02:00
Jean-Sébastien Pédron 75c7248272 Update rabbitmq-components.mk 2018-04-11 10:10:14 +02:00
Jean-Sébastien Pédron 1b832b5030 Travis CI: Update config from rabbitmq-common 2018-04-10 13:09:46 +02:00
Jean-Sébastien Pédron 0ed55baf22 Update erlang.mk 2018-03-02 19:10:40 +01:00
Jean-Sébastien Pédron 37cc2d0456 Update rabbitmq-components.mk 2018-01-30 15:24:01 +01:00
Luke Bakken 4fbc816691 Update rabbitmq-components.mk 2018-01-29 16:22:27 -08:00
Jean-Sébastien Pédron ba0403cc0b Update rabbitmq-components.mk 2018-01-23 17:21:50 +01:00
Jean-Sébastien Pédron 2bc6e3db48 Update rabbitmq-components.mk 2018-01-23 15:31:37 +01:00
Diana Corbacho ddc391c263 Update rabbitmq-components.mk 2018-01-22 22:13:33 +00:00
Jean-Sébastien Pédron 01d074a886 Travis CI: Update config from rabbitmq-common 2017-12-15 15:17:58 +01:00
Luke Bakken 89abc070ad Fix remaining tests 2017-12-11 07:00:04 -08:00
Luke Bakken 9197a78849 Begin fixing tests 2017-12-11 07:00:04 -08:00
Jean-Sébastien Pédron ac0ac60b46 Update rabbitmq-components.mk 2017-12-01 15:16:54 +01:00
Jean-Sébastien Pédron b823306773 Update rabbitmq-components.mk 2017-11-28 14:01:22 +01:00
Jean-Sébastien Pédron db442e49b1 Update rabbitmq-components.mk 2017-11-28 13:31:44 +01:00
Jean-Sébastien Pédron e60015d290 Merge branch 'stable' 2017-11-06 19:25:17 +01:00
Jean-Sébastien Pédron 8ba9672a87 Travis CI: Update config from rabbitmq-common 2017-11-06 19:23:50 +01:00
Jean-Sébastien Pédron b9b5fbf59a Travis CI: Configuration patch not needed fox 3.7.x
... because this branch doesn't support Erlang R16B03.

[#152509619]
2017-11-06 14:52:49 +01:00
Jean-Sébastien Pédron 5dd1ee6a86 Merge branch 'stable' 2017-11-06 14:52:33 +01:00
Jean-Sébastien Pédron 8fb0bad024 Travis CI: Update config from rabbitmq-common
[#152509619]
2017-11-06 14:34:24 +01:00
Jean-Sébastien Pédron 46f836ddaa Travis CI: Only test build with Erlang R16B03-1
... because the testsuite requires Erlang 17.5+.

The build is tested as part of `make xref`. That's why we skip the
second command entirely with Erlang R16B03-1.

[#152509619]
2017-11-06 14:18:51 +01:00
Jean-Sébastien Pédron 4e1585f515 Travis CI: Update config from rabbitmq-common
[#152509619]
2017-11-06 10:51:53 +01:00
Jean-Sébastien Pédron d18da31aa0 Merge branch 'stable' 2017-10-13 15:14:07 +02:00
Jean-Sébastien Pédron 9585d546e8 Update rabbitmq-components.mk 2017-10-13 14:33:19 +02:00
Jean-Sébastien Pédron 62f7a785c2 Update rabbitmq-components.mk 2017-10-13 14:13:38 +02:00
Jean-Sébastien Pédron cf3be0bdc1 Update rabbitmq-components.mk 2017-10-13 12:15:54 +02:00
mgrafl ce993c4e4f Correct field name for json response
For the HTTP provider, the documentation incorrectly specified the field name of the relative certificate path to on server as "url". 
The correct field name according to the code is "path".
2017-10-03 14:05:40 +03:00
mgrafl c712c68a82 Correct field name for json response
For the HTTP provider, the documentation incorrectly specified the field name of the relative certificate path to on server as "url". 
The correct field name according to the code is "path".
2017-10-03 10:54:13 +02:00
Michael Klishin d59868164c Update rabbitmq-components.mk 2017-09-13 17:54:52 -04:00
Michael Klishin 9577243ff1 Update rabbitmq-components.mk 2017-09-13 17:45:49 -04:00
Michael Klishin fac2662d06 Update rabbitmq-components.mk 2017-09-12 19:53:42 -04:00
Michael Klishin 0dd9491306 Update rabbitmq-components.mk 2017-09-12 12:42:08 -04:00
Daniil Fedotov 297962d33f Merge branch 'stable' 2017-08-30 19:20:52 +01:00
Daniil Fedotov 3daba87204 Update erlang.mk 2017-08-30 18:46:45 +01:00
Michael Klishin e3adfa3747 Erlang/OTP 19.2 is now the minimum supported version.
Part of rabbitmq/rabbitmq-server#1305.

[#149563549]
2017-07-26 19:03:32 +03:00
Michael Klishin 9d63df9c7c Update rabbitmq-components.mk 2017-07-26 03:48:44 +03:00
Michael Klishin b69fc588c5 Update rabbitmq-components.mk 2017-07-26 02:27:19 +03:00
Michael Klishin 5c9c6c4587 Update rabbitmq-components.mk 2017-06-12 20:18:42 +03:00
Michael Klishin ea5abc3f2b Update rabbitmq-components.mk 2017-06-12 18:35:51 +03:00
Michael Klishin 30d68523e2 Merge branch 'stable' 2017-06-02 18:12:11 +03:00
Michael Klishin 100e72cf10 Update rabbitmq-components.mk 2017-06-02 17:51:38 +03:00
Michael Klishin 7e7015d65c Update rabbitmq-components.mk 2017-06-02 00:43:35 +03:00
Michael Klishin 8342660e3c Update rabbitmq-components.mk 2017-06-01 18:01:54 +03:00
Jean-Sébastien Pédron 3a48f8acbb Merge branch 'stable' 2017-05-16 18:13:30 +02:00
Jean-Sébastien Pédron be61a9dd54 Makefile: Load the new `rabbitmq-early-plugin.mk` early-stage plugin
See the corresponding commit in rabbitmq-common for an explanation.

[#144697185]
2017-05-16 17:39:17 +02:00
Jean-Sébastien Pédron 15449b01c1 Update erlang.mk 2017-05-16 17:39:17 +02:00
Michael Klishin ee168d5ade Merge branch 'stable' 2017-05-10 03:49:56 +03:00
Daniil Fedotov 2604ef9bff Wording 2017-05-08 16:36:56 +01:00
Daniil Fedotov ec5ea5e35e Add a certificate hash to cert_id in the file provider.
[#58]
    Just a file change date can be not enough to detect the certificate
    file change. Add a phash2 hash of a file content to check that certificate
    should be reloaded.
2017-05-08 11:58:40 +01:00
Daniil Fedotov 6f97aadc54 Do not check directory change time.
[#58]
Directory change time is not reliable to detect updates in
certificate files. Time resolution is too big (1 second)
and directory modification time does not update when a file
contents is changed.
2017-05-08 10:30:42 +01:00
Jean-Sébastien Pédron 10c5a8972e Merge branch 'stable' 2017-04-19 16:23:49 +02:00
Jean-Sébastien Pédron 2f20092dbc Update erlang.mk 2017-04-19 12:05:57 +02:00
Michael Klishin e99a9faee0 Merge branch 'stable' 2017-04-02 22:04:24 +03:00
Michael Klishin e16dcee191 (c) year 2017-04-02 21:49:53 +03:00
Ayanda Dube bb2671b446 Typo fix: 'sertificate' -> 'certificate' 2017-03-24 13:25:24 +01:00
Michael Klishin df0ea9a3b3 Ignore test/config_schema_SUITE_data/schema/ 2017-03-20 19:14:52 +03:00
Daniil Fedotov 44d58aba6c Config schema test for plugin
Part of [#141481501]
Moved from rabbitmq-server
2017-03-17 11:02:25 +00:00
Jean-Sébastien Pédron 605cecd816 system_SUITE: Work around file provider issue in `list` testcase
The file provider uses stat(2) which has a resolution of one second in
Erlang. Thus, the refresh may miss the new test certificates if the
creation happens in the same second after the previous refresh.

References #58.
2017-03-15 12:31:22 +01:00
Jean-Sébastien Pédron cf10607ddb system_SUITE: Accept `{error, closed}` as connection failures
With Erlang 18.3, there is a regression which causes the SSL connection
to crash with the following exception:

    ** {badarg,[{ets,update_counter,[1507362,#Ref<0.0.3.9>,-1],[]},
                {ssl_pkix_db,ref_count,3,...

When this exception reaches the connection process before the expected
TLS error, amqp_connection:start() returns `{error, closed}` instead.

Now, testcases tolerate `{error, closed}` as a return value: we know
that the connection was indeed terminated.

Signed-off: Gerhard Lazu <gerhard@rabbitmq.com>
2017-03-13 17:57:22 +01:00
Jean-Sébastien Pédron 7a1086dc29 Merge branch 'stable' 2017-03-08 10:07:01 +01:00
Jean-Sébastien Pédron 800bedeb78 system_SUITE: Wait 5 seconds in wait_for_trust_store_refresh()
... instead of 2 seconds. Hopefully, this increases the chance of test
success.

The real fix would be to explicitely verify that the trust store was
refreshed.
2017-03-08 09:40:29 +01:00
Daniil Fedotov 098f691269 Config schema 2017-02-15 17:45:11 +00:00
Daniil Fedotov c325b36826 3.7.0 json decoding 2017-02-14 18:09:26 +00:00
Michael Klishin 1269ad8517 Update rabbitmq-components.mk 2017-02-11 23:29:44 +03:00
Michael Klishin 0b48819285 Merge branch 'stable' 2017-02-10 21:28:51 +03:00
Michael Klishin 0c29d6417a Example trust store is now under github.com/rabbitmq 2017-02-10 21:28:38 +03:00
Michael Klishin f9d5104344 Merge branch 'stable'
Conflicts:
	.travis.yml
2017-02-10 20:34:53 +03:00
Michael Klishin b449648ea9 `url` in certificate objects should really be `path` 2017-02-10 20:01:53 +03:00
Daniil Fedotov 91f22455de Keep provider state in case of error listing certificates 2017-02-10 15:04:32 +00:00
Michael Klishin 7539f36c33 Ignore certs/* 2017-02-10 17:43:24 +03:00
Michael Klishin 2101dba003 README updates 2017-02-10 16:55:31 +03:00
Michael Klishin 1aeb71ccfe They are not necessarily CA certificates 2017-02-10 16:50:24 +03:00
Michael Klishin 275f2373d2 Ignore *.pyc and *.sqlite3 files 2017-02-10 16:49:54 +03:00
Michael Klishin 40d81b4db6 Merge branch 'stable' into rabbitmq-trust-store-54 2017-02-10 16:46:16 +03:00
Michael Klishin 1586a1a259 Update rabbitmq-components.mk 2017-02-10 11:16:45 +03:00
Michael Klishin 59ae859563 Update rabbitmq-components.mk 2017-02-10 03:06:39 +03:00
Daniil Fedotov 6606c712db Test http provider 2017-02-08 16:07:53 +00:00
Michael Klishin 0df653a310 merge branch 'stable' 2017-02-08 16:58:36 +03:00
Michael Klishin 7fe041a4bd Update rabbitmq-components.mk 2017-02-08 16:48:09 +03:00
Daniil Fedotov fe2a3c3b3c Merge branch 'stable' 2017-02-08 13:36:43 +00:00
Daniil Fedotov e6966dd9df Note about erlang version requirement
Versions prior to 17.3 have issues validating certificate chains
and can crash during `ssl_connection` certificate cache cleanup.
2017-02-08 13:34:53 +00:00
Daniil Fedotov bc40af382d Fix variable names 2017-02-08 13:24:31 +00:00
Daniil Fedotov cfbb905415 Replace maps with proplists 2017-02-08 13:24:31 +00:00
Daniil Fedotov a44fa6ff3c README about HTTP provider 2017-02-08 13:24:31 +00:00
Daniil Fedotov 9090278210 Example Django app to serve certificates 2017-02-08 13:24:31 +00:00
Daniil Fedotov bf50aafbdd HTTP provider for trust store
Fixes #54

Provider will list certificates as JSON, requiring list of objects
with `id` and `url` fields.
JSON root is an object with a single `certificates` field, containing
a list of certificate objects. (some web services require json root to
be object)
Certificates are loaded as PEM encoded files.
2017-02-08 13:24:31 +00:00
Jean-Sébastien Pédron 212fa07661 Travis CI: Disable test on Erlang 18.3
Erlang 18.3 has too many regressions in SSL.

[#135953005]
2017-02-08 13:24:31 +00:00
Jean-Sébastien Pédron ccbf718e9d Travis CI: Import changes from rabbitmq-auth-backend-amqp
In particular, no need to test on Erlang R16B03 and 17.5.
2017-02-08 13:24:31 +00:00
Jean-Sébastien Pédron e9b35b9b5d system_SUITE: Increase timetrap to 3 minutes 2017-02-08 13:24:31 +00:00
Michael Klishin f9206c6466 Update README.md 2017-02-08 13:24:31 +00:00
Daniil Fedotov fe375a69ca Refactor tests to be provider agnostic 2017-02-08 13:24:06 +00:00
Daniil Fedotov 994fbf675f Fix crash when refreshing certificates 2017-02-08 13:23:41 +00:00
Daniil Fedotov 256ee4b352 Make it compile with R16B03 2017-02-07 15:43:52 +00:00
Michael Klishin 1f1ce37d58 merge branch 'stable' 2017-02-06 19:52:26 +03:00
Michael Klishin 84bf7be78b Update rabbitmq-components.mk 2017-02-06 19:24:04 +03:00
Jean-Sébastien Pédron 5b0989378e Update rabbitmq-components.mk 2017-02-02 17:17:24 +01:00
Michael Klishin 11d3b22742 merge branch 'stable' 2017-01-31 18:20:25 +03:00
Michael Klishin 887e857dde Update rabbitmq-components.mk 2017-01-31 18:06:39 +03:00
Michael Klishin 376a978471 Merge branch 'stable'
Conflicts:
	src/rabbit_trust_store_app.erl
2017-01-17 17:53:09 +03:00
Daniil Fedotov 3acc243d40 Naming 2017-01-17 14:35:23 +00:00
Daniil Fedotov a973da27c7 Removing test logs 2017-01-17 14:35:23 +00:00
Michael Klishin 135d043344 Minor log message corrections 2017-01-17 14:35:23 +00:00
Daniil Fedotov 2b412bdb7d Add/delete certificate providers in realtime 2017-01-17 14:35:23 +00:00
Daniil Fedotov 55ea835419 Example certificate provider 2017-01-17 14:35:23 +00:00
Daniil Fedotov 5c0cab02f7 Certificate name in attributes field 2017-01-17 14:35:23 +00:00
Daniil Fedotov ba624acd79 Refactor modules 2017-01-17 14:35:23 +00:00
Daniil Fedotov a615136ff2 Pluggable trust stores: tests are passing 2017-01-17 14:35:23 +00:00
Daniil Fedotov be1ca68aae Pluggable behaviour for CA cert source 2017-01-17 14:34:06 +00:00
Jean-Sébastien Pédron d19f7e2914 Travis CI: Disable test on Erlang 18.3
Erlang 18.3 has too many regressions in SSL.

[#135953005]
2016-12-12 19:02:27 +01:00
Jean-Sébastien Pédron 68ddf0c89c Merge branch 'stable' 2016-12-12 18:26:45 +01:00
Jean-Sébastien Pédron 81a7772b36 Travis CI: Disable test on Erlang R16B03
Erlang R16B03 doesn't like one of the certificates.

[#135953005]
2016-12-12 18:19:15 +01:00
Jean-Sébastien Pédron 0cee5aaccf system_SUITE: Ensure SSL listeners are stopped
Because if a previous testcase fails, it won't have terminated its own
listener.

[#135953005]
2016-12-12 18:17:45 +01:00
Jean-Sébastien Pédron 8582ff60fa rabbit_trust_store_app: Import a copy of lists:droplast()
This function was introduced in Erlang 17.x so it's missing in Erlang
R16B03.

[#135953005]
2016-12-12 18:14:42 +01:00
Jean-Sébastien Pédron 2d4ad26823 rabbit_trust_store_app: Do not use option `partial_chain` on Erlang R16B03
... and Erlang 17.x up-to 17.2.

[#135953005]
2016-12-12 18:14:19 +01:00
Jean-Sébastien Pédron f7beeea916 Travis CI: Import changes from rabbitmq-auth-backend-amqp
In particular, no need to test on Erlang R16B03 and 17.5.
2016-12-09 19:27:21 +01:00
Jean-Sébastien Pédron 85d7b13e03 Merge branch 'stable' 2016-12-09 19:26:20 +01:00
Jean-Sébastien Pédron aa36b43c28 Travis CI: Add configuration 2016-12-09 11:32:39 +01:00
Jean-Sébastien Pédron 44143fb2f4 Update rabbitmq-components.mk 2016-12-08 19:14:53 +01:00
Jean-Sébastien Pédron ec4a18db9a Merge branch 'stable' 2016-12-07 16:07:03 +01:00
Jean-Sébastien Pédron 2c2dda7154 Move from .app.src to Makefile variables
This is the recommended way with Erlang.mk.

By default, the version is inherited from rabbitmq-server-release when
the source archive is created, or computed from git-describe(1) (see
`rabbitmq-components.mk`). One can override the version from the command
line by setting the `PROJECT_VERSION` variable.

[#130992027]
2016-12-06 16:59:22 +01:00
Jean-Sébastien Pédron e84685868f system_SUITE: Increase timetrap to 3 minutes 2016-12-02 13:03:16 +01:00
Michael Klishin 2902daa84c Update rabbitmq-components.mk 2016-11-29 20:59:42 +03:00
Jean-Sébastien Pédron 30f3233a9b Update rabbitmq-components.mk 2016-11-25 10:51:04 +01:00
Jean-Sébastien Pédron d836d9f7d7 Update rabbitmq-components.mk 2016-11-25 10:08:24 +01:00
Jean-Sébastien Pédron 0adb8ddff2 Add rabbitmq_ct_client_helpers to TEST_DEPS 2016-11-24 10:41:36 +01:00
Jean-Sébastien Pédron fc145e403c Update rabbitmq-components.mk 2016-11-23 18:06:08 +01:00
Gerhard Lazu 2c6f33f40f Update erlang.mk 2016-11-22 16:20:42 +00:00
Gerhard Lazu e455aa6a46 Update rabbitmq-components.mk 2016-11-22 16:16:45 +00:00
Jean-Sébastien Pédron e1f315db6f Update rabbitmq-components.mk 2016-09-23 11:23:11 +02:00
Jean-Sébastien Pédron 2763daf480 Update erlang.mk 2016-09-22 17:57:18 +02:00
Jean-Sébastien Pédron a8e6e56c16 rabbitmq_trust_store.app: Depend on rabbit_common 2016-09-20 12:48:11 +02:00
Jean-Sébastien Pédron 3227fa2a0e Makefile: Explicitely list all DEPS
Sync rabbitmq-components.mk with rabbitmq-common to remove automatic
DEPS handling.

[#130086871]
2016-09-20 12:47:56 +02:00
Jean-Sébastien Pédron 708dd530e4 Update erlang.mk 2016-09-20 12:46:56 +02:00
Jean-Sébastien Pédron c69c19f723 Update rabbitmq-components.mk 2016-09-15 15:48:11 +02:00
Jean-Sébastien Pédron c5c8579139 Update rabbitmq-components.mk 2016-09-02 13:22:28 +02:00
Jean-Sébastien Pédron c1937a5845 Makefile: No need to filter out rabbitmq_test from TEST_DEPS anymore
[#127356157]
2016-09-02 12:35:04 +02:00
Jean-Sébastien Pédron 112a0fa1f6 Update rabbitmq-components.mk 2016-09-02 12:03:33 +02:00
Michael Klishin 4479a44695 Update rabbitmq-components.mk 2016-07-14 15:37:37 +03:00
Michael Klishin d6852d97b4 Update rabbitmq-components.mk 2016-07-14 13:20:05 +03:00
Michael Klishin df64f250d9 Merge branch 'rabbitmq-trust-store-34' into stable 2016-06-23 16:35:49 +03:00
Michael Klishin 96a7290019 Correct a typo 2016-06-23 16:29:16 +03:00
kjnilsson 5935bedaf4 Validate the peer in a presented certificate chain 2016-06-23 13:28:33 +01:00
Michael Klishin 82cf4b8dd2 Typo 2016-06-23 13:51:23 +03:00
Michael Klishin 02f8538e09 Update README.md 2016-06-23 13:49:23 +03:00
Michael Klishin 7bd72eb2f3 Don't assume at least 1 certificate was deleted
With duplicate certificates, when one of them is removed 0 would
be returned, causing a badmatch.
2016-06-21 23:14:13 +03:00
kjnilsson 870833131c Function to list loaded certs 2016-06-21 16:01:01 +01:00
Michael Klishin 4c24445944 Cosmetics 2016-06-20 23:35:30 +03:00
kjnilsson 8c1e1155d1 handle invalid and badly formatted certificatates
- add logging
2016-06-20 18:04:44 +01:00
kjnilsson 675ff4c4c3 Move to common test
- use the private directory for the test run instead of TMPDIR
 - use dynamic TCP port allocation
 - get hostname from test configuration
 - do not use hardcoded tcp port numbers
 - don't test for the existence of the whitelist directory
 - increase test timeout
 - create test dir per test case
 - use ct groups
 - use a subdirectory of the certs directory for trust store certs

Fixes #29.
2016-06-20 18:32:38 +02:00
Michael Klishin 0a591be641 Update rabbitmq-components.mk 2016-05-29 23:21:57 +03:00
Michael Klishin a8edbf022c Update CONTRIBUTING.md, add CODE_OF_CONDUCT.md 2016-05-28 14:22:51 +03:00
Karl Nilsson be649aa087 Update rabbitmq-components.mk 2016-05-18 12:48:02 +01:00
Michael Klishin b8d6ec89c7 Update README.md 2016-05-18 13:26:29 +03:00
kjnilsson 5dfeb3fb72 README update 2016-05-18 11:09:28 +01:00
kjnilsson 9ea50eff8f ensure that a replaced certificate with the same
name is picked up
    - add test for replacing cert with same name
    - disable use of ssl session cache
    - gitignore
    - document use of reuse_sessions
2016-05-18 10:16:52 +01:00
Michael Klishin 61c2d78c83 Bump rabbitmq-components.mk 2016-05-17 15:02:52 +03:00
kjnilsson 8b9ebb94c4 test refactoring:
- improve naming
        - remove trailing whitespace
        - add parens to make logic more explicit
        - shorten long lines
        - switch to using a proplist getter instead of lists:keyfind
2016-05-17 11:16:28 +01:00
Michael Klishin 181798f5c5 Merge branch 'rabbitmq-trust-store-9' 2016-05-07 07:26:01 +08:00
Michael Klishin 5348a61f02 Merge branch 'rabbitmq-trust-store-8' 2016-05-07 07:14:26 +08:00
Michael Klishin cb8f109b03 Merge branch 'rabbitmq-trust-store-12' 2016-05-07 07:12:25 +08:00
kjnilsson b8e9faaced correct naming according to OTP documentation 2016-05-06 12:48:01 +01:00
kjnilsson 950653bf75 handle code_change better 2016-05-06 10:47:50 +01:00
kjnilsson 76ce3d9ebd rename whitelisted_ to is_whitelisted 2016-05-06 10:36:20 +01:00
kjnilsson c165bd4183 ensure binary directory paths are handled 2016-05-06 10:23:28 +01:00
kjnilsson 3ef69e6ab0 Move the default refresh interval value to .app file 2016-05-03 16:50:40 +01:00
kjnilsson c09def8e8f Replace usages of get_env/1 with get_env/2 2016-05-03 15:44:46 +01:00
Michael Klishin b56e18c380 Support intervals that are integers
not just {seconds, Val}.
2016-04-17 18:59:23 +03:00
Michael Klishin 0168d8f83e Don't fail if the verify_fun is configured; log a warning instead 2016-04-17 18:23:29 +03:00
Daniil Fedotov d9f9f6cca5 Updated components.mk. Added setup/teardown to tests 2016-04-14 16:07:31 +01:00
Joseph Yiasemides 8e13ca81ef Remove the `persistent` option passed to `application:env_set/4`
This isn't available on Erlang R16B03, making broker start fail, so
remove this option since it is not needed.
2016-03-21 18:16:55 +01:00
Joseph Yiasemides e2c61c0e37 Revert SSL socket options when trust-store plugin is disabled
That is, SSL socket options that reside in the broker's OTP
environment. These are reverted in the plugin's `cleanup`
procedure. Indirect dependencies can then be restarted without their
SSL listeners interfacing with the trust-store.
2016-03-03 15:35:33 +01:00
Michael Klishin c464c7f417 Add a .gitignore 2016-03-03 15:20:46 +03:00
Michael Klishin a0e35b52da Minor license header correction 2016-03-03 15:17:48 +03:00
Michael Klishin dafb1783ea Wording 2016-03-03 15:17:43 +03:00
Joseph Yiasemides c2d65e3444 Save initial TLS configuration options to application environment
TLS sockets (OTP's SSL) must be configured to interface with the
Trust-Store before they start listening. The boot-steps make sure that
the trust store makes the necessary amendments to the configuration
options in time. We put the initial SSL configuration options in the
OTP Application environment so that they can be restored if the plugin
is disabled.
2016-02-26 17:45:25 +01:00
Joseph Yiasemides 765000d066 Delete directory tree in test cases with a library procedure 2016-02-24 18:07:28 +01:00
Joseph Yiasemides 2c111d2d55 Test with a "whitelist" directory under TMPDIR
This reverts changes made in an earlier commit.
2016-02-24 17:05:30 +01:00
Joseph Yiasemides 973bc4b45a Build directories in a portable way (i.e. Linux & Windows)
Only call procedures from the file/directory libraries rather than
appending a "/" to describe directories.
2016-02-24 15:02:50 +01:00
Joseph Yiasemides 4a1c75e67f Default to a whitelist directory that is consistent with others
Don't default to the (user's) home directory, this is far from ideal
on Linux systems, but worse with Windows because a home directory
doesn't exist there. Instead we dismantle the Mnesia directory and
root the default whitelist directory nearby. This is because Rabbit
doesn't use environment variables (e.g. RABBITMQ_HOME and
RABBITMQ_BASE) elsewhere in the source, as the definitive place to
root directories for application/pluging data.

NOTE: paths continue to append a "/" so commit is not Windows
friendly.
2016-02-24 11:40:31 +01:00
Joseph Yiasemides 0448d30c16 Build a match specification which matches on just one ETS entry
The function literal which was being passed to build a match
specification was missing a guard to select just ONE filemane from
ETS.
2016-02-23 11:04:55 +01:00
Joseph Yiasemides 1bf2a90130 Match on a `1` not `true` upon ETS select delete
This fixes a bug when removing certificate details, which would cause
the trust-store server to crash, though the test set succeeded because
it got restarted by it's supervisor.
2016-02-22 16:03:34 +01:00
Joseph Yiasemides ac31dfbd20 Clarify which plugins the trust-store effects in the README 2016-02-16 16:57:54 +01:00
Joseph Yiasemides 20ca1a2dea Make & remove a data directory for each test case
We need somewhere to write and remove certificate files. The test set
uses a directory `data` which is relative to it's current path. It's
an improvement over what was there before becuase this is more
contained and portable between OSs.
2016-02-16 16:38:07 +01:00
Joseph Yiasemides 59de1f0598 Move behaviour declaration so that interfaces are clearer 2016-02-16 14:21:00 +01:00
Joseph Yiasemides ef25ec09e4 Bolden important words (don't italicize) 2016-02-16 13:21:50 +01:00
Joseph Yiasemides 51809260e9 Document more in the README 2016-02-16 13:17:57 +01:00