@@ -289,6 +289,7 @@ Flow::Flow(NetworkInterface *_iface,
289289
290290#ifdef NTOPNG_PRO
291291 modbus = NULL ;
292+ s7comm = NULL ;
292293 lateral_movement = false ;
293294 periodicity_status = periodicity_status_unknown;
294295#ifndef HAVE_NEDGE
@@ -599,6 +600,7 @@ Flow::~Flow() {
599600 if (iec104) delete iec104;
600601#ifdef NTOPNG_PRO
601602 if (modbus) delete modbus;
603+ if (s7comm) delete s7comm;
602604#endif
603605
604606 if (suspicious_dga_domain) free (suspicious_dga_domain);
@@ -3317,6 +3319,7 @@ void Flow::lua(lua_State *vm, AddressTree *ptree,
33173319
33183320#ifdef NTOPNG_PRO
33193321 if (modbus) modbus->lua (vm);
3322+ if (s7comm) s7comm->lua (vm);
33203323#endif
33213324
33223325 if (!has_json_info) lua_push_str_table_entry (vm, " moreinfo.json" , " {}" );
@@ -5692,6 +5695,7 @@ std::string Flow::getFlowInfo(bool isLuaRequest) {
56925695 if (iec104) return (iec104->getFlowInfo ());
56935696#ifdef NTOPNG_PRO
56945697 if (modbus) return (modbus->getFlowInfo ());
5698+ if (s7comm) return (s7comm->getFlowInfo ());
56955699#endif
56965700
56975701 if (isDNS () && protos.dns .last_query ) {
@@ -8021,6 +8025,14 @@ void Flow::getProtocolJSONInfo(ndpi_serializer *serializer) {
80218025 ndpi_serialize_end_of_block (serializer);
80228026 break ;
80238027#endif
8028+
8029+ #ifdef NTOPNG_PRO
8030+ case NDPI_PROTOCOL_S7COMM:
8031+ ndpi_serialize_start_of_block (serializer, " s7comm" );
8032+ getS7CommInfo (serializer);
8033+ ndpi_serialize_end_of_block (serializer);
8034+ break ;
8035+ #endif
80248036 }
80258037
80268038 if (getErrorCode () != 0 )
0 commit comments