Index | Thread | Search

From:
David Uhden Collado <daviduhden@gmail.com>
Subject:
Re: [NEW] net/simplexmq and net/simplex-chat
To:
ports@openbsd.org
Date:
Fri, 14 Aug 2026 21:15:00 +0000

Download raw body.

Thread
  • David Uhden Collado:

    [NEW] net/simplexmq and net/simplex-chat

    • David Uhden Collado:

      [NEW] net/simplexmq and net/simplex-chat

  • David Uhden Collado wrote:
    > David Uhden Collado wrote:
    >> Hello ports@,
    >>
    >> These are new ports for:
    >>
    >>    net/simplexmq    -- SimpleX Messaging Protocol server
    >>    net/simplex-chat -- SimpleX Chat terminal client
    >>
    >> simplexmq provides the SMP message broker and the XFTP file-transfer
    >> server. simplex-chat is the terminal client. Both use devel/cabal
    >> and are restricted to amd64 and arm64 (GHC bootstrap is not
    >> available on other architectures).
    >>
    >> The ports target the latest stable upstream releases: simplexmq
    >> v6.5.5.0 (commit 92598c2d) and simplex-chat v6.5.6 (tag v6.5.6).
    >>
    >> Patches applied:
    >>    - LibreSSL paths, ED448 fallback in XFTP server init
    >>    - GHC 9.10+ and http2 5.x compatibility (TypeLits, 
    >> DuplicateRecordFields, Config -> defaultConfig API migration)
    >>    - OpenBSD-style config and log directories under /etc/simplex/ and
    >>      /var/simplex/
    >>    - crypton/ram bytearray migration (memory -> ram, asn1-* ->
    >>      crypton-asn1-*)
    >>    - HSEC-2026-0007 backport for aeson 2.2.1.0
    >>    - Service authentication moved from TLS client credentials to the
    >>      SMP handshake
    >>    - SPDX license identifiers and mdoc(7) man pages for the three
    >>      binaries
    >>    - dos2unix normalization of upstream sources before patching
    >>
    >> User/group:
    >>    I am requesting UID 906 for _simplexmq. The pid file patch is
    >>    included in the port. See infrastructure/db/user.list diff attached.
    >>
    >> Open items I would like feedback on:
    >>
    >> 1. Test failures in simplexmq
    >>     The simplexmq test suite starts local SMP and XFTP servers to run
    >>     integration tests. Most tests pass, but the XFTP transfer tests
    >>     fail with a connect error ("end of file") when client tests try
    >>     to connect to the XFTP test server on localhost:8000. The TLS
    >>     handshake terminates immediately.
    >>
    >>     This may be a LibreSSL compatibility issue in the test server's
    >>     TLS setup, or a port-binding race. I have not yet determined the
    >>     root cause. If it turns out to be a test-infrastructure issue
    >>     that does not affect runtime server behavior, it may be safe to
    >>     mark the test suite as known-failing on OpenBSD. Feedback from
    >>     anyone familiar with the TLS/crypton stack on OpenBSD would be
    >>     very helpful here.
    >>
    >> 2. Test conflicts between simplexmq and simplex-chat
    >>     Both test suites start local SMP/XFTP servers on fixed ports.
    >>     Running `make test` in one port while the other is installed or
    >>     running will cause port conflicts. For now, the tests should be
    >>     run sequentially and on a clean system. I have not yet
    >>     implemented randomized port selection for the test servers;
    >>     patches welcome.
    >>
    >> 3. Vendored dependencies
    >>     Both ports carry vendored Haskell dependencies via DIST_TUPLE
    >>     (aeson, hs-socks, direct-sqlcipher, sqlcipher-simple, warp,
    >>     warp-tls, terminal, android-support, zip, blst, libbbs). These
    >>     are upstream forks pinned to specific commits. The cabal.inc
    >>     manifests are regenerated via `make cabal-inc`, which requires
    >>     cabal-bundler from Hackage.
    >>
    >> Build test: cabal-inc, build, fake, package on amd64-current with
    >> GHC 9.10.3 and LibreSSL.
    >>
    >> Feedback welcome, especially on the test-failure diagnosis and
    >> whether a known-failing annotation is acceptable.
    > I've updated the net/simplexmq and net/simplex-chat ports to the latest 
    > stable release, 7.0.0.
    > 
    > The Haskell direct-sqlcipher and simple-sqlcipher dependencies now link 
    > against the OpenBSD sqlcipher port instead of building their vendored 
    > copy. I made the same change for zlib. I also updated the existing 
    > patches and reorganized the rather large Makefile to make it easier to 
    > maintain.
    > 
    > I'm still having trouble with the simplexmq test suite. I would 
    > appreciate any help identifying the cause of the failures.
    > 
    > For simplex-chat, I'm currently using the latest 7.0.0 beta tag because 
    > there were no CLI changes between beta 6 and the final 7.0.0 release.
    Hello,
    
    Two updated versions, following the previous set:
    
    simplexmq (7.0.1):
    
    - Updated to simplexmq 7.0.1 and switched to tls >= 2.4.3 (pinned to
       tls 2.4.3), with several new compatibility patches:
       - synchronous shutdown for protocol clients, agents and the SMP
         server, so restarts cannot overlap live TLS sessions or stores;
       - abort incomplete TLS contexts without a graceful shutdown, since
         tls 2.4's TLS 1.3 bye can deadlock on rejected certificates;
       - prefer the IPv4 wildcard on OpenBSD (no IPv4-mapped connections
         on IPv6 sockets);
       - XFTP download retry on premature SIZE responses under http2 5.x;
       - ED25519 is now the port default for XFTP/notification-server
         certificate generation (LibreSSL lacks ED448; ED448 remains
         selectable with a compatible openssl(1));
       - per-interface multicast membership for the remote control
         discovery (IP_MULTICAST_IF).
    - Extra test patches for slow builders (watchdog bounds, connection
       budgets, AUTH timing, ioProperty leak fix).
    - All patches now carry SPDX headers and Index: lines; entropy
       patches renamed to the standard ports style.
    - rc scripts: rc_cmd "$1" and split rc_env lines.
    
    simplex-chat (v7.0.0):
    
    - Moved from v7.0.0-beta.6 to the final v7.0.0 release.
    - Carries the same tls 2.4 pin and the simplexmq compatibility
       patches listed above, plus an extended test watchdog patch for
       slow builders.
    - Hackage deps refreshed (wai 3.2.5, warp 3.4.15, etc.) and several
       cabal revisions dropped to 0.
    
    Both build and pass their test suites here. Comments and testing
    welcome.
    
    Best regards,
    David.
    
  • David Uhden Collado:

    [NEW] net/simplexmq and net/simplex-chat