Commit Graph

612 Commits

Author SHA1 Message Date
Shawn e15c0c325e fix(rule_engine): nested_get value from binary was supported in 4.1 2020-12-22 11:18:16 +08:00
Shawn 86d20b060c fix(metrics): counters not created before incr 'rule.matched' 2020-12-22 11:18:16 +08:00
Shawn c3159420bb feat(funcs): add bitsize/1 and subbits/2,3,6 functions 2020-12-22 11:18:16 +08:00
Yudai Kiyofuji 8a50c70ca3
Merge pull request #3929 from z8674558/feat/coap-acl
feat(coap): use emqx_access_control:check_acl before pub/sub
2020-12-21 16:38:49 +09:00
zhanghongtong 0ef84d2722 fix(auth mnesia): remove the duplicate cli command
style(auth mnesia): fix elvis check failurex

style(auth mnesia): remove the extra symbol
2020-12-19 15:20:46 +08:00
Shawn e72cbd22c4 fix(rule_validator): fill default values when validating the params 2020-12-18 11:08:17 +08:00
z8674558 a564670863 fix(coap): fix the issue the connection with same clientid is not discarded 2020-12-17 15:57:38 +09:00
zhanghongtong fd6cc1a848 test(CI): update actions
add fvt tests

update test cases
2020-12-17 14:23:33 +08:00
Shawn 0a44270932
* fix(dialyzer): remove the dialyzer errors 2020-12-17 10:04:49 +08:00
z8674558 f06ec6baaa chore(lint): fix elvis 2020-12-17 10:55:57 +09:00
z8674558 c89dad559e feat(coap): use emqx_access_control:check_acl before pub/sub 2020-12-17 10:36:51 +09:00
Zaiming Shi d4e7a87807 fix(emqx_stomp): Fix emqx_stomp_protocol xref 2020-12-16 18:39:18 +08:00
Zaiming Shi ab57c19e7a
Merge pull request #3917
Fix dialyzer warnings
2020-12-15 13:50:31 +01:00
ayodele.akingbule 893301db6a fix(emqx_stomp_protocol): fix Dialyzer warnings 2020-12-15 12:45:47 +01:00
ayodele.akingbule ec79523ea5 fix(emqx_rule_actions): fix Dialyzer warnings 2020-12-15 11:39:52 +01:00
ayodele.akingbule 51c62dfe65 fix(emqx_auth_mnesia_api): fix Dialyzer warnings 2020-12-15 11:31:55 +01:00
ayodele.akingbule 8ee98e3f20 fix(emqx_rule_utils): fix Dialyzer warnings 2020-12-15 11:31:55 +01:00
z8674558 66ebcfa301 test(emqx_auth_redis): add test cases for sentinel 2020-12-15 10:35:13 +08:00
JianBo He bddacf5284 test(management): refine the tests 2020-12-14 11:35:05 +08:00
JianBo He 5d98944c94 feat(management): implement the auth-mnesia import/export
All codes picks from emqx-management:dev/e4.2.3
2020-12-14 11:35:05 +08:00
JianBo He 1b016b16f4
Merge branch 'dev/v4.3.0' into refact/avoid_anonymous_funcs 2020-12-14 11:23:13 +08:00
JianBo He 1be1757bbd fix(mongo): avoid function_caluse while query returned other types 2020-12-14 11:13:36 +08:00
JianBo He 27d6b73c37 refactor(mqttsn): avoid saving anonymous functions 2020-12-14 11:13:04 +08:00
Zaiming Shi d60212787b chore(build): remove emqx from app's applications list 2020-12-12 23:02:26 +01:00
Shawn 10dbb5bc96
Fix testcases warns (#3906) 2020-12-11 18:54:48 +08:00
Zaiming Shi 7bdd093ef5 Merge remote-tracking branch 'origin/dev/v4.3.0' into umbrella-fix-build 2020-12-11 08:55:57 +01:00
Zaiming Shi d75b89eadb chore(proj): sync .ci directories 2020-12-11 08:37:14 +01:00
Zaiming Shi 0237abd3d2 chore(emqx_lwm2m): Ensure xml dir copied to build dir 2020-12-11 08:29:45 +01:00
Zaiming Shi 3a91ff8a7b chore(proj): resync apps 2020-12-11 08:19:26 +01:00
ayodele.akingbule b2efcef4b4 fix(emqx_rule_runtime): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule 6ffb20e1d4 fix(emqx_auth_mnesia_api): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule 7998ea1703 fix(emqx_auth_mnesia): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule 5644fdc1f0 fix(emqx_acl_mnesia): Dialyzer warnings 2020-12-10 23:34:36 +01:00
ayodele.akingbule b08d9d5d9b fix(emqx_auth_jwt_svr): Dialyzer warnings 2020-12-10 23:34:36 +01:00
Shawn ed510936fe fix(test): revert the code committed by mistake 2020-12-10 21:37:29 +08:00
Ayodele 56d7b3deb1 Umbrella fix build (#8) 2020-12-10 11:25:25 +01:00
Zaiming Shi fb5ad0559f fix(emqx_exproto_conn): dialyzer warning 2020-12-10 11:22:38 +01:00
Zaiming Shi d3fda0f944 refactor(emqx_coap): pin gen_coap 0.3.1 for dialyzer warning fix 2020-12-10 11:22:38 +01:00
Zaiming Shi 19edda4136 fix(emqx_lwm2m): bump to lwm2m_coap 1.1.2 2020-12-10 11:22:38 +01:00
Ayodele ff99bc10ad Umbrella fix build (#7)
* fix(emqx_auth_mongo): Dialyzer warnings

* fix(emqx_auth_mnesia_api): Dialyzer warnings

* fix(emqx_exhook): Dialyzer warnings
2020-12-10 11:22:38 +01:00
Ayodele 0cb9cbce71 Umbrella fix build (#6)
* fix(emqx_bridge_rpc): Dialyzer warnings

* fix(emqx_coap_app): Dialyzer warnings

* fix(emqx_coap_mqtt_adapter): Dialyzer warnings

* fix(emqx_lwm2m_json): Dialyzer warnings

* fix(emqx_lwm2m_message): Dialyzer warnings

* fix(emqx_mgmt): Dialyzer warnings

* fix(emqx_mgmt_cli): Dialyzer warnings

* fix(emqx_mgmt): Dialyzer warnings

* fix(emqx_bridge_rpc): Dialyzer warnings

* fix(emqx_mgmt): Dialyzer warnings

* fix(emqx_exproto_gcli): Dialyzer warnings
2020-12-10 11:22:38 +01:00
Ayodele 13b67c0d19 Umbrella fix build (#5)
* fix(emqx_auth_jwt): Dialyzer warnings

* fix(emqx_auth_mnesia_cli): Dialyzer warnings

* fix(emqx_bridge_mqtt_cli): Dialyzer warnings

* fix(emqx_bridge_mqtt_cli): Dialyzer warnings

* fix(emqx_auth_redis_sup): Dialyzer warnings

* fix(emqx_bridge_mqtt): Dialyzer warnings

* fix(emqx_auth_pgsql_cli): Dialyzer warnings

* fix(emqx_bridge_mqtt_cli): Dialyzer warnings

* fix(emqx_auth_mnesia_cli): Dialyzer warnings
2020-12-10 11:22:38 +01:00
ayodele.akingbule 18ddde0174 fix(emqx_lwm2m_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule a03d7045cf fix(emqx_lwm2m_protocol): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 80f56654e2 fix(emqx_psk_file): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 01fe9d3ee7 fix(emqx_psk_file_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 7116a22fa5 fix(emqx_psk_file): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 1a8baa9d8a fix(emqx_management): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 37e3b11263 fix(emqx_mgmt_api_alarms): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 8ed5dc0b78 fix(emqx_lwm2m_timer): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule a94b70a95e fix(emqx_lua_hook): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 31c6292008 fix(emqx_exproto_conn): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule b0ea0e2ddb fix(emqx_exhook_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule cb4892b8c4 fix(emqx_dashboard_admin): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule d54a5300fc fix(emqx_coap_registry): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 950430d5da fix(emqx_coap_ps_topics): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 822460377c fix(emqx_auth_redis_cli): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule b5e0386c98 fix(emqx_auth_redis_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 0e24e59366 fix(emqx_auth_mysql_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 7ba5c1787b fix(emqx_auth_mnesia_cli): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule 4905b98c26 fix(emqx_auth_ldap_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule dc27900260 fix(emqx_auth_jwt_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule d8c9547a5e fix(emqx_auth_http): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi c8b866dc63 fix(emqx_rule_engine): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 5bb1da5896 fix(emqx_rule_engine_sup): discard ets:new return value 2020-12-10 11:22:38 +01:00
ayodele.akingbule 9db6b3b430 fix(emqx_auth_mnesia_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
ayodele.akingbule db25660497 fix(emqx_auth_http_app): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 39883bdab1 fix(emqx_retainer): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 8bb8dc5363 fix(emqx_rule_engine): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 692f59afaf fix(emqx_rule_events): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 3dc11bc9e1 fix(emqx_rule_funcs): Fix strng:pad calls 2020-12-10 11:22:38 +01:00
Zaiming Shi 526d6f74bb fix(emqx_rule_metrics): Fix type specs 2020-12-10 11:22:38 +01:00
Zaiming Shi a504539097 fix(emqx_rule_registry): Dialyzer warning 2020-12-10 11:22:38 +01:00
Zaiming Shi e58abd916c fix(rule_engine.hrl): Type spec, args map is keyed by binary 2020-12-10 11:22:38 +01:00
Zaiming Shi a59218d008 fix(emqx_plugin_template): Dialyzer wanrings 2020-12-10 11:22:38 +01:00
Zaiming Shi bdfcc2da0e fix(emqx_rule_engine_api): Dialyzer warnings for no_match 2020-12-10 11:22:38 +01:00
Zaiming Shi ff55b0ff45 fix(emqx_rule_runtime): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 42ed274ec3 fix(emqx_rule_runtime): Dialyzer warnings 2020-12-10 11:22:38 +01:00
Zaiming Shi 764d5977c1 fix(emqx_rule_engine): Dialyzer warning related to generated code 2020-12-10 11:22:38 +01:00
Zaiming Shi 6a1aae52eb fix(emqx_rule_validator): Dialyzer warning 2020-12-10 11:22:38 +01:00
Zaiming Shi 4cfe4e9940 fix(eqmx_sasl): Dialyzer warning 2020-12-10 11:22:38 +01:00
Shawn 02afda2f3b chore(test): testing the github action 2020-12-10 16:49:32 +08:00
Zaiming Shi baaa4e847d fix(emqx_sn_gateway): Dialyzer warnings 2020-12-10 09:49:24 +01:00
Zaiming Shi 8d853a3445 fix(dialyzer/emqx_sn): Fix unmatched return value warning 2020-12-10 09:37:23 +01:00
Zaiming Shi 2e5a0b799d fix(sn): Fix dialyzer warnings 2020-12-10 09:35:35 +01:00
Zaiming Shi 760ef9210a fix(stomp): Fix dialyzer warnings 2020-12-10 09:35:35 +01:00
Zaiming Shi bcae92ae6d fix(telemetry): Fix dialyzer warning about mnesia dirty op race 2020-12-10 09:35:35 +01:00
Zaiming Shi 996b205299 fix(telemetry): Fix dialyzer warning in emqx_telemetry_api 2020-12-10 09:35:35 +01:00
Shawn 12e0028b77 fix(mgmt): remove schema_registry calls from opensource code 2020-12-10 16:30:48 +08:00
Zaiming Shi ecf69b3464 chore(emqx_lwm2m): Add TEST compiler condition for test code 2020-12-10 09:29:46 +01:00
JianBo He 2b1429fe03 test(stomp): cover the emqx_stom_heartbeat:interval/2 2020-12-10 13:08:03 +08:00
JianBo He 713b4c7804 refactor(stomp): remove transaction module 2020-12-10 12:33:55 +08:00
JianBo He 1263a05bbc refactor(stomp): improve code form naming 2020-12-10 12:33:55 +08:00
JianBo He 9e47d31f79 refactor(stomp): avoid anonymous functions 2020-12-10 12:33:52 +08:00
Shawn 15d048d8ec feat(funcs): add bitsize/1 and subbits/2,3,6 functions
Given following Rule SQL:

```
select
  subbits(payload, 1, 8) as firstByte,
  case
    when firstByte = 123 then 't/{'
    when firstByte = 125 then 't/}'
    else 't/' + str(firstByte)
  end as tp
from "t/#"
```

Input Payload: `{x}`
Output: `{"tp": "t/{", "firstByte": 123}`

Input Payload: `}x`
Output: `{"tp": "t/}", "firstByte": 125}`

Input Payload: `a`
Output: `{"tp": "t/97", "firstByte": 97}`
2020-12-10 11:26:07 +08:00
Shawn 573a4b2df8 chore(rule_engine): sync the code from rule-engine/dev/v4.3.0 2020-12-09 17:58:26 +08:00
JianBo He 49d15d974a build(make): add xref, dialyzer command 2020-12-09 14:21:54 +08:00
Zaiming Shi aac3d79b7d fix(build): pre-compile parse_transform modules 2020-12-09 00:28:39 +01:00
Zaiming Shi 80e1d6cc9d chore(apps): delete LICENSE files for apps 2020-12-08 22:28:46 +01:00
Zaiming Shi 6d1cd6b7ea refactor(emqx_password): move the module to emqx application
Future plugins will require emqx as a dependency.
This commit also brings back bcrypt to the system which was temporary
removed when converting to umbrella project
2020-12-08 22:09:59 +01:00
Zaiming Shi 7fdbfba06a Merge branch 'umbrella-for-430-auto-sync' into umbrella-for-430 2020-12-08 22:09:59 +01:00
Zaiming Shi 2fda0a1565 chore(apps): Sync again all apps 2020-12-07 21:30:21 +01:00
Zaiming Shi 036eda27f6 chore(rebar): Delete profiles from apps' rebar.config
otherwise rebar3 crashes
2020-12-05 13:36:56 +01:00
Zaiming Shi 9dc68bc18d chore(emqx_exhook): Delete old app.src file 2020-12-05 03:04:33 +01:00
Zaiming Shi db792ec577 chore(apps): Sync again with 4.3.0 2020-12-05 03:02:35 +01:00
Zaiming Shi 8a12018863 Add more cleanups 2020-12-05 02:45:01 +01:00
Zaiming Shi 0fb5fb31a5 refactor(proj) sync 4.3.0 plugins with tracked files 2020-12-05 02:43:04 +01:00
Zaiming Shi 686c006d6e refactor(proj): Add apps 2020-12-04 22:11:53 +01:00
Zaiming Shi 73d02beace refactor(apps): Merge emqx_libs back to emqx
And move emqx app back to root level

After realising the challenges of developing plugins in standalone
rebar projects. it is perhaps more smooth to keep using emqx as
a rebar dependency
2020-12-04 19:58:58 +01:00
Zaiming Shi 2cbd2bc800 chore(app.src): use semver 4.3.0 for apps version base 2020-12-03 19:59:41 +01:00
Zaiming Shi 9382bed9f5 refactor(proj): Move etc and data dir to apps/emqx/ 2020-12-03 12:53:02 +01:00
Zaiming Shi e236196fa6 refactor(emqx_auth_mnesia): use tag e4.2.2
Removed emqx_auth_clientid and emqx_auth_username
because the new version emqx_auth_mnesia has all the features included
2020-12-03 12:52:59 +01:00
Zaiming Shi 5f0f91bb15 Merge branch 'dev/v5.0' into umbrella-for-430 2020-12-02 17:37:34 +01:00
Zaiming Shi 5bb0cccb53 refactor(build): Clean up app version management
Starting from 5.0.0, all apps in apps dir should follow semver
strictly. Do not use the umbrella project's release tags.

The universal tags made sense when we have applications scattered
in different repos. Now since this is an umbrella project, it is
enough to have a single package level version number corelated with
git tag.
2020-12-01 23:22:33 +01:00
Zaiming Shi 2dce1883d5 refactor(build): Deterministic code generation
The rebar plugin grpcbox_plugin always re-generates modules with a
timestamp, which makes the stamping script to always result in a
new stamp after each build.

Issue has been sent
https://github.com/tsloughter/grpcbox_plugin/issues/12
2020-11-26 21:13:30 +01:00
ayodele.akingbule 4eef9f691e refactor(metrics): Add short, medium and long windowsize and expose stats 2020-11-12 12:43:31 +01:00
Zaiming Shi abb74056bd refactor(metrics): Use modified moving average for topic metrics speed 2020-11-12 12:40:36 +01:00
terry-xiaoyu e586119752 fix(project): point the hrl files to emqx_lib 2020-10-31 12:34:52 +08:00
terry-xiaoyu 0cd1c57a54 Migrate plugins from tag 4.2.2 2020-10-31 12:10:19 +08:00
terry-xiaoyu 4108662ba1 feature(project): add util app emqx_libs 2020-10-31 12:06:44 +08:00
terry-xiaoyu 7bea9920b5 feature(project): point header to emqx_libs 2020-10-31 11:00:12 +08:00
JianBo He 485bffadd6 refactor(exhook): improve the exhook implementation 2020-10-31 10:24:28 +08:00
JianBo He d1a87d38ba refactor(exproto): improve the exproto implementation 2020-10-31 10:21:53 +08:00
terry-xiaoyu 18d6647b03 feature(project): move test to apps/emqx/test 2020-10-31 10:17:47 +08:00
terry-xiaoyu 496a805aef feature(project): move priv to apps/emqx/priv 2020-10-31 10:15:25 +08:00
terry-xiaoyu d90c0dacb1 feature(project): move hrl files and emqx_logger.erl to apps/emqx_libs 2020-10-31 09:33:50 +08:00
terry-xiaoyu 5a8efd9d20 feature(project): move src to apps/emqx/src 2020-10-31 09:19:28 +08:00
Feng Lee 8702ab838c 0.9 project structure 2015-06-22 16:18:33 +08:00
Feng Lee 986bf5d911 0.9.0 project structure 2015-06-22 16:03:05 +08:00
Feng f37de3a4a7 willmsg 2015-06-17 13:30:34 +08:00
Feng Lee 02c773bb3f drop 2015-06-17 11:32:12 +08:00
Feng Lee 38e0ba08d2 session, finally count down 2015-06-17 01:25:08 +08:00
Feng Lee 08a64ee97b session 2015-06-16 02:41:03 +08:00
Feng Lee 470ac34a6d merge emqtt to emqttd app 2015-06-15 22:28:34 +08:00
Feng Lee d255a98c09 0.9 2015-06-15 19:55:59 +08:00
Feng Lee c487348c2a merge master, send willmsg when normal terminate 2015-06-15 00:08:27 +08:00
Feng Lee afa0c1819b fix issue #175 2015-06-14 23:56:19 +08:00
Feng Lee 7bfc673c28 publish willmsg when normal exit 2015-06-14 23:51:07 +08:00
Feng Lee a0f90b3ac6 upgrade session 2015-06-14 19:24:03 +08:00
Feng Lee 985fbde26f fix issue #174 - add 'from' field to mqtt_message record 2015-06-14 08:24:17 +08:00
Feng a1d778b081 sync 2015-06-14 07:13:08 +08:00
Feng Lee 9c666cef70 merge session 2015-06-13 12:09:08 +08:00
Feng 30ff3b3f4e SESSION_TAB 2015-06-12 22:47:16 +08:00
Feng 5e0bf3d831 sync with imac 2015-06-12 21:59:37 +08:00
Feng Lee c293ccab13 sync 2015-06-12 18:38:26 +08:00
Feng ddf831f361 session 2015-06-12 17:24:08 +08:00
Feng Lee 882fbb83ca out 2015-06-12 10:37:30 +08:00
Feng Lee 04c2772859 seperate session api and process 2015-06-11 23:40:57 +08:00
Feng Lee 517c7eb7b6 session upgrade 2015-06-11 23:34:53 +08:00
Feng 4313ed0cf3 comment 2015-06-11 13:57:00 +08:00