GNUnet on *BSD

2019-10-28

I wrote:

The resulting (pkgsrc) package will still feature limited *BSD support. Someone, probably me, will need to add support where Linux is assumed / only code for Linux was initially written. Parts of the transport subsystem have Linux support, parts of the vpn subsystem only work on Linux, there is an optional iptables and ip6tables integration in the dns subsystem, some features depend on NSS in GLIBC, and linux shows up in gns, exit, cadet, arm, nat, nat-auto, pt, nse, revocation, statistics, topology, and testbed.

Inventory check, for NetBSD needed, incomplete list:

  • gnunet-service-testbed_cpustatus.c:
    • A method to return the number of processes (get_nproc())
    • updateUsage(): Can we use something other than getloadavg()?
    • updateUsage() in getloadavg(): what is the FIXME note for with currentIOLoad?
  • gnunet-service-nat.c:
    • GNUNET_ARM_memory_init() without GLIBC?
  • gnunet-service-arm.c:
    • Do abstract UNIX domain sockets exist on other systems?
  • gnunet-helper-dns.c:
    • Could be changed in a way that the firewall rule installation is more portable or does not rely on it at all
  • gnunet-helper-vpn.c:
    • relies on linux/if_tun.h
  • gnunet-helper-transport-bluetooth.c:
    • relies on lib bluetooth. how portable is this library? what can we do instead?