Commit Graph

588 Commits

Author SHA1 Message Date
William Yang 8d8969672b feat(olp): add desc in schema 2021-10-07 16:03:54 +02:00
Zaiming Shi a882a8c496 chore: fix flaky test cm_SUITE open session racecondition 2021-10-07 11:51:40 +02:00
Zaiming Shi 7ae4505636 test(emqx_broker): fix flaky tests 2021-10-07 11:31:22 +02:00
William Yang 77f8159ca1 docs(olp): emqx_olp module 2021-10-06 21:07:14 +02:00
William Yang 9ecb7821f9 feat(olp): use tagged deps libs 2021-10-06 10:38:39 +02:00
Zaiming Shi ce486e5540 fix(ssl): verify ciphers list against all available ciphers
Prior to this change the ciphers are only checked against
the list returned from from
`ssl:cipher_suites(all, 'tlsv1.2', openssl)`
which may cause some (weak) ciphers missing in certain
otp + openssl installation
2021-10-05 15:25:56 +02:00
Zaiming Shi b42a2f2bc2 fix(ssl): delete some weak cipher suites from the default list 2021-10-05 15:15:00 +02:00
William Yang afb4b5dbd7 test(olp): add CT suite emqx_olp_SUITE 2021-10-05 14:37:39 +02:00
William Yang bfe4346469 feat(olp): alarm without nodeid 2021-10-05 14:36:36 +02:00
William Yang 547484a2d1 chore(olp): add spec. 2021-10-05 09:47:21 +02:00
William Yang 6baf2dbd95 feat(olp): backoff new conn 2021-10-05 09:23:23 +02:00
William Yang 370edac031 feat(olp): add default config 2021-10-04 16:30:48 +02:00
William Yang 4dc63b26a8 feat(olp): metrics 2021-10-04 16:30:44 +02:00
William Yang 67267acb70 feat(olp): management API 2021-10-04 14:36:30 +02:00
William Yang eb895a9f80 feat(olp): quic 2021-10-04 12:31:14 +02:00
William Yang 9304e3c122 feat(olp): add config and backoff gc 2021-10-04 12:21:30 +02:00
William Yang 166f02edc4 feat(olp): don't hibernate conn proc when overloaded 2021-10-04 10:44:53 +02:00
William Yang e9710ade14 feat(olp): first commit for overload protection
- add lc app
- add alarm handler for lc runq alarm
- backoff when handling CONNECT message
- close new connswhen overload
2021-10-01 16:14:38 +02:00
zhongwencool 93c210887b chore: don't use emqx_machine.hrl in emqx 2021-09-30 16:04:30 +08:00
zhongwencool 44a6f04a45 chore: reorganize shards position 2021-09-30 16:04:30 +08:00
zhongwencool be123f613d
Fix: apps should boots after emqx_machine_sup's children spawn. (#5851)
* fix(cluster_call): apps should start after cluster_call init

* fix: undef function

* chore: reformat code

* fix: ekka must start before emqx
2021-09-30 13:56:18 +08:00
zhanghongtong b94dcb7bc7 chore(release): update emqx release version 2021-09-29 18:29:44 +08:00
tigercl 55ec5bab9e
Merge pull request #5773 from tigercl/feat/psk-file
feat(psk): support psk
2021-09-29 13:37:49 +08:00
Zaiming (Stone) Shi 83e7ab681b
Merge pull request #5820 from JimMoen/refactor-frame-parse-logging
Refactor frame parse logging with bug fix.
2021-09-28 19:31:39 +02:00
Zaiming Shi 225ebdaa87 fix(frame): simlify error excption context
We should not raise error with the exact context after logging it
because it will end up duplicated in the log
2021-09-28 18:15:32 +02:00
JimMoen c1ff30896a fix(frame): safely serializing and structured log. 2021-09-28 18:55:25 +08:00
JimMoen 9832eea250 fix(frame): safely parsings. 2021-09-28 14:11:18 +08:00
JimMoen 7d6180f10a fix(frame): variable byte integer could be larger than 4 bytes. 2021-09-28 14:11:18 +08:00
Zaiming Shi a158b0235d chore(tests): use assertError
the ?catch_error macro passes when there is no exception
2021-09-28 14:11:18 +08:00
Zaiming Shi fec3c6574e perf(emqx_frame): skip empty tail 2021-09-28 14:11:18 +08:00
Zaiming Shi 9d0ef5de6b refactor(emqx_frame): log frame parse error with more context 2021-09-28 14:11:18 +08:00
tigercl 79685a77ba
Merge branch 'master' into fix/authn2 2021-09-28 09:27:08 +08:00
Zaiming (Stone) Shi 3df21a9e14
Merge pull request #5822 from Spycsh/fix-windows-compile
chore: fix Windows compilation process
2021-09-27 23:30:59 +02:00
Zaiming Shi 697a11ded0 fix(tls): drop unsupported ciphers
we use a hard-coded list of pre-selected ciphers as config
default value. some of them may not be supported by the
underlying openssl lib.

now moved the pre-selected ciphers to emqx_tls_lib:selected_ciphers
which performs a filtering before return.
2021-09-27 20:51:48 +02:00
Shawn e2721c144c feat(bridge): support http bridge 2021-09-27 22:01:18 +08:00
zhouzb 74c9a38e9f fix(psk): fix bugs and add test case 2021-09-27 21:42:32 +08:00
Zaiming Shi 5417eb328a fix(schema): no ciphers validator for quic listener 2021-09-27 13:53:54 +02:00
Zaiming Shi 58ffc4651f fix(config): use default value for tls versions
default value for ssl.versions is dynamically resolved based
on otp version and underlying openssl installation
2021-09-27 13:53:54 +02:00
Zaiming Shi d376c0f9fc refactor(schema): call emqx_tls_lib for default tls versions 2021-09-27 13:53:54 +02:00
Zaiming Shi e7e8b8c77b fix(schema): check tlsv1.3 availability 2021-09-27 13:53:54 +02:00
zhouzb f9aa345787 chore(psk): improve logs for psk 2021-09-27 15:32:56 +08:00
zhouzb 2262bf508e chore(authn): improve code 2021-09-27 14:50:22 +08:00
zhongwencool 5280f83651
Merge pull request #5784 from zhongwencool/delayed-api-schema
feat(delayed_api): support hocon schema
2021-09-27 13:45:17 +08:00
Shawn 69f3cce75d feat(rules): hook on bridges events and query bridges from rules 2021-09-26 23:00:08 +08:00
Shawn bd081913b5 refactor(rules): remove emqx_rule_actions 2021-09-26 23:00:08 +08:00
lafirest acb5c693ba
Merge pull request #5767 from lafirest/fix/time_unit
fix(schema): fix some time unit in schema
2021-09-26 15:35:27 +08:00
JianBo He b78c914651 test(authn): cleanup the dirty configs 2021-09-26 15:19:55 +08:00
JianBo He f3c675b139 chore(deps): upgrade esockd to 5.8.3 2021-09-26 15:19:55 +08:00
lafirest 6e3ec6c9db fix(schema): fix authn/z's schema time unit 2021-09-26 14:41:46 +08:00
lafirest e31e175e47 fix(schema): fix some time unit in schema 2021-09-26 14:38:53 +08:00
zhouzb 096e85dc14 chore(authn): improve log and fix disabled authentication still working 2021-09-26 11:31:19 +08:00
zhouzb 6051ea92eb chore(authn): improve log 2021-09-24 17:24:04 +08:00
zhouzb e31840d943 fix(authn): add timeout option for mysql connector 2021-09-24 17:15:10 +08:00
zhouzb d391690505 chore(psk): fix bugs 2021-09-24 17:07:08 +08:00
zhouzb e9cd757432 chore(psk): delete old module and update configuration 2021-09-24 17:07:05 +08:00
zhouzb 7c61bc18cf feat(psk): support psk 2021-09-24 17:05:26 +08:00
zhongwencool 8c441673c2 feat(delayed_api): support hocon schema 2021-09-24 15:22:05 +08:00
JimMoen e737f18548 fix(mgmt_api): Friendly HTTP Status Code for Listeners. 2021-09-24 14:28:52 +08:00
Zaiming Shi 3027bc3a0c fix(schema): sll key and cert files are nullable 2021-09-23 16:57:16 +02:00
Zaiming Shi 4392357877 fix(schema): simplify ssl ciphers filed schema 2021-09-23 16:57:16 +02:00
Zaiming Shi 4f638b8242 fix(schema): upgrade to hocon 0.19.5
renamed no_conversion option to only_fill_defaults
2021-09-23 16:57:15 +02:00
Zaiming Shi 5bd67a49de chore(schema): reformat schema fields descriptions 2021-09-23 16:56:02 +02:00
Zaiming Shi 97e1cf65b7 refactor(schema): make a client ssl options schema
client and server ssl options share some common fields
this commit make an abstraction for the common fields
then export server_ssl_options_schema/2 and client_ssl_options_schema/1
for other schema modules to call
2021-09-23 16:56:02 +02:00
Zaiming Shi fbd5701989 fix(emqx_schema): make ssl config schema right 2021-09-23 16:56:02 +02:00
zhouzb 4860049268 chore(authn): insert final newline 2021-09-23 10:11:54 +08:00
zhouzb 79026d5900 chore(authn): add supervisor for authn and fix checking errors 2021-09-23 10:11:50 +08:00
tigercl 2b9870992c
Merge pull request #5763 from tigercl/feat/clear-certs
feat(clear certs): clear certs when deleting instance
2021-09-23 09:43:56 +08:00
zhongwencool 81a795ffc9
Merge pull request #5728 from zhongwencool/swagger-hocon-spec
chore(swagger): swagger support hocon schema
2021-09-22 17:42:07 +08:00
zhongwencool 085d8e8efa chore(schema): restore space 2021-09-22 16:41:00 +08:00
zhongwencool dab5fbf285 feat(swagger): swagger support hocon schema 2021-09-21 21:41:16 +08:00
Zaiming Shi 2edd3879b8 feat(config): save override config in hocon pretty-print format 2021-09-19 14:33:43 +02:00
zhouzb bb4e5fdb4f chore(authn): fix dialyzer 2021-09-18 09:14:03 +08:00
zhouzb 69755ad3fb fix(authn): fix bug in authn 2021-09-18 09:14:03 +08:00
zhouzb b89973ce7c fix(authn): fix type error 2021-09-18 09:14:00 +08:00
zhouzb 35a4a05f03 feat(clear certs): clear certs when deleting instance 2021-09-18 09:11:41 +08:00
JimMoen 6edc9f4221 fix(emqx_types): spec refs `emqx_types.erl` instead directly. 2021-09-17 19:28:22 +08:00
JimMoen 9c95557bfc fix(emqx_types): type spec refs does not exist file. 2021-09-17 19:28:22 +08:00
JianBo He cfabb8549e build(deps): upgrade emqx_http_lib to 0.4.1 2021-09-17 18:13:57 +08:00
Zaiming (Stone) Shi ab39284ece
Merge pull request #5754 from zmstone/feat-make-possible-to-disable-client-initiated-renegotiation
feat(ssl): make possible to disable client-initiated ssl renegotiation
2021-09-17 08:22:34 +02:00
Zaiming (Stone) Shi 1af8148e30
Merge pull request #5760 from zmstone/minor-refactors
refactor(authn): minor refactors
2021-09-17 07:59:16 +02:00
tigercl 9000dab57a
Merge pull request #5761 from zmstone/fix-deps-pin-typerefl-from-main-proj
fix(deps): pin typerefl verison from root rebar.configs
2021-09-17 10:47:18 +08:00
Zaiming Shi 6cf1107f42 refactor(authn): ensure infinity timeout for gen_server call 2021-09-16 23:17:50 +02:00
Zaiming Shi 0877fb5569 refactor(authn): register providers in batch 2021-09-16 23:17:50 +02:00
Zaiming Shi 0b432a6a77 refactor(auth): rename functions from may_xx to maybe_xx 2021-09-16 23:17:50 +02:00
Zaiming Shi 13a03d8c1c feat(ssl): make possible to disable client-initiated ssl renegotiation 2021-09-16 23:17:22 +02:00
Zaiming Shi 16c652586b fix(deps): pin typerefl verison from root rebar.configs 2021-09-16 23:16:31 +02:00
zhouzb 43ce727632 chore(gen_id): using emqx_misc:gen_id/0, /1 2021-09-16 16:51:46 +08:00
JimMoen deac54c847 chore(for editor): Add comments for Emacs major mode. 2021-09-16 15:43:30 +08:00
JimMoen ba26a8511c fix(emqx_types): emqx_types:version() used but undefined. 2021-09-16 15:43:30 +08:00
k32 2a65347972
Merge pull request #5727 from k32/interleave-pqueue
feat(mqueue): Interleave messages with different priorities
2021-09-15 15:10:37 +02:00
k32 20d4652454 feat(mqueue): Interleave messages with different priorities 2021-09-15 11:58:54 +02:00
Shawn cb8dabe579 feat(bridges): add CRUD HTTP APIs for bridges 2021-09-15 17:46:42 +08:00
lafirest 75f528e08d
Merge pull request #5743 from lafirest/fix/connector
fix(emqx_schema): support get ip address by host name
2021-09-15 15:21:54 +08:00
lafirest 6c27c83dc3 fix(emqx_schema): support get ip address by host name 2021-09-15 14:59:19 +08:00
tigercl c4403e886d
Merge pull request #5732 from tigercl/feat/upload-certs
feat(upload certs): save certs to file
2021-09-15 10:58:31 +08:00
zhouzb 0fe300575e chore(authn): better function name 2021-09-15 09:59:35 +08:00
zhouzb f6d7739f01 fix(upload certs): fix external dependency 2021-09-14 16:09:36 +08:00
zhouzb 1a61640b15 feat(upload certs): serialize errors about saving cert 2021-09-14 15:07:57 +08:00
zhouzb ee178ccea9 feat(upload certs): support return cert content by http api 2021-09-14 14:59:13 +08:00
zhouzb 63d3a7b525 feat(upload certs): save certs to file 2021-09-14 13:38:09 +08:00
zhongwencool 86eb6605f1
Merge pull request #5623 from zhongwencool/cluster-call-api
feat(cluster-call): support confirm success after all mfa apply ok
2021-09-13 16:03:47 +08:00
zhanghongtong 07a2ef4700 chore(release): update emqx release version 2021-09-10 19:34:45 +08:00
tigercl 78397329e8
Merge pull request #5684 from tigercl/chore/authn
chore(authn): provide easy-to-read hints for more errors
2021-09-10 19:04:11 +08:00
zhouzb a3b587c9f9 fix(authn): fix test case for authn 2021-09-10 18:13:11 +08:00
zhouzb 6b521acd6f fix(authn): fix type error for http headers 2021-09-10 17:31:16 +08:00
zhouzb b07e686350 fix(authn): fix bad type 2021-09-10 16:58:10 +08:00
zhouzb 5cea9a4edc chore(authn): add api spec 2021-09-10 15:55:37 +08:00
Zaiming Shi 01ce32094c refactor(bin/emax): delete cold_eval 2021-09-10 07:28:12 +02:00
Zaiming Shi 0b11ab2d59 refactor(schema): reorder config root fields
so more important configs are ordered before less important
2021-09-10 07:28:09 +02:00
Zaiming Shi 01166a8bfb feat(schema): generate document when building the release 2021-09-10 07:27:02 +02:00
Zaiming Shi 6b7d3bcf98 chore(hocon): upgrade to 0.17.0 2021-09-10 07:27:01 +02:00
Zaiming Shi 3a60f00643 refactor(emqx_gateway_schema): use hoconsc:map 2021-09-10 07:27:01 +02:00
Zaiming Shi 0039bfca6b refactor(emqx_machine_schema): use hoconsc:map type 2021-09-10 07:27:01 +02:00
Zaiming Shi bbd1c142de refactor(emqx_schema): use hoconsc:map type 2021-09-10 07:27:01 +02:00
Zaiming Shi a9cca84595 fix(emqx_schema): allow listener to be null 2021-09-10 07:27:01 +02:00
zhongwencool 5a4428c53d Merge branch 'cluster-call-api' of https://github.com/zhongwencool/emqx into zhongwencool-cluster-call-api 2021-09-10 13:11:13 +08:00
zhouzb c6e52b32fb chore(authn): improve code of moving authenticator 2021-09-09 09:32:18 +08:00
JimMoen b5d1ffa814
Merge pull request #5673 from JimMoen/stu-dev
Code refactor during studying.
2021-09-08 18:17:05 +08:00
DDDHuang e2d9d9bfcb
fix: banned api rfc time & login hidden error type (#5681) 2021-09-08 17:53:52 +08:00
zhouzb 7d312a630b chore(authn): provide easy-to-read hints for more errors 2021-09-08 16:35:54 +08:00
Jim Moen 4e5d781d21 fix: Words spelling fix. 2021-09-08 11:39:56 +08:00
Jim Moen bcebe1de24 refactor(emqx_cm_sup): Internal functions to create workers. 2021-09-08 11:39:56 +08:00
zhouzb 287d315ed5 fix(listener): updating authentication no longer causes the listener to restart 2021-09-08 11:24:59 +08:00
zhouzb 29cad91a47 fix(authn): fix superuser in mongodb authn 2021-09-08 10:58:00 +08:00
zhouzb 8531e9ce11 chore(authn): rename superuser to is_superuser 2021-09-08 09:53:39 +08:00
zhouzb be38bcc5cc chore(authn): adapt listener id type 2021-09-08 09:46:47 +08:00
Jim Moen c54847b6e9 refactor(mqtt_frame): Avoid duplicate variable when frame assembling. 2021-09-08 09:26:47 +08:00
zhouzb 627de1d58c fix(test): fix test case 2021-09-07 10:29:45 +08:00
zhouzb e998770f2e refactor(authn): refactor to support global and listener authentication 2021-09-06 18:46:08 +08:00
Zaiming Shi 19aff7bfdd fix(authz): schema fields used directly. 2021-09-03 14:58:49 +02:00
Zaiming Shi ec13463f4a refactor(schema): prepare for hocon schema doc generation 2021-09-03 11:02:31 +02:00
Shawn 60b8215360 feat(config): support wildcard paths for config handlers 2021-09-03 13:39:43 +08:00
Shawn a89bc97ed8 fix(config): don't write to override.conf if 'override_conf_file' is not set 2021-09-03 10:42:12 +08:00
Shawn daca99f0f6 feat(config): add option 'persistent => boolean()' to emqx:update_config/3 2021-09-03 10:42:12 +08:00
Shawn 304874f0ff feat(config): load and merge emqx_override.conf at bootup 2021-09-03 10:42:12 +08:00
DDDHuang 3bc92e5845
fix: mgmt listener cli (#5632)
* fix: mgmt cli linteners
2021-09-02 17:16:13 +08:00
zhongwencool 679edbc29c feat(cluster-call): support confirm success after all mfa apply ok 2021-09-02 10:03:03 +08:00
Shawn 12b8297745 fix(config): emqx_config:fill_defaults/1,2 not working 2021-09-01 14:13:19 +08:00
DDDHuang 8d2b72c278
fix: alarms api return time (#5612) 2021-08-31 19:12:27 +08:00
Shawn 7e53469bb8 fix(listeners): update the testcases for listeners 2021-08-31 19:01:11 +08:00
Shawn 0af39e88a4 feat(listeners): add DELETE APIs for removing the listeners 2021-08-31 19:01:11 +08:00
Shawn 0d1bc6d689 feat(listeners): add config handler for listeners 2021-08-31 19:01:11 +08:00
Shawn e6306bccd8 feat(map_lib): add emqx_map_lib:diff_maps/2 2021-08-31 19:01:11 +08:00
Shawn 50ccaec4b0 fix(emqx_schema): define bind as a mandatory config of listener 2021-08-31 19:01:11 +08:00
Shawn 8c36b7879f feat(listeners): APIs for updating the listener 2021-08-31 19:01:11 +08:00
Shawn 05fc6d9e45 fix(dialyzer): bad function spec for emqx_map_lib:deep_convert/3 2021-08-31 19:01:11 +08:00
Shawn ca327b7c55 refactor(listener): GET /listeners API returns full config of listeners 2021-08-31 19:01:11 +08:00
Zaiming Shi 5165fd6b30 refactor(schema): implement new hocon_schema callbacks 2021-08-30 09:56:03 +08:00
Zaiming Shi 9e4c7b5f76 chore(config): upgrade to hocon 0.14.0 2021-08-30 09:56:03 +08:00
zhanghongtong eb495535d2 chore(release): update emqx release version 2021-08-27 21:19:53 +08:00