_  _    __    ___  __    ___  _____  _  _
 ( \( )  /__\  / __)(  )  / __)(  _  )( \( )
  )  (  /(__)\( (__  )(__( (__  )(_)(  )  (
 (_)\_)(__)(__)\___)(____)\___)(_____)(_)\_)

The History of Hacking  ·  May 31 – June 2, 2026  ·  Carolina Beach, NC

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

  • src/sbbs3/mqtt.cppsrc/sbbs3/mqtt.h mqtt_client.cpp mqtt_client.h objec

    From Deucе@VERT to Git commit to main/sbbs/master on Sun May 10 19:29:42 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2ddba195bd0e9b05a26b8ac4
    Added Files:
    src/sbbs3/mqtt.cpp
    Modified Files:
    src/sbbs3/mqtt.h mqtt_client.cpp mqtt_client.h objects.mk
    Removed Files:
    src/sbbs3/mqtt_broker_glue.cpp
    Log Message:
    Convert mqtt.c to C++, eliminate glue layer and C wrappers

    All callers of the mqtt API are C++, so mqtt.c can be compiled as C++
    directly. This eliminates the entire indirection layer:

    - mqtt.c renamed to mqtt.cpp
    - mqtt_broker_glue.cpp deleted — broker_lputs_adapter,
    local_message_callback, mqtt_internal_startup/publish/subscribe/shutdown
    all merged into mqtt.cpp with direct C++ calls
    - C-callable wrappers removed: mqtt5client_open/close/connect/disconnect/
    publish/subscribe/pump/read/read_free/set_will (mqtt_client.cpp),
    mqtt_props_new/add_string_pair/free (mqtt_broker_glue.cpp)
    - mqtt.h: removed mqtt_internal_* and mqtt_props_* declarations
    - mqtt_client.h: removed C wrapper declarations and mqtt5client_msg struct
    - mqtt.cpp uses mqtt5::Client, mqtt5::Broker, mqtt5::Properties directly
    - Pump thread reads from Client::read() directly — no alloc/copy/free
    needed since caller and client share the same heap
    - objects.mk: removed mqtt_broker_glue

    NOTE: clean sbbs3 before building (stale mqtt.d references mqtt.c)

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net