From 660d16e84b878b42eb9d984c0401c0bb5d4876fe Mon Sep 17 00:00:00 2001 From: William Yang Date: Mon, 5 Jul 2021 23:43:35 +0200 Subject: [PATCH] feat(config): set the endpoint to "" to disable listener --- apps/emqx/src/emqx_listeners.erl | 3 +-- apps/emqx/src/emqx_schema.erl | 5 ++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/emqx/src/emqx_listeners.erl b/apps/emqx/src/emqx_listeners.erl index 462ba9897..3e688b91e 100644 --- a/apps/emqx/src/emqx_listeners.erl +++ b/apps/emqx/src/emqx_listeners.erl @@ -145,9 +145,8 @@ start_listener(Proto, ListenOn, Options) when Proto == https; Proto == wss -> %% Start MQTT/QUIC listener start_listener(quic, ListenOn, Options) -> - IsQuicEnabled = false == os:getenv("EMQX_NO_QUIC"), case [ A || {quicer, _, _} = A<-application:which_applications() ] of - [_] when IsQuicEnabled -> + [_] -> %% @fixme unsure why we need reopen lib and reopen config. quicer_nif:open_lib(), quicer_nif:reg_open(), diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index 73a5812e8..2a58b34c3 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -333,7 +333,7 @@ fields("quic_listener") -> [ {"$name", ref("quic_listener_settings")}]; fields("listener_settings") -> - [ {"endpoint", t(union(ip_port(), integer()))} + [ {"endpoint", t(union([ip_port(), integer(), ""]))} , {"acceptors", t(integer(), undefined, 8)} , {"max_connections", t(integer(), undefined, 1024)} , {"max_conn_rate", t(integer())} @@ -785,6 +785,7 @@ tr_listeners(Conf) -> TcpListeners = fun(Type, Name) -> Prefix = string:join(["listener", Type, Name], "."), ListenOnN = case conf_get(Prefix ++ ".endpoint", Conf) of + "" -> []; undefined -> []; ListenOn -> ListenOn end, @@ -801,6 +802,8 @@ tr_listeners(Conf) -> SslListeners = fun(Type, Name) -> Prefix = string:join(["listener", Type, Name], "."), case conf_get(Prefix ++ ".endpoint", Conf) of + "" -> + []; undefined -> []; ListenOn ->