Le Wed, May 20, 2026 at 12:22:09AM +0100, Tom Smyth a écrit :
> sorry folks
> 
> for some reason I only ran sysupgrade on my fastnet mon box tonight ( from
> 7.7 to 7.8)     so only seeing this thread now (that I searched for
> fasnetmon on the ports list
> 
> I think fastnetmon is an amazing piece of software  although running it on
> OpenBSD does require  a re-animation script to check if it is still running
> and restart the service...
> 
> I can try to "help" maintain the port  I have messaged Pavel Otinsov the
> author of fastnetmon to see if we can work on it ...
> 
> I dont know how much use I can be ... but Ill try  to get it working ...
>  I have very little experience with boost libraries and would appreciate a
> steer from someone ...

here's what i had last year when the port was removed, and i think i
quickly gave up when i saw that it wanted to build many bundled libs.

i don't plan more work on it at all, but feel free to start from that.

Landry
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/fastnetmon/Attic/Makefile,v
diff -u -r1.17 Makefile
--- Makefile    8 Nov 2022 11:14:54 -0000       1.17
+++ Makefile    20 May 2026 07:15:59 -0000
@@ -2,8 +2,7 @@
 
 GH_ACCOUNT =           pavel-odintsov
 GH_PROJECT =           fastnetmon
-GH_TAGNAME =           v1.1.7
-REVISION =             2
+GH_TAGNAME =           v1.2.8
 
 HOMEPAGE =             https://fastnetmon.com/guides/
 
@@ -51,7 +50,8 @@
                -e 's,/etc,${SYSCONFDIR}/fastnetmon,g' \
                -e 's,/usr/local,${PREFIX},g' \
                ${WRKSRC}/fast_platform.h.template \
-               ${WRKSRC}/fastnetmon.conf ${WRKSRC}/scripts/*
+               ${WRKSRC}/fastnetmon.conf ${WRKSRC}/scripts/*pl \
+               ${WRKSRC}/scripts/*py ${WRKSRC}/scripts/*sh
 
 post-install:
        ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/fastnetmon/
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/fastnetmon/Attic/distinfo,v
diff -u -r1.5 distinfo
--- distinfo    13 Sep 2020 07:59:58 -0000      1.5
+++ distinfo    20 May 2026 07:15:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (fastnetmon-1.1.7.tar.gz) = qlPCT+OSfSsLY/iInq4TSwKsu6G+5SRI3sgTz9DpR5E=
-SIZE (fastnetmon-1.1.7.tar.gz) = 871242
+SHA256 (fastnetmon-1.2.8.tar.gz) = 0WkBsAlj85UkHIGNAq0nUfFOM/0y7TyzARZBq2gODQE=
+SIZE (fastnetmon-1.2.8.tar.gz) = 1476794
Index: patches/patch-src_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/net/fastnetmon/patches/Attic/patch-src_CMakeLists_txt,v
diff -u -r1.6 patch-src_CMakeLists_txt
--- patches/patch-src_CMakeLists_txt    11 Mar 2022 19:45:58 -0000      1.6
+++ patches/patch-src_CMakeLists_txt    20 May 2026 07:15:59 -0000
@@ -1,59 +1,50 @@
 Index: src/CMakeLists.txt
 --- src/CMakeLists.txt.orig
 +++ src/CMakeLists.txt
-@@ -472,7 +472,7 @@ endif()
- find_path(HIREDIS_INCLUDES_FOLDER NAMES hiredis/hiredis.h PATHS 
"${HIREDIS_CUSTOM_INSTALL_PATH}/include" NO_DEFAULT_PATH)
+@@ -871,7 +871,7 @@ endif()
+ find_path(HIREDIS_INCLUDES_FOLDER NAMES hiredis/hiredis.h PATHS 
"${HIREDIS_CUSTOM_INSTALL_PATH}/include" ${DISABLE_DEFAULT_PATH_SEARCH_VAR})
  
  # Try to find hiredis library path
--find_library(HIREDIS_LIBRARY_PATH NAMES hiredis PATHS 
"${HIREDIS_CUSTOM_INSTALL_PATH}/lib" NO_DEFAULT_PATH)
+-find_library(HIREDIS_LIBRARY_PATH NAMES hiredis PATHS 
"${HIREDIS_CUSTOM_INSTALL_PATH}/lib" ${DISABLE_DEFAULT_PATH_SEARCH_VAR})
 +find_library(HIREDIS_LIBRARY_PATH NAMES hiredis)
  
  if (HIREDIS_INCLUDES_FOLDER AND HIREDIS_LIBRARY_PATH) 
-     message(STATUS "We found hiredis library and will build Redis support 
${HIREDIS_INCLUDES_FOLDER} ${HIREDIS_LIBRARY_PATH}")
-@@ -525,7 +525,7 @@ endif()
- find_path(LOG4CPP_INCLUDES_FOLDER NAMES log4cpp/Appender.hh PATHS 
"${LOG4CPP_CUSTOM_INSTALL_PATH}/include" NO_DEFAULT_PATH)
+     message(STATUS "We found hiredis library ${HIREDIS_INCLUDES_FOLDER} 
${HIREDIS_LIBRARY_PATH}")
+@@ -964,7 +964,7 @@ endif()
+ find_path(LOG4CPP_INCLUDES_FOLDER NAMES log4cpp/Appender.hh PATHS 
"${LOG4CPP_CUSTOM_INSTALL_PATH}/include" ${DISABLE_DEFAULT_PATH_SEARCH_VAR})
  
  # Try to find log4cpp library path
--find_library(LOG4CPP_LIBRARY_PATH NAMES log4cpp PATHS 
"${LOG4CPP_CUSTOM_INSTALL_PATH}/lib" NO_DEFAULT_PATH)
+-find_library(LOG4CPP_LIBRARY_PATH NAMES log4cpp PATHS 
"${LOG4CPP_CUSTOM_INSTALL_PATH}/lib" ${DISABLE_DEFAULT_PATH_SEARCH_VAR})
 +find_library(LOG4CPP_LIBRARY_PATH NAMES log4cpp)
  
  if (LOG4CPP_INCLUDES_FOLDER AND LOG4CPP_LIBRARY_PATH)
      include_directories(${LOG4CPP_INCLUDES_FOLDER})
-@@ -537,7 +537,7 @@ endif()
- ### Look for jsonc
- 
- find_path(JSONC_INCLUDES_FOLDER NAMES json-c/json.h PATHS 
"${JSONC_CUSTOM_INSTALL_PATH}/include" NO_DEFAULT_PATH)
--find_library(JSONC_LIBRARY_PATH NAMES json-c PATHS 
"${JSONC_CUSTOM_INSTALL_PATH}/lib" NO_DEFAULT_PATH)
-+find_library(JSONC_LIBRARY_PATH NAMES json-c)
- 
- if (JSONC_INCLUDES_FOLDER AND JSONC_LIBRARY_PATH)
-     include_directories(${JSONC_INCLUDES_FOLDER}) 
-@@ -665,9 +665,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR ${CMAKE
-     set(CMAKE_INSTALL_SBINDIR "bin")
-     set(CMAKE_INSTALL_SYSCONFDIR "etc")
- else()
--    set(CMAKE_INSTALL_BINDIR "/usr/bin")
--    set(CMAKE_INSTALL_SBINDIR "/usr/sbin")
--    set(CMAKE_INSTALL_SYSCONFDIR "/etc")
+@@ -1147,6 +1147,10 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+     endif()
+ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+     message(STATUS "We run on Apple platform")
++elseif(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
 +    set(CMAKE_INSTALL_BINDIR "${PREFIX}/bin")
 +    set(CMAKE_INSTALL_SBINDIR "${PREFIX}/sbin")
 +    set(CMAKE_INSTALL_SYSCONFDIR "${PREFIX}/share/examples/fastnetmon")
- endif()
- 
- install(TARGETS fastnetmon DESTINATION "${CMAKE_INSTALL_SBINDIR}")
-@@ -675,13 +675,9 @@ install(TARGETS fastnetmon_client DESTINATION "${CMAKE
+ else()
+     message(STATUS "We run on platform ${CMAKE_SYSTEM_NAME} and we do not 
touch install paths")
+     # Do not touch these variables and use default values
+@@ -1157,10 +1161,6 @@ install(TARGETS fastnetmon_client DESTINATION "${CMAKE
+ install(TARGETS fastnetmon_api_client DESTINATION "${CMAKE_INSTALL_BINDIR}")
  
  install(FILES fastnetmon.conf DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}")
- 
+-
 -# Install blank files for networks list and whitelist
 -install(FILES networks_list DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}")
 -install(FILES networks_whitelist DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}")
--
- # man pages
--install(FILES man/fastnetmon.1 DESTINATION /usr/share/man/man1)
--install(FILES man/fastnetmon_client.1 DESTINATION /usr/share/man/man1)
-+install(FILES man/fastnetmon.1 DESTINATION ${PREFIX}/man/man1)
-+install(FILES man/fastnetmon_client.1 DESTINATION ${PREFIX}/man/man1)
  
- # service files
- if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ # man pages
+ install(FILES man/fastnetmon.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8)
+@@ -1216,4 +1216,4 @@ if (ENABLE_FUZZ_TEST_DESOCK)
+         target_link_libraries(fastnetmon desock) 
+ endif()
+       
+-      
+\ No newline at end of file
++      
Index: patches/patch-src_fast_endianless_hpp
===================================================================
RCS file: 
/cvs/ports/net/fastnetmon/patches/Attic/patch-src_fast_endianless_hpp,v
diff -u -r1.2 patch-src_fast_endianless_hpp
--- patches/patch-src_fast_endianless_hpp       11 Mar 2022 19:45:58 -0000      
1.2
+++ patches/patch-src_fast_endianless_hpp       20 May 2026 07:15:59 -0000
@@ -1,11 +1,12 @@
 Index: src/fast_endianless.hpp
 --- src/fast_endianless.hpp.orig
 +++ src/fast_endianless.hpp
-@@ -1,5 +1,7 @@
- #pragma once
- 
+@@ -5,6 +5,8 @@
+ #ifdef _WIN32
+ #include <winsock2.h>
+ #else
 +// For int32_t
 +#include <sys/types.h>
  #include <arpa/inet.h>
+ #endif 
  
- // Linux standard functions for endian conversions are ugly because there are 
no checks about arguments length
Index: patches/patch-src_fast_library_cpp
===================================================================
RCS file: /cvs/ports/net/fastnetmon/patches/Attic/patch-src_fast_library_cpp,v
diff -u -r1.5 patch-src_fast_library_cpp
--- patches/patch-src_fast_library_cpp  11 Mar 2022 19:45:58 -0000      1.5
+++ patches/patch-src_fast_library_cpp  20 May 2026 07:15:59 -0000
@@ -1,9 +1,11 @@
+https://github.com/freebsd/freebsd-ports/blob/f009564d752e90a9070d32d97b901964044134c4/net-mgmt/fastnetmon/files/patch-fast__library.cpp
+
 Index: src/fast_library.cpp
 --- src/fast_library.cpp.orig
 +++ src/fast_library.cpp
-@@ -29,6 +29,11 @@
- #include <sys/endian.h>
- #endif
+@@ -36,6 +36,11 @@
+ 
+ #include "iana_ip_protocols.hpp"
  
 +// For pthread_set_name_np
 +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__)
@@ -13,7 +15,28 @@
  boost::regex 
regular_expression_cidr_pattern("^\\d+\\.\\d+\\.\\d+\\.\\d+\\/\\d+$");
  boost::regex regular_expression_host_pattern("^\\d+\\.\\d+\\.\\d+\\.\\d+$");
  
-@@ -1246,12 +1251,16 @@ bool set_boost_process_name(boost::thread* thread, std
+@@ -1094,15 +1099,13 @@ std::string serialize_network_load_to_text(subnet_coun
+ 
+ std::string dns_lookup(std::string domain_name) {
+     try {
+-        boost::asio::io_service io_service;
+-        boost::asio::ip::tcp::resolver resolver(io_service);
++        boost::asio::io_context io_context;
++        boost::asio::ip::tcp::resolver resolver(io_context);
+ 
+-        boost::asio::ip::tcp::resolver::query query(domain_name, "");
++        auto results = resolver.resolve(domain_name, "");
+ 
+-        for (boost::asio::ip::tcp::resolver::iterator i = 
resolver.resolve(query);
+-             i != boost::asio::ip::tcp::resolver::iterator(); ++i) {
+-            boost::asio::ip::tcp::endpoint end = *i;
+-            return end.address().to_string();
++        for (const auto& entry : results) {
++            return entry.endpoint().address().to_string();
+         }
+     } catch (std::exception& e) {
+         return "";
+@@ -1204,12 +1207,16 @@ bool set_boost_process_name(boost::thread* thread, con
      char new_process_name[16];
      strcpy(new_process_name, process_name.c_str());
  
@@ -30,3 +53,35 @@
  
      return true;
  }
+@@ -1428,7 +1435,7 @@ bool validate_ipv6_or_ipv4_host(const std::string host
+     boost::system::error_code ec;
+ 
+     // Try to build it from string representation
+-    boost::asio::ip::address::from_string(host, ec);
++    boost::asio::ip::make_address(host, ec);
+ 
+     // If we failed to parse it
+     if (ec) {
+@@ -1535,7 +1542,7 @@ bool execute_web_request_secure(std::string address,
+             return false;
+         }
+ 
+-        auto end_point = 
resolver.resolve(boost::asio::ip::tcp::resolver::query{ host, port }, ec);
++        auto end_point = resolver.resolve( host, port, ec);
+ 
+         if (ec) {
+             logger << log4cpp::Priority::ERROR << "Could not resolve peer 
address in execute_web_request " << ec;
+@@ -1699,11 +1706,11 @@ bool execute_web_request(std::string address,
+ 
+         // Normal boost::asio setup
+         // std::string const host = "178.62.227.110";
+-        boost::asio::io_service ios;
++        boost::asio::io_context ios;
+         boost::asio::ip::tcp::resolver r(ios);
+         boost::asio::ip::tcp::socket sock(ios);
+ 
+-        auto end_point = r.resolve(boost::asio::ip::tcp::resolver::query{ 
host, port }, ec);
++        auto end_point = r.resolve(host, port, ec);
+ 
+         if (ec) {
+             error_text = "Could not resolve peer address in 
execute_web_request " + ec.message();

Reply via email to