1. 06 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Replace ctype.h function calls with new MSVC-safe XPDEV macros · 8a7b7308
      Rob Swindell authored
      I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values.
      
      This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service).
      
      The new macros names are bit more descriptive as well.
      8a7b7308
  2. 19 Sep, 2020 1 commit
  3. 17 Aug, 2020 1 commit
  4. 16 Aug, 2020 2 commits
    • Rob Swindell's avatar
      Fix issue with jsexec being used for CGI scripts · 54431b31
      Rob Swindell authored
      If jsexec is used for a CGI script and the SBBSCTRL env var was not
      set, a warning would be printed (to stderr), even if the -c option
      was used to specify the path to the ctrl dir.
      
      get_ctrl_dir() now accepts a boolean argument to specify whether to
      print a warning when the default value ("/sbbs/ctrl") is used.
      Pass FALSE for jsexec, TRUE for other callers (currently).
      54431b31
    • Rob Swindell's avatar
      Commit with CVS Keywords expanded. · dfa1a0a4
      Rob Swindell authored
      dfa1a0a4
  5. 03 Aug, 2020 1 commit
  6. 13 Apr, 2020 1 commit
  7. 23 Mar, 2020 2 commits
    • rswindell's avatar
      Only do the whole Linux-capabilities dance when run as root (user-id 0). · f22757c4
      rswindell authored
      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. :-/
      f22757c4
    • rswindell's avatar
      Clean-up some of this USE_LINUX_CAPS patch, but honestly, I think it's · a2b117c8
      rswindell authored
      time for it to go away. Using 'sudo setcap sbbs' during build seems like the
      better, more supported solution.
      a2b117c8
  8. 03 Jan, 2020 1 commit
    • rswindell's avatar
      Add/use a new get_ctrl_dir() function to query the SBBSCTRL env var and if · b236be71
      rswindell authored
      not set (or blank), use the default ("/sbbs/ctrl") and print a warning to
      stderr. This resolves a FAQ for sysops that struggle with setting the SBBSCTRL
      env var, but do have sbbs install in /sbbs or a symlink from /sbbs to where
      sbbs is actually installed.
      
      Note: this function is different than the one previously defined in getctrl.c
      but never used. If/when we ever really need to support PREFIX, then perhaps
      we'll use that one (which copies a string to a buffer).
      b236be71
  9. 02 Sep, 2019 1 commit
  10. 31 Aug, 2019 1 commit
    • rswindell's avatar
      Update the C getnodedat/putnodedat API to not require that the node file · 4c8482c9
      rswindell authored
      (ctrl/node.dab) is constantly closed and re-opened for every non-locking read.
      This is really slow across network file systems and unnecessary, so use a
      similar optimization as the C++ sbbs_t class where the file can (and normally
      is) left open across multiple consecutive reads.
      Create/use opennodedat() function.
      Uses the new CLOSE_OPEN_FILE() macro from xpdev/filewrap.h.
      4c8482c9
  11. 31 Mar, 2019 1 commit
  12. 08 Jan, 2019 1 commit
  13. 12 Dec, 2018 1 commit
  14. 24 Jul, 2018 1 commit
  15. 18 Mar, 2018 1 commit
  16. 17 Mar, 2018 3 commits
  17. 16 Mar, 2018 1 commit
  18. 14 Jan, 2018 1 commit
  19. 24 Nov, 2017 1 commit
  20. 04 Jun, 2017 1 commit
    • rswindell's avatar
      1. Fixed "always syslog" mode Used to force log output to syslog even when · 7ca2cf57
      rswindell authored
         not daemonized: log output would be repeated (once with a timestamp in
         the log string, once without). Now direct calls to lputs/lprintf from
         sbbscon.c won't go to syslog (in this mode), but I think that's okay.
      2. Change the prompt when terminating the servers: replace the ?=help and
         colon implying you can enter commands with just "Termianting..." since
         you can't actually type commands while a terminate is in progress.
      3. Output the inactivity timeout values when waiting for servers to
         terminate (e.g. because they'res till in use).
      4. Report IP addresses in square-brackes in the client ('c' command) output
         to differentiate from hostnames.
      7ca2cf57
  21. 28 Nov, 2016 1 commit
  22. 19 Nov, 2016 2 commits
    • sbbs's avatar
      pthread thread names are limited to 15 chars (not including nul terminator) · f3da24f7
      sbbs authored
      so use shorter thread names.
      f3da24f7
    • sbbs's avatar
      Fixed high-CPU utilization after server recycling issue: if the sem_chk_freq · 324c41ba
      sbbs authored
      value is missing or set to 0 in the sbbs.ini file, the sanity checking this
      value (setting it to 2 seconds) will not occur after a server recycle and the
      sbbs.ini is re-parsed. So if for any reason, the sem_chk_freq value becomes
      0, these server threads won't hog the CPU because they all YIELD at the
      top of thier main loops.
      
      Also, changed all the thread names (e.g. adding "sbbs/" prefix), so they're
      more sensible in the Linux 'top' output.
      
      Also, started adding 'vi' modelines to auto-set tabstops when using vi/vim.
      324c41ba
  23. 16 Nov, 2016 1 commit
  24. 04 Dec, 2015 1 commit
  25. 31 Aug, 2015 1 commit
    • rswindell's avatar
      Enancement for ragnarok: · b839898f
      rswindell authored
      If "syslog" is passed as a command-line option, always send log output to
      syslog, even when not daemonized.
      b839898f
  26. 22 Aug, 2015 1 commit
  27. 20 Aug, 2015 1 commit
    • deuce's avatar
      Update to 3.17a · dbbfabf1
      deuce authored
      New Features:
      - Multiple bindings for each service
        Use comma-separated interfaces on Interface= lines in the ini file.
        Default is now "0.0.0.0,::"
      - IPv6 support
      - TLS support for the webserver and (non-static) services
        New TLS option in services.ini (ie: Options=TLS)
      - Decrease LEN_SCAN_CMD to 35 chars, increase the CID field to 45 chars,
        and rename the MAIL_CMD string to IPADDR.  I think this frees up the
        note field for SysOp use.
      dbbfabf1
  28. 02 Mar, 2015 1 commit
  29. 23 Feb, 2015 1 commit
  30. 12 Nov, 2014 1 commit
  31. 08 Mar, 2014 1 commit
    • rswindell's avatar
      * Eliminated the sbbs.ini [BBS] Options flag: USE_2ND_RLOGIN · f8371471
      rswindell authored
      - this option has been a default option flag for 10 years
      - this option was introduced *before* the RLogin password capability
      - Synchronet now always expects the login-ID (alias) to be the 2nd string
      received during RLogin connections (called 'server-user-name' in RFC 1282).
      f8371471
  32. 01 Mar, 2012 1 commit
  33. 04 Nov, 2011 1 commit
    • sbbs's avatar
      Resolve warnings: · 879873dd
      sbbs authored
      sbbscon.c: In function ‘whoami’:
      sbbscon.c:430: warning: implicit declaration of function ‘getresuid’
      sbbscon.c:432: warning: implicit declaration of function ‘getresgid’
      sbbscon.c: In function ‘linux_keepcaps’:
      sbbscon.c:452: warning: implicit declaration of function ‘prctl’
      sbbscon.c:447: warning: unused variable ‘strbuf’
      879873dd
  34. 29 Oct, 2011 1 commit
    • deuce's avatar
      Fix format-related warnings. · 8563ad46
      deuce authored
      This is *likely* to break the Win32 build and even when the macros are
      specified in xpdev, I doubt Microsoft has added support for the 'z' size
      specifier used in smblib/smbadd.c we'll likely need a SIZE_T_SIZE macro
      that is "z" on C99 systems and "ll" or "64" or whatever it is on Win32.
      
      Or maybe a whole slew of complete SIZE_T macros since the 32/64 but thing
      and the max file size thing may actually need the full format specification
      to be in the macro... "zu" on C99 platforms and whatever magic Microsoft
      needs there.
      8563ad46
  35. 19 Oct, 2011 1 commit