From dd873147b3629bc289b5e8a18730d14fb74d02f8 Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Tue, 7 Jun 2022 16:21:04 +0800 Subject: [PATCH 1/3] feat: make tcp/ssl options more straightforward --- apps/emqx/etc/emqx.conf | 46 ++++---- apps/emqx/src/emqx_connection.erl | 6 +- apps/emqx/src/emqx_listeners.erl | 6 +- apps/emqx/src/emqx_schema.erl | 100 +++++++++--------- apps/emqx/src/emqx_ws_connection.erl | 2 +- .../src/emqx_mgmt_api_listeners.erl | 2 +- 6 files changed, 84 insertions(+), 78 deletions(-) diff --git a/apps/emqx/etc/emqx.conf b/apps/emqx/etc/emqx.conf index b5c2c1f73..bd3ae4af0 100644 --- a/apps/emqx/etc/emqx.conf +++ b/apps/emqx/etc/emqx.conf @@ -1,39 +1,39 @@ listeners.tcp.default { - bind: "0.0.0.0:1883" - max_connections: 1024000 + bind = "0.0.0.0:1883" + max_connections = 1024000 } listeners.ssl.default { - bind: "0.0.0.0:8883" - max_connections: 512000 - ssl { - keyfile: "{{ platform_etc_dir }}/certs/key.pem" - certfile: "{{ platform_etc_dir }}/certs/cert.pem" - cacertfile: "{{ platform_etc_dir }}/certs/cacert.pem" + bind = "0.0.0.0:8883" + max_connections = 512000 + ssl_options { + keyfile = "{{ platform_etc_dir }}/certs/key.pem" + certfile = "{{ platform_etc_dir }}/certs/cert.pem" + cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" } } listeners.ws.default { - bind: "0.0.0.0:8083" - max_connections: 1024000 - websocket.mqtt_path: "/mqtt" + bind = "0.0.0.0:8083" + max_connections = 1024000 + websocket.mqtt_path = "/mqtt" } listeners.wss.default { - bind: "0.0.0.0:8084" - max_connections: 512000 - websocket.mqtt_path: "/mqtt" - ssl { - keyfile: "{{ platform_etc_dir }}/certs/key.pem" - certfile: "{{ platform_etc_dir }}/certs/cert.pem" - cacertfile: "{{ platform_etc_dir }}/certs/cacert.pem" + bind = "0.0.0.0:8084" + max_connections = 512000 + websocket.mqtt_path = "/mqtt" + ssl_options { + keyfile = "{{ platform_etc_dir }}/certs/key.pem" + certfile = "{{ platform_etc_dir }}/certs/cert.pem" + cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" } } # listeners.quic.default { -# enabled: false -# bind: "0.0.0.0:14567" -# max_connections: 1024000 -# keyfile: "{{ platform_etc_dir }}/certs/key.pem" -# certfile: "{{ platform_etc_dir }}/certs/cert.pem" +# enabled = false +# bind = "0.0.0.0:14567" +# max_connections = 1024000 +# keyfile = "{{ platform_etc_dir }}/certs/key.pem" +# certfile = "{{ platform_etc_dir }}/certs/cert.pem" #} diff --git a/apps/emqx/src/emqx_connection.erl b/apps/emqx/src/emqx_connection.erl index 2d44f3b87..e71361364 100644 --- a/apps/emqx/src/emqx_connection.erl +++ b/apps/emqx/src/emqx_connection.erl @@ -1176,5 +1176,7 @@ get_state(Pid) -> ) ). -get_active_n(quic, _Listener) -> ?ACTIVE_N; -get_active_n(Type, Listener) -> emqx_config:get_listener_conf(Type, Listener, [tcp, active_n]). +get_active_n(quic, _Listener) -> + ?ACTIVE_N; +get_active_n(Type, Listener) -> + emqx_config:get_listener_conf(Type, Listener, [tcp_options, active_n]). diff --git a/apps/emqx/src/emqx_listeners.erl b/apps/emqx/src/emqx_listeners.erl index 87d94e672..1327d5caa 100644 --- a/apps/emqx/src/emqx_listeners.erl +++ b/apps/emqx/src/emqx_listeners.erl @@ -406,7 +406,7 @@ esockd_opts(Type, Opts0) -> ws_opts(Type, ListenerName, Opts) -> WsPaths = [ - {maps:get(mqtt_path, Opts, "/mqtt"), emqx_ws_connection, #{ + {emqx_map_lib:deep_get([websocket, mqtt_path], Opts, "/mqtt"), emqx_ws_connection, #{ zone => zone(Opts), listener => {Type, ListenerName}, limiter => limiter(Opts) @@ -497,7 +497,7 @@ limiter(Opts) -> ssl_opts(Opts) -> maps:to_list( emqx_tls_lib:drop_tls13_for_old_otp( - maps:get(ssl, Opts, #{}) + maps:get(ssl_options, Opts, #{}) ) ). @@ -505,7 +505,7 @@ tcp_opts(Opts) -> maps:to_list( maps:without( [active_n], - maps:get(tcp, Opts, #{}) + maps:get(tcp_options, Opts, #{}) ) ). diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index ba180839f..a1665732a 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -787,57 +787,61 @@ fields("listeners") -> )} ]; fields("mqtt_tcp_listener") -> - [ - {"tcp", - sc( - ref("tcp_opts"), - #{} - )} - ] ++ mqtt_listener(1883); + mqtt_listener(1883) ++ + [ + {"tcp_options", + sc( + ref("tcp_opts"), + #{} + )} + ]; fields("mqtt_ssl_listener") -> - [ - {"tcp", - sc( - ref("tcp_opts"), - #{} - )}, - {"ssl", - sc( - ref("listener_ssl_opts"), - #{} - )} - ] ++ mqtt_listener(8883); + mqtt_listener(8883) ++ + [ + {"tcp_options", + sc( + ref("tcp_opts"), + #{} + )}, + {"ssl_options", + sc( + ref("listener_ssl_opts"), + #{} + )} + ]; fields("mqtt_ws_listener") -> - [ - {"tcp", - sc( - ref("tcp_opts"), - #{} - )}, - {"websocket", - sc( - ref("ws_opts"), - #{} - )} - ] ++ mqtt_listener(8083); + mqtt_listener(8083) ++ + [ + {"tcp_options", + sc( + ref("tcp_opts"), + #{} + )}, + {"websocket", + sc( + ref("ws_opts"), + #{} + )} + ]; fields("mqtt_wss_listener") -> - [ - {"tcp", - sc( - ref("tcp_opts"), - #{} - )}, - {"ssl", - sc( - ref("listener_wss_opts"), - #{} - )}, - {"websocket", - sc( - ref("ws_opts"), - #{} - )} - ] ++ mqtt_listener(8084); + mqtt_listener(8084) ++ + [ + {"tcp_options", + sc( + ref("tcp_opts"), + #{} + )}, + {"ssl_options", + sc( + ref("listener_wss_opts"), + #{} + )}, + {"websocket", + sc( + ref("ws_opts"), + #{} + )} + ]; fields("mqtt_quic_listener") -> [ {"enabled", diff --git a/apps/emqx/src/emqx_ws_connection.erl b/apps/emqx/src/emqx_ws_connection.erl index 52f998acd..c76bbd393 100644 --- a/apps/emqx/src/emqx_ws_connection.erl +++ b/apps/emqx/src/emqx_ws_connection.erl @@ -1046,4 +1046,4 @@ get_ws_opts(Type, Listener, Key) -> emqx_config:get_listener_conf(Type, Listener, [websocket, Key]). get_active_n(Type, Listener) -> - emqx_config:get_listener_conf(Type, Listener, [tcp, active_n]). + emqx_config:get_listener_conf(Type, Listener, [tcp_options, active_n]). diff --git a/apps/emqx_management/src/emqx_mgmt_api_listeners.erl b/apps/emqx_management/src/emqx_mgmt_api_listeners.erl index 75fdc8cd7..c5d7f9f55 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_listeners.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_listeners.erl @@ -685,7 +685,7 @@ tcp_schema_example() -> proxy_protocol => false, proxy_protocol_timeout => <<"3s">>, running => true, - tcp => #{ + tcp_options => #{ active_n => 100, backlog => 1024, buffer => <<"4KB">>, From 5e92ef54c5aadd4b12b387722f95cfcce4c4a07d Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Tue, 7 Jun 2022 17:16:38 +0800 Subject: [PATCH 2/3] fix: ct failed --- apps/emqx/test/emqx_channel_SUITE.erl | 4 ++-- apps/emqx/test/emqx_client_SUITE.erl | 2 +- apps/emqx/test/emqx_connection_SUITE.erl | 4 ++-- apps/emqx/test/emqx_listeners_SUITE.erl | 2 +- apps/emqx/test/emqx_takeover_SUITE.erl | 4 ++-- .../test/emqx_mgmt_api_listeners_SUITE.erl | 4 ++-- apps/emqx_modules/test/emqx_delayed_SUITE.erl | 7 +++++++ apps/emqx_modules/test/emqx_delayed_api_SUITE.erl | 2 +- apps/emqx_modules/test/emqx_rewrite_SUITE.erl | 10 +++++----- apps/emqx_modules/test/emqx_rewrite_api_SUITE.erl | 2 +- apps/emqx_modules/test/emqx_telemetry_SUITE.erl | 8 ++++---- apps/emqx_modules/test/emqx_telemetry_api_SUITE.erl | 2 +- apps/emqx_modules/test/emqx_topic_metrics_SUITE.erl | 2 +- .../emqx_modules/test/emqx_topic_metrics_api_SUITE.erl | 2 +- apps/emqx_psk/test/emqx_psk_SUITE.erl | 2 +- 15 files changed, 32 insertions(+), 25 deletions(-) diff --git a/apps/emqx/test/emqx_channel_SUITE.erl b/apps/emqx/test/emqx_channel_SUITE.erl index 3383b1ee5..e8367de18 100644 --- a/apps/emqx/test/emqx_channel_SUITE.erl +++ b/apps/emqx/test/emqx_channel_SUITE.erl @@ -106,7 +106,7 @@ listener_mqtt_tcp_conf() -> mountpoint => <<>>, proxy_protocol => false, proxy_protocol_timeout => 3000, - tcp => #{ + tcp_options => #{ active_n => 100, backlog => 1024, buffer => 4096, @@ -128,7 +128,7 @@ listener_mqtt_ws_conf() -> mountpoint => <<>>, proxy_protocol => false, proxy_protocol_timeout => 3000, - tcp => + tcp_options => #{ active_n => 100, backlog => 1024, diff --git a/apps/emqx/test/emqx_client_SUITE.erl b/apps/emqx/test/emqx_client_SUITE.erl index c383f9d33..621e70c63 100644 --- a/apps/emqx/test/emqx_client_SUITE.erl +++ b/apps/emqx/test/emqx_client_SUITE.erl @@ -78,7 +78,7 @@ groups() -> init_per_suite(Config) -> emqx_common_test_helpers:boot_modules(all), emqx_common_test_helpers:start_apps([]), - emqx_config:put_listener_conf(ssl, default, [ssl, verify], verify_peer), + emqx_config:put_listener_conf(ssl, default, [ssl_options, verify], verify_peer), emqx_listeners:restart_listener('ssl:default'), Config. diff --git a/apps/emqx/test/emqx_connection_SUITE.erl b/apps/emqx/test/emqx_connection_SUITE.erl index 5f1ac66fc..b199565c2 100644 --- a/apps/emqx/test/emqx_connection_SUITE.erl +++ b/apps/emqx/test/emqx_connection_SUITE.erl @@ -256,9 +256,9 @@ t_handle_msg_deliver(_) -> t_handle_msg_inet_reply(_) -> ok = meck:expect(emqx_pd, get_counter, fun(_) -> 10 end), - emqx_config:put_listener_conf(tcp, default, [tcp, active_n], 0), + emqx_config:put_listener_conf(tcp, default, [tcp_options, active_n], 0), ?assertMatch({ok, _St}, handle_msg({inet_reply, for_testing, ok}, st())), - emqx_config:put_listener_conf(tcp, default, [tcp, active_n], 100), + emqx_config:put_listener_conf(tcp, default, [tcp_options, active_n], 100), ?assertEqual(ok, handle_msg({inet_reply, for_testing, ok}, st())), ?assertMatch( {stop, {shutdown, for_testing}, _St}, diff --git a/apps/emqx/test/emqx_listeners_SUITE.erl b/apps/emqx/test/emqx_listeners_SUITE.erl index f26e49c9b..a9d299d88 100644 --- a/apps/emqx/test/emqx_listeners_SUITE.erl +++ b/apps/emqx/test/emqx_listeners_SUITE.erl @@ -78,7 +78,7 @@ init_per_testcase(t_wss_conn, Config) -> listener_test => #{ bind => {{127, 0, 0, 1}, 9998}, limiter => #{}, - ssl => #{ + ssl_options => #{ cacertfile => ?CERTS_PATH("cacert.pem"), certfile => ?CERTS_PATH("cert.pem"), keyfile => ?CERTS_PATH("key.pem") diff --git a/apps/emqx/test/emqx_takeover_SUITE.erl b/apps/emqx/test/emqx_takeover_SUITE.erl index 1ef2942c5..ab3474a32 100644 --- a/apps/emqx/test/emqx_takeover_SUITE.erl +++ b/apps/emqx/test/emqx_takeover_SUITE.erl @@ -35,9 +35,9 @@ all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> ?check_trace( ?wait_async_action( - emqx_common_test_helpers:start_apps([]), + emqx_common_test_helpers:start_apps([emqx_conf]), #{?snk_kind := listener_started, bind := 1883}, - timer:seconds(5) + timer:seconds(10) ), fun(Trace) -> %% more than one listener diff --git a/apps/emqx_management/test/emqx_mgmt_api_listeners_SUITE.erl b/apps/emqx_management/test/emqx_mgmt_api_listeners_SUITE.erl index 29adfc302..8ea1ea718 100644 --- a/apps/emqx_management/test/emqx_mgmt_api_listeners_SUITE.erl +++ b/apps/emqx_management/test/emqx_mgmt_api_listeners_SUITE.erl @@ -96,7 +96,7 @@ crud_listeners_by_id(ListenerId, NewListenerId, MinListenerId, BadId, Type) -> MinConf = case OriginListener of #{ - <<"ssl">> := + <<"ssl_options">> := #{ <<"cacertfile">> := CaCertFile, <<"certfile">> := CertFile, @@ -107,7 +107,7 @@ crud_listeners_by_id(ListenerId, NewListenerId, MinListenerId, BadId, Type) -> <<"id">> => MinListenerId, <<"bind">> => <<"0.0.0.0:3883">>, <<"type">> => Type, - <<"ssl">> => #{ + <<"ssl_options">> => #{ <<"cacertfile">> => CaCertFile, <<"certfile">> => CertFile, <<"keyfile">> => KeyFile diff --git a/apps/emqx_modules/test/emqx_delayed_SUITE.erl b/apps/emqx_modules/test/emqx_delayed_SUITE.erl index 2dba326f6..c38d34641 100644 --- a/apps/emqx_modules/test/emqx_delayed_SUITE.erl +++ b/apps/emqx_modules/test/emqx_delayed_SUITE.erl @@ -30,11 +30,18 @@ %%-------------------------------------------------------------------- %% Setups %%-------------------------------------------------------------------- +-define(BASE_CONF, #{ + <<"dealyed">> => <<"true">>, + <<"max_delayed_messages">> => <<"0">> +}). all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ + raw_with_default => true + }), emqx_common_test_helpers:start_apps([emqx_conf, emqx_modules]), Config. diff --git a/apps/emqx_modules/test/emqx_delayed_api_SUITE.erl b/apps/emqx_modules/test/emqx_delayed_api_SUITE.erl index 0a17e12d2..dbed931a2 100644 --- a/apps/emqx_modules/test/emqx_delayed_api_SUITE.erl +++ b/apps/emqx_modules/test/emqx_delayed_api_SUITE.erl @@ -32,7 +32,7 @@ all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?BASE_CONF), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ raw_with_default => true }), diff --git a/apps/emqx_modules/test/emqx_rewrite_SUITE.erl b/apps/emqx_modules/test/emqx_rewrite_SUITE.erl index 36368aace..47c0abe11 100644 --- a/apps/emqx_modules/test/emqx_rewrite_SUITE.erl +++ b/apps/emqx_modules/test/emqx_rewrite_SUITE.erl @@ -160,7 +160,7 @@ t_rewrite_re_error(_Config) -> ok. t_list(_Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?REWRITE), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?REWRITE, #{ raw_with_default => true }), Expect = maps:get(<<"rewrite">>, ?REWRITE), @@ -168,7 +168,7 @@ t_list(_Config) -> ok. t_update(_Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?REWRITE), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?REWRITE, #{ raw_with_default => true }), Init = emqx_rewrite:list(), @@ -186,7 +186,7 @@ t_update(_Config) -> ok. t_update_disable(_Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?REWRITE), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?REWRITE, #{ raw_with_default => true }), ?assertEqual(ok, emqx_rewrite:update([])), @@ -203,7 +203,7 @@ t_update_disable(_Config) -> ok. t_update_re_failed(_Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?REWRITE), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?REWRITE, #{ raw_with_default => true }), Re = <<"*^test/*">>, @@ -260,7 +260,7 @@ receive_publish(Timeout) -> end. init() -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?REWRITE), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?REWRITE, #{ raw_with_default => true }), ok = emqx_rewrite:enable(), diff --git a/apps/emqx_modules/test/emqx_rewrite_api_SUITE.erl b/apps/emqx_modules/test/emqx_rewrite_api_SUITE.erl index d837006dd..19bcc007a 100644 --- a/apps/emqx_modules/test/emqx_rewrite_api_SUITE.erl +++ b/apps/emqx_modules/test/emqx_rewrite_api_SUITE.erl @@ -33,7 +33,7 @@ init_per_testcase(_, Config) -> Config. init_per_suite(Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?BASE_CONF), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ raw_with_default => true }), diff --git a/apps/emqx_modules/test/emqx_telemetry_SUITE.erl b/apps/emqx_modules/test/emqx_telemetry_SUITE.erl index ac5c8bf35..022fb0b5f 100644 --- a/apps/emqx_modules/test/emqx_telemetry_SUITE.erl +++ b/apps/emqx_modules/test/emqx_telemetry_SUITE.erl @@ -41,7 +41,7 @@ init_per_suite(Config) -> emqx_common_test_helpers:deps_path(emqx_authz, "etc/acl.conf") end ), - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?BASE_CONF), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ raw_with_default => true }), emqx_common_test_helpers:start_apps( @@ -176,7 +176,7 @@ init_per_testcase(t_uuid_restored_from_file, Config) -> %% clear the UUIDs in the DB {atomic, ok} = mria:clear_table(emqx_telemetry), emqx_common_test_helpers:stop_apps([emqx_conf, emqx_authn, emqx_authz, emqx_modules]), - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?BASE_CONF), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ raw_with_default => true }), emqx_common_test_helpers:start_apps( @@ -332,7 +332,7 @@ t_uuid_saved_to_file(_Config) -> %% clear the UUIDs in the DB {atomic, ok} = mria:clear_table(emqx_telemetry), emqx_common_test_helpers:stop_apps([emqx_conf, emqx_authn, emqx_authz, emqx_modules]), - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?BASE_CONF), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ raw_with_default => true }), emqx_common_test_helpers:start_apps( @@ -861,7 +861,7 @@ setup_slave(Node) -> Node, emqx_common_test_helpers, load_config, - [emqx_modules_schema, jsx:encode(?BASE_CONF), #{raw_with_default => true}] + [emqx_modules_schema, ?BASE_CONF, #{raw_with_default => true}] ), ok = rpc:call( Node, diff --git a/apps/emqx_modules/test/emqx_telemetry_api_SUITE.erl b/apps/emqx_modules/test/emqx_telemetry_api_SUITE.erl index 8c55583b6..d8e22cc1e 100644 --- a/apps/emqx_modules/test/emqx_telemetry_api_SUITE.erl +++ b/apps/emqx_modules/test/emqx_telemetry_api_SUITE.erl @@ -29,7 +29,7 @@ all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?BASE_CONF), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ raw_with_default => true }), diff --git a/apps/emqx_modules/test/emqx_topic_metrics_SUITE.erl b/apps/emqx_modules/test/emqx_topic_metrics_SUITE.erl index 2c38529f8..b2fa561b4 100644 --- a/apps/emqx_modules/test/emqx_topic_metrics_SUITE.erl +++ b/apps/emqx_modules/test/emqx_topic_metrics_SUITE.erl @@ -28,7 +28,7 @@ all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> emqx_common_test_helpers:boot_modules(all), - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?TOPIC), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?TOPIC, #{ raw_with_default => true }), emqx_common_test_helpers:start_apps([emqx_conf, emqx_modules]), diff --git a/apps/emqx_modules/test/emqx_topic_metrics_api_SUITE.erl b/apps/emqx_modules/test/emqx_topic_metrics_api_SUITE.erl index 8e57a8b79..09964b328 100644 --- a/apps/emqx_modules/test/emqx_topic_metrics_api_SUITE.erl +++ b/apps/emqx_modules/test/emqx_topic_metrics_api_SUITE.erl @@ -40,7 +40,7 @@ init_per_testcase(_, Config) -> Config. init_per_suite(Config) -> - ok = emqx_common_test_helpers:load_config(emqx_modules_schema, jsx:encode(?BASE_CONF), #{ + ok = emqx_common_test_helpers:load_config(emqx_modules_schema, ?BASE_CONF, #{ raw_with_default => true }), diff --git a/apps/emqx_psk/test/emqx_psk_SUITE.erl b/apps/emqx_psk/test/emqx_psk_SUITE.erl index 7a5a35646..816562a26 100644 --- a/apps/emqx_psk/test/emqx_psk_SUITE.erl +++ b/apps/emqx_psk/test/emqx_psk_SUITE.erl @@ -84,7 +84,7 @@ t_psk_lookup(_) -> reuseaddr => true, user_lookup_fun => {fun emqx_tls_psk:lookup/3, undefined} }, - emqx_config:put([listeners, ssl, default, ssl], ServerTLSOpts), + emqx_config:put([listeners, ssl, default, ssl_options], ServerTLSOpts), emqx_listeners:restart_listener('ssl:default'), {ok, Socket} = ssl:connect("127.0.0.1", 8883, maps:to_list(ClientTLSOpts)), From 853ead3aafdcbfb576a0bdbf5addd7ea4d4856e2 Mon Sep 17 00:00:00 2001 From: Zhongwen Deng Date: Tue, 7 Jun 2022 22:18:21 +0800 Subject: [PATCH 3/3] fix: reload ssl listener failed --- apps/emqx/src/emqx_listeners.erl | 6 +++--- apps/emqx/test/emqx_mqtt_protocol_v5_SUITE.erl | 3 +++ apps/emqx/test/emqx_takeover_SUITE.erl | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/emqx/src/emqx_listeners.erl b/apps/emqx/src/emqx_listeners.erl index 1327d5caa..2a73efd70 100644 --- a/apps/emqx/src/emqx_listeners.erl +++ b/apps/emqx/src/emqx_listeners.erl @@ -557,18 +557,18 @@ certs_dir(Type, Name) -> iolist_to_binary(filename:join(["listeners", Type, Name])). convert_certs(CertsDir, Conf) -> - case emqx_tls_lib:ensure_ssl_files(CertsDir, maps:get(<<"ssl">>, Conf, undefined)) of + case emqx_tls_lib:ensure_ssl_files(CertsDir, maps:get(<<"ssl_options">>, Conf, undefined)) of {ok, undefined} -> Conf; {ok, SSL} -> - Conf#{<<"ssl">> => SSL}; + Conf#{<<"ssl_options">> => SSL}; {error, Reason} -> ?SLOG(error, Reason#{msg => "bad_ssl_config"}), throw({bad_ssl_config, Reason}) end. clear_certs(CertsDir, Conf) -> - OldSSL = maps:get(<<"ssl">>, Conf, undefined), + OldSSL = maps:get(<<"ssl_options">>, Conf, undefined), emqx_tls_lib:delete_ssl_files(CertsDir, undefined, OldSSL). filter_stacktrace({Reason, _Stacktrace}) -> Reason; diff --git a/apps/emqx/test/emqx_mqtt_protocol_v5_SUITE.erl b/apps/emqx/test/emqx_mqtt_protocol_v5_SUITE.erl index 887cf2a3e..5ef43e738 100644 --- a/apps/emqx/test/emqx_mqtt_protocol_v5_SUITE.erl +++ b/apps/emqx/test/emqx_mqtt_protocol_v5_SUITE.erl @@ -70,6 +70,9 @@ init_per_group(_, Config) -> emqx_common_test_helpers:stop_apps([]), Config. +end_per_group(quic, _Config) -> + emqx_config:put([listeners, quic], #{}), + ok; end_per_group(_Group, _Config) -> ok. diff --git a/apps/emqx/test/emqx_takeover_SUITE.erl b/apps/emqx/test/emqx_takeover_SUITE.erl index ab3474a32..beb7817af 100644 --- a/apps/emqx/test/emqx_takeover_SUITE.erl +++ b/apps/emqx/test/emqx_takeover_SUITE.erl @@ -33,9 +33,10 @@ all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> + emqx_channel_SUITE:set_test_listener_confs(), ?check_trace( ?wait_async_action( - emqx_common_test_helpers:start_apps([emqx_conf]), + emqx_common_test_helpers:start_apps([]), #{?snk_kind := listener_started, bind := 1883}, timer:seconds(10) ),