• src/sbbs3/sbbscon.c

    From rswindell@VERT to CVS commit on Sun Mar 22 17:37:24 2020
    src/sbbs3 sbbscon.c 1.277 1.278
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv28985

    Modified Files:
    sbbscon.c
    Log Message:
    Clean-up some of this USE_LINUX_CAPS patch, but honestly, I think it's
    time for it to go away. Using 'sudo setcap sbbs' during build seems like the better, more supported solution.


    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sun Mar 22 18:45:52 2020
    src/sbbs3 sbbscon.c 1.278 1.279
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv6632

    Modified Files:
    sbbscon.c
    Log Message:
    Only do the whole Linux-capabilities dance when run as root (user-id 0).
    This eliminates the error messages that would be displayed/logged when attempting the SYS_capset SYSCALL, which fails when not root.

    So the capabilities dance enabled with USE_LINUX_CAPS (which is automatically enabled when /usr/include/sys/capabilites.h exists, which is installed with
    the libcap2-dev package) apparently is still useful if you need to start
    sbbs as root: the main thread will remain as root even when the child
    threads have their user-id's changed to the user specified in the [UNIX] section of sbbs.ini or on the command-line
    - so reducing the enabled privilege set for this root/main thread to the minimum needed, is a good security measure. It does this reduction (call to linux_minprivs() after the call to change_user()) so I'm not exactly sure how that works, but according to Deuce, this is what's happening. :-/


    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Mon Apr 13 14:36:19 2020
    src/sbbs3 sbbscon.c 1.279 1.280
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv25670

    Modified Files:
    sbbscon.c
    Log Message:
    Add "version" command-line option to display version/revision details (ala the SBBSCTRL "About" dialog box) and then exit.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sun Aug 2 20:30:27 2020
    src/sbbs3 sbbscon.c 1.280 1.281
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv22134

    Modified Files:
    sbbscon.c
    Log Message:
    Print the target architecture of sbbs along with the target platform/OS
    (e.g. Linux-armv6 for rPi).


    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Mar 1 20:30:39 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/eb160a3f20c0af8d60e6ecd0
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Document case fall-through

    Reported by Coverity
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Apr 9 11:34:48 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/c2ebe8edd6a02759bed4f8f8
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Only remove the pid file if it has our pid in it.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Dec 29 14:16:20 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/a76c6d0e35f628a1d73d1d0d
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Publish a <host>/status to represent on/offline/disconnected

    Set "last will" to publish the "disconnected" status.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Dec 29 14:16:20 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/731da4540cfd6a966802139a
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Fix the MQTT "last will" (must be set before connect)

    Add some more "status" topic values while initializing and terminating.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Dec 29 14:16:20 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/e34c14d646c6949a51e3a411
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    MQTT thread wasn't even attempted to be started on Windows

    mqtt_thread_start() actually will fail on Windows currently because we're
    using a non-thread-safe version of mosquitto.dll

    This moves the mqtt thread start further up before some *nix-specific stuff,
    so hopefully that's not an issue.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Dec 30 00:44:09 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/ce2056f4418b9acc8f304a6e
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Fix MQTT for daemonized sbbs

    Need to start the MQTT init/thread-start stuff after daemonizing.

    Thanks to Nelgin for letting me know this was recently broken.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jan 1 11:43:36 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2d99f2848fd9559e2f19e226
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Fix sbbs startup issue when user is specific in sbbs.ini [unix]

    Bug introduced in the systemd integration (commit d02978ade98a8)
    and reported by Dan_C via #synchronet at irc.synchro.net
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Jan 2 19:16:11 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/29460b517156d86cf68eb887
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Log an error upon failure to create/open the pid file
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Jan 2 19:34:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f2b85c742c40881eb0c395bb
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Setup signal blocking before MQTT (which spawns a thread)

    This solves the problem of any signal (even HUP) ungracefully terminating
    sbbs (on *nix) when MQTT was enabled. As reported by Nightfox on IRC.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Jan 3 17:24:25 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c4d905847ba4bb2c90df81be
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Only report systemd service "READY=1" state if any server is actually ready

    any server "running" is not enough because the server could still be initializing, re-initializing, or even shutting down.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Jan 3 18:00:48 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7da26d404ed24ebb4dc50be9
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Set server_stopped back to FALSE if a server is restarted (via recycle)

    A set_state() may be called with SERVER_STOPPED while recycling.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Mon Jun 12 12:09:01 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c831eb434f3fc9acd86e8163
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    More consistent logging of errno value (and descriptions)

    Should use safe_strerror() here instead... later.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Mon Jun 12 17:05:41 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a4bc8a827e1b0a944ff48693
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    This is exactly the sort of race condition pthread_once() is for.
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Nov 12 15:24:26 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/58e8b4b538250073237affe4
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Easier to over-ride sbbs.ini AutoStart settings via command-line options

    To enable a server that's disabled in the sbbs.ini file, just use the <server>+ option (e.g. 't+' to enable the terminal server). To run *only* that server (and no other servers), use the '<server>!' option (e.g. 'w!' to run *only* the web server).
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Dec 23 13:55:55 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/bed33851d21f05ae63ec6f62
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Free scfg before exiting to calm down valgrind() about memleaks from here
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Dec 23 14:32:47 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7b5a7bdf0592a8b82ec48fbc
    Modified Files:
    src/sbbs3/sbbscon.c
    Log Message:
    Call sbbs_free_ini() during happy-path exit, to calm down valgrind

    This was not a real leak, but still, good practice
    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net