1. 24 Feb, 2022 1 commit
  2. 06 Jun, 2021 1 commit
  3. 04 Apr, 2021 1 commit
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · fcf58640
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
      fcf58640
  4. 18 Feb, 2021 1 commit
  5. 16 Aug, 2020 1 commit
  6. 14 May, 2020 1 commit
    • rswindell's avatar
      No longer dynamically allocate compiled access requirment (AR) strings for configuration items. · 110cc8ac
      rswindell authored
      SCFG for Win32 is linked against a load_cfg lib that builds withOUT SCFG defined, so these compiled AR elements were allocated and then many SCFG operations (e.g. copy/paste, create new) would copy the allocated ARs to another configuration and then be subjected to double-free upon exit/clean-up (resulting in exception or crash).
      Just get rid of this cruft and some other related RAM-byte-saving hold-overs from the MS-DOS days.
      110cc8ac
  7. 20 Feb, 2019 1 commit
    • rswindell's avatar
      Reversed course on the WM_QUOTE mode handling in sbbs_t::postmsg() · 57424543
      rswindell authored
      (JS bbs.post_msg()): If the WM_QUOTE mode flag is *not* set, then it will auto-
      create the quote file (quotes.txt) and add the WM_QUOTE mode bit before calling
      sbbs_t::writemsg(). So if existing JS scripts call bbs.post_msg(..., WM_QUOTE)
      with a custom-created quote file (e.g. with msg tails), that'll still work as
      before (e.g. DDMsgReader.js).
      
      bbs.email() and bbs.netmail() now support an optional reply_header_object
      argument which works like bbs.post_msg(). These methods (and the underlying
      C++ methods: sbbs_t::email(), netmail(), inetmail(), all auto-create the
      quote file now, when the WM_QUOTE mode flag is *not* set.
      
      The auto-created quotes.txt now includes the plain-text version of MIME-encoded
      messages.
      
      the bbs.post_msg(), email(), and netmail() methods now all support reply
      header objects that came directly from bbs.get_msg_header() *or* copies of
      such header objects (but the auto-quoting feature won't work when supplied
      this type of header object). So if passed a header object returned from
      bbs.get_msg_header(), we can now use the message base (for auto-quoting) and
      the underlying msg storage directly (no JS parsing necessary). This is what
      the new js_GetMsgHeaderObjectPrivates() function is used for.
      
      js_ParseMsgHeaderObject() (and the underlying parse_header_object() function)
      now supports either an actual internally-generated msg header object (e.g.
      returned from bbs.get_msg_header()) or one that is a copy or hand-constructed.
      
      quotemsg() no longer tries to get a copy of the msg index/header. It shouldn't
      have to since we can now get to underlying msg storage in the js_msgbase.c
      via js_GetMsgHeaderObjectPrivates().
      
      quotemsg() now reads only the plain-text portion of MIME-encoded messages.
      
      As part of this effort, I modernized the method prototypes using default
      argument values (e.g. WM_NONE for wm_mode arguments) and removed some
      extraneous WM_EMAIL and WM_NETMAIL specifications (these wm_mode flags are
      automatically added by the sbbs_t::email() and *netmail() functions).
      
      savemsg() now *does* support reply-IDs/thread-linkage via the additional
      'remsg' argument (when non-NULL).
      
      Replaced some use of nulstr with NULL.
      
      Replaced more boilerplate SMB open code with calls to smb_open_sub().
      57424543
  8. 29 Jul, 2018 1 commit
  9. 25 Jul, 2018 1 commit
  10. 16 Mar, 2018 1 commit
  11. 21 Jul, 2011 1 commit
    • rswindell's avatar
      Enhancement: most question-type text.dat entries are now optional. · 77a2cda0
      rswindell authored
      That is, if any of the following text.dat entries are set to a blank/emtpy
      string (by editing ctrl/text.dat or via run-time script modification), the
      question will not be asked of the user allowing greater sysop-customization
      of hard-coded processes (e.g. new user application):
      ClearUploadQueueQ
      ClearDownloadQueueQ
      HangUpAfterXferQ
      ChatWithGuruInsteadQ
      ForwardMailQ
      DownloadBatchQ
      LogOffQ
      DeleteErrorLogQ
      ClearErrCounter
      DeleteGuruLogQ
      AutoTerminalQ
      AnsiTerminalQ
      ColorTerminalQ
      ExAsciiTerminalQ
      CallingFromNorthAmericaQ
      ReadYourMailNowQ
      NScanAllGrpsQ
      SScanAllGrpsQ
      NewPasswordQ
      ContinueQ
      EnterYourPhoneNumber
      UserInfoCorrectQ
      UseExternalEditorQ
      DownloadAttachedFileQ
      AddSubToNewScanQ (new)
      RemoveFromNewScanQ
      DisplaySubjectsOnlyQ
      Post
      SearchExtendedQ
      ViewSysInfoFileQ
      ViewLogonMsgQ
      WithLineNumbersQ
      77a2cda0
  12. 01 Mar, 2011 2 commits
  13. 20 Mar, 2009 1 commit
  14. 14 Feb, 2008 1 commit
    • rswindell's avatar
      Re-use text.dat entry NoErrorLogExists for reporting DirectoryDoesNotExist and · 4d34cf63
      rswindell authored
      changed FileNotThere text.dat entry to FileDoesNotExist which displays the file
      path.
      Now check if the directory exists before checking the available disk space
      before allowing file uploads and report the correct error (using
      DirectoryDoesNotExist) if the directory is missing (a common mistake).
      Overhaul viewfilecontents() - wow, I can't wait to re-write all of this moldy
      filebase code!
      4d34cf63
  15. 14 Aug, 2007 1 commit
  16. 28 Feb, 2006 1 commit
  17. 20 Sep, 2005 2 commits
  18. 22 Aug, 2003 2 commits
  19. 26 Jul, 2003 1 commit
  20. 09 May, 2003 1 commit
  21. 31 Jan, 2003 1 commit
  22. 13 Nov, 2002 1 commit
  23. 15 Oct, 2002 1 commit
  24. 13 Mar, 2002 1 commit
  25. 07 Feb, 2002 1 commit
  26. 06 Feb, 2002 2 commits
  27. 04 Nov, 2001 2 commits
  28. 28 Sep, 2001 1 commit
  29. 29 Aug, 2001 1 commit
  30. 01 Aug, 2001 1 commit
  31. 23 Jun, 2001 1 commit
  32. 21 Jun, 2001 1 commit
  33. 20 Jun, 2001 1 commit
  34. 15 Jun, 2001 1 commit
  35. 09 Mar, 2001 1 commit