summaryrefslogtreecommitdiff
path: root/src/core/instance.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/instance.c')
-rw-r--r--src/core/instance.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/core/instance.c b/src/core/instance.c
index 4640678..0b9f717 100644
--- a/src/core/instance.c
+++ b/src/core/instance.c
@@ -108,6 +108,11 @@ int hybbx_instance_plugin_allowed(const char *plugin_name)
return role != HYBBX_INSTANCE_MAIN;
}
+ /* Entertain (chess, …) is Main / standalone Main only. */
+ if (str_ieq(plugin_name, "entertain")) {
+ return role == HYBBX_INSTANCE_MAIN;
+ }
+
switch (role) {
case HYBBX_INSTANCE_MAIN:
if (str_ieq(plugin_name, "baycom") ||
@@ -155,7 +160,7 @@ hybbx_result_t hybbx_networks_enforce_instance(hybbx_networks_config_t *networks
hybbx_instance_binary_name());
hybbx_log_info("[instance] binary=%s role=%s standalone=yes user_bbx=%s "
"telnet=%s ssh=%s ax25=%s baycom=%s ardop=%s crdop=%s "
- "websocket=%s circuit=%s mains_proxy=%s",
+ "websocket=%s circuit=%s mains_proxy=%s entertain=%s",
hybbx_instance_binary_name(),
hybbx_instance_role_name(),
hybbx_instance_offers_user_bbx() ? "yes" : "no",
@@ -167,7 +172,8 @@ hybbx_result_t hybbx_networks_enforce_instance(hybbx_networks_config_t *networks
hybbx_bool_to_string(networks->crdop),
hybbx_bool_to_string(networks->websocket),
hybbx_bool_to_string(networks->circuit),
- hybbx_bool_to_string(networks->mains_proxy));
+ hybbx_bool_to_string(networks->mains_proxy),
+ hybbx_bool_to_string(networks->entertain));
return HYBBX_OK;
}
@@ -212,6 +218,10 @@ hybbx_result_t hybbx_networks_enforce_instance(hybbx_networks_config_t *networks
break;
case HYBBX_INSTANCE_SECONDARY:
+ if (networks->entertain) {
+ hybbx_log_warn("[instance] hybbxsd: entertain Main-only — forcing off");
+ networks->entertain = 0;
+ }
if (networks->telnet) {
hybbx_log_warn("[instance] hybbxsd: no user telnet — forcing off");
networks->telnet = 0;
@@ -233,6 +243,10 @@ hybbx_result_t hybbx_networks_enforce_instance(hybbx_networks_config_t *networks
break;
case HYBBX_INSTANCE_PROXY:
+ if (networks->entertain) {
+ hybbx_log_warn("[instance] hybbxpd: entertain Main-only — forcing off");
+ networks->entertain = 0;
+ }
if (networks->websocket) {
hybbx_log_warn("[instance] hybbxpd: WebSocket forbidden — forcing off");
networks->websocket = 0;
@@ -254,7 +268,7 @@ hybbx_result_t hybbx_networks_enforce_instance(hybbx_networks_config_t *networks
hybbx_log_info("[instance] binary=%s role=%s user_bbx=%s "
"telnet=%s ssh=%s ax25=%s baycom=%s ardop=%s crdop=%s "
- "websocket=%s circuit=%s mains_proxy=%s",
+ "websocket=%s circuit=%s mains_proxy=%s entertain=%s",
hybbx_instance_binary_name(),
hybbx_instance_role_name(),
hybbx_instance_offers_user_bbx() ? "yes" : "no",
@@ -266,7 +280,8 @@ hybbx_result_t hybbx_networks_enforce_instance(hybbx_networks_config_t *networks
hybbx_bool_to_string(networks->crdop),
hybbx_bool_to_string(networks->websocket),
hybbx_bool_to_string(networks->circuit),
- hybbx_bool_to_string(networks->mains_proxy));
+ hybbx_bool_to_string(networks->mains_proxy),
+ hybbx_bool_to_string(networks->entertain));
return HYBBX_OK;
}
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com