Browse Source

Add check for children connecting to a parent agent with unsupported memory mode (#10787)

Stelios Fragkakis 4 years ago
parent
commit
59638f03a9
1 changed files with 8 additions and 0 deletions
  1. 8 0
      streaming/receiver.c

+ 8 - 0
streaming/receiver.c

@@ -261,6 +261,14 @@ static int rrdpush_receive(struct receiver_state *rpt)
     mode = rrd_memory_mode_id(appconfig_get(&stream_config, rpt->key, "default memory mode", rrd_memory_mode_name(mode)));
     mode = rrd_memory_mode_id(appconfig_get(&stream_config, rpt->machine_guid, "memory mode", rrd_memory_mode_name(mode)));
 
+#ifndef ENABLE_DBENGINE
+    if (unlikely(mode == RRD_MEMORY_MODE_DBENGINE)) {
+        close(rpt->fd);
+        log_stream_connection(rpt->client_ip, rpt->client_port, rpt->key, rpt->machine_guid, rpt->hostname, "REJECTED -- DBENGINE MEMORY MODE NOT SUPPORTED");
+        return 1;
+    }
+#endif
+
     health_enabled = appconfig_get_boolean_ondemand(&stream_config, rpt->key, "health enabled by default", health_enabled);
     health_enabled = appconfig_get_boolean_ondemand(&stream_config, rpt->machine_guid, "health enabled", health_enabled);