Synchronet CVS Commit Log

This is a log of the 500 most recent changes in the Synchronet CVS repository.
If you want to view more commits, you can by passing ?<number> in URL.
  1. rswindell
    Tue Apr 23 2019 04:07 pm PDT

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.488 1.489 diff
    src/sbbs3/login.cpp 1.27 1.28 diff
    src/sbbs3/mailsrvr.c 1.688 1.689 diff
    src/sbbs3/main.cpp 1.746 1.747 diff
    src/sbbs3/sbbsdefs.h 1.236 1.237 diff
    src/sbbs3/services.c 1.328 1.329 diff
    src/sbbs3/websrvr.c 1.679 1.680 diff

    Log Message:
    Clean up the hostname look-up stuff:
    - getnameinfo() was being called with NI_NUMERICHOST in the mail server and
      web server (but nowhere else)
    - use a singly-defined macro (STR_NO_HOSTNAME) for the "<no name>" string
      rather than copying it about
    - the webserver apparently assumes that session->host_name will always have
      *some* unique value (e.g. the IP address when no hostname is available) - so
      account for that special need <grumble>
  2. rswindell
    Tue Apr 23 2019 09:31 am PDT

    Modified Files:
    src/sbbs3/services.c 1.327 1.328 diff

    Log Message:
    Check the relevant service's configured log_level before logging messages
    (e.g. "<service> connection accepted from: <ip_addr> port <num>").
    Some strcpy->SAFECOPY, sprintf->SAFEPRINTF replacements for good measure.
  3. rswindell
    Mon Apr 22 2019 10:34 pm PDT

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.120 1.121 diff

    Log Message:
    When scanning for messages "to you", include messages from you and to you
    (i.e. posted to yourself). It's confusing when testing the scan for messages
    "to you" if messages also *from* you aren't listed. :-)
  4. rswindell
    Mon Apr 22 2019 10:32 pm PDT

    Modified Files:
    src/sbbs3/js_global.c 1.377 1.378 diff

    Log Message:
    Add missing comma to JSDOC line
  5. rswindell
    Mon Apr 22 2019 03:51 pm PDT

    Added Files:
    exec/showavatar.js NONE 1.1 diff

    Log Message:
    A simple script to display a user's avatar somewhere on the terminal screen.
    The default user is the current user. If a different user's avatar is to be
    shown, the user number must be passed on the command-line. Other command-line
    options supported:
      -draw  = use the Graphic.draw() method to display anywhere (requires ANSI)
      -top   = display the avatar at the top of the screen
      -right = display the avatar at the right edge of the screen
      -above = display the avatar above the current cursor position
      
    The -top/right/above options imply "draw", and all require ANSI support.
    The default display method is to simply "show" the avatar (not draw) and that
    does not require ANSI support, but can only display the avatar at the current
    cursor location, left-justified.
  6. rswindell
    Mon Apr 22 2019 03:20 pm PDT

    Modified Files:
    src/sbbs3/scfg/scfg.c 1.101 1.102 diff

    Log Message:
    Remove the deprecated '-i' option (alias for -if).
    Don't allow the use of -if, -ix, -ic options when not a *nix build.
  7. nightfox
    Thu Apr 18 2019 07:15 pm PDT

    Modified Files:
    exec/SlyEdit.js 1.58 1.59 diff
    exec/SlyEdit_DCTStuff.js 1.18 1.19 diff
    exec/SlyEdit_IceStuff.js 1.26 1.27 diff

    Log Message:
    SlyEdit v1.63: For wide terminals (>80 columns), SlyEdit now allows using the full width of the terminal for message text. * NOTE: After upgrading to this verison, ensure the option "Record Terminal Width" in SCFG for SlyEdit.  That option helps Synchronet ensure that message lines are re-wrapped if the reader is using a different terminal size than the author did when writing the message.
  8. nightfox
    Thu Apr 18 2019 07:13 pm PDT

    Modified Files:
    docs/SlyEdit_ReadMe.txt 1.45 1.46 diff
    docs/SlyEdit_Upgrading.txt 1.6 1.7 diff

    Log Message:
    Updated for SlyEdit 1.63
  9. rswindell
    Tue Apr 16 2019 09:07 pm PDT

    Modified Files:
    src/sbbs3/scfg/scfgxtrn.c 1.65 1.66 diff

    Log Message:
    Better onlien help for the quotewrap width value.
  10. rswindell
    Tue Apr 16 2019 08:58 pm PDT

    Modified Files:
    exec/fseditor.js 1.91 1.92 diff

    Log Message:
    when wrapping quoted text, leave room for ' > '
  11. rswindell
    Tue Apr 16 2019 01:57 am PDT

    Modified Files:
    exec/fseditor.js 1.90 1.91 diff

    Log Message:
    Better support for terminals > 80 columns wide:
    Don't use a hard-coded value of 76 for word_wrap length argument.
    Don't use the default length of 79 for the quote_msg() call.
    Display a full bar across the screen for the quote window separator
  12. rswindell
    Tue Apr 16 2019 01:54 am PDT

    Modified Files:
    src/sbbs3/scfg/scfgxtrn.c 1.64 1.65 diff

    Log Message:
    Add a new quotewrap_cols setting for external editors, default is 0 (current
    terminal width) - only used when the QUOTEWRAP option is set. Common values:
    0 - current behavior, wrap the quote file to the current terminal width
    80 - wrap 80 columns specifically (actually, 79)
    9999 - unwrap to long lines (one line per paragraph)
  13. rswindell
    Tue Apr 16 2019 01:48 am PDT

    Modified Files:
    src/sbbs3/scfgdefs.h 1.45 1.46 diff
    src/sbbs3/scfglib2.c 1.46 1.47 diff
    src/sbbs3/scfgsave.c 1.78 1.79 diff
    src/sbbs3/writemsg.cpp 1.146 1.147 diff

    Log Message:
    Add a new quotewrap_cols setting for external editors, default is 0 (current
    terminal width) - only used when the QUOTEWRAP option is set. Common values:
    0 - current behavior, wrap the quote file to the current terminal width
    80 - wrap 80 columns specifically (actually, 79)
    9999 - unwrap to long lines (one line per paragraph)
    
    Actually, previously it was wrapping to current terminal width minus 4 when
    QUOTEWRAP was enabled. Now, make that current terminal width minus 1
    (when quotewrap_cols is set to 0).
  14. nightfox
    Mon Apr 15 2019 12:44 pm PDT

    Modified Files:
    xtrn/DDMsgReader/DDMsgReader.js 1.124 1.125 diff
    xtrn/DDMsgReader/readme.txt 1.20 1.21 diff
    xtrn/DDMsgReader/revision_history.txt 1.7 1.8 diff

    Log Message:
    Made use of the new MsgBase.get_index() function (if available) for better performance.  Added 'undefined' checks for some of the messaeg attribute definitions before adding them to the attribute strings, since some of them have changed.  Updated the version to 1.18.
  15. rswindell
    Mon Apr 15 2019 03:32 am PDT

    Modified Files:
    src/sbbs3/sbbsecho.c 3.110 3.111 diff

    Log Message:
    Fix potential crash in create_netmail(), bug introduced in rev 3.108:
    When responding to AreaFix requests, it's normal for create_netmail() to be
    called with a NULL 'msg' argument value - so don't try to dereference it
    (for the "cols" header field value) if it's NULL. Thanks to Mark Lewis for the
    bug report.
  16. rswindell
    Fri Apr 12 2019 12:39 pm PDT

    Modified Files:
    src/sbbs3/sbbsecho.c 3.109 3.110 diff

    Log Message:
    Remove reference to removed/unused enum value: NET_FIDO_ASCII
  17. rswindell
    Thu Apr 11 2019 05:17 pm PDT

    Modified Files:
    ctrl/xtrn.cnf 1.40 1.41 diff

    Log Message:
    Enable SAVECOLUMNS in fseditor.js configuration.
  18. rswindell
    Thu Apr 11 2019 05:11 pm PDT

    Modified Files:
    src/sbbs3/scfg/scfgxtrn.c 1.63 1.64 diff

    Log Message:
    Define and use a new external message editor option: SAVECOLUMNS
    (default: off) - when enabled, the current terminal width (columns) will be
    saved in the msg header.
    When using the internal msg editor or raw intput mode, the columns are always
    saved in the message editor. fseditor.js should have this option enabled.
    In SCFG, this option is called "Record Terminal Width".
  19. rswindell
    Thu Apr 11 2019 05:10 pm PDT

    Modified Files:
    src/sbbs3/bulkmail.cpp 1.41 1.42 diff
    src/sbbs3/email.cpp 1.73 1.74 diff
    src/sbbs3/fido.cpp 1.70 1.71 diff
    src/sbbs3/netmail.cpp 1.57 1.58 diff
    src/sbbs3/postmsg.cpp 1.121 1.122 diff
    src/sbbs3/sbbs.h 1.512 1.513 diff
    src/sbbs3/sbbsdefs.h 1.235 1.236 diff
    src/sbbs3/writemsg.cpp 1.145 1.146 diff

    Log Message:
    Define and use a new external message editor option: SAVECOLUMNS
    (default: off) - when enabled, the current terminal width (columns) will be
    saved in the msg header.
    When using the internal msg editor or raw intput mode, the columns are always
    saved in the message editor. fseditor.js should have this option enabled.
  20. rswindell
    Thu Apr 11 2019 01:30 pm PDT

    Modified Files:
    src/sbbs3/js_bbs.cpp 1.180 1.181 diff

    Log Message:
    Resolve MSVC warning about boolean conversion.
  21. rswindell
    Thu Apr 11 2019 01:29 pm PDT

    Modified Files:
    src/smblib/smbdefs.h 1.111 1.112 diff

    Log Message:
    More cruft (unused enum value) removal.
  22. rswindell
    Thu Apr 11 2019 04:09 am PDT

    Modified Files:
    exec/load/smbdefs.js 1.7 1.8 diff

    Log Message:
    Re-sync with smbdefs.h:
    - Changed MSG_TRUNCFILE to MSG_MIMEATTACH
    - Removed unused netattr bit definitions.
  23. rswindell
    Thu Apr 11 2019 04:04 am PDT

    Modified Files:
    src/sbbs3/mailsrvr.c 1.687 1.688 diff

    Log Message:
    Set the (new) MIMEATTACH auxattr flag when receiving mail messages that contain
    MIME-encoded/embedded attachments.
    We probably will want to do this for SMTP-posted messages (to subs) too.
  24. rswindell
    Thu Apr 11 2019 04:03 am PDT

    Modified Files:
    src/smblib/smbtxt.c 1.39 1.40 diff

    Log Message:
    smb_countattachments() now works - needed a filename buffer even though we
    don't care about filenames.
    smb/mime_getattachment() now supports filenames with spaces in them. If we need
    to strip or convert to short filenames, do that in the application/script code,
    not in smblib.
  25. rswindell
    Thu Apr 11 2019 03:59 am PDT

    Modified Files:
    src/sbbs3/atcodes.cpp 1.88 1.89 diff

    Log Message:
    Redefine the unused MSG_TRUNCFILE msg auxattr flag to MSG_MIMEATTACH, used to
    indicate that a message's body text contains one or more MIME-encoded/embedded
    attachments - so that entities won't have to parse the message headers/body
    to determine whether or not a message has MIME-attachments.
  26. rswindell
    Thu Apr 11 2019 03:59 am PDT

    Modified Files:
    src/smblib/smbdefs.h 1.110 1.111 diff

    Log Message:
    Redefine the unused MSG_TRUNCFILE msg auxattr flag to MSG_MIMEATTACH, used to
    indicate that a message's body text contains one or more MIME-encoded/embedded
    attachments - so that entities won't have to parse the message headers/body
    to determine whether or not a message has MIME-attachments.
  27. rswindell
    Thu Apr 11 2019 03:34 am PDT

    Modified Files:
    src/smblib/smbtxt.c 1.38 1.39 diff

    Log Message:
    Fix off-by-one stack corruption introduced in rev 1.35.
  28. rswindell
    Thu Apr 11 2019 03:08 am PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.238 1.239 diff

    Log Message:
    The *_net_addr hfields can have a valid string even when the corresponding
    *_net_type hfield has a value of 0 (NET_NONE) - according to smbdefs.h.
  29. rswindell
    Thu Apr 11 2019 03:03 am PDT

    Modified Files:
    exec/showmsgavatar.js 1.2 1.3 diff

    Log Message:
    Use the new bbs.msghdr_top_of_screen property to determine if the avatar should
    be shown at the top of the screen or relative to the bottom of the header.
  30. rswindell
    Thu Apr 11 2019 03:01 am PDT

    Modified Files:
    src/sbbs3/main.cpp 1.745 1.746 diff
    src/sbbs3/getmsg.cpp 1.80 1.81 diff
    src/sbbs3/js_bbs.cpp 1.179 1.180 diff
    src/sbbs3/js_console.cpp 1.124 1.125 diff
    src/sbbs3/sbbs.h 1.511 1.512 diff

    Log Message:
    Define and use sbbs_t::msghdr_tos (exposed via JS as
    console.msghdr_top_of_screen):
    a hack to let scripts know whether the most-recently displayed message header
    was displayed on the top of the terminal screen (or not). This allows us to
    show avatars at the top of the screen when the header is up there, rather than
    relevative to the bottom of the header (the pos can vary, depending on stuff).
  31. rswindell
    Thu Apr 11 2019 01:47 am PDT

    Modified Files:
    src/sbbs3/userdat.c 1.213 1.214 diff

    Log Message:
    MSVC doesn't have/define ssize_t.
  32. rswindell
    Thu Apr 11 2019 01:44 am PDT

    Modified Files:
    src/sbbs3/mailsrvr.c 1.686 1.687 diff

    Log Message:
    Parse the *first* email address found in "To" header fields, not the last.
  33. rswindell
    Thu Apr 11 2019 01:32 am PDT

    Modified Files:
    src/sbbs3/mailsrvr.c 1.685 1.686 diff

    Log Message:
    RFC822 "To" fields can contain multiple names/addresses, so can't use
    strrchr() here to find terminating chars (quotes, parens, brackets).
    e.g. '"Joe Shmoe" <joe@shmoe.com>, "Fred Smith" <fred@smith.org>'
    would be parsed as 'Joe Shmoe" <joe@shmoe.com>, "Fred Smith'.
  34. rswindell
    Wed Apr 10 2019 06:30 pm PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.237 1.238 diff

    Log Message:
    Added msg header 'text_length' property, which is usually the same as
    'data_length', but not always (e.g. may include text from some header
    fields, excludes any non-text data fields).
    Mark 'data_length' msg header property as read-only.
  35. rswindell
    Wed Apr 10 2019 06:19 pm PDT

    Modified Files:
    src/sbbs3/atcodes.cpp 1.87 1.88 diff
    src/sbbs3/mailsrvr.c 1.684 1.685 diff
    src/sbbs3/msg_id.c 1.13 1.14 diff
    src/sbbs3/prntfile.cpp 1.32 1.33 diff
    src/sbbs3/readmsgs.cpp 1.119 1.120 diff
    src/sbbs3/smbutil.c 1.130 1.131 diff
    src/sbbs3/useredit.cpp 1.53 1.54 diff
    src/sbbs3/websrvr.c 1.678 1.679 diff
    src/sbbs3/writemsg.cpp 1.144 1.145 diff

    Log Message:
    Address new-found safe_snprintf() usage problems/warnings (thanks GCC!).
  36. rswindell
    Wed Apr 10 2019 06:00 pm PDT

    Modified Files:
    src/smblib/smbadd.c 1.40 1.41 diff
    src/smblib/smballoc.c 1.13 1.14 diff
    src/smblib/smbfile.c 1.14 1.15 diff
    src/smblib/smbhash.c 1.35 1.36 diff
    src/smblib/smblib.c 1.191 1.192 diff

    Log Message:
    Address new-found safe_snprintf() usage problems/warnings (thanks GCC!).
  37. rswindell
    Wed Apr 10 2019 05:47 pm PDT

    Modified Files:
    src/xpdev/dirwrap.c 1.104 1.105 diff

    Log Message:
    Address GCC warning: field precision specifier '.*' expects argument of type 'int'
  38. rswindell
    Wed Apr 10 2019 05:46 pm PDT

    Modified Files:
    src/xpdev/genwrap.h 1.114 1.115 diff

    Log Message:
    Catch (warn about) safe_snprintf() usage problems when building with GCC.
  39. rswindell
    Wed Apr 10 2019 05:41 pm PDT

    Modified Files:
    src/sbbs3/atcodes.cpp 1.86 1.87 diff

    Log Message:
    Remove never-used msg network-attribute definitions.
  40. rswindell
    Wed Apr 10 2019 05:36 pm PDT

    Modified Files:
    src/smblib/smbdefs.h 1.109 1.110 diff

    Log Message:
    Remove never-used msg network-attribute definitions.
  41. rswindell
    Wed Apr 10 2019 05:12 pm PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.236 1.237 diff
    src/sbbs3/mailsrvr.c 1.683 1.684 diff

    Log Message:
    Removing a bunch of header field type definition that seemed like a good idea
    back in 1993, but were never needed/used.
  42. rswindell
    Wed Apr 10 2019 05:11 pm PDT

    Modified Files:
    src/smblib/smblib.c 1.190 1.191 diff
    src/smblib/smbdefs.h 1.108 1.109 diff

    Log Message:
    Removing a bunch of header field type definition that seemed like a good idea
    back in 1993, but were never needed/used.
  43. rswindell
    Wed Apr 10 2019 03:54 pm PDT

    Modified Files:
    src/smblib/smbdefs.h 1.107 1.108 diff
    src/smblib/smblib.h 1.91 1.92 diff
    src/smblib/smblib.c 1.189 1.190 diff
    src/smblib/smbtxt.c 1.37 1.38 diff

    Log Message:
    Introduce and use convenience pointers for MIME-Version and Content-Type
    header fields. Eliminate smb_getcontenttype() - now unnecessary.
  44. rswindell
    Wed Apr 10 2019 02:18 pm PDT

    Modified Files:
    src/smblib/smbtxt.c 1.36 1.37 diff

    Log Message:
    Ammendment to previous commit: "Content-type:" is already removed from
    the string being passed around.
  45. rswindell
    Wed Apr 10 2019 02:10 pm PDT

    Modified Files:
    src/smblib/smblib.h 1.90 1.91 diff
    src/smblib/smbtxt.c 1.35 1.36 diff

    Log Message:
    Added smb_getcontenttype(): returns the MIME content-type of the message
    or NULL if not relevant (not a MIME-encoded message).
    Added smb_countattachments(): returns the number of file attachments in a
    MIME-encoded message.
    Added SMBMSGTXT_NO_TAILS definition to be used in place of '0' for
    common smb_getmsgtxt() mode argument value.
    The amount of white-space after "Content-Type:" and the content-type value
    is now more flexible (0 or +1 spaces/tabs are fine).
  46. rswindell
    Wed Apr 10 2019 01:03 pm PDT

    Modified Files:
    src/sbbs3/getmsg.cpp 1.79 1.80 diff
    src/sbbs3/sbbsecho.c 3.108 3.109 diff

    Log Message:
    Added buffer (filename) overflow protection to smb_getattachment().
  47. rswindell
    Wed Apr 10 2019 01:02 pm PDT

    Modified Files:
    src/smblib/smblib.h 1.89 1.90 diff
    src/smblib/smbtxt.c 1.34 1.35 diff

    Log Message:
    Added buffer (filename) overflow protection to smb_getattachment().
  48. rswindell
    Wed Apr 10 2019 12:34 pm PDT

    Modified Files:
    src/sbbs3/download.cpp 1.55 1.56 diff

    Log Message:
    sprintf -> SAFEPRINTF replacements.
    sendfile() no longer logs "attachment" when a file description is provided.
  49. rswindell
    Wed Apr 10 2019 12:33 am PDT

    Modified Files:
    src/sbbs3/getmsg.cpp 1.78 1.79 diff
    src/sbbs3/readmail.cpp 1.91 1.92 diff

    Log Message:
    Missed the init of fd.dir.
  50. rswindell
    Wed Apr 10 2019 12:30 am PDT

    Modified Files:
    src/sbbs3/getmsg.cpp 1.77 1.78 diff
    src/sbbs3/js_bbs.cpp 1.178 1.179 diff
    src/sbbs3/readmail.cpp 1.90 1.91 diff
    src/sbbs3/sbbs.h 1.510 1.511 diff

    Log Message:
    Move the download file attachment logic from readmail() to a new function:
    download_file_attachments() and expose via new JS "bbs" method. Currently
    this only reall works for the mail base.
  51. rswindell
    Tue Apr 09 2019 11:57 pm PDT

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.118 1.119 diff

    Log Message:
    sprintf() -> SAFEPRINTF replacements.
  52. rswindell
    Tue Apr 09 2019 11:54 pm PDT

    Modified Files:
    src/sbbs3/readmail.cpp 1.89 1.90 diff

    Log Message:
    sprintf() -> SAFEPRINTF replacements.
  53. rswindell
    Tue Apr 09 2019 05:18 pm PDT

    Modified Files:
    src/sbbs3/sbbs.h 1.509 1.510 diff
    src/sbbs3/msgtoqwk.cpp 1.55 1.56 diff
    src/sbbs3/qwktomsg.cpp 1.70 1.71 diff
    src/sbbs3/pack_qwk.cpp 1.82 1.83 diff
    src/sbbs3/pack_rep.cpp 1.48 1.49 diff
    src/sbbs3/un_qwk.cpp 1.55 1.56 diff
    src/sbbs3/un_rep.cpp 1.73 1.74 diff

    Log Message:
    Pass an smb_t* to QWK msg import and export functions rather than a subnum
    since the smb_t already contains a subnum and we were passing a pointer to the
    sbbs_t::smb to lower-level called-functions anyway.
    Let's not mix-up class-scope with function arguments.
  54. rswindell
    Tue Apr 09 2019 03:07 pm PDT

    Modified Files:
    src/sbbs3/userdat.c 1.212 1.213 diff

    Log Message:
    putuserrec return an error if write() fails.
  55. rswindell
    Tue Apr 09 2019 02:33 pm PDT

    Modified Files:
    src/sbbs3/xtrn.cpp 1.246 1.247 diff

    Log Message:
    Fix the missing carriage-returns in the shell (bash) prompts by always building with the stderr logging
    support (in *nix builds) - but run-time disable as desired via EX_NOLOG option. I've been wanting to get
    rid of that "XTERN_*" macro for a long time anyway (it's "XTRN" damn-it!). :-)
  56. rswindell
    Tue Apr 09 2019 02:13 pm PDT

    Modified Files:
    exec/str_cmds.js 1.45 1.46 diff

    Log Message:
    Updated bbs.exec() mode flags (use EX_STDIO instead of EX_OUTR|EX_INR).
    Added EX_NOLOG to *nix shell mode - don't log the shell output.
  57. rswindell
    Tue Apr 09 2019 02:10 pm PDT

    Modified Files:
    exec/load/sbbsdefs.js 1.86 1.87 diff

    Log Message:
    Define EX_STDIO for convenience (short-hand for EX_STDIN|EX_STDOUT)
  58. rswindell
    Tue Apr 09 2019 02:06 pm PDT

    Modified Files:
    exec/load/sbbsdefs.js 1.85 1.86 diff

    Log Message:
    Update external() mode flags definition (re-sync with sbbsdefs.h):
    - Renamed EX_INR and EX_OUTR to EX_STDIN and EX_STDOUT
      (with duplicate variables for backwards compatibility)
    - Removed long-obsolete EX_OUTL, EX_SWAP
    - Added (new) EX_NOLOG
  59. rswindell
    Tue Apr 09 2019 01:58 pm PDT

    Modified Files:
    src/sbbs3/sbbsdefs.h 1.234 1.235 diff
    src/sbbs3/xtrn.cpp 1.245 1.246 diff

    Log Message:
    Define and support EX_NOLOG mode flag to sbbs_t::external(), if set,
    intercepted output to stderr won't be logged.
  60. rswindell
    Tue Apr 09 2019 01:48 pm PDT

    Modified Files:
    src/sbbs3/sbbsdefs.h 1.233 1.234 diff

    Log Message:
    Remove some cruft xtrn_t.misc bit definitions (WORDWRAP*), never used.
    Since QUOTEWRAP *is* used, just define that bit flag specifically.
  61. rswindell
    Tue Apr 09 2019 01:26 pm PDT

    Modified Files:
    src/sbbs3/sbbs.h 1.508 1.509 diff
    src/sbbs3/main.cpp 1.744 1.745 diff

    Log Message:
    Reimplement smb_stack() as an sbbs_t member function using a member linked
    list (smb_list) for thread-safe SMB stack storage.
  62. rswindell
    Tue Apr 09 2019 01:25 pm PDT

    Modified Files:
    src/smblib/smblib.c 1.188 1.189 diff
    src/smblib/smblib.h 1.88 1.89 diff

    Log Message:
    Eliminate smb_stack(), SMB_STACK_* as this implementation is non-thread-safe
    and frankly could cause all kinds of havok with multiple thread (e.g. nodes)
    pushing and popping SMB's concurrently. eek.
  63. rswindell
    Tue Apr 09 2019 12:24 pm PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.235 1.236 diff

    Log Message:
    Resolve GCC warning: unused variable 'argv'
  64. nightfox
    Mon Apr 08 2019 01:44 pm PDT

    Modified Files:
    xtrn/slyvote/readme.txt 1.5 1.6 diff
    xtrn/slyvote/slyvote.js 1.6 1.7 diff

    Log Message:
    More use of get_index() if available, to help speed things up a bit.  Also, made a further optimization: when checking a sub-board if it has polls, check in reverse rather than forward.  Since polls & voting is a relatively recent feature in Synchronet, hopefully it should finish faster going in reverse.
  65. nightfox
    Sun Apr 07 2019 04:07 pm PDT

    Modified Files:
    xtrn/slyvote/readme.txt 1.4 1.5 diff
    xtrn/slyvote/slyvote.js 1.5 1.6 diff

    Log Message:
    SlyVote v1.02: Now uses the new get_index() messagebase function, if available, for getting the message index objects when determining if a sub-board has polls (in the subBoardHasPolls() function).  get_index() is faster than iterating through all messages and calling get_msg_index() for each message.
  66. rswindell
    Sat Apr 06 2019 01:02 am PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.234 1.235 diff

    Log Message:
    MsgBase.put_msg_header() now updates the internal (smbmsg_t) representation
    of the message header so that functions that need it (e.g. bbs.show_msg_header)
    don't use/show stale data. This change requires the updated smb_copymsgmem()
    which clear/sets message convenience pointers upon copying hfields from one
    message header to another.
  67. rswindell
    Sat Apr 06 2019 01:00 am PDT

    Modified Files:
    src/smblib/smblib.c 1.187 1.188 diff

    Log Message:
    smb_copymsgmem() fix:
    Did not clear/set convenience pointers (e.g. msg.subj), so they would point
    to the source message hfield_dat buffers which may be freed or garbage.
    Apparently nothing that used smb_copymsgmem() used the convenience pointers
    (before now), so it hasn't been a problem before now. <shrug>
    It became a problem becaue I'm going to use this function in js_put_msg_header
    to fix a problem where the underlying smbmsg_t representation is not current
    even after MsgBase.put_msg_header() is used.
  68. rswindell
    Fri Apr 05 2019 05:39 pm PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.233 1.234 diff

    Log Message:
    New MsgBase method: get_index() - returns an array of all message index records
    (objects, in the same format as returned by the get_mgs_index() method)
    much faster than iterating through a loop, calling the get_msg_index() method
    for each message. If you want to load messages (e.g. headers, text), filtering
    by criteria found in the message index (attributes, to/from user, subject CRC)
    loading a list of indexes and filtering before calling get_msg_header() for the
    selected messages is much faster than previously available MsgBase object
    methods (e.g. get_all_msg_headers()). If you don't need to filter the loaded
    messages (you really want *all* message headers), then get_index() is of no
    benefit to you, the script-writer. This is most useful for the "mail" msgbase
    where selective loading of messages is more common.
  69. rswindell
    Fri Apr 05 2019 02:44 pm PDT

    Modified Files:
    src/sbbs3/wordwrap.c 1.43 1.44 diff

    Log Message:
    There appears to be a few places in this file that treat ^A^A as a literal
    Ctrl-A (ASCII 1) char. This is wrong. A literal Ctrl-A sequence is ^AA.
    I'm only addressing one of those instances in this commit since it *also*
    appears to be an off-by-one bug where it's treating *all* Ctrl-A sequences as
    though they were ^AA - so just #ifdef'ing out until Deuce takes a look at this.
  70. rswindell
    Tue Apr 02 2019 02:04 am PDT

    Modified Files:
    exec/yesnobar.src 1.7 1.8 diff
    exec/noyesbar.src 1.6 1.7 diff

    Log Message:
    Support question text.dat strings that begin with a "\1?" (conditional
    blank line) sequence.
  71. rswindell
    Tue Apr 02 2019 12:29 am PDT

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.117 1.118 diff

    Log Message:
    Always display a no/yes prompt before deleting msgs with the 'D' key
    (use the sysop 'D'elete command to quickly delete a range of messages).
  72. rswindell
    Mon Apr 01 2019 03:08 pm PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.232 1.233 diff

    Log Message:
    Fix the message base corruption caused by previous committed changes to
    js_put_msg_header (MsgBase.put_msg_header) - we can't free the memory
    associated with 'gotten' msg header. Just use the header offset from the
    header retrieved via MsgBase.get_msg_header() - for fast lookup.
    Also fixed an innocuous extra increment of 'n' in argv/argc loop.
  73. rswindell
    Mon Apr 01 2019 02:58 pm PDT

    Modified Files:
    src/sbbs3/smbutil.c 1.129 1.130 diff

    Log Message:
    More detail in help for umask option (use leading 0 for octal).
  74. rswindell
    Sun Mar 31 2019 02:19 pm PDT

    Modified Files:
    src/sbbs3/scfg/scfgxtrn.c 1.62 1.63 diff

    Log Message:
    Enable the "Word-wrap Quoted Text" (QUOTEWRAP) editor setting by default.
    Updated help text and option name, a bit.
  75. rswindell
    Sun Mar 31 2019 02:01 pm PDT

    Modified Files:
    ctrl/xtrn.cnf 1.39 1.40 diff

    Log Message:
    Enable word-wrapped quote files for external message editors by default.
  76. rswindell
    Sat Mar 30 2019 09:32 pm PDT

    Modified Files:
    src/sbbs3/sbbscon.c 1.273 1.274 diff

    Log Message:
    Added warning log messages when disabling server recycle support due to 
    Linux system limitations and user/port configurations of sbbs.
    Add some parens around bit-wise "and" (&) checks too.
  77. rswindell
    Tue Mar 26 2019 02:08 am PDT

    Modified Files:
    src/sbbs3/fido.cpp 1.69 1.70 diff

    Log Message:
    sbbs_t::netmail() should return the result of qnetmail(), when called.
    Nobody checks the netmail() return value apparently, but this has been a bug
    since ... forever.
  78. rswindell
    Tue Mar 26 2019 12:45 am PDT

    Modified Files:
    src/sbbs3/fido.cpp 1.68 1.69 diff
    src/sbbs3/netmail.cpp 1.56 1.57 diff
    src/sbbs3/sbbs.h 1.507 1.508 diff

    Log Message:
    Fix (likely new) bug where QWK netmail could not be quoted when replying.
  79. rswindell
    Sun Mar 24 2019 03:51 am PDT

    Modified Files:
    exec/load/avatar_lib.js 1.18 1.19 diff

    Log Message:
    The draw() and draw_bin() methods now support an additional, optional 'top'
    argument which specifies that the avatar should be drawn at the top of the
    screen.
  80. rswindell
    Sun Mar 24 2019 02:28 am PDT

    Modified Files:
    src/sbbs3/getmsg.cpp 1.76 1.77 diff
    src/sbbs3/js_bbs.cpp 1.177 1.178 diff
    src/sbbs3/js_console.cpp 1.123 1.124 diff
    src/sbbs3/js_msgbase.c 1.231 1.232 diff
    src/sbbs3/putmsg.cpp 1.44 1.45 diff
    src/sbbs3/readmail.cpp 1.88 1.89 diff
    src/sbbs3/readmsgs.cpp 1.116 1.117 diff
    src/sbbs3/sbbs.h 1.506 1.507 diff
    src/sbbs3/writemsg.cpp 1.143 1.144 diff

    Log Message:
    New JS bbs methods:
    - bbs.show_msg()
    - bbs.show_msg_header()
    Re-worked the JS bbs.netmail() implementation
    sbbs::show_msg(), show_msghdr(), msgtotxt() now take an smb_t* argument
    (don't use the pseudo-global 'smb' in these functions any longer)
    sbbs_t::putmsg() and JS console.putmsg() now accept an optional orig_columns
    argument to specify the original column width of a text for intelligent
    re-word-wrapping (e.g. as taken from a message header field). Previously, the
    original-column value was hard-coded to 80 columns (technically, 79).
    sbbs_t::show_msghdr() no longer sends a CRLF if the cursor is already at the
    top-of-screen (TOS).
    sbbs_t::show_msg() now uses the stored "columns" msg header fields to pass to
    putmsg() to intelligently re-word-wrap message bodies for display.
    sbbs_t::show_msg() and msgtotxt() return bool now instead of void.
    JS MsgBase.get_all_msg_headers() now supports an optional "expand_fields"
    argument (defaults to true). I contemplated just getting rid of the (few)
    expanding header fields (more like default-value-header fields, like 'id'), but
    decided against it, at least for now.
    JS MsgBase.put_msg_header(), the "number_or_offset" argument is optional and
    not needed if a header object argument is provided. Make this clear in this JS
    docs for this method
    
    Note:
    I sat on this commit for a while because I noticed occasional errors like this:
        Node 1 <Digital Man> !ERROR 2 (No such file or directory) (WinError 0) in
        readmsgs.cpp line 217 (sbbs_t::loadposts) locking 
        "path/to/sub" access=-100 info=smb_locksmbhdr msgbase not open
    started cropping up after introducing these changes and which I never
    root-caused. But after a clean-build and waiting a week, I haven't seen it
    again, so hopefully it was just a incomplete rebuild issue and not a new bug.
  81. rswindell
    Sun Mar 24 2019 01:57 am PDT

    Modified Files:
    src/sbbs3/netmail.cpp 1.55 1.56 diff

    Log Message:
    Better default parameter value handling in sbbs_t::inetmail().
  82. rswindell
    Sun Mar 24 2019 01:55 am PDT

    Modified Files:
    src/sbbs3/js_file.c 1.177 1.178 diff

    Log Message:
    Updated JS doc strings.
  83. rswindell
    Sun Mar 24 2019 01:54 am PDT

    Modified Files:
    src/sbbs3/fido.cpp 1.67 1.68 diff

    Log Message:
    Support netmail addresses (e.g. Internet e-mail addresses) longer than the 35
    character limit imposed by FidoNet message "to" fields, in sbbs_t::netmail().
    Use the regarding-message from_net field when a 'to' field is not passed to
    sbbs_t::netmail()
  84. rswindell
    Sun Mar 24 2019 12:11 am PDT

    Modified Files:
    src/sbbs3/sbbs_ini.c 1.168 1.169 diff

    Log Message:
    Rename the 2 outbound interface keys that were introduced by Deuce in the big
    IPv6 commit of 2015:
    "OutgoingV4" is now "OutboundInterface" and
    "OutgoingV6" is now "OutboundV6Interface" (which is not yet used)
  85. nightfox
    Sat Mar 23 2019 01:03 am PDT

    Modified Files:
    xtrn/slyvote/readme.txt 1.3 1.4 diff
    xtrn/slyvote/slyvote.js 1.4 1.5 diff

    Log Message:
    SlyVote version 1.01: Changed "voting area" verbage to "sub-board".  Updated the main screen to show the number of polls the user has voted on & the number remaining.  Updated the sub-board choosing to allow choosing the message group first, and load the sub-board information (such as whether each sub-board has polls) only when needed, rather than loading all the configured sub-boards, to help cut down the loading time when choosing a sub-board.
  86. nightfox
    Sat Mar 23 2019 01:00 am PDT

    Modified Files:
    exec/load/dd_lightbar_menu.js 1.1 1.2 diff

    Log Message:
    Added the AddAdditionalQuitKeys() method, to add additional key characters to quit out of the meu in addition to ESC.  It takes an array of key characters as strings.  For example:
    lbMenu.AddAdditionalQuitKeys(["q", "Q"]);
  87. rswindell
    Fri Mar 22 2019 02:29 pm PDT

    Modified Files:
    src/xpdev/wrapdll.h 1.7 1.8 diff

    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.
    
    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with  the default __cdecl symbol naming rules of
    Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl)
    convention when building with Microsoft (Visual C++) tools. Although this
    allowed symbols to be located when linking, the calling convention mismatch
    caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
    worked 99% of the time, I didn't realize there was an underlying issue. So I
    now work-around the DLL symbol naming mismatch using a command-line option (-a)
    passed to implib in src/sbbs3/ctrl/makelibs.bat
    
    I had previously worked-around exceptions when calling MSVC DLL functions in
    sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
    rather than a user control (e.g. button) event handler. Those work-arounds can
    now be removed.
    
    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
    to many other projects' header files in cvs.synchro.net. In the future, we may
    want to just remove all instances of *CALL since they now serve no purpose and
    appear as useless "Kruft" (but do allow us to more-easily globally change DLL
    function calling conventions if/when necessary in the future).
  88. rswindell
    Fri Mar 22 2019 02:29 pm PDT

    Modified Files:
    src/uifc/uifc.h 1.93 1.94 diff

    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.
    
    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with  the default __cdecl symbol naming rules of
    Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl)
    convention when building with Microsoft (Visual C++) tools. Although this
    allowed symbols to be located when linking, the calling convention mismatch
    caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
    worked 99% of the time, I didn't realize there was an underlying issue. So I
    now work-around the DLL symbol naming mismatch using a command-line option (-a)
    passed to implib in src/sbbs3/ctrl/makelibs.bat
    
    I had previously worked-around exceptions when calling MSVC DLL functions in
    sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
    rather than a user control (e.g. button) event handler. Those work-arounds can
    now be removed.
    
    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
    to many other projects' header files in cvs.synchro.net. In the future, we may
    want to just remove all instances of *CALL since they now serve no purpose and
    appear as useless "Kruft" (but do allow us to more-easily globally change DLL
    function calling conventions if/when necessary in the future).
  89. rswindell
    Fri Mar 22 2019 02:29 pm PDT

    Modified Files:
    src/smblib/base64.h 1.7 1.8 diff
    src/smblib/crc32.h 1.17 1.18 diff
    src/smblib/lzh.h 1.12 1.13 diff
    src/smblib/md5.h 1.6 1.7 diff
    src/smblib/smblib.h 1.87 1.88 diff

    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.
    
    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with  the default __cdecl symbol naming rules of
    Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl)
    convention when building with Microsoft (Visual C++) tools. Although this
    allowed symbols to be located when linking, the calling convention mismatch
    caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
    worked 99% of the time, I didn't realize there was an underlying issue. So I
    now work-around the DLL symbol naming mismatch using a command-line option (-a)
    passed to implib in src/sbbs3/ctrl/makelibs.bat
    
    I had previously worked-around exceptions when calling MSVC DLL functions in
    sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
    rather than a user control (e.g. button) event handler. Those work-arounds can
    now be removed.
    
    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
    to many other projects' header files in cvs.synchro.net. In the future, we may
    want to just remove all instances of *CALL since they now serve no purpose and
    appear as useless "Kruft" (but do allow us to more-easily globally change DLL
    function calling conventions if/when necessary in the future).
  90. rswindell
    Fri Mar 22 2019 02:28 pm PDT

    Modified Files:
    src/sbbs3/ctrl/makelibs.bat 1.11 1.12 diff

    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.
    
    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with  the default __cdecl symbol naming rules of
    Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl)
    convention when building with Microsoft (Visual C++) tools. Although this
    allowed symbols to be located when linking, the calling convention mismatch
    caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
    worked 99% of the time, I didn't realize there was an underlying issue. So I
    now work-around the DLL symbol naming mismatch using a command-line option (-a)
    passed to implib in src/sbbs3/ctrl/makelibs.bat
    
    I had previously worked-around exceptions when calling MSVC DLL functions in
    sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
    rather than a user control (e.g. button) event handler. Those work-arounds can
    now be removed.
    
    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
    to many other projects' header files in cvs.synchro.net. In the future, we may
    want to just remove all instances of *CALL since they now serve no purpose and
    appear as useless "Kruft" (but do allow us to more-easily globally change DLL
    function calling conventions if/when necessary in the future).
  91. rswindell
    Fri Mar 22 2019 02:28 pm PDT

    Modified Files:
    src/sbbs3/dat_rec.h 1.4 1.5 diff
    src/sbbs3/ftpsrvr.h 1.57 1.58 diff
    src/sbbs3/js_rtpool.c 1.31 1.32 diff
    src/sbbs3/js_rtpool.h 1.5 1.6 diff
    src/sbbs3/mailsrvr.h 1.87 1.88 diff
    src/sbbs3/sbbs.h 1.505 1.506 diff
    src/sbbs3/services.h 1.44 1.45 diff
    src/sbbs3/ssl.h 1.14 1.15 diff
    src/sbbs3/startup.h 1.83 1.84 diff
    src/sbbs3/telnet.h 1.17 1.18 diff
    src/sbbs3/userdat.h 1.70 1.71 diff
    src/sbbs3/websrvr.h 1.55 1.56 diff

    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.
    
    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with  the default __cdecl symbol naming rules of
    Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl)
    convention when building with Microsoft (Visual C++) tools. Although this
    allowed symbols to be located when linking, the calling convention mismatch
    caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
    worked 99% of the time, I didn't realize there was an underlying issue. So I
    now work-around the DLL symbol naming mismatch using a command-line option (-a)
    passed to implib in src/sbbs3/ctrl/makelibs.bat
    
    I had previously worked-around exceptions when calling MSVC DLL functions in
    sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
    rather than a user control (e.g. button) event handler. Those work-arounds can
    now be removed.
    
    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
    to many other projects' header files in cvs.synchro.net. In the future, we may
    want to just remove all instances of *CALL since they now serve no purpose and
    appear as useless "Kruft" (but do allow us to more-easily globally change DLL
    function calling conventions if/when necessary in the future).
  92. rswindell
    Fri Mar 22 2019 02:28 pm PDT

    Modified Files:
    src/conio/ciolib.h 1.100 1.101 diff

    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.
    
    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with  the default __cdecl symbol naming rules of
    Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl)
    convention when building with Microsoft (Visual C++) tools. Although this
    allowed symbols to be located when linking, the calling convention mismatch
    caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
    worked 99% of the time, I didn't realize there was an underlying issue. So I
    now work-around the DLL symbol naming mismatch using a command-line option (-a)
    passed to implib in src/sbbs3/ctrl/makelibs.bat
    
    I had previously worked-around exceptions when calling MSVC DLL functions in
    sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
    rather than a user control (e.g. button) event handler. Those work-arounds can
    now be removed.
    
    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
    to many other projects' header files in cvs.synchro.net. In the future, we may
    want to just remove all instances of *CALL since they now serve no purpose and
    appear as useless "Kruft" (but do allow us to more-easily globally change DLL
    function calling conventions if/when necessary in the future).
  93. rswindell
    Fri Mar 22 2019 02:27 pm PDT

    Modified Files:
    src/comio/comio.h 1.9 1.10 diff

    Log Message:
    Use default calling convention (__cdecl) for DLL funcs in Borland builds.
    
    Fix age-old bug with Borland/C++Builder built executables (Windows):
    to achieve compatibility with  the default __cdecl symbol naming rules of
    Visual C++, we were using __stdcall convention for DLL functions when
    building code with Borland/C++Builder tools and using the default (__cdecl)
    convention when building with Microsoft (Visual C++) tools. Although this
    allowed symbols to be located when linking, the calling convention mismatch
    caused a stack cleanup issue that very rarely manifested itself in a bug
    (e.g. exception of some kind in sbbsctrl.exe, usually). Mismatching
    the calling conventions was unintentional (I thought the default for MSVC
    DLL functions was __stdcall) - but since the calls to MSVC-Built DLL functions
    worked 99% of the time, I didn't realize there was an underlying issue. So I
    now work-around the DLL symbol naming mismatch using a command-line option (-a)
    passed to implib in src/sbbs3/ctrl/makelibs.bat
    
    I had previously worked-around exceptions when calling MSVC DLL functions in
    sbbsctrl.exe by calling the problematic DLL functions from a timer tick handler
    rather than a user control (e.g. button) event handler. Those work-arounds can
    now be removed.
    
    The erroneous "DLLCALL" definition design pattern was replicated (copy/pasted)
    to many other projects' header files in cvs.synchro.net. In the future, we may
    want to just remove all instances of *CALL since they now serve no purpose and
    appear as useless "Kruft" (but do allow us to more-easily globally change DLL
    function calling conventions if/when necessary in the future).
  94. rswindell
    Fri Mar 22 2019 07:23 am PDT

    Modified Files:
    exec/load/termcapture_lib.js 1.6 1.7 diff

    Log Message:
    If the capture port is an emptry string, use default port for protocol.
  95. rswindell
    Wed Mar 20 2019 03:41 pm PDT

    Modified Files:
    exec/sbbslist.js 1.52 1.53 diff

    Log Message:
    Added support for "lock" and "unlock" commands which will just lock (or unlock)
    the list database (sbbslist.json) for external processing/modification. When
    run via jsexec (as intended), jsexec will return 0 if the lock/unlock operation
    was successful, -1 otherwise. It would be wise to check the errorlevel/return
    value of jsexec for successful lock before operating on the list file.
  96. rswindell
    Wed Mar 20 2019 03:18 pm PDT

    Modified Files:
    exec/sbbslist.js 1.51 1.52 diff

    Log Message:
    Lock the database during the "backup" operation.
    If the list is not sorted and the (capital) 'S' key is used (in browse mode),
    sort by the last column instead of the first.
  97. rswindell
    Wed Mar 20 2019 03:15 pm PDT

    Modified Files:
    exec/load/sbbslist_lib.js 1.22 1.23 diff

    Log Message:
    Use a lock file (sbbslist.json.lock) to protect the database (sbbslist.json)
    from corruption during concurrent operations. Although the list file is not
    open shareable, I was observing corruption on Vertrauen when multiple sbbslist
    tasks (e.g. verification and maintenance) were running concurrently on
    different systems. The .lock file method is crude, but is working to protect
    the list from concurrent opens of any kind (read or write).
  98. rswindell
    Tue Mar 19 2019 04:07 pm PDT

    Modified Files:
    src/sbbs3/gtkchat/chatfuncs.c 1.2 1.3 diff

    Log Message:
    Use DEFFILEMODE when creating *chat.dab files.
  99. rswindell
    Tue Mar 19 2019 04:06 pm PDT

    Modified Files:
    src/sbbs3/umonitor/chat.c 1.19 1.20 diff

    Log Message:
    Use DEFFILEMODE when creating *chat.dab files.
  100. rswindell
    Tue Mar 19 2019 04:04 pm PDT

    Modified Files:
    src/xpdev/semfile.c 1.6 1.7 diff

    Log Message:
    Use DEFFILEMODE in file creation mode in semfile_signal().
  101. rswindell
    Tue Mar 19 2019 04:02 pm PDT

    Modified Files:
    src/smblib/smblib.c 1.186 1.187 diff

    Log Message:
    Use DEFFILEMODE for file creation mode in smb_addcrc() - another potential
    for file permissions issues when smblib creates *.sch files.
  102. rswindell
    Tue Mar 19 2019 03:52 pm PDT

    Modified Files:
    src/smblib/smbfile.c 1.13 1.14 diff

    Log Message:
    Use DEFFILEMODE (which is user/group/other read/writeable by default on *nix)
    in smb_open*() when creating msgbase files.
    smblib wasn't using the same default file creation mode (permissions) as
    the rest of the Synchronet executables. smblib was creating msgbase files
    as user read/writeable *only* (no group or other permissions) - so the umask
    value for the group/other permissions flags had no effect on msgbase files
    created via smblib.
    This could lead to permissions issues for other users/groups on *nix systems
    trying to access (read or write) msgbases. No change for non-*nix systems.
  103. rswindell
    Tue Mar 19 2019 01:46 pm PDT

    Modified Files:
    src/sbbs3/sbbsecho.c 3.107 3.108 diff

    Log Message:
    Add "COLS" kludge line to EchoMail msgs too (not just NetMail) - oops.
  104. rswindell
    Tue Mar 19 2019 12:48 pm PDT

    Modified Files:
    src/sbbs3/sbbsecho.c 3.106 3.107 diff

    Log Message:
    Fix the off-by-one error in the COLS kludge line parsing logic.
    Don't store a columns value of 0 (the default).
    Use SAFEPRINTF in place of sprintf() in parse_control_line().
  105. rswindell
    Tue Mar 19 2019 12:34 pm PDT

    Modified Files:
    src/sbbs3/sbbsecho.c 3.105 3.106 diff
    src/sbbs3/sbbsecho.h 3.26 3.27 diff

    Log Message:
    Export/import the original message editor column width (when known) as a new
    FidoNet "Kludge line" (control line): "\1COLS: <columns>\r" where <columns>
    is a value between 0 and 255 and a value of 0 is special, meaning "unknown"
    and not normally specified (this is the default assumption when there is no
    "columns"/COLS header field). When a message editor column width is unknown,
    is is normally assumed to have been 80 columns for word-wrapping/re-wrapping
    purposes when displaying the message text.
    
    This feature has worked well for Synchronet's QWK networking (i.e. there are
    far fewer instances of word-wrapping/re-wrapping issues when viewing messages
    on DOVE-Net), so I decided to support this message header field over FTN
    (SBBSecho) as well. Hopefully other FidoNet software authors will notice and
    support this header field in the future as there are still numerous examples
    of word-wrap issues when viewing FidoNet messages. At least Synchronet <->
    Synchronet systems over FidoNet should be able to re-wrap and display all
    message text nicely when both ends support this kludge line.
    
    Incremented SBBSecho version number to 3.07.
  106. rswindell
    Fri Mar 15 2019 08:47 pm PDT

    Modified Files:
    src/sbbs3/addfiles.c 1.56 1.57 diff

    Log Message:
    When adding a listfile (e.g. files.bbs), be a bit more strict:
    - filenames must begin with an alpha-numeric char. Might want to relax this in
      the future if it's a problem, but generally filenames on BBSes do begin with
      alpha-numeric characters and this will help us to identify an ignore
      "garbage" filenames in listfiles.
    - always check if the file actually exists, even when parsing the length of
      the file from the listfile. This will also help us to ignore garbage
      filenames.
    - also removed an inexplicable unpadfname() call. Filenames in file lists
      should *not* normally be padded (like "this    .txt") - so I'm not sure why
      this was in there. Perhaps for lists generated from filelist.exe (?). Anyway,
      out of an abundance of caution, removed it. Padded filenames are going away.
  107. rswindell
    Fri Mar 15 2019 05:04 pm PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.230 1.231 diff

    Log Message:
    MsgBase.get_all_msg_headers() is now more tolerant of corrupted msg bases,
    or more specifically, if the index (.sid) file is of an unexpected size
    (too big or too small) handle that situation gracefully.
  108. rswindell
    Fri Mar 15 2019 04:42 pm PDT

    Modified Files:
    src/syncterm/syncterm.c 1.218 1.219 diff

    Log Message:
    Fix (or work-around?) ScalingFactor issue reported by ogg in fsxNet->FSX BBS:
    The ScalingFactor would always (or usually) reset to 1 and have to be reset
    e.g. to 2, by resizing the window manually, every time SyncTERM was run.
    
    I found that by calling textmode() *after* setscaling() rather than before
    fixed this issue (at least in SDL mode on Ubuntu Linux). Another "fix" that
    worked inserting a small (100ms) delay between the calls to textmode() and
    setscaling() - so there appears to have been a race condition and calling
    setccaling() too soon after text mode() would fail to change the window
    size successfully. Reordering these calls seems to work 100% of the time
    without any additional delays. <shrug> Deuce would likely know "why" better
    than I.
  109. rswindell
    Wed Mar 13 2019 04:41 pm PDT

    Modified Files:
    src/sbbs3/js_msgbase.c 1.229 1.230 diff

    Log Message:
    Rewind the msgbase index file before calling fread(). The fread() would
    fail if the current file pointer (offset) was not currently at the beginning
    of the file. So calling MsgBase.get_all_msg_headers() after previously calling
    any method that read/seeked the index would cause the reported error:
    "index read (xxxx) failed"
  110. rswindell
    Wed Mar 13 2019 01:43 am PDT

    Modified Files:
    src/smblib/smbstr.c 1.33 1.34 diff

    Log Message:
    More strict FidoNet address detection (e.g. so IPv6 addresses aren't
    detected as net_type NET_FIDO).
  111. rswindell
    Wed Mar 13 2019 12:20 am PDT

    Modified Files:
    src/smblib/smbstr.c 1.32 1.33 diff

    Log Message:
    smb_netaddr_type() (exposed via JS as netaddr_type()) change:
    prior to rev 1.29 of this file (committed almost exactly one year ago), when
    called with any string that did not include an '@', would return NET_NONE (0).
    After rev 1.29, most strings that did not include an '@' would cause the
    function to return NET_QWK (4) - this was not intentional. The intention was
    that FidoNet addresses without an '@' would cause this function to return
    NET_FIDO (2) and I don't exactly remember why that change was made, but
    unfortunately, it wasn't made very well, so other invalid addresses would be
    detected as NET_QWK or NET_INTERNET or even NET_UNKNOWN.
    So before and after this commit:
    "" was NET_UNKNOWN, now NET_NONE
    "1" was NET_FIDO, now NET_FIDO
    "1x" was NET_INTERNET, now NET_NONE
    "1:103" was NET_FIDO, now NET_FIDO (this could use some work)
    "x" was NET_QWK, now NET_NONE
  112. rswindell
    Tue Mar 12 2019 07:58 pm PDT

    Modified Files:
    src/sbbs3/addfiles.c 1.55 1.56 diff

    Log Message:
    When extracting FILE_ID.DIZ/DESC.SDI, search through the exractable file
    types twice - first to see if one matches the requirements. If none match,
    then search again just for an extractor matching the file extension.
    Modernize the get_file_diz() function a little bit (e.g. return bool).
  113. rswindell
    Tue Mar 12 2019 07:31 pm PDT

    Modified Files:
    src/sbbs3/addfiles.c 1.54 1.55 diff

    Log Message:
    Moved the copy/pasted FILE_ID.DIZ/DESC.SDI code (3 times!?!) into its own
    function.
    Constify mycmdstr() arguments.
    Removed trailing whitespaces.
    No functional changes expected by this commit.
  114. rswindell
    Sat Mar 09 2019 04:45 pm PST

    Modified Files:
    src/sbbs3/bat_xfer.cpp 1.38 1.39 diff

    Log Message:
    More safe string management function replacement, even though most (all?) of
    this code is on the chopping block already.
  115. rswindell
    Sat Mar 09 2019 03:55 pm PST

    Modified Files:
    ctrl/modopts.ini 1.29 1.30 diff

    Log Message:
    Added new avatar show/draw related settings to the [logon] section used by the
    latest logon.js.
  116. rswindell
    Thu Mar 07 2019 11:48 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.142 1.143 diff

    Log Message:
    Fix (new) potential dereference of NULL (top) pointer in writemsg(), reported
    by Deuce. If 'top' is passed in as NULL, assign a blank string constant to it
    since we dereference top a few places in this function and pass it to putmsg().
  117. deuce
    Wed Mar 06 2019 05:11 pm PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.487 1.488 diff
    src/sbbs3/js_socket.c 1.225 1.226 diff
    src/sbbs3/mailsrvr.c 1.682 1.683 diff
    src/sbbs3/services.c 1.326 1.327 diff
    src/sbbs3/ssl.c 1.41 1.42 diff
    src/sbbs3/ssl.h 1.13 1.14 diff
    src/sbbs3/websrvr.c 1.677 1.678 diff

    Log Message:
    There appears to be data corruption in cryptlib if a private key is added
    to a second thread before the first has the session set active.  Add calls
    to lock/unlock the certificate to prevent this.
    
    The better options is likely to have a function that adds the key and socket
    and sets the session active in one call and handles the locking internally.
    
    But I'm lazy, so we get the lock functions.
  118. rswindell
    Thu Feb 28 2019 03:18 pm PST

    Modified Files:
    exec/load/avatar_lib.js 1.17 1.18 diff

    Log Message:
    Implement an (in-memory) Avatar cache - reducing the number of disk accesses
    when using features that support avatars (e.g. reading msgs, listing files,
    listing BBSes in the BBS list).
    When used in the terminal server, the cache is located in bbs.mods.avatar_cache
    otherwise it's located in the scope of the load()'d library. Applications must
    use the lib's read() method to take advantage of the cache. The other lower
    level functions (e.g. read_localuser, read_netuser) by-pass the cache on read
    but do update the cache with the result. So, generally, avatars should be only
    loaded from disk one time during a session/logon.
  119. rswindell
    Thu Feb 21 2019 03:37 pm PST

    Modified Files:
    src/sbbs3/scfg/scfgnet.c 1.41 1.42 diff
    src/sbbs3/scfg/scfgxtrn.c 1.61 1.62 diff

    Log Message:
    Inlcude 'Any' in the help for the event/callout node number.
  120. rswindell
    Thu Feb 21 2019 02:36 pm PST

    Modified Files:
    src/sbbs3/scfg/scfgnet.c 1.40 1.41 diff
    src/sbbs3/scfg/scfgxtrn.c 1.60 1.61 diff

    Log Message:
    Introduce "Any" as a possible (and default) "Node number" setting for
    network hub call-outs and timed-events.
  121. rswindell
    Thu Feb 21 2019 02:36 pm PST

    Modified Files:
    src/sbbs3/exec.cpp 1.107 1.108 diff
    src/sbbs3/main.cpp 1.743 1.744 diff
    src/sbbs3/sbbsdefs.h 1.232 1.233 diff
    src/sbbs3/scfgdefs.h 1.44 1.45 diff

    Log Message:
    Introduce "Any" as a possible (and default) "Node number" setting for
    network hub call-outs and timed-events.
  122. rswindell
    Wed Feb 20 2019 05:49 pm PST

    Modified Files:
    exec/load/http.js 1.42 1.43 diff

    Log Message:
    Improve the details of the "Unable to connect" error exception.
  123. rswindell
    Wed Feb 20 2019 05:14 pm PST

    Modified Files:
    ctrl/xtrn.cnf 1.38 1.39 diff

    Log Message:
    Enable FIDOIN and FIDOOUT events by default (the "days of the week" set to
    none already keeps these events from running on an automated schedule).
  124. rswindell
    Tue Feb 19 2019 09:43 pm PST

    Modified Files:
    src/sbbs3/bulkmail.cpp 1.40 1.41 diff
    src/sbbs3/email.cpp 1.72 1.73 diff
    src/sbbs3/execfunc.cpp 1.44 1.45 diff
    src/sbbs3/fido.cpp 1.66 1.67 diff
    src/sbbs3/js_bbs.cpp 1.176 1.177 diff
    src/sbbs3/js_msgbase.c 1.228 1.229 diff
    src/sbbs3/mailsrvr.c 1.681 1.682 diff
    src/sbbs3/netmail.cpp 1.54 1.55 diff
    src/sbbs3/newuser.cpp 1.77 1.78 diff
    src/sbbs3/postmsg.cpp 1.120 1.121 diff
    src/sbbs3/readmail.cpp 1.87 1.88 diff
    src/sbbs3/readmsgs.cpp 1.115 1.116 diff
    src/sbbs3/sbbs.h 1.504 1.505 diff
    src/sbbs3/sbbsdefs.h 1.231 1.232 diff
    src/sbbs3/writemsg.cpp 1.141 1.142 diff

    Log Message:
    Reversed course on the WM_QUOTE mode handling in sbbs_t::postmsg()
    (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().
  125. rswindell
    Tue Feb 19 2019 04:13 am PST

    Modified Files:
    src/sbbs3/js_msgbase.c 1.227 1.228 diff

    Log Message:
    Fix long-standing bug in js_ParseMsgHeaderObject which is only (currently)
    used by js_post_msg() (the JS bbs.post_msg() method when used with the
    reply_header object argument) - the private data attached to a message
    header object is of type privatemsg_t, not private_t. This caused the
    dereferences of and assignments to p->smb_result in parse_header_object()
    to corrupt the privatemsg_t->msg memory causing heap corruption (caught
    on Windows debug builds in js_get_msg_header_finalize()) and stack faults
    (caught on Linux-gcc in parse_recipient_object()). This one was hard to
    find. <whew!>
  126. rswindell
    Mon Feb 18 2019 11:33 pm PST

    Modified Files:
    src/sbbs3/con_out.cpp 1.94 1.95 diff

    Log Message:
    Re-work the column-counting in outchar().
    I noticed that printable ctrl chars (e.g. 0x18 and 0x19) were not causing the
    current column position to increment, so that got me looking at this code and
    wondering why the LF/FF checking was outside the if(!outchar_esc) condition
    and being executed when CON_R_ECHO is off. So now, using a switch statement,
    it's cleaner and all the printable ctrl chars move the current column position
    correctly.
  127. rswindell
    Mon Feb 18 2019 11:26 pm PST

    Modified Files:
    src/sbbs3/postmsg.cpp 1.119 1.120 diff
    src/sbbs3/readmail.cpp 1.86 1.87 diff
    src/sbbs3/readmsgs.cpp 1.114 1.115 diff
    src/sbbs3/sbbs.h 1.503 1.504 diff
    src/sbbs3/writemsg.cpp 1.140 1.141 diff

    Log Message:
    sbbs_t::postmsg() and JS's bbs.post_msg() changes:
    When the WM_QUOTE mode flag is set and the 'remsg' is specified, the original
    message will quoted (excluding message tails, using the proper word-wrapping).
    If the quote file already exists before calling postmsg()/bbs.post_msg(), it
    will be over-written. This allows JS script to initiate reply-posts with quoted
    text without having to create their own quotes file. It also means there's no
    need to call sbbs_t::quotemsg() before calling sbbs_t::postmsg().
    sbbs_t::quotemsg() now takes an smb_t* arg (stop using the sbbs_t 'global'
    smb) and now returns bool.
  128. rswindell
    Mon Feb 18 2019 11:15 pm PST

    Modified Files:
    src/sbbs3/js_bbs.cpp 1.175 1.176 diff

    Log Message:
    Fix bbs.post_msg() JSDOC description: mode defaults to WM_NONE, not WM_MODE.
    Renamed js_postmsg() -> js_post_msg() for good measure.
  129. rswindell
    Mon Feb 18 2019 11:11 pm PST

    Modified Files:
    src/smblib/smblib.c 1.185 1.186 diff

    Log Message:
    Fixed a couple of function return-value comments.
  130. echicken
    Mon Feb 18 2019 11:10 pm PST

    Modified Files:
    xtrn/ansiview/ansiview.js 1.30 1.31 diff

    Log Message:
    Use js.exec_dir; js.startup_dir may be absent or something else entirely.
  131. rswindell
    Mon Feb 18 2019 10:35 pm PST

    Modified Files:
    xtrn/ansiview/ansiview.js 1.29 1.30 diff

    Log Message:
    Fix !JavaScript  /sbbs/xtrn/ansiview/ansiview.js line 316: 
         TypeError: settings is undefined  
    Presumably, when settings.ini doesn't exist.
  132. rswindell
    Mon Feb 18 2019 06:57 pm PST

    Modified Files:
    exec/logon.js 1.37 1.38 diff

    Log Message:
    Allow control via the [logon] section of ctlr/modopts.ini over Avatar display
    set avatar_show = false to disable the avatar display completely (during logon)
    set avatar_draw_right = false to display the avatar in left screen columns
    set avatar_draw_above = true to display the avatar above the current screen row
  133. rswindell
    Mon Feb 18 2019 06:27 pm PST

    Modified Files:
    xtrn/ansiview/ansiview.js 1.28 1.29 diff

    Log Message:
    Resolve reported error (guessing when settings.ini does not exist):
    !JavaScript  /sbbs/xtrn/ansiview/ansiview.js line 313: TypeError: settings is null
  134. rswindell
    Sun Feb 17 2019 11:40 pm PST

    Modified Files:
    src/comio/comio_nix.c 1.13 1.14 diff

    Log Message:
    #include <fnctl.h> to fix:
    error: 'O_NONBLOCK' undeclared
    ... on Alpine Linux.
  135. rswindell
    Sun Feb 17 2019 08:43 pm PST

    Modified Files:
    exec/load/smbdefs.js 1.6 1.7 diff

    Log Message:
    Added missing MsgBase.attributes bit flag definitions:
    - SMB_EMAIL
    - SMB_HYPERALLOC
    - SMB_NOHASH
  136. rswindell
    Sun Feb 17 2019 08:04 pm PST

    Modified Files:
    src/xpdev/threadwrap.c 1.36 1.37 diff

    Log Message:
    Work-around reported problem building in a "minimal alpine image":
    error: 'PTHREAD_MUTEX_RECURSIVE_NP' undeclared
    as ported by GeoKM
  137. rswindell
    Sun Feb 17 2019 07:14 pm PST

    Modified Files:
    src/sbbs3/js_msgbase.c 1.226 1.227 diff

    Log Message:
    Added support for new(ish) msg header fields: 'editor' and 'columns'.
  138. rswindell
    Sun Feb 17 2019 07:09 pm PST

    Modified Files:
    src/smblib/smbdefs.h 1.106 1.107 diff
    src/smblib/smblib.c 1.184 1.185 diff

    Log Message:
    Added a smbmsg_t convenience pointer for the "editor" header field
    (name/version of text editor used, if known).
  139. rswindell
    Sun Feb 17 2019 04:53 am PST

    Modified Files:
    exec/load/sbbsdefs.js 1.84 1.85 diff

    Log Message:
    Added a couple of missing sub-board 'settings' flag definitions:
    - SUB_TEMPLATE
    - SUB_MSGTAGS
  140. rswindell
    Sun Feb 17 2019 03:56 am PST

    Modified Files:
    src/sbbs3/msg_id.c 1.12 1.13 diff

    Log Message:
    Restore the extra space before the date in the PID value, remove the "Debug"
    designator.
  141. rswindell
    Sat Feb 16 2019 10:25 pm PST

    Modified Files:
    src/sbbs3/main.cpp 1.742 1.743 diff
    src/sbbs3/un_rep.cpp 1.72 1.73 diff

    Log Message:
    Beautify and eliminate some of the QWK/REP unpacking output/log msgs.
    Only treat an invalid QWK msg block count (<2) as an error if there is
    more than one msg header in the packet (stop saving so many worthless
    data/file/*.rep.*.bad files).
  142. rswindell
    Sat Feb 16 2019 10:22 pm PST

    Modified Files:
    src/sbbs3/qwktomsg.cpp 1.69 1.70 diff

    Log Message:
    Add add_msg_ids() call when creating local msgs from QWK packets.
  143. rswindell
    Sat Feb 16 2019 10:21 pm PST

    Modified Files:
    src/sbbs3/tmp_xfer.cpp 1.49 1.50 diff

    Log Message:
    Remove some excess log output "Creating: NEWFILES.DAT", when creating
    file lists during events.
  144. rswindell
    Sat Feb 16 2019 10:20 pm PST

    Modified Files:
    src/sbbs3/data_ovl.cpp 1.27 1.28 diff

    Log Message:
    Removed the profiling/debug output from getmsgptrs():
    	"read %u message scan cfg/pointers in %lu ms"
    The message pointer performance problems were resolved a long time ago now
    and this is just noise in the logs.
  145. rswindell
    Sat Feb 16 2019 09:24 pm PST

    Modified Files:
    src/sbbs3/chksmb.c 1.66 1.67 diff

    Log Message:
    If message's index offset exactly matches another message, that's already
    reported as "Duplicate index offset", so overlapping headers means the
    index offset must not be an exact duplicate, so we don't report the same
    corrupt message parameter (its offset into the header file) 2 different
    ways.
  146. rswindell
    Sat Feb 16 2019 07:30 pm PST

    Modified Files:
    src/sbbs3/msg_id.c 1.11 1.12 diff
    src/sbbs3/postmsg.cpp 1.118 1.119 diff

    Log Message:
    add_msg_ids() will now get the new/next message number if the msg.hdr.number
    is 0 (logic moved from sbbs_t::postmsg()).
  147. rswindell
    Sat Feb 16 2019 07:14 pm PST

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.113 1.114 diff

    Log Message:
    When deleting a message from the Read prompt, make it clear (red/flashing)
    as it is easy for a sysop to accidentally hit [D]elete and not realize it.
  148. rswindell
    Sat Feb 16 2019 07:13 pm PST

    Modified Files:
    src/sbbs3/email.cpp 1.71 1.72 diff
    src/sbbs3/netmail.cpp 1.53 1.54 diff
    src/sbbs3/postmsg.cpp 1.117 1.118 diff

    Log Message:
    Eliminted unused variable (pid).
  149. rswindell
    Sat Feb 16 2019 07:10 pm PST

    Modified Files:
    src/sbbs3/un_rep.cpp 1.71 1.72 diff

    Log Message:
    More console/log output when unpacking email/netmail messages from QWK REP
    packets.
  150. rswindell
    Sat Feb 16 2019 07:08 pm PST

    Modified Files:
    src/sbbs3/email.cpp 1.70 1.71 diff
    src/sbbs3/fido.cpp 1.65 1.66 diff
    src/sbbs3/msg_id.c 1.10 1.11 diff
    src/sbbs3/netmail.cpp 1.52 1.53 diff
    src/sbbs3/postmsg.cpp 1.116 1.117 diff
    src/sbbs3/sbbs.h 1.502 1.503 diff

    Log Message:
    QWK-reply-posted email/netmail messages did not contain a Message-ID. Really?
    So I created a single add_msg_ids() function (mostly migrated from postmsg.cpp)
    to make this incredibly easy so any/everywhere that adds a message to a message
    base should be able to call it. This function also creates reply-IDs (when
    relevant) and program ID (Fido-PID) header fields:
    - FIDOPID (always)
    - FIDOMSGID (if an echomail post)
    - FIDOREPLYID (if an echomail reply-post)
    - RFC822MSGID (always)
    - RFC822REPLYID (if a reply)
  151. rswindell
    Sat Feb 16 2019 04:12 pm PST

    Modified Files:
    ctrl/modopts.ini 1.28 1.29 diff

    Log Message:
    New keys for the [login], [fingerservice], and [nodelist] sections.
  152. rswindell
    Sat Feb 16 2019 04:09 pm PST

    Modified Files:
    exec/login.js 1.16 1.17 diff

    Log Message:
    Enhancement to the failed login/password-email feature:
    If confirm_email_address = false in the [login] section of modopts.ini, do not
    ask the user to confirm their email address before sending password.
    Do not display the email address back to the user (in case they did not already
    know it).
    Send the user a telegram for each failed login attempt (using user alias, not
    number).
    Send the user a telegram when their account info (password) was requested.
  153. rswindell
    Sat Feb 16 2019 04:04 pm PST

    Modified Files:
    src/sbbs3/useredit/MainFormUnit.pas 1.10 1.11 diff

    Log Message:
    Fix long-time bug which caused "Cannot open .../user.dat" errors:
    If the user.dat file is already opened in deny-none mode (as is the norm),
    another process (e.g. useredit.exe) cannot simultaneously open it in exclusive
    mode.
  154. rswindell
    Sat Feb 16 2019 04:09 am PST

    Modified Files:
    src/smblib/smblib.c 1.183 1.184 diff

    Log Message:
    Performance optimization: When performing sequential index or header reads,
    the read buffer may be utilized more efficiently if you do *not* perform an
    (unnecessary) seek operation just before the read. By eliminating unnecessary
    seeks in smb_getmsgidx() and smb_getmsghdr(), I was able to reduce the time
    required to load 9000+ index and header records over a network (Samba/CIFS)
    share from 15+ seconds to less than 5.
  155. rswindell
    Sat Feb 16 2019 03:40 am PST

    Modified Files:
    src/sbbs3/scfgsave.c 1.77 1.78 diff

    Log Message:
    Perform a similar elimination of invalid external program configurations
    (blank names or internal codes) from the total saved to xtrn.cnf.
  156. rswindell
    Sat Feb 16 2019 03:38 am PST

    Modified Files:
    src/sbbs3/js_msgbase.c 1.225 1.226 diff

    Log Message:
    MsgBase.get_all_msg_headers() performance improvement:
    read the entire index file in a single read operation
  157. rswindell
    Sat Feb 16 2019 02:26 am PST

    Modified Files:
    src/sbbs3/chksmb.c 1.65 1.66 diff

    Log Message:
    Detect and report all messages with overlapping headers.
    This has not actually been an observed problem, but I just realized while
    working on smb optimizations that this condition would not be reported by
    chksmb.
  158. rswindell
    Fri Feb 15 2019 03:44 am PST

    Modified Files:
    exec/load/cnfdefs.js 1.7 1.8 diff

    Log Message:
    Use meaningful faddr_t field names (zone, net, node, point).
    Use more verbose names for global msgs.cnf properties (don't mimic the
    scfgdefs.h names).
  159. rswindell
    Fri Feb 15 2019 03:11 am PST

    Modified Files:
    exec/exportcfg.js 1.3 1.4 diff

    Log Message:
    Added new exportcfg cfg-types:
            file-prots
            file-extrs
            file-comps
            file-viewers
            file-testers
            file-dlevents
    ... using cfglib.js (wow, that was easy!)
  160. rswindell
    Fri Feb 15 2019 03:00 am PST

    Added Files:
    exec/localcopy.js NONE 1.1 diff

    Log Message:
    You ever wanted to test QWK/REP packet transfers or regular file transfers
    locally on your BBS without using X/Y/ZMODEM (or other) actual file transfer
    protocols? Well, now you can. Install this simple script 
    (using 'jsexec localcopy install') and you (sysops only) will get a new
    transfer protocol option for "local" file transfers, which are really just
    file copies between different locations on your BBS/server's file system(s)
    quickly and without any special terminal capabilities (e.g. X/Y/ZMODEM).
  161. rswindell
    Fri Feb 15 2019 02:26 am PST

    Modified Files:
    exec/load/cnfdefs.js 1.6 1.7 diff

    Log Message:
    Use 'key' rather than 'mnemonic' for file xfer protocol key (character) value.
  162. rswindell
    Thu Feb 14 2019 10:42 pm PST

    Modified Files:
    src/sbbs3/userdat.c 1.211 1.212 diff

    Log Message:
    Now returns negative on failure (i.e. list lock failure):
    - loginAttemptListCount()
    - loginAttemptListClear()
    - loginAttempts()
    
    Now returns 0 on list lock faliure: loginFailure() and loginBanned().
  163. rswindell
    Thu Feb 14 2019 10:26 pm PST

    Modified Files:
    src/sbbs3/ctrl/LoginAttemptsFormUnit.cpp 1.8 1.9 diff
    src/sbbs3/ctrl/MainFormUnit.cpp 1.203 1.204 diff

    Log Message:
    Use the UpTimer trick to get around problems calling DLL functions from OnClick
    events when not in "appy-time".
  164. rswindell
    Thu Feb 14 2019 09:09 pm PST

    Modified Files:
    src/sbbs3/main.cpp 1.741 1.742 diff

    Log Message:
    Added new semfile to clear the failed login attempt list: "ctrl/clear"
    So now if you need to clear the failed-login/temp-ban list, just 
       'touch /sbbs/ctrl/clear'
    Other changes to the semfiles:
    The terminal server is now identified as "term" rather than "telnet" in the
    (optional) server/protocol specific semfile naming.
    Removed support for the old telnet.rec semfile (long deprecated).
  165. rswindell
    Thu Feb 14 2019 07:54 pm PST

    Modified Files:
    src/sbbs3/ctrl/LoginAttemptsFormUnit.cpp 1.7 1.8 diff
    src/sbbs3/ctrl/LoginAttemptsFormUnit.dfm 1.6 1.7 diff
    src/sbbs3/ctrl/LoginAttemptsFormUnit.h 1.3 1.4 diff
    src/sbbs3/ctrl/MainFormUnit.cpp 1.202 1.203 diff
    src/sbbs3/ctrl/MainFormUnit.dfm 1.85 1.86 diff
    src/sbbs3/ctrl/MainFormUnit.h 1.87 1.88 diff

    Log Message:
    Added more visibility into and control over (clearing) of the failed login list.
  166. rswindell
    Thu Feb 14 2019 07:53 pm PST

    Modified Files:
    src/sbbs3/userdat.c 1.210 1.211 diff
    src/sbbs3/userdat.h 1.69 1.70 diff

    Log Message:
    Created loginAttemptListCount().
  167. rswindell
    Thu Feb 14 2019 05:43 pm PST

    Modified Files:
    src/sbbs3/fido.cpp 1.64 1.65 diff

    Log Message:
    Support QWKE "To:" and "Subject:" kludge lines in QWK/REP-imported
    email/netmail messages. Does *not* support the "From:" kludge.
    I know this function needs need to be completely replaced and it's silly to
    have QWK kludge parsing logic in multiple places, but ugh, I didn't want to
    rewrite this just yet.
  168. rswindell
    Thu Feb 14 2019 05:37 pm PST

    Modified Files:
    src/sbbs3/scfg/scfgxfr1.c 1.28 1.29 diff

    Log Message:
    Save/restore the menu 'bar' (lightbar) position for various File Options
    sub-menus.
  169. rswindell
    Thu Feb 14 2019 05:36 pm PST

    Modified Files:
    src/sbbs3/scfg/scfgmsg.c 1.58 1.59 diff
    src/sbbs3/scfg/scfgsub.c 1.50 1.51 diff
    src/sbbs3/scfg/scfgxfr2.c 1.56 1.57 diff

    Log Message:
    Better protection against configuring invalid (e.g. blank) sub/dir short-names,
    internal code suffixes or grp/lib internal code prefixes.
    More strcpy->SAFECOPY and sprintf -> SAFEPRINTF replacements.
    More use of uifcYesNoOpts.
  170. rswindell
    Thu Feb 14 2019 04:06 pm PST

    Modified Files:
    src/sbbs3/scfgsave.c 1.76 1.77 diff

    Log Message:
    When saving message sub-boards and file directories to msgs.cnf/file.cnf,
    if any sub-boards or directories have *blank* names or internal code suffixes
    (a sign of a corrupted configuration), exclude them from the saved subs/dirs
    automatically. I'm not sure how this can happen (use of cnflib.js?) - but
    running "scfg -f" (force save) should fix this situation. For Android8675.
  171. rswindell
    Thu Feb 14 2019 01:55 am PST

    Modified Files:
    src/sbbs3/pack_qwk.cpp 1.81 1.82 diff

    Log Message:
    Include the Synchronet revision (e.g. 'c') in the "SYSTEM" value of the QWK
    DOOR.ID file created by Synchronet.
  172. rswindell
    Thu Feb 14 2019 01:54 am PST

    Modified Files:
    src/sbbs3/msgtoqwk.cpp 1.54 1.55 diff

    Log Message:
    For normal (non-QWKnet) users, when packing QWK packets, include the
    plain-text portion (only) for MIME-encoded messages (emails). If/when there
    are ever QWK readers that support MIME-decoding, I'll make this behavior
    configurable. :-)
    When passing mail between QWKnet nodes, leave the original MIME-encoding in
    tact (if there is any).
  173. rswindell
    Thu Feb 14 2019 01:48 am PST

    Modified Files:
    src/xpdev/str_list.c 1.52 1.53 diff

    Log Message:
    Fix potential for heap corruption in (new function) strListModifyEach():
    If the modify callback function returned a pointer *within* the list item's
    allocated buffer, the strcpy() would copy from potentialy free'd memory as
    realloc may change the location of the heap buffer when resizing.
    Fixed by allocating a copy of the returned pointer before freeing the original
    list item buffer and then just assign the allocated pointer (no copying
    needed). This likely will result in more heap fragmentation for modified list
    items are now newly-allocated buffers rather than reallocated existing buffers
    but the other option would have been to allocate a temporary copy of the string
    before reallocating and then copying and that would've been a lot more overhead
    than with this approach.
    
    This likely fixes any crashes seen in recent revs of v3.17c (e.g. when
    imported QWK or REP packets and text/*.can and the twitlist.cfg are parsed).
    The sighting on Vertrauen was only in the Windows build and appeared when
    importing QWK/REP packets.
  174. rswindell
    Mon Feb 11 2019 07:14 pm PST

    Modified Files:
    src/sbbs3/sbbsecho.c 3.104 3.105 diff

    Log Message:
    Restore the BRE inter-bbs netmail attachment work-around from SBBSecho v2:
    If the attached file begins with a '^', ignore/skip that character in the file
    path. This should resolve the error reported by Ken  of Section One BBS:
    ERROR line 850, attachment file not found: ^C:/SBBS/XTRN/BRE777/...
    
    SBBSecho v2.x included this work-around and it was not included in the v3
    re-factoring/re-write. Of course, BRE is doing something wrong and is totally
    at fault here, but no one expects BRE to be fixed... ever. :-)
  175. rswindell
    Mon Feb 11 2019 03:07 pm PST

    Modified Files:
    src/sbbs3/xtrn.cpp 1.244 1.245 diff

    Log Message:
    Patch from Mark Lewis (wk42):
    
    i've made a few adjustments to xtrn.cpp for external.bat...
    
    - remove unneeded redirection of dosemu output.
       still uses same log file name and stops zero
       byte file dosemu.log from being created in node
       directories.
    - fix faulty "keystroke" dosemu -I command. it
       didn't actually do the "\r" but sent it as
       characters to the command line.
    - added code for SBBS specific lredirs to be
       done more cleanly like dosemu's default
       autoexec.bat. only deletes redir if it exists.
    
    His editor also appears to have removed trailling white-space from this file,
    which is fine.
  176. rswindell
    Fri Feb 08 2019 03:35 pm PST

    Modified Files:
    src/xpdev/str_list.c 1.51 1.52 diff

    Log Message:
    Fix Borland C (5.6, not C99 compliant) build issue introduced in previous
    commit.
  177. rswindell
    Thu Feb 07 2019 06:41 pm PST

    Modified Files:
    src/sbbs3/un_rep.cpp 1.70 1.71 diff

    Log Message:
    Remove unused variable: fp
  178. rswindell
    Thu Feb 07 2019 06:39 pm PST

    Modified Files:
    src/sbbs3/sbbs.h 1.501 1.502 diff
    src/sbbs3/sbbsecho.c 3.103 3.104 diff
    src/sbbs3/str_util.c 1.57 1.58 diff
    src/sbbs3/un_qwk.cpp 1.54 1.55 diff
    src/sbbs3/un_rep.cpp 1.69 1.70 diff

    Log Message:
    Add/use new function findstr_list() which opens and returns a string list
    suitable for passing to findstr_in_list().
    SBBSecho peformance improvement: don't open/read the twitlist.cfg file for
    *each* imported message: just read it once during initialization (using the new
    findstr_list() function of course).
    Reversed course on the findstr()/trashcan() matching logic: significant leading
    white-space was not backwards compatible (and was the cause of recent lost
    messages in DOVE-Net) - so I decided to go a different route and support
    C-style character escape sequences (e.g. \r, \n, \t, \x##, etc.) in findstr
    comparison strings, so the new way to represent a leading space character
    in a filter file (e.g. twitlist.cfg, name.can) would be: "\ ". So to match (e.g.
    filter/disallow) all strings with a leading space: "\ *". "\x20 *" would also
    work (0x20 is ASCII for "space").
    Now, again, leading white-space in filter files (e.g. text/*.can, twitlist.cfg)
    is ignored. <sigh>
  179. rswindell
    Thu Feb 07 2019 06:13 pm PST

    Modified Files:
    src/xpdev/str_list.c 1.50 1.51 diff
    src/xpdev/str_list.h 1.26 1.27 diff

    Log Message:
    New function: strListModifyEach(), iterates through a string list, calling
    a caller-supplied function (callback) which can modify each string or leave
    the string in tact by returning NULL. Shrinking strings is trivial while
    expanding strings (making them bigger) is a little more involved, probably
    using the cbdata to pass a temporary buffer around to store each expanded
    string or returning a new globally-valid pointer.
    Removed the malloc.h #include as we haven't used alloca() here for a while.
  180. rswindell
    Mon Feb 04 2019 07:38 pm PST

    Modified Files:
    exec/dyndns.js 1.16 1.17 diff

    Log Message:
    Support an optiona '-q' (quiet) option, must follow the password.
    Now log a warning about unexpected messages from the server and
    unexpected disconnects, even when in quiet mode.
  181. rswindell
    Mon Feb 04 2019 07:25 pm PST

    Modified Files:
    exec/dyndns.js 1.15 1.16 diff

    Log Message:
    Use log() for output with a tx-log-level of "Debug" and an rx-log-level of
    "Info".
    Return 0 (success) if we get an "ok" response from the server (new), 1 (error)
    otherwise.
  182. echicken
    Mon Feb 04 2019 05:53 am PST

    Modified Files:
    exec/load/freqit_common.js 1.5 1.6 diff

    Log Message:
    Pass 'cfg' to add_file method.
  183. rswindell
    Sun Feb 03 2019 09:53 pm PST

    Modified Files:
    src/sbbs3/str_util.c 1.56 1.57 diff

    Log Message:
    Fixed another instance where the leading white-space in search/filter
    files was being skipped, causing false-positive filtering of imported
    QWK messages on Vertrauen. Sorry about that!
  184. echicken
    Sun Feb 03 2019 08:46 pm PST

    Modified Files:
    exec/load/freqit_common.js 1.4 1.5 diff

    Log Message:
    'this' is not scoped correctly in private function, make a 'self' instead and use it. (For ragnarok)
  185. rswindell
    Sat Feb 02 2019 04:20 pm PST

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.112 1.113 diff
    src/sbbs3/sbbs.h 1.500 1.501 diff

    Log Message:
    sbbs_t::listmsgs() is called from both readmsgs() and listsub(), where the
    message numbers should be printed differently for each context, so added a
    'reading' boolean argument (defaults to true) to indicate it was called from
    readmsgs() and to use the index offset (+1) as the printed msg number in that
    case.
  186. rswindell
    Sat Feb 02 2019 03:27 pm PST

    Modified Files:
    ctrl/text.dat 1.92 1.93 diff

    Log Message:
    Updated SearchSubFmt and CantDeleteMsg.
  187. rswindell
    Sat Feb 02 2019 03:26 pm PST

    Modified Files:
    src/sbbs3/text_defaults.c 1.54 1.55 diff

    Log Message:
    Updated SearchSubFmt and CantDeleteMsg.
  188. rswindell
    Sat Feb 02 2019 03:22 pm PST

    Modified Files:
    src/sbbs3/readmail.cpp 1.85 1.86 diff

    Log Message:
    When printing the CantDeleteMsg text line, include the msg number.
  189. rswindell
    Sat Feb 02 2019 03:21 pm PST

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.111 1.112 diff

    Log Message:
    When printing the CantDeleteMsg text line, incude the message number.
    The (O)perator (D)elete message (range) command will now skip permanent msgs.
    Fixed bug with (L)ist msgs command while in (S)earch for Your Messages mode
    (the msg numbers listed did not match the msg numbers used by the Read prompt).
  190. rswindell
    Sat Feb 02 2019 02:43 pm PST

    Modified Files:
    exec/chksetup.js 1.6 1.7 diff

    Log Message:
    Don't warn about the system operator name if it matches user #1's real name.
    Warn if DOVE-Net subs are configured to disallow voting or they are not
    configured for QWK networking.
  191. rswindell
    Fri Feb 01 2019 04:44 pm PST

    Modified Files:
    src/sbbs3/prntfile.cpp 1.31 1.32 diff

    Log Message:
    Restore the functionality in menu() lost in rev 1.29 where if you pass a
    full path (sans file suffix/extension), it would use that path for the menu
    file to be displayed.
  192. rswindell
    Fri Feb 01 2019 03:46 pm PST

    Modified Files:
    src/sbbs3/str_util.c 1.55 1.56 diff

    Log Message:
    Don't ignore leading white-space chars in filter files (e.g. *.can,
    twitlist.cfg) - this allows adding a filter of say " *" which will filter
    out names (e.g. mail "Fromt" names) beginning with a space character.
  193. rswindell
    Fri Feb 01 2019 01:59 pm PST

    Modified Files:
    src/uifc/uifcx.c 1.36 1.37 diff

    Log Message:
    Removed strupr() - conflicts with xpdev/genwrap.*
  194. rswindell
    Fri Feb 01 2019 01:52 pm PST

    Modified Files:
    src/uifc/uifcx.c 1.35 1.36 diff

    Log Message:
    Fix Windows build after most recent changes.
  195. rswindell
    Fri Feb 01 2019 02:50 am PST

    Modified Files:
    src/sbbs3/zmodem.c 1.122 1.123 diff

    Log Message:
    Address GCC v7.3.0
    warning: ΓÇÿsprintfΓÇÖ may write a terminating nul past the end of the destination
  196. rswindell
    Fri Feb 01 2019 02:49 am PST

    Modified Files:
    src/sbbs3/chksmb.c 1.64 1.65 diff

    Log Message:
    Fix warnings raised by GCC v7.3.0:
    warning: ΓÇÿ*ΓÇÖ in boolean context, suggest ΓÇÿ&&ΓÇÖ instead
    note: ΓÇÿsprintfΓÇÖ output between 5 and 132 bytes into a destination of size 128
  197. rswindell
    Fri Feb 01 2019 02:47 am PST

    Modified Files:
    src/uifc/uifc32.c 1.235 1.236 diff
    src/uifc/uifcx.c 1.34 1.35 diff

    Log Message:
    Fix very unlikely, but possible, buffer overflows identified by GCC v7.3.0:
    warning: ΓÇÿ%sΓÇÖ directive writing up to 4096 bytes into a region of size 3969
  198. rswindell
    Fri Feb 01 2019 02:29 am PST

    Modified Files:
    src/conio/ciolib.c 1.172 1.173 diff

    Log Message:
    Fix what appears to be a bug caused by a typo (* instead of &) in
    ciolib_attrfont(), caught by GCC v7.3.0:
    	warning: ΓÇÿ*ΓÇÖ in boolean context, suggest ΓÇÿ&&ΓÇÖ instead
  199. rswindell
    Fri Feb 01 2019 12:58 am PST

    Added Files:
    text/menu/sysmscan.msg NONE 1.1 diff

    Removed Files:
    	sysmscan.asc 
    Log Message:
    Renamed sysmscan.asc to sysmscan.msg
    Added (D)elete Messages (in a range) command: new
    Removed (E)dit Message Text  command: redundant
  200. rswindell
    Fri Feb 01 2019 12:31 am PST

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.110 1.111 diff

    Log Message:
    Created a "Delete a range of posts" sys/sub-op command from the [O]perator
    sub-board of the "Reading" prompt. This allows a sysop or sub-board
    operator to quickly delete a range of messages from a message base. e.g. for
    easier clean-up of msg-net hiccups or intentional spamming of subs.
  201. rswindell
    Thu Jan 31 2019 11:21 pm PST

    Modified Files:
    exec/chksetup.js 1.5 1.6 diff

    Log Message:
    Created a function check the DOVE-Net setup:
    - check there are 22 sub-boards
    - confirm each sub-board is configured to *NOT* gate between net-types
  202. rswindell
    Thu Jan 31 2019 08:27 pm PST

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.109 1.110 diff

    Log Message:
    Include group and sub-board numbers when listing messsages in a sub-board
    (e.g. as the result of a search for text or messages to you).
  203. rswindell
    Thu Jan 31 2019 01:00 pm PST

    Modified Files:
    exec/sbbsimsg.js 1.38 1.39 diff

    Log Message:
    Clear the screen before displaying the list when used with '-l'.
  204. rswindell
    Wed Jan 30 2019 07:13 pm PST

    Modified Files:
    src/xpdev/gen_defs.h 1.77 1.78 diff

    Log Message:
    Handy macros to calculate the number of digits in a given integer:
    HEX_DIGITS() and DEC_DIGITS()
  205. rswindell
    Wed Jan 30 2019 03:33 pm PST

    Modified Files:
    exec/chksetup.js 1.4 1.5 diff

    Log Message:
    Report an issue if the BBS is not listed in sbbsimsg.lst.
  206. rswindell
    Wed Jan 30 2019 03:31 pm PST

    Modified Files:
    exec/sbbsimsg.js 1.37 1.38 diff

    Log Message:
    Better Ctrl-C handling (doesn't exit all the way out of the module) and
    better invalid destination address detection.
  207. rswindell
    Wed Jan 30 2019 03:30 pm PST

    Modified Files:
    exec/load/sbbsimsg_lib.js 1.4 1.5 diff

    Log Message:
    Created a dest_host() method, used for parsing the host part of a destination
    address (if valid), for use with sbbsimsg.js.
    Added 'include_self' parameter to read_sys_list() to control whether or not
    the local bbs is excluded from the returned list (for chksetup.js use).
  208. rswindell
    Wed Jan 30 2019 02:40 pm PST

    Modified Files:
    exec/tickitcfg.js 1.14 1.15 diff

    Log Message:
    Beautification of the Global Option and Area Options menus.
    Some objectification of the edit_area() and edit_globals() functions, these
    2 functions really should be merged since they appear to be mostly just a
    copy/paste of one another. :-(
  209. rswindell
    Wed Jan 30 2019 02:35 pm PST

    Modified Files:
    exec/tickitcfg.js 1.13 1.14 diff

    Log Message:
    Bug-fix: was storing the selected directory's *name* in the configuration
    (tickit.ini) rather than the internal code.
    Thanks for the report, Ragnarok.
  210. rswindell
    Tue Jan 29 2019 02:49 pm PST

    Added Files:
    exec/load/nodelist_options.js NONE 1.1 diff

    Log Message:
    A small library for loading/caching the [nodelist] options from the
    ctrl/modopts.ini file. Used by scripts performing frequent node activity /
    user presence actions.
    Thanks Ragnark for pointing out that I had forgot to add this file to CVS.
  211. rswindell
    Tue Jan 29 2019 02:29 am PST

    Modified Files:
    exec/nodelist.js 1.9 1.10 diff

    Log Message:
    Use the nodelist_options.js library for easy caching of the nodelist options
    (in bbs.mods).
  212. rswindell
    Tue Jan 29 2019 02:17 am PST

    Modified Files:
    exec/load/sbbslist_lib.js 1.21 1.22 diff

    Log Message:
    Added last_active() method to return the last-activity date of an entry.
    Implemented the "active" special sort order.
    Added support to the remove_dupes() method for the verbose option.
  213. rswindell
    Tue Jan 29 2019 02:14 am PST

    Modified Files:
    exec/sbbslist.js 1.50 1.51 diff

    Log Message:
    Added the -f=<filename.json> and -test options.
    Added the 'active' command (show last active date for all entries)
    The 'dedupe' command now supports the -v (verbose) option.
  214. rswindell
    Tue Jan 29 2019 01:19 am PST

    Modified Files:
    exec/load/sbbslist_html.js 1.9 1.10 diff

    Log Message:
    Added anchor tags so you can (if you know how) direct someone directly to a
    specific BBS entry on this page, e.g. http://synchro.net/sbbslist.html#your_bbs
  215. rswindell
    Tue Jan 29 2019 01:15 am PST

    Modified Files:
    exec/sbbslist.js 1.49 1.50 diff

    Log Message:
    Implement the "maint" command handler:
    - uses the sbbslist_lib.remove_inactive() method
    - uses the (new) max_inactivity (days) value from modopts.ini [sbbslist]
      (default: 180 days)
    - supports the -v (verbose) option to display details about entries being
      removed due to inactivity (if desired)
  216. rswindell
    Tue Jan 29 2019 01:11 am PST

    Modified Files:
    exec/load/sbbslist_lib.js 1.20 1.21 diff

    Log Message:
    Create a remove_inactive() method for removing inactive (old) BBS entries.
  217. rswindell
    Mon Jan 28 2019 06:10 pm PST

    Modified Files:
    exec/load/sbbslist_html.js 1.8 1.9 diff

    Log Message:
    More liberal inclusion in auto-verifed list (even if software != "synchronet").
    Include service descriptions in the html output, if/when they exist.
  218. rswindell
    Mon Jan 28 2019 05:53 pm PST

    Modified Files:
    exec/privatemsg.js 1.4 1.5 diff

    Log Message:
    Updates to the (T)elegram option:
    - cosmetic fixes (extra CRLFs removed)
    - save/use the last 10 telegram recipients (using the getstr() history feature)
  219. rswindell
    Mon Jan 28 2019 05:24 pm PST

    Modified Files:
    exec/sbbsimsg.js 1.36 1.37 diff

    Log Message:
    Re-read the user property file for each telegram sent to get the recipient list
    (which is updated by sbbsimsg_lib.send_msg() now).
  220. rswindell
    Mon Jan 28 2019 05:22 pm PST

    Modified Files:
    exec/load/sbbsimsg_lib.js 1.3 1.4 diff

    Log Message:
    send_msg() now stores the inter-bbs "sent msg" recipient and time to the user
    property file (data/user/*.ini), like sbbsimsg.js used to before rev 1.30 when
    I moved the send_msg() functionality to this lib but failed to add the property
    file update logic. Fixed.
  221. rswindell
    Mon Jan 28 2019 04:00 pm PST

    Modified Files:
    src/sbbs3/xtrn.cpp 1.243 1.244 diff

    Log Message:
    Fix missing param in last commit (for *nix builds only).
  222. rswindell
    Mon Jan 28 2019 03:58 pm PST

    Modified Files:
    src/sbbs3/xtrn.cpp 1.242 1.243 diff

    Log Message:
    Replace all occurences of unsafe strcat() calls with strncat() in
    sbbs_t::cmdstr() and cmdstr().
  223. rswindell
    Mon Jan 28 2019 03:52 pm PST

    Modified Files:
    src/sbbs3/xtrn.cpp 1.241 1.242 diff

    Log Message:
    Linux-DOSEMU patch fix:
    Use case-insensitive check of executable file extension for ".bat".
    The obvious "fix" would have been to use strcasestr() instead of strstr(),
    but that would leave the unlikely corner case of x.bat.exe producing a
    false-positive, for example. Use the proper functions for getting a file
    extension and performing a full case-insensitive string compare.
  224. rswindell
    Mon Jan 28 2019 02:54 pm PST

    Modified Files:
    exec/tickitcfg.js 1.12 1.13 diff

    Log Message:
    From Mark Lewis:
    removed unused "var tmp2".
    moved Global Options to own sub-menu edit_globals(). makes cleaner menus.
    renamed edit_sourceaddress(obj) to select_sourceaddress(obj).
    select a source address from system.fido_addr_list instead of typing anything
    you wanted in the sourceaddress field.
    when in the source address selection list window:
         ESC for no changes to the source address.
         ENTER on first option in list to remove existing source address.
         ENTER on an address to use it for the source address in generated TICs.
  225. rswindell
    Mon Jan 28 2019 01:51 pm PST

    Modified Files:
    exec/load/fidocfg.js 1.37 1.38 diff

    Log Message:
    Forgot to commit this earlier (with tickitcfg.js rev 1.9):
    save() methods return true (on success) or an error string. No throw()'s.
  226. rswindell
    Mon Jan 28 2019 01:08 pm PST

    Modified Files:
    src/sbbs3/xtrn.cpp 1.240 1.241 diff

    Log Message:
    Fix multiple potential buffer overflows in external() (for Windows) with 
    "overly long" cmdlines.
    Also fixed a bug (for Windows) where external() would return 0 (success) even
    when CreateProcess() fails - must re-restore the "last_error" value before
    returning.
  227. rswindell
    Mon Jan 28 2019 01:01 pm PST

    Modified Files:
    src/sbbs3/download.cpp 1.54 1.55 diff

    Log Message:
    Fix potential buffer overrun with a really long file xfer command-line
    (excessively long fspec/%s value).
  228. rswindell
    Sun Jan 27 2019 02:04 pm PST

    Modified Files:
    exec/tickitcfg.js 1.11 1.12 diff

    Log Message:
    Eliminate the loops when entering Source Address and Uploader Name -
    no necessarily. Now hitting enter does what you'd expect.
    Also, use js_on_exit() to always call uifc.bail() upon exception
    (with a nice "Abnormal Exit" popup in that case) - this should eliminate
    all the possible ways this script can fubar the console upon exit.
  229. rswindell
    Sun Jan 27 2019 01:42 pm PST

    Modified Files:
    exec/tickitcfg.js 1.10 1.11 diff

    Log Message:
    Fix another sub-menu that didn't dynamically update the option values.
    Fix an exception: 'obj is undefined' in edit_area().
    Fix a number of dialogs that didn't save/restore the background text.
    
    Now, I don't understand the input "loops" for Source Address and
    Upload Name - hitting "Enter" doesn't exit the input loop, you have to hit
    ESC. This behavior is inconsistent with every other Synchronet configuration
    program/script behavior, but I'll leave it to the author(s) to address that
    oddity.
  230. rswindell
    Sun Jan 27 2019 01:34 pm PST

    Modified Files:
    exec/tickitcfg.js 1.9 1.10 diff

    Log Message:
    As requested by Mark Lewis:
    reflect the new setting in the menu once it is changed
  231. rswindell
    Sun Jan 27 2019 01:30 pm PST

    Modified Files:
    exec/tickitcfg.js 1.8 1.9 diff

    Log Message:
    Clean up the whole exiting/saving thing
    - beautify, display status/progress with popups
    - gracefully handle save() failures and display error message
  232. rswindell
    Sun Jan 27 2019 01:11 pm PST

    Modified Files:
    exec/tickitcfg.js 1.7 1.8 diff

    Log Message:
    From Mark Lewis: fix wrong order of per area menu items
  233. rswindell
    Sun Jan 27 2019 02:02 am PST

    Modified Files:
    exec/chksetup.js 1.3 1.4 diff

    Log Message:
    Generate warnings for QWKnet taglines and Fido origin lines that are blank.
    Warn if the SNDBUF or RCVBUF options are set in the ctrl/sockopts.ini.
  234. rswindell
    Sat Jan 26 2019 05:36 pm PST

    Modified Files:
    exec/load/sbbsdefs.js 1.83 1.84 diff

    Log Message:
    Use require() instead of load() for the recursively load'ed *defs scripts,
    this eliminates unnecessary redundant load/execution of scripts that were
    already loaded (faster, leaner, better).
  235. rswindell
    Sat Jan 26 2019 05:28 pm PST

    Modified Files:
    exec/sbbslist.js 1.48 1.49 diff

    Log Message:
    When adding a new BBS entry, indicate which fields are required first.
    Don't allow a blank terminal server address when creating a new entry.
    Detect an invalid "first_online" date and reject.
  236. rswindell
    Sat Jan 26 2019 05:25 pm PST

    Modified Files:
    exec/load/sbbslist_lib.js 1.19 1.20 diff

    Log Message:
    Display numeric fields with a value of 0, as 0 (not blank). Undefined
    numeric fields will be displayed as blank.
    Sort numeric fields by attempting to convert to a number first (due to bugs,
    some numeric fields are sometimes strings), if the value is an invalid
    number (or numeric string), the sort value of the field is -1.
  237. rswindell
    Sat Jan 26 2019 03:44 am PST

    Modified Files:
    exec/sbbslist.js 1.47 1.48 diff

    Log Message:
    Put more work into insuring that numeric values are created/edited as numbers
    (not strings).
  238. rswindell
    Sat Jan 26 2019 03:43 am PST

    Modified Files:
    exec/load/sbbslist_lib.js 1.18 1.19 diff

    Log Message:
    Define max length of service description (don't hard-code in sbbslist.js).
    Define max length of min_rate, max_rate, port, and protocol as well.
    Remove the max 'storage' value definition.
  239. rswindell
    Sat Jan 26 2019 01:40 am PST

    Modified Files:
    exec/sbbslist.js 1.46 1.47 diff

    Log Message:
    Fix issues with create/editing numeric fields (E.g. service "port") and them
    being saved as a String value - use the new lib.max_val object to determine
    numeric fields and limit their values to between 0 and lib.max_val[field].
    Also fixed a few parseInt()/octal bugs with date conversions (srsly -still?).
  240. rswindell
    Sat Jan 26 2019 01:37 am PST

    Modified Files:
    exec/load/sbbslist_lib.js 1.17 1.18 diff

    Log Message:
    Numeric entry fields now have defined 'maximum values' in the max_val object.
  241. echicken
    Fri Jan 25 2019 01:32 pm PST

    Modified Files:
    exec/ircbots/weather/weather_functions.js 1.10 1.11 diff

    Log Message:
    Whatever.
  242. echicken
    Fri Jan 25 2019 01:15 pm PST

    Modified Files:
    exec/load/openweathermap.js 1.7 1.8 diff

    Log Message:
    Don't cache response if HTTP response code out of range of goodness.
  243. rswindell
    Fri Jan 25 2019 12:37 am PST

    Modified Files:
    exec/privatemsg.js 1.3 1.4 diff

    Log Message:
    Added support for sending telegrams to users using the Web (ecWeb v4)
    interface.
    The entire send-telegram logic has been reimplemented here (for the 3rd time,
    first in chat.cpp, then in js_bbs.cpp, and now here).
  244. rswindell
    Fri Jan 25 2019 12:34 am PST

    Modified Files:
    exec/load/presence_lib.js 1.9 1.10 diff

    Log Message:
    web_user_status() now accepts the 'browsing' word as the second argument and
    web_users() doesn't expect a 'browsing' argument.
  245. rswindell
    Thu Jan 24 2019 05:55 pm PST

    Modified Files:
    exec/chksetup.js 1.2 1.3 diff

    Log Message:
    Report non-guest users with blank passwords.
    Check that the local sbbslist entry for your BBS matches the one on Vert.
    Check that the 'syncdata' sub-board is present and findable.
  246. rswindell
    Thu Jan 24 2019 05:07 pm PST

    Modified Files:
    exec/sbbslist.js 1.45 1.46 diff

    Log Message:
    Added support for exporting and importing "SBL-Remove" messages to remotely
    remove a BBS entry (e.g. your own) from remote databases. You can remove
    any entry (as before) with "jsexec sbbslist remove=<name>", add the '-remote'
    option and it'll post an SBL-Remove message to the SYNCDATA sub.
    The new "delete" option is the same, but automatically uses your local BBS
    name as the name of the entry to be deleted/removed (you still need the -remote
    option to create an SBL-Remove message).
    A confirmation prompt was added.
    The "Name:" portion fo the SBL-Remove message body is not actually needed
    /parsed right now but makes a good sanity check for message subject (BBS name)
    truncation or manipulation, should that be a problem.
  247. deuce
    Thu Jan 24 2019 12:50 pm PST

    Modified Files:
    3rdp/build/GNUmakefile 1.44 1.45 diff
    3rdp/build/cl-bn_div2.patch NONE 1.1 diff

    Added Files:
    	cl-bn_div2.patch 
    Log Message:
    Don't use the inline assembler in the BN_div function.
    
    This has not had the crash here in over three days (crosses fingers).
  248. rswindell
    Wed Jan 23 2019 06:13 pm PST

    Modified Files:
    exec/sbbslist.js 1.44 1.45 diff

    Log Message:
    Don't import deleted sbl.dab entries (the first character of the BBS's
    name is a 0).
  249. rswindell
    Tue Jan 22 2019 11:48 pm PST

    Modified Files:
    src/sbbs3/readmsgs.cpp 1.108 1.109 diff

    Log Message:
    The reply in (M)ail command has been somewhat broken since Mar-13-2018 when
    smb_netaddr_type() was changed to *never* return NET_NONE. Locally-posted
    messages would result in a (M)ail reply trying to go to a invalid Internet mail
    addres (the user's name/alias).
  250. rswindell
    Mon Jan 21 2019 07:18 pm PST

    Modified Files:
    src/sbbs3/js_msgbase.c 1.224 1.225 diff

    Log Message:
    Beautification/typo of MsgBase methods by_offset blurb.
  251. echicken
    Mon Jan 21 2019 03:04 pm PST

    Modified Files:
    exec/load/openweathermap.js 1.6 1.7 diff

    Log Message:
    Added 'raw' parameter to call_api, for fetching non-JSON data.
  252. deuce
    Mon Jan 21 2019 10:49 am PST

    Modified Files:
    3rdp/build/GNUmakefile 1.43 1.44 diff

    Log Message:
    Old slow way crashes faster.
  253. deuce
    Mon Jan 21 2019 10:44 am PST

    Modified Files:
    3rdp/build/GNUmakefile 1.42 1.43 diff
    3rdp/build/cl-bn_div.patch NONE 1.1 diff

    Added Files:
    	cl-bn_div.patch 
    Log Message:
    Switch to "The old slow way" in BN_div()
  254. rswindell
    Mon Jan 21 2019 02:22 am PST

    Modified Files:
    exec/avatars.js 1.35 1.36 diff

    Log Message:
    Fixed typo: security.restrictions, not security_restrictions!
  255. rswindell
    Mon Jan 21 2019 02:10 am PST

    Modified Files:
    src/sbbs3/js_msgbase.c 1.223 1.224 diff

    Log Message:
    Attempt to clarify all this MsgBase.get...(by_offset, number_or_offset_or_id_header)
    confusion: You should not pass both a message number *and* a message header to the
    retrieval methods that support referring to a message by either (number/offset, id
    or header).
  256. rswindell
    Mon Jan 21 2019 01:20 am PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.139 1.140 diff

    Log Message:
    Added support for the standard "Delete line" control keys (Ctrl-Y/X) to the
    the internal message editor. It doesn't redraw the lines below the deleted
    line or do anything terribly fancy, but at least it behaves more as one
    would expect.
  257. rswindell
    Sat Jan 19 2019 09:25 pm PST

    Modified Files:
    src/sbbs3/js_file.c 1.176 1.177 diff
    src/sbbs3/js_global.c 1.376 1.377 diff
    src/sbbs3/jsexec.c 1.202 1.203 diff
    src/sbbs3/sbbs.h 1.499 1.500 diff

    Log Message:
    The "stdio" File objects (stdin, stdout, stderr) did not work on Windows,
    because the stdout FILE* is a different address in jsexec than it is in sbbs.dll
    (where the actual File I/O operations occurred). Refactored by passing the
    stdio file descriptor (and open mode) to js_CreateFileObject rather than the
    FILE* and using fdopen() to get a FILE* associated with the descriptor.
    stdout.write() now works, for example.
  258. rswindell
    Sat Jan 19 2019 05:58 pm PST

    Modified Files:
    exec/exportcfg.js 1.2 1.3 diff

    Log Message:
    Allow specific items (e.g. subs, dirs, xtrns, events, editors) to be
    selected/included with the -inc=<code> option or excluded with the
    -exc=<code> option.
    Fixed a problem where some item types did not have a 'code' property
    (this is a difficiency in the JS object model that will be fixed in the
    future - but a work-around is to just use the associative-array 'index'
    value if the 'code' property does not exist).
  259. rswindell
    Sat Jan 19 2019 05:55 pm PST

    Modified Files:
    src/sbbs3/jsexec.c 1.201 1.202 diff

    Log Message:
    Fix long-standing bug: if jsexec was passed any option which requires a
    parameter value and no value was supplied (e.g. 'jsexec -c'), a null pointer
    dereference would cause the program to crash.
    Also display more helpful error if option parameter value is missing.
  260. rswindell
    Sat Jan 19 2019 02:48 pm PST

    Modified Files:
    exec/chksetup.js 1.1 1.2 diff

    Log Message:
    Output the group name when printing sub/dir/xtrn code issues.
  261. rswindell
    Sat Jan 19 2019 01:32 am PST

    Modified Files:
    exec/podcast.js 1.15 1.16 diff

    Log Message:
    Add support for podcast_lost_episodes.xml
  262. rswindell
    Sat Jan 19 2019 01:30 am PST

    Modified Files:
    CVSROOT/loginfo 1.33 1.34 diff

    Log Message:
    Try exporting the SDL_VIDEODRIVER env var.
  263. rswindell
    Sat Jan 19 2019 01:28 am PST

    Modified Files:
    exec/nntpservice.js 1.129 1.130 diff

    Log Message:
    A better example of creating a new User object.
  264. deuce
    Sat Jan 19 2019 01:26 am PST

    Modified Files:
    src/conio/curs_cio.c 1.41 1.42 diff

    Log Message:
    Attempt to fix Linux weirdness with UIFC jsexec things.
    
    Basically, this just tracks if curses is already suspended or not and if it
    is, does not call noraw() and endwin() again.  This should fix the issue on
    Linux since well-behaved scripts will call uifc.bail() before they exit.
    
    It appears what's happening is that jsexec sets the terminal as raw, then
    ciolib is initialized at which point ncurses saves the current terminal state.
    Before exiting, jsexec sets the terminal back to cooked mode, then exits.
    atexit() ciolib calls curs_suspend() which calls endwin() which restores
    the previously saved terminal state (ie: raw).
  265. rswindell
    Sat Jan 19 2019 12:44 am PST

    Modified Files:
    CVSROOT/loginfo 1.32 1.33 diff

    Log Message:
    <Deuce> Can set the env variable SDL_VIDEODRIVER=dummy
    <Deuce> Though I'm not sure how to get cvs to have env variables in the child processes.
    <Deuce> It will still do "things" with SDL, but none of them should matter.
    <Deuce> Basically, it will initialize the dummy driver, uninitialize it, then call main()
  266. rswindell
    Sat Jan 19 2019 12:03 am PST

    Modified Files:
    exec/sbbsimsg.js 1.35 1.36 diff

    Log Message:
    A little modernization (e.g. using require instead of load).
  267. rswindell
    Fri Jan 18 2019 11:49 pm PST

    Modified Files:
    exec/fingerservice.js 1.46 1.47 diff

    Log Message:
    Better example of creating a User instance.
  268. rswindell
    Fri Jan 18 2019 06:54 pm PST

    Added Files:
    exec/chksetup.js NONE 1.1 diff

    Log Message:
    A new script that will check your Synchronet BBS setup (install/data) for
    common problems, intended to be run using JSexec, example:
    	jsexec chksetup.js
    	jsexec chksetup.js -v
    
    If it reports any issues, you should probably look into them. :-)
  269. rswindell
    Fri Jan 18 2019 05:13 pm PST

    Modified Files:
    exec/exportcfg.js 1.1 1.2 diff

    Log Message:
    Added the msising '-ex' option to the usage help output.
  270. rswindell
    Fri Jan 18 2019 03:03 pm PST

    Modified Files:
    exec/sbbsecho_upgrade.js 1.13 1.14 diff

    Log Message:
    Fix comment added to created sbbsecho.ini file:
    The revision is of sbbsecho_upgrade.js, not the "exec_file" (update.js).
  271. rswindell
    Fri Jan 18 2019 01:14 am PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.486 1.487 diff

    Log Message:
    Further optimization for directory index and listing generation: if "Check for
    File Existence" is disabled (in SCFG->File Areas... Toggle Options), then don't
    check the disk for the file's existence, size, or date/time.
  272. rswindell
    Thu Jan 17 2019 05:56 pm PST

    Modified Files:
    src/sbbs3/un_rep.cpp 1.68 1.69 diff

    Log Message:
    Log a warning instead of an error when unpacking a QWK REP packet which
    contains a message hdr with a block length less than 2. Some versions of
    Mystic apparently generate these REP packets and the errors are annoying
    and there's really nothing the sysop can do about it but report back to
    the user (or QWKnet node) that their packets contained some invalid
    message headers.
  273. rswindell
    Thu Jan 17 2019 01:58 pm PST

    Modified Files:
    src/sbbs3/sbbsecho.c 3.102 3.103 diff

    Log Message:
    Longer, hopefully more helpful, "Authenticated EchoMail" warning log msg.
  274. rswindell
    Thu Jan 17 2019 09:57 am PST

    Modified Files:
    exec/tickit.js 1.53 1.54 diff

    Log Message:
    add lost code to write existing Path lines to the TIC file - wkitty42
  275. rswindell
    Thu Jan 17 2019 12:31 am PST
    exec fileareas.js 1.3 NONE
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv12450
    
    Removed Files:
    	fileareas.js 
    Log Message:
    This file was made redundant by exportcfg.js, killed by its own offspring.
  276. rswindell
    Tue Jan 15 2019 07:43 pm PST

    Modified Files:
    exec/logon.js 1.36 1.37 diff

    Log Message:
    Use the bbs.menu_exists() method of checking for text/menu/logon*.* files
  277. rswindell
    Tue Jan 15 2019 07:34 pm PST

    Modified Files:
    text/menu/msgscan.asc 1.10 1.11 diff

    Log Message:
    Use Ctrl-Az instead of Ctrl-AZ to output a Ctrl-Z (SUB) char)
  278. rswindell
    Tue Jan 15 2019 01:22 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.138 1.139 diff

    Log Message:
    Internal message editor needs to recount the lines when saving. This
    is the likely cause of missing lines or "Aborted" messages upon saving
    with the internal editor.
  279. rswindell
    Mon Jan 14 2019 11:04 pm PST

    Modified Files:
    exec/email_sec.js 1.6 1.7 diff

    Log Message:
    Don't load/list the mail index in reverse (newest-first) order by default.
    Unfortunately, the call to readmail() in other places in sbbs
    (e.g. logon.ccp, useredit.cpp) is hard-coded without *out* this loadmail
    flag, so you get an index in oldest-first order when you logon and answer
    "Yes" to the "Read your mail now?" prompt and get the index in reverse
    (newest-first) order when you use the 'R' command from the email prompt
    which is unexpected and likely confusing to users. Until we can replace
    these hard-coded calls to readmail() with scripted logic which can read/
    use a user-preference property (e.g. from data/user/*.ini), we will just
    default to the old/previous behavior. The user is one key (!) away from
    reversing the index anyway.
  280. rswindell
    Mon Jan 14 2019 10:54 pm PST

    Modified Files:
    src/sbbs3/js_console.cpp 1.122 1.123 diff

    Log Message:
    Fixed typo in JSDOCS description of console.putbyte().
  281. rswindell
    Mon Jan 14 2019 08:37 pm PST

    Added Files:
    exec/exportcfg.js NONE 1.1 diff

    Log Message:
     Converted fileareas.js into a generic cfg-list exporter (e.g. for msg areas, etc.)
  282. rswindell
    Mon Jan 14 2019 07:07 pm PST

    Modified Files:
    src/uifc/filepick.c 1.41 1.42 diff

    Log Message:
    Get rid of this file's local getdirname() in favor of the xpdev/dirwrap.c
    function of the same name. The dirwrap version (now) behaves identically
    when passed a pathname ending in a directory name (ending in a '/') but
    differs when passed a pathname ending in a file name (not ending in a '/').
    That should be okay.
  283. rswindell
    Mon Jan 14 2019 07:05 pm PST

    Modified Files:
    src/xpdev/dirwrap.c 1.103 1.104 diff

    Log Message:
    Make getdirname() behave more consistently with the function of the
    same name in uifc/filepick.c - specifically with regards to paths that
    begin with a / (or \ on Windows).
  284. rswindell
    Mon Jan 14 2019 02:07 am PST

    Modified Files:
    exec/fileareas.js 1.2 1.3 diff

    Log Message:
    Support both -option=<value> and -option <value> command-line syntax.
    Make usage-printed option defaults to the actual defaults and not just the
    current values of the options (which could have changed).
  285. rswindell
    Mon Jan 14 2019 12:13 am PST

    Modified Files:
    exec/fileareas.js 1.1 1.2 diff

    Log Message:
    Added support for a different (preferred) method of property format
    specification ("<prop>=<format>"). The "-fmt <format>" option syntax is
    still supported.
    Fixed a bunch of typos and update the "docs" in the comment header.
  286. rswindell
    Sun Jan 13 2019 11:15 pm PST

    Added Files:
    exec/fileareas.js NONE 1.1 diff

    Log Message:
    A new utility module that may be executed via JSexec to generate file area
    lists (listing of areas/directories, not files within those directories),
    to export your file area configuration to various file formats (e.g.
    FILEGATE.ZXX, tab-delimited, CVS, etc.). This utility is much more flexible
    than the SCFG "Export Areas..." option.
    This module can also be load()'d to capture the listing output for use within
    other scripts or shells.
    See the comments at the top of the file for detailed documentation.
  287. rswindell
    Sun Jan 13 2019 03:27 pm PST

    Modified Files:
    exec/testbuild.js 1.30 1.31 diff

    Log Message:
    3rdp Library files are (have been) part of the sbbs_dev archive for a while now.
  288. rswindell
    Sun Jan 13 2019 02:05 pm PST

    Modified Files:
    src/sbbs3/sbbs_ini.c 1.167 1.168 diff

    Log Message:
    We build this file with BCB6, which is not C99 compliant, so we can't use this
    fancy structure initalization syntax here.
  289. rswindell
    Sat Jan 12 2019 06:45 pm PST

    Modified Files:
    exec/sbbslist.js 1.43 1.44 diff

    Log Message:
    Moved list of common_bbs_services from exec/sbbslist.js to load/sbbslist_lib.js
    Removed TCP/IP services not supported by BBS clients (e.g. SyncTERM) from the
    list (e.g. ftp, nntp, smtp, binkp, irc) and added "modem".
  290. rswindell
    Sat Jan 12 2019 06:43 pm PST

    Modified Files:
    exec/load/sbbslist_lib.js 1.16 1.17 diff

    Log Message:
    Moved list of common_bbs_services from exec/sbbslist.js to load/sbbslist_lib.js
    Removed TCP/IP services not supported by BBS clients (e.g. SyncTERM) from the
    list (e.g. ftp, nntp, smtp, binkp, irc) and added "modem".
    This list is now used by the syncterm_list() function to filter which entries
    will be written to the exported syncterm.lst file.
    Also added duplicate section name detection and better names for multiple
    services per BBS (using service description and port as well as protocol)
    to syncterm_list().
    Added support to imsg_capable_system() for an over-ride (imsg_capable).
    Changed several info-level log messages to debug-level (e.g. for every list
    open/read/write).
  291. rswindell
    Sat Jan 12 2019 04:37 pm PST

    Modified Files:
    src/sbbs3/sbbs_ini.c 1.166 1.167 diff

    Log Message:
    Updated the default sbbs.ini style when saving (improve readability):
    - separate sections with a blank line (when adding a section)
    - place spaces around '=' in value assignments ("key = value").
  292. rswindell
    Sat Jan 12 2019 04:30 pm PST

    Modified Files:
    ctrl/sbbs.ini 1.81 1.82 diff

    Log Message:
    Disabled HTTP_LOGGING and CGI support in [web] by default.
    Mostly just white-space changes (beautification).
    Added some comments.
  293. rswindell
    Sat Jan 12 2019 04:21 pm PST

    Modified Files:
    src/sbbs3/websrvr.h 1.54 1.55 diff

    Log Message:
    Cruft removal: IDENT/Identity protocol not supported by webserver.
  294. rswindell
    Sat Jan 12 2019 04:06 pm PST

    Modified Files:
    ctrl/sbbs.ini 1.80 1.81 diff

    Log Message:
    Remove unused [web] key (EmbJavaScriptExtension) and option (GET_IDENT)
  295. rswindell
    Sat Jan 12 2019 04:04 pm PST

    Modified Files:
    src/sbbs3/sbbs_ini.c 1.165 1.166 diff
    src/sbbs3/websrvr.c 1.676 1.677 diff
    src/sbbs3/websrvr.h 1.53 1.54 diff

    Log Message:
    Cruft removal:  EmbeddedJavaScriptExt (web_startup.js_ext) settings
    this idea (web-server parsed html files with embedded JS) was never implemented
    and made obsolete by web handlers (e.g. xjs).
  296. rswindell
    Sat Jan 12 2019 03:53 pm PST

    Modified Files:
    src/sbbs3/ctrl/MainFormUnit.cpp 1.201 1.202 diff

    Log Message:
    Better "Incorrect DLL" error message, display the expected version too.
  297. rswindell
    Sat Jan 12 2019 03:48 pm PST

    Modified Files:
    src/sbbs3/ctrl/WebCfgDlgUnit.cpp 1.8 1.9 diff
    src/sbbs3/ctrl/WebCfgDlgUnit.dfm 1.12 1.13 diff
    src/sbbs3/ctrl/WebCfgDlgUnit.h 1.4 1.5 diff

    Log Message:
    Cruft removal: EmbeddedJavaScriptExt (.bbs) settings - this option was hidden
    anyway (here) and never implemented in the web server.
  298. rswindell
    Sat Jan 12 2019 03:45 pm PST

    Modified Files:
    src/sbbs3/ctrl/TelnetCfgDlgUnit.cpp 1.25 1.26 diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.dfm 1.31 1.32 diff
    src/sbbs3/ctrl/TelnetCfgDlgUnit.h 1.18 1.19 diff

    Log Message:
    Cruft removal: JavaScript Support and Identity Lookup checkboxes.
    Oddly, the Identity Lookup checkbox was obscurring (hiding) the Hostname
    Lookup checkbox, so that becomes visible/available again.
  299. rswindell
    Sat Jan 12 2019 02:53 pm PST

    Modified Files:
    ctrl/sbbs.ini 1.79 1.80 diff

    Log Message:
    Removed the NO_JAVASCRIPT option from the list of supported [bbs] Options
    (not practical to disable JavaScript for the terminal server any longer)
    and added the NO_SPY_SOCKETS option.
  300. rswindell
    Sat Jan 12 2019 02:49 pm PST

    Modified Files:
    ctrl/sockopts.ini 1.7 1.8 diff

    Log Message:
    Added the new [unix] section (empty)
  301. rswindell
    Sat Jan 12 2019 02:44 pm PST

    Modified Files:
    src/sbbs3/sockopts.c 1.25 1.26 diff

    Log Message:
    For Unix-domain sockets (e.g. localspy sockets on *nix), use the [unix]
    section of the sockopts.ini (if there is one) rather than the [tcp] or
    [udp] sections. This resolves the errors:
          term xxxx !ERROR 95 setting socket option (TCP_NODELAY, 1) to 1
    which started appearing after the TCP_NODELAY option was added to the
    [tcp] section.
  302. rswindell
    Sat Jan 12 2019 02:05 pm PST

    Modified Files:
    exec/websocketservice.js 1.11 1.12 diff

    Log Message:
    Allow a hostname to be specified on the command-line without also specifying
    a target port number.
    The port and hostname arguments can now be supplied in any order.
    Added debug-level log output with the host/port we're trying to connect to.
    Include the socket error value in the failure to connect log message.
  303. rswindell
    Sat Jan 12 2019 01:36 pm PST

    Modified Files:
    src/sbbs3/js_socket.c 1.224 1.225 diff

    Log Message:
    Bug-fix: Socket.connect() would return true (success) even though a
    TCP connection actually failed. This bug only appeared to affect *nix
    systems. This bug appears to be very old, introduced in rev 1.74 of
    this file (Mar-2003) by yours truly.
    From the Linux 'connect' man page:
    EINPROGRESS
                  The  socket  is  nonblocking  and the connection cannot be i
                  completed immediately.  It is possible to select(2) or poll(2)
                  for completion by selecting the socket for writing.  After 
                  select(2) indicates writability, use getsockopt(2) to read the
                  SO_ERROR option at level SOL_SOCKET to determine whether 
                  connect() completed successfully (SO_ERROR is zero) or 
                  unsuccessfully (SO_ERROR is one of the usual error codes listed
                  here, explaining the reason for the failure).
    
    We weren't doing the 'getsockopt(SO_ERROR)' part.
  304. rswindell
    Sat Jan 12 2019 04:09 am PST

    Modified Files:
    src/sbbs3/scfg/scfg.c 1.100 1.101 diff
    src/sbbs3/scfg/scfg.h 1.26 1.27 diff
    src/sbbs3/scfg/scfgmsg.c 1.57 1.58 diff
    src/sbbs3/scfg/scfgnet.c 1.39 1.40 diff
    src/sbbs3/scfg/scfgnode.c 1.34 1.35 diff
    src/sbbs3/scfg/scfgsys.c 1.50 1.51 diff
    src/sbbs3/scfg/scfgxfr1.c 1.27 1.28 diff
    src/sbbs3/scfg/scfgxfr2.c 1.55 1.56 diff
    src/sbbs3/scfg/scfgxtrn.c 1.59 1.60 diff

    Log Message:
    Cosmetic change only:
    Wrap all read_*_cfg() and write_*_cfg() calls with simple functions that
    display popup messages that the Reading or Writing is being performed.
    There was already copy/pasta everywhere for the Reading ... cnf files, but
    nothing for writing.
  305. rswindell
    Sat Jan 12 2019 03:56 am PST

    Modified Files:
    src/xpdev/dirwrap.c 1.102 1.103 diff
    src/xpdev/dirwrap.h 1.50 1.51 diff

    Log Message:
    Added getdirname(): returns the filename or lastdirectory portion of a full
    pathname (directories must end in a '/'). Unlike getfname() which returns an
    empty string if passed a path ending in a '/'.
    Useful with glob(.., GLOB_MARK).
  306. rswindell
    Sat Jan 12 2019 02:29 am PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.485 1.486 diff

    Log Message:
    Fix some new issues due to use of GLOB_MARK:
    getfname() on a path that ends in a slash, returns an empty string pointer.
    Fixed-up some logging output around listing creations.
  307. rswindell
    Sat Jan 12 2019 12:52 am PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.484 1.485 diff

    Log Message:
    Optimized all directory listings and index generation:
    - use GLOB_MARK to eliminate calls to isdir() in loops
    - use stat() rather than calls to flength() and fdate()
    - don't call getfiledat() if getfileixb() failed
    - profiling info-level log msgs added for index/listing generation, e.g.
      "detailed listing (3459 bytes) of /main/SBBS (45 files) created in 2 seconds"
    
    Fixed bug with indexes generated for directories with the 
    "Access Files Not In Database" option enabled, files not in database were
    excluded from the generated index (e.g. 00index, 00index.html).
  308. rswindell
    Sat Jan 12 2019 12:11 am PST

    Modified Files:
    src/sbbs3/filedat.c 1.39 1.40 diff

    Log Message:
    Optimized getfiledat():
    rather than calling both flength() and fdate() (which both call stat()), just
    call stat() once and use the result for both file size and date/time.
  309. rswindell
    Sat Jan 12 2019 12:01 am PST

    Modified Files:
    src/xpdev/dirwrap.c 1.101 1.102 diff

    Log Message:
    Optimized fdate(), fcdate(), flength(), fnameexist() functions:
    There's no reason to call access() before stat() since stat() will fail
    (return -1) if the file does not exist.
  310. rswindell
    Fri Jan 11 2019 06:15 pm PST

    Modified Files:
    exec/chat_sec.js 1.10 1.11 diff

    Log Message:
    Modernization of this script (e.g. "use strict", require(), load(), etc.)
    Loads child scripts (finger.js, sbbsimsg.js) quicker.
    Note: irc.js can't be load()ed from here because it calls exit().
    Now using appropriate strings from text.dat (R_Chat, ON, OFF).
    Added modopts.ini [chat_sec] irc option (disable IRC access by setting to false).
  311. rswindell
    Fri Jan 11 2019 05:50 pm PST

    Modified Files:
    exec/irc.js 1.49 1.50 diff

    Log Message:
    Using a much more reliable method of saving/restoring the initial
    console.ctrlkey_passthru state.
    As it was, if the irc.js abended, many ctrl-keys (e.g. ^C) would not work
    after exiting. A lot of scripts that much with the console.ctrlkey_passthru
    have this/similar issue and this is a simple but very reliable fix.
  312. rswindell
    Fri Jan 11 2019 05:47 pm PST

    Modified Files:
    exec/finger.js 1.7 1.8 diff

    Log Message:
    Use the new load/finger_lib.js
  313. rswindell
    Fri Jan 11 2019 05:46 pm PST

    Added Files:
    exec/load/finger_lib.js NONE 1.1 diff

    Log Message:
    A library for finger or systat/active-user client requests
    (mostly migrated from exec/finger.js).
  314. rswindell
    Fri Jan 11 2019 05:35 pm PST

    Modified Files:
    exec/tickit.js 1.52 1.53 diff
    exec/tickitcfg.js 1.6 1.7 diff

    Log Message:
    TickIT patch supplied by Mark Lewis:
    tickit.js version pulled from $ID string in .js file.
    tickit version used in Created by line.
    tickit version used in Path line.
    utc time stamp of processing used in Path line per FTS-5006.001.
    per area uploader.
    address selection:
       per area aka matching in From and Path lines.
       per area source address in From and Path lines.
       global aka matching in From and Path lines (original addressing method).
       global source address in From and Path lines.
       main FTN address from system.fido_addr_list (preferred but last in line with
    the above overrides).
    can use domains on linked systems' addresses in sbbsecho.ini again.
    can use domains on any address in tickit.ini.
    domains are NOT currently written to the generated TIC files to avoid creating
    possible problems for other TIC processors.
    force replace is available globally and per area in the ini and not only the
    command line.
  315. rswindell
    Fri Jan 11 2019 05:35 pm PST

    Modified Files:
    exec/load/fidocfg.js 1.36 1.37 diff

    Log Message:
    TickIT patch supplied by Mark Lewis:
    tickit.js version pulled from $ID string in .js file.
    tickit version used in Created by line.
    tickit version used in Path line.
    utc time stamp of processing used in Path line per FTS-5006.001.
    per area uploader.
    address selection:
       per area aka matching in From and Path lines.
       per area source address in From and Path lines.
       global aka matching in From and Path lines (original addressing method).
       global source address in From and Path lines.
       main FTN address from system.fido_addr_list (preferred but last in line with
    the above overrides).
    can use domains on linked systems' addresses in sbbsecho.ini again.
    can use domains on any address in tickit.ini.
    domains are NOT currently written to the generated TIC files to avoid creating
    possible problems for other TIC processors.
    force replace is available globally and per area in the ini and not only the
    command line.
  316. rswindell
    Fri Jan 11 2019 04:16 am PST

    Modified Files:
    src/sbbs3/ans2asc.c 1.11 1.12 diff

    Log Message:
    Stop parsing/converting when reading a Ctrl-Z (CPM EOF char): used to mark
    the beginning of a SAUCE record and the end of very old MS-DOS text files.
    Added support for ESC[1;1f/H (home cursor) and ESC[0J (clear to EOS) sequences
    (converted to the equivalent in Ctrl-A codes).
    Output Ctrl-A characters in uppercase, as they were documented and as is
    common practice.
    Covert ESC[xB and ESC[xD to the appropriate Ctrl-A sequences rather than
    converting to ASCII ctrl chars (CR, LF, BS).
  317. rswindell
    Fri Jan 11 2019 03:47 am PST

    Modified Files:
    src/sbbs3/asc2ans.c 1.10 1.11 diff

    Log Message:
    Add missing (but rarely used) Ctrl-A sequences:
    Ctrl-AJ (clear to EOS)
    Ctrl-A` (home cursor)
  318. rswindell
    Fri Jan 11 2019 03:29 am PST

    Modified Files:
    src/sbbs3/asc2ans.c 1.9 1.10 diff
    src/sbbs3/con_out.cpp 1.93 1.94 diff
    src/sbbs3/getkey.cpp 1.51 1.52 diff
    src/sbbs3/js_global.c 1.375 1.376 diff
    src/sbbs3/msgtoqwk.cpp 1.53 1.54 diff
    src/sbbs3/putmsg.cpp 1.43 1.44 diff
    src/sbbs3/sbbsecho.c 3.101 3.102 diff
    src/sbbs3/str_util.c 1.54 1.55 diff

    Log Message:
    A partial retraction of the Ctrl-AZ interpretation changes introduced on
    Oct-14-2018:
    It turns out, PabloDraw actually inserts a Ctrl-AZ sequence at the end of .msg
    (and presumably Synchronet .asc) files it edits - before the SAUCE record.
    This resulted in a printed Ctrl-Z character (arrow pointing right) in most
    terminals when viewing text/menu files created or edited with PabloDraw. :-(
    So, now Ctrl-AZ (uppercase) will revert to the previous definition:
    premature end-of-file (EOF)
    and a Ctrl-Az (lowercase) will output a Ctrl-Z (substitute) character.
    I'm not a big fan of case-sensitive Ctrl-A codes, but frankly, running out of
    chars and I already started this pattern with the Ctrl-AF/f sequences.
    Hopefully there's no existing software that is/was putting Ctrl-Az (lowercase)
    in files, expecting that to trigger a premature EOF. I certainly was not.
  319. rswindell
    Fri Jan 11 2019 01:38 am PST

    Modified Files:
    exec/badpasswords.js 1.2 1.3 diff

    Log Message:
    Provide a better/updated example.
  320. rswindell
    Fri Jan 11 2019 01:37 am PST

    Modified Files:
    exec/userlist.js 1.5 1.6 diff

    Log Message:
    Provide a better/updated example.
  321. rswindell
    Fri Jan 11 2019 01:34 am PST

    Modified Files:
    exec/nodelist.js 1.8 1.9 diff

    Log Message:
    Read the default web_inactivity value from modopts.ini [web] inactivity value.
    - this change is dependant on the updated load/modopts.js.
    Cache the presence_lib and nodelist options in the bbs.mods object to speed
    up the re-loading of this script from the BBS. This means that changes to the
    presence_lib or modopts.ini will require the user log-off/back-on to experience
    the changes (only for the nodelist module).
  322. rswindell
    Fri Jan 11 2019 01:29 am PST

    Modified Files:
    exec/load/presence_lib.js 1.8 1.9 diff

    Log Message:
    Automatically exclude 0-aged users and blank genders from the output
    of the user_age_and_gender() method.
    Changed options.web_inactivity_timeout to just options.web_inactivity to be
    more consistent with the existing modopts.ini [web] option naming.
  323. rswindell
    Fri Jan 11 2019 01:26 am PST

    Modified Files:
    exec/load/modopts.js 1.3 1.4 diff

    Log Message:
    New modopts.js usage supported:
    You may now request the value of a single modopts.ini key value (optionally
    specifying a default option value), via:
        optval = load({}, 'modopts.js', 'modname', 'optname');
    or:
        optval = load({}, 'modopts.js', 'modname', 'optname', default_optval);
    
    This usage will return just a single option value rather than an object
    containing properties reflecting all the options in the [modname] section.
    The pre-existing usage is still supported (and preferred in most cases).
  324. rswindell
    Thu Jan 10 2019 10:50 pm PST

    Modified Files:
    exec/load/presence_lib.js 1.7 1.8 diff

    Log Message:
    Allow the web user action verb to be configurable via options.web_browsing
    (default: 'browsing' - to match web UI verbiage).
  325. rswindell
    Thu Jan 10 2019 08:56 pm PST

    Modified Files:
    exec/default.src 1.22 1.23 diff
    exec/pcboard.src 1.10 1.11 diff
    exec/renegade.src 1.12 1.13 diff
    exec/sdos.src 1.11 1.12 diff
    exec/simple.src 1.9 1.10 diff
    exec/wildcat.src 1.13 1.14 diff
    exec/wwiv.src 1.6 1.7 diff

    Log Message:
    Use the nodelist.js module for node listings from all command-shells
    (includes web v4 users logged-in/recently-active).
    Added 'W' / who's online command to those shells that didn't have it
    (except for Wildcrap!) - equivalent of the Ctrl-U global hot-key.
  326. rswindell
    Thu Jan 10 2019 08:53 pm PST

    Modified Files:
    exec/nodelist.js 1.7 1.8 diff

    Log Message:
    Include web users in output unless the -noweb argument is specified or
    'include_web_users' is set to false in the [nodelist] section of the modopts.ini
    Document the arguments supported in comments.
    It's no '-noself' instead of '-notself' to exclude own node from output.
    Also more/better "use strict" enforcement.
  327. rswindell
    Thu Jan 10 2019 08:49 pm PST

    Modified Files:
    exec/load/presence_lib.js 1.6 1.7 diff

    Log Message:
    Include web users in nodelist() output unless options.include_web_users = false
    Provide better example of constructing/using User objects.
  328. rswindell
    Thu Jan 10 2019 05:11 pm PST

    Modified Files:
    exec/load/portdefs.js 1.6 1.7 diff

    Log Message:
    Added Synchronet/ftelnet's WS/WSS port definitions.
    Added more comments and use 'var' when defining a new variable
    (though 'const' might be better here, don't want to risk that change atm).
  329. rswindell
    Thu Jan 10 2019 11:53 am PST

    Modified Files:
    src/sbbs3/js_user.c 1.107 1.108 diff

    Log Message:
    JSDOCS: Better example for User object creation.
  330. rswindell
    Thu Jan 10 2019 10:29 am PST

    Modified Files:
    exec/load/presence_lib.js 1.5 1.6 diff

    Log Message:
    Fix usernum parsing bug in web_users():
    numbers beginning w/0 are interpretted as octal by parseInt() by default.
  331. echicken
    Thu Jan 10 2019 05:55 am PST

    Modified Files:
    exec/load/presence_lib.js 1.4 1.5 diff

    Log Message:
    Get web user's action from session file if possible.
  332. rswindell
    Thu Jan 10 2019 03:54 am PST

    Modified Files:
    exec/load/presence_lib.js 1.3 1.4 diff

    Log Message:
    Check the data/msgs/*.msg file size (> 0) rather than just existence.
    0-byte .msg files are normal and do not mean a msg is waiting for the user.
  333. rswindell
    Thu Jan 10 2019 03:51 am PST

    Modified Files:
    src/sbbs3/js_file.c 1.175 1.176 diff

    Log Message:
    Fix JSDOCS_BUILD issue introduced in previous commit.
  334. rswindell
    Thu Jan 10 2019 03:33 am PST

    Modified Files:
    exec/fingerservice.js 1.45 1.46 diff

    Log Message:
    Added a new modopts.ini setting for [fingerservice]:
    include_location (defaults to true)
    New comments at the top documenting the modopts.ini settings available.
    Include misc flags (M for msg waiting, P for do-not-disturb) in web user status
    active-users.json was excluding node with the POFF (do not disturb) flag set,
    thus making the do_not_disturb property kind of moot - fixed.
  335. rswindell
    Thu Jan 10 2019 03:28 am PST

    Modified Files:
    exec/load/presence_lib.js 1.2 1.3 diff

    Log Message:
    Added web_user_misc() method.
    Added properties to web_user object: do_not_disturb and msg_waiting
  336. rswindell
    Thu Jan 10 2019 02:38 am PST

    Modified Files:
    exec/fingerservice.js 1.44 1.45 diff

    Log Message:
    Include web users in the active-users lists.
    The active-users.json response now includes a 'prot' (protocol) object, just in
    case we want to use that in the future.
  337. rswindell
    Thu Jan 10 2019 02:34 am PST

    Modified Files:
    exec/load/presence_lib.js 1.1 1.2 diff

    Log Message:
    Added a web_users() method to return an array of active web users. This is
    derived from a portion of ecwebv4's ndoelist.js.
    TODO (echicken, help!): fill-out the 'action' property from the web session and
    double-check on the logontime value (can we get this from the session blob?).
  338. rswindell
    Thu Jan 10 2019 01:00 am PST

    Modified Files:
    exec/fingerservice.js 1.43 1.44 diff
    exec/nodelist.js 1.6 1.7 diff

    Log Message:
    Utilize the new presence_lib.js:
    Much of the code in these 2 modules was moved/migrated to the new presence_lib
    and made more reusable/modular.
  339. rswindell
    Wed Jan 09 2019 11:26 pm PST

    Added Files:
    exec/load/presence_lib.js NONE 1.1 diff

    Log Message:
    New library for user presence (e.g. node listings, who's online) reporting.
    Migrated mostly from exec/nodelist.js, some from fingerservice.js.
  340. rswindell
    Wed Jan 09 2019 07:05 pm PST

    Modified Files:
    exec/load/xjs.js 1.1 1.2 diff

    Log Message:
    Log errors when failing to open/create files.
  341. rswindell
    Wed Jan 09 2019 06:47 pm PST

    Modified Files:
    src/sbbs3/asc2ans.c 1.8 1.9 diff

    Log Message:
    Enable ANSI/VT100 terminal emulation in the Windows (10) console output
    when sending the "ANSI" output to stdout (and not a file).
  342. rswindell
    Wed Jan 09 2019 03:33 am PST

    Modified Files:
    exec/sbbsimsg.js 1.34 1.35 diff

    Log Message:
    Abort the systems poll if the user hits a key.
  343. rswindell
    Wed Jan 09 2019 03:32 am PST

    Modified Files:
    exec/load/sbbsimsg_lib.js 1.2 1.3 diff

    Log Message:
    If the poll_systems() callback function returns true, abort the poll.
  344. rswindell
    Wed Jan 09 2019 02:54 am PST

    Modified Files:
    src/sbbs3/js_file.c 1.174 1.175 diff

    Log Message:
    Updated JSDOCS descriptions of File.ini methods.
  345. echicken
    Tue Jan 08 2019 07:47 am PST

    Modified Files:
    exec/ircbots/weather/weather_functions.js 1.9 1.10 diff

    Log Message:
    Include units parameter when falling through to assuming param is a location name.
    Otherwise the temperature will appear to be hot hot hot but actually be in kelvin.
  346. rswindell
    Tue Jan 08 2019 01:49 am PST

    Modified Files:
    ctrl/modopts.ini 1.27 1.28 diff

    Log Message:
    Added [fingerservice] section, [nodelist] section, and new nodelist_ibbs
    key to [web] section.
  347. rswindell
    Tue Jan 08 2019 12:59 am PST

    Modified Files:
    exec/fingerservice.js 1.42 1.43 diff

    Log Message:
    Separate the include_age_gender modopts.ini value into 2 options
    (to be consistent with [nodelist]):
    - include_age
    - include_gender
    and they can be separately controlled.
    Also fixed a 'use strict' violation I didn't find before with assignment
    to an undeclared variable (uname).
  348. rswindell
    Tue Jan 08 2019 12:05 am PST

    Modified Files:
    exec/load/fidocfg.js 1.35 1.36 diff

    Log Message:
    Fix bug reported by pfortran:
    If a SessionPwd (in sbbsecho.ini) value was (just) a number, it would
    barf-up binkp.js and cause an authentication BinkP failure for that node.
  349. rswindell
    Mon Jan 07 2019 11:28 pm PST

    Modified Files:
    exec/nodelist.js 1.5 1.6 diff

    Log Message:
    Fixed typo in previous commit.
  350. rswindell
    Mon Jan 07 2019 11:09 pm PST

    Modified Files:
    exec/nodelist.js 1.4 1.5 diff

    Log Message:
    Almost a complete rewrite of this module. What was once just a simple nodelist
    example is now actually a functional replacement for the 'exec/node list'
    command (e.g. using 'jsexec nodelist') and a replacement for the hard-coded
    Ctrl-U (who's online) handler. To install, run 'jsexec nodelist install'.
    Supports modopts.ini [nodelist] settings (default to false):
    - include_age
    - include_gender
    Other than the new age/gender options, *should* function identically to the
    hard-coded nodelist() and whos_online() functions from getnode.cpp
  351. rswindell
    Mon Jan 07 2019 09:33 pm PST

    Added Files:
    exec/load/attrdefs.js NONE 1.1 diff

    Log Message:
    Define the index positions in the (still undocumented) console.color_list[]
    array. These correlate with the lines in ctrl/attr.cfg and are used for
    setting console attributes in places where text.dat strings perhaps didn't
    make sense. These values are used like this (e.g. to set the current
    console attributes configured for filenaems):
    	console.attributes = console.color_list[ATTR_FILENAME];
  352. rswindell
    Mon Jan 07 2019 09:30 pm PST

    Modified Files:
    exec/load/nodedefs.js 1.9 1.10 diff

    Log Message:
    Changed NodeAction[] items with string args (%s) to just hardcoded values
    ("sysop" and "The Guru") - fixing the simple node listing apps, like the
    echicken web UI.
    If your node lister wants to do something more fancy (e.g. display the name
    of the sysop or the guru engine), you'll have to handle that yourself.
  353. echicken
    Mon Jan 07 2019 08:51 pm PST

    Modified Files:
    exec/ircbots/weather/weather_commands.js 1.30 1.31 diff

    Log Message:
    Blacken ye olde backgrounde.
  354. rswindell
    Mon Jan 07 2019 06:35 pm PST

    Modified Files:
    exec/load/nodedefs.js 1.8 1.9 diff

    Log Message:
    2 new "arrays" for reporting the node connection type/protocol:
    NodeConnection[] // lowercase
    NodeConnectionProper[] // propercase
    
    If the node.connection value is in these "arrays", use that value to print
    node's connection type/protocol. If it's not, it's a modem connection and
    the node.connection value is the DCE rate (in bps).
  355. rswindell
    Mon Jan 07 2019 05:57 pm PST

    Modified Files:
    exec/load/nodedefs.js 1.7 1.8 diff

    Log Message:
    Added missing node connection constant definitions (from nodedefs.h).
  356. rswindell
    Mon Jan 07 2019 04:13 pm PST

    Modified Files:
    src/sbbs3/sbbscon.c 1.272 1.273 diff

    Log Message:
    Build with main() rather than CIOLIB_main() if either JSDOCS_BUILD or
    WITH_SDL are not defined. This should fix JSDCOS builds for those without
    libsdl1.2-dev installed - but really, you want SDL installed to get the
    full docs, I think.
  357. sbbs
    Mon Jan 07 2019 03:38 pm PST

    Modified Files:
    src/sbbs3/js_bbs.cpp 1.174 1.175 diff
    src/sbbs3/js_console.cpp 1.121 1.122 diff
    src/sbbs3/main.cpp 1.740 1.741 diff
    src/sbbs3/sbbs.h 1.498 1.499 diff

    Log Message:
    Fix various JSDOCS_BUILD with gcc warnings.
    warning: ISO C++ forbids converting a string constant to 'char*'
    and comparision between signed/unsigned int.
    This does *not* address the reported build issue:
    In function `_start':
    (.text+0x20): undefined reference to `main'
  358. echicken
    Mon Jan 07 2019 03:10 pm PST

    Modified Files:
    exec/ircbots/weather/weather_commands.js 1.29 1.30 diff
    exec/ircbots/weather/weather_functions.js 1.8 1.9 diff

    Log Message:
    Overhaul of nick/location update process.
  359. rswindell
    Mon Jan 07 2019 02:51 pm PST

    Modified Files:
    ctrl/modopts.ini 1.26 1.27 diff

    Log Message:
    Added examples for the new [xtrn_sec] eval_before/after_exec options.
  360. rswindell
    Mon Jan 07 2019 01:48 pm PST

    Modified Files:
    exec/xtrn_sec.js 1.20 1.21 diff

    Log Message:
    For DaiTengu:
    Added support for optional modopts.ini [xtrn_sec] keys:
    - eval_before_exec
    - eval_after_exec
    These may be set to JavaScript expressions to be evaluated (executed)
    before and/or after any program is executed from this module.
    Also fixed a bug where a door-custom font may not be loaded if the door
    was the only one available in a section.
  361. echicken
    Mon Jan 07 2019 01:29 pm PST

    Modified Files:
    exec/load/ircbot_functions.js 1.29 1.30 diff

    Log Message:
    Handle them background colour codes.
  362. rswindell
    Mon Jan 07 2019 12:59 pm PST

    Modified Files:
    src/sbbs3/js_bbs.cpp 1.173 1.174 diff

    Log Message:
    Add JSDOC descriptions for the bbs.node* properties added in rev 1.167 -
    this should fix the missing/misaligned 'bbs' property descriptions in
    jsobjs.html
  363. rswindell
    Mon Jan 07 2019 12:06 pm PST

    Modified Files:
    exec/binkit.js 2.16 2.17 diff

    Log Message:
    Resolve the possibile error in the new binkstats.ini stuff for inbounds:
    TypeError: bp.remote_addrs is undefined
  364. rswindell
    Sun Jan 06 2019 11:18 pm PST

    Modified Files:
    exec/binkit.js 2.15 2.16 diff

    Log Message:
    Include BinkP.connect_host, .connect_port, and .connect_error (when available)
    in callout stats (stored in binkstats.ini).
  365. rswindell
    Sun Jan 06 2019 11:17 pm PST

    Modified Files:
    exec/load/binkp.js 1.113 1.114 diff

    Log Message:
    New BinkP properties:
    .connect_host
    .connect_port
    .connect_error
    Allows the application (binkit.js) to log detailed BinkP.connect() failures.
  366. rswindell
    Sun Jan 06 2019 11:11 pm PST

    Modified Files:
    src/sbbs3/js_socket.c 1.223 1.224 diff

    Log Message:
    Socket.connect() and .sendto() would not set Socket.error (aka last_error)
    when a host-name lookup (getaddrinfo call) failed.
  367. echicken
    Sun Jan 06 2019 10:43 pm PST

    Modified Files:
    exec/load/ircbot_functions.js 1.28 1.29 diff

    Log Message:
    When unsetting high colour, send colour code for dark version of last colour.
  368. echicken
    Sun Jan 06 2019 10:15 pm PST

    Modified Files:
    exec/load/ircbot_functions.js 1.27 1.28 diff

    Log Message:
    Basic CTRL-A to mIRC colour code conversion (foreground with bright/normal only for now).
    ctrl_a_to_mirc(str) returns converted str.
  369. rswindell
    Sun Jan 06 2019 10:10 pm PST

    Modified Files:
    exec/binkit.js 2.14 2.15 diff

    Log Message:
    At the request of Kurt/poindexter FORTRAN:
    Creates/updates a data/binkstats.ini file which tracks BinkIT/BinkP session
    statistics:
    - inbound successes/failures (per node)
    - callout successes/failures (per node)
    - totals (per node)
    
    It's a human-readable data file (in .ini file format), so it's pretty
    self-explanatory.
    The [callout success: <address>] sections provide details about the last
    successful outbound BinkP session with the specified node.
    Similarly, the [callout failure: <address>] sections provide details about the
    last *failed* outbound BinkP session with the specified node.
    And there are very similar sections for successful and failed *inbound*
    sessions as well.
    The [totals: <address>] sections track running totals for each node as well.
  370. rswindell
    Sun Jan 06 2019 09:50 pm PST

    Modified Files:
    exec/load/binkp.js 1.112 1.113 diff

    Log Message:
    3 new BinkP properties:
    .remote_operator (the value of the 'ZYZ' message, if received)
    .remote_capabilities (the value of the 'NDL' message, if received)
    .remote_info[], an associative array of any/all *other* M_NUL BinkP
     commands/messages (e.g. bp.remote_info['TIME'] contains the remote TIME
     message arguments, if such a message was received).
  371. echicken
    Sun Jan 06 2019 08:48 pm PST

    Modified Files:
    exec/load/openweathermap.js 1.5 1.6 diff

    Log Message:
    Pass freedom units of temperature measurement through Math.round().
    Use 'dt' value of API response to determine whether to update cache, rather than time since last fetch.  New data may appear sooner.
  372. echicken
    Sun Jan 06 2019 04:58 pm PST

    Modified Files:
    exec/load/openweathermap.js 1.4 1.5 diff

    Log Message:
    Simplified wind direction from degrees thing.
  373. echicken
    Sun Jan 06 2019 03:31 pm PST

    Modified Files:
    exec/ircbots/weather/weather_commands.js 1.28 1.29 diff
    exec/ircbots/weather/weather_functions.js 1.7 1.8 diff

    Log Message:
    Use OpenWeatherMap.
    Output needs some prettying up.
    You gots to get you an OpenWeatherMap API key to use this mkay?
    RIP in peace, Weather Underground.
  374. echicken
    Sun Jan 06 2019 03:27 pm PST

    Modified Files:
    exec/load/openweathermap.js 1.3 1.4 diff

    Log Message:
    Some convenience methods for temperature conversion & wind direction from degrees.
  375. echicken
    Sun Jan 06 2019 12:13 am PST

    Modified Files:
    exec/load/openweathermap.js 1.2 1.3 diff

    Log Message:
    Use system.temp_dir instead of polluting system.data_dir.
    Instead of one large cache file, one file per endpoint + param set.
  376. echicken
    Sat Jan 05 2019 11:58 pm PST

    Modified Files:
    exec/load/openweathermap.js 1.1 1.2 diff

    Log Message:
    File-based cache and rate-limiting.
  377. echicken
    Sat Jan 05 2019 11:32 pm PST

    Added Files:
    exec/load/openweathermap.js NONE 1.1 diff

    Log Message:
    Barebones interface to the openweathermap.org web API.
    Cache and rate limiting is useless right now unless calling script is long-lived.
  378. rswindell
    Sat Jan 05 2019 01:58 am PST

    Modified Files:
    docs/jsobjs.html 1.14 1.15 diff

    Log Message:
    Updated JavaScript object model docs, generated by Deuce's nix.synchro.net
    system for v3.17b on Jan-2-2019.
  379. rswindell
    Sat Jan 05 2019 12:04 am PST

    Modified Files:
    exec/fingerservice.js 1.41 1.42 diff

    Log Message:
    A bit of a modernization/overhaul of this service script:
    - Enabling JavaScript "strict" mode and resolved the resulting errors
      (mostly in Merlin's "findfile" modification)
    - Enabled the use of a [fingerservice] section in ctrl/modopts.ini:
      include_age_gender (default is true)
      include_read_name (default is true)
      findfile (default is true)
      bbslist (default is false)
    - New optional "?bbslist" query to return the names in the local sbbslist.json
      Also "?bbs:<name>" to return the JSON representation of a specific BBS entry
    - Work-around xtrn_area.prog[] bug where array items could be a non-object
      (e.g. just 'true' in this case) if the user (no user in this case) did not
      meet the configured access requirements for the external program in question
      so the action value in the node/active-user reports would say
      "running undefined" - just display the internal code instead of the full
      name if this the xtrn_area.prog[code] is undefined (bug fixed in v3.17c).
    - The ?active-users.json response now includes the numeric node 'action'
      value (for possibly localization in the future), the 'xtrn' name, when
      appropriate, and the current node.aux value. These fields are not currently
      used by the client (sbbsimsg*.js), but may in the future, mainly for
      localization/translation or beautification purposes.
  380. rswindell
    Fri Jan 04 2019 10:33 pm PST

    Modified Files:
    src/sbbs3/js_xtrn_area.c 1.30 1.31 diff

    Log Message:
    Fix a couple of bugs in the xtrn_area.sec[] and xtrn_area.prog[] arrays:
    if the current user did not meet the access requirements, the corresponding
    element if these associative arrays would be a random JS value, not the
    actual program/section object.
  381. echicken
    Fri Jan 04 2019 09:38 pm PST

    Modified Files:
    xtrn/ansiview/ecbbs.js 1.2 1.3 diff

    Log Message:
    Fixed HTTPRequest.Get call, so this will actually fetch a file to display. :|
  382. rswindell
    Fri Jan 04 2019 05:56 pm PST

    Modified Files:
    src/sbbs3/dupefind.c 1.5 1.6 diff

    Log Message:
    Fix filebase index filename extension for case-sensitive file systems
    (i.e. *nix) - I guess nobody really uses this utility.
    Incremented version to 1.02.
  383. rswindell
    Fri Jan 04 2019 03:18 pm PST

    Modified Files:
    src/sbbs3/websrvr.c 1.675 1.676 diff

    Log Message:
    Fixed typo in error message.
  384. rswindell
    Fri Jan 04 2019 02:15 pm PST

    Modified Files:
    src/sbbs3/logfile.cpp 1.64 1.65 diff

    Log Message:
    Partially revert the change in rev 1.63: eprintf() does not log the
    <useron alias>, so we need to include it in the log message here if we
    want the current user's alias included in event related log messages
    (e.g. unpacking QWK-REP packages).
  385. rswindell
    Fri Jan 04 2019 02:12 pm PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.483 1.484 diff

    Log Message:
    Log the currently logged-in user name along with any "!ERROR ... removing"
    error messages.
  386. rswindell
    Fri Jan 04 2019 02:08 pm PST

    Modified Files:
    src/sbbs3/mailsrvr.c 1.680 1.681 diff

    Log Message:
    Return a 250 "ok" response to mail received-and-forwarded rather than the
    251 response which was made optional in RFC2821 - to address privacy
    concerns.
  387. rswindell
    Fri Jan 04 2019 02:05 pm PST

    Modified Files:
    src/sbbs3/sbbsdefs.h 1.230 1.231 diff

    Log Message:
    Increment current revision (to 'c').
  388. rswindell
    Thu Jan 03 2019 01:11 pm PST

    Modified Files:
    exec/certtool.js 1.2 1.3 diff

    Log Message:
    Fix SyntaxError: unterminated string literal
  389. rswindell
    Wed Jan 02 2019 07:33 pm PST

    Modified Files:
    exec/GNUmakefile 1.10 1.11 diff
    exec/Makefile 1.7 1.8 diff

    Log Message:
    Removed the WIP modules (wiplogin, wipshell) - not used by anyone. Ever.
  390. nightfox
    Wed Jan 02 2019 12:45 pm PST

    Modified Files:
    xtrn/DDMsgReader/DDMsgReader.js 1.123 1.124 diff
    xtrn/DDMsgReader/readme.txt 1.19 1.20 diff
    xtrn/DDMsgReader/revision_history.txt 1.6 1.7 diff

    Log Message:
    Removed the 'beta' status from the version to (1.17), now that Synchronet 3.17b has been officially released.
  391. nightfox
    Wed Jan 02 2019 12:38 pm PST

    Modified Files:
    xtrn/slyvote/readme.txt 1.2 1.3 diff
    xtrn/slyvote/slyvote.js 1.3 1.4 diff

    Log Message:
    Updated SlyVote's version to 1.00, now that Synchroent 3.17b has been officially released
  392. rswindell
    Tue Jan 01 2019 11:12 pm PST

    Added Files:
    text/synch.ans NONE 1.1 diff

    Log Message:
    Adding ANSI file that echicken's web interface v4 uses by default as an
    ftelnet splash screen: grymmjack's "SYNCH" original ANSI art.
  393. rswindell
    Tue Jan 01 2019 01:17 pm PST

    Modified Files:
    src/sbbs3/ctrl/sbbsctrl.res 1.13 1.14 diff

    Log Message:
    Increased rev to 'b' (v3.17b).
    Incremented copyright year to 2019.
  394. rswindell
    Tue Jan 01 2019 07:02 am PST

    Modified Files:
    ctrl/modopts.ini 1.25 1.26 diff

    Log Message:
    Don't allow Guest accounts to add BBS entries to the sbbslist.
  395. rswindell
    Tue Jan 01 2019 06:59 am PST

    Modified Files:
    exec/sbbslist.js 1.42 1.43 diff

    Log Message:
    Don't crash when the 'E'dit and 'R'emove commands are used with an empty
    list.
  396. rswindell
    Tue Jan 01 2019 06:40 am PST

    Modified Files:
    exec/logon.js 1.35 1.36 diff

    Log Message:
    Don't need the loadfonts.js wrapper here, just load fonts.js directly here.
  397. rswindell
    Tue Jan 01 2019 06:37 am PST

    Modified Files:
    src/sbbs3/ctrl/AboutBoxFormUnit.dfm 1.20 1.21 diff
    src/sbbs3/ctrl/sbbsctrl.bpr 1.47 1.48 diff

    Log Message:
    Increased rev to 'b' (v3.17b).
    Incremented copyright year to 2019.
  398. rswindell
    Tue Jan 01 2019 06:36 am PST

    Modified Files:
    src/sbbs3/sbbsdefs.h 1.229 1.230 diff

    Log Message:
    Increased rev to 'b' (v3.17b).
    Incremented copyright year to 2019.
  399. rswindell
    Tue Jan 01 2019 06:33 am PST

    Modified Files:
    ctrl/fonts.ini 1.1 1.2 diff

    Log Message:
    Make the default 16-pixel high-intensity font 'courier' rather than 'digital'
    (some people complain that number 1 looks like a pipe symbol).
  400. rswindell
    Tue Jan 01 2019 05:38 am PST

    Modified Files:
    exec/str_cmds.js 1.44 1.45 diff

    Log Message:
    Allow filename argument to "EDIT" string command.
  401. rswindell
    Tue Jan 01 2019 05:37 am PST

    Modified Files:
    exec/sbbsimsg.js 1.33 1.34 diff

    Log Message:
    Display the list (-l option) header in here.
    Reduce default poll timeout to 2.5 seconds.
  402. rswindell
    Tue Jan 01 2019 05:32 am PST

    Modified Files:
    exec/sbbslist.js 1.41 1.42 diff

    Log Message:
    If you "sbbslist update" but the BBS isn't listed, don't return an error
    (-1), since new installs won't yet be listed in their own database (yet).
  403. rswindell
    Tue Jan 01 2019 05:20 am PST

    Modified Files:
    install/FILE_ID.DIZ 1.9 1.10 diff
    install/install.iss 1.4 1.5 diff

    Log Message:
    Updated for v3.17b installer package (for Windows).
  404. rswindell
    Tue Jan 01 2019 05:15 am PST

    Modified Files:
    docs/install.rtf 1.12 1.13 diff

    Log Message:
    Updated for v3.17.
  405. rswindell
    Tue Jan 01 2019 04:58 am PST

    Modified Files:
    exec/logon.js 1.34 1.35 diff

    Log Message:
    Beautification: moved the "Create Guest/Anonymous user account" prompt
    to before the last users and avatar display.
    Removed the "WIPSHELL" thing.
  406. rswindell
    Tue Jan 01 2019 04:38 am PST

    Modified Files:
    web/root/index.ssjs 1.35 1.36 diff

    Log Message:
    Removed the Java Telnet and the rlogin:// link from the index page, by default
    (just commented out, so easy to put back if you really want/need these).
  407. rswindell
    Tue Jan 01 2019 04:36 am PST

    Modified Files:
    ctrl/file.cnf 1.16 1.17 diff
    ctrl/main.cnf 1.13 1.14 diff
    ctrl/xtrn.cnf 1.37 1.38 diff

    Log Message:
    The latest and greatest stock configs, but since they're binary files - not
    easy to determine exactly all what I changed. :-(
  408. rswindell
    Tue Jan 01 2019 04:33 am PST

    Modified Files:
    ctrl/sbbs.ini 1.78 1.79 diff

    Log Message:
    Enable SMTPS and POP3S by default.
  409. rswindell
    Tue Jan 01 2019 04:32 am PST

    Modified Files:
    ctrl/json-service.ini 1.17 1.18 diff

    Log Message:
    Added the tw2 db section (for TradeWars 2 door game).
  410. rswindell
    Tue Jan 01 2019 04:28 am PST

    Modified Files:
    ctrl/services.ini 1.12 1.13 diff

    Log Message:
    Added NNTPS section (disabled by default)
    Disable the following unused services by default:
    - MSP-UDP
    - Finger-UDP
    - Hotline
    - Hotline-TRANS
    - FlashPolicy
    
    Added BINKP service section, disabled by default.
    
    Added WS (WebSockets) and WSS (WebSockets Secure) service sections,
    enabled by default.
  411. rswindell
    Tue Jan 01 2019 04:25 am PST

    Modified Files:
    ctrl/modopts.ini 1.24 1.25 diff

    Log Message:
    Enable rlogin_auto_xtrn for the logon module, by default.
    Removed the obsolete [ecweb] section.
    Added the [web] (echicken's web interface v4) section with default values.
  412. rswindell
    Tue Jan 01 2019 04:07 am PST

    Removed Files:
    exec/NONE wipshell.src 1.8 diff

    Log Message:
    Remove obsolete WIP-related Baja login module and command shell.
  413. rswindell
    Tue Jan 01 2019 02:56 am PST

    Modified Files:
    src/sbbs3/qwk.cpp 1.86 1.87 diff

    Log Message:
    When failing to import vote-msgs or poll-closure-msgs from a QWKnet hub,
    change the errormsg() call to just a debug-level log message. These failures
    are expected if the local system (QWKnet node) didn't get the original poll
    message, for example.
    Continue to log these errors when encountered on a QWKhub (where they are
    less expected since a hub should normally have a deeper history of
    messages/polls than nodes will).
  414. rswindell
    Tue Jan 01 2019 02:31 am PST

    Modified Files:
    text/menu/qwk.asc 1.3 1.4 diff

    Log Message:
    Removed the Ctrl-AZ code from this file (no needed and no-longer is used
    to mark a premature EOF). The Ctrl-Z in the SAUCE record terminates the
    display of this file just fine now.
  415. rswindell
    Tue Jan 01 2019 02:12 am PST

    Modified Files:
    xtrn/dicewarz/lock.js 1.4 1.5 diff

    Log Message:
    Fixed warning: Deprecated file open mode: 'e' (replaced with 'x')
  416. rswindell
    Mon Dec 31 2018 08:40 pm PST

    Modified Files:
    src/sbbs3/scfg/scfg.c 1.99 1.100 diff

    Log Message:
    Fixed typo: deprecated, not depreciated.
  417. rswindell
    Mon Dec 31 2018 08:39 pm PST

    Modified Files:
    src/sbbs3/umonitor/umonitor.c 1.86 1.87 diff

    Log Message:
    Fixed typo: deprecate, not depreciated.
  418. rswindell
    Mon Dec 31 2018 08:39 pm PST

    Modified Files:
    src/sbbs3/uedit/uedit.c 1.57 1.58 diff

    Log Message:
    Fixed typo: deprecate, not depreciated.
  419. rswindell
    Mon Dec 31 2018 08:38 pm PST

    Modified Files:
    src/sbbs3/scfg/scfg.c 1.98 1.99 diff

    Log Message:
    Fixed typo: deprecate, not depreciated.
  420. rswindell
    Mon Dec 31 2018 08:38 pm PST

    Modified Files:
    src/sbbs3/websrvr.c 1.674 1.675 diff

    Log Message:
    Fixed typo: deprecated, not depreciated.
  421. rswindell
    Mon Dec 31 2018 08:13 pm PST

    Modified Files:
    ctrl/main.cnf 1.12 1.13 diff
    ctrl/xtrn.cnf 1.36 1.37 diff

    Log Message:
    Added AnsiView, Ctrl-P/privatemsg globa hotkey, and tw2.js
  422. rswindell
    Mon Dec 31 2018 07:27 pm PST

    Modified Files:
    ctrl/sbbs.ini 1.77 1.78 diff

    Log Message:
    Added new (advanced) option flag: NO_NEWDAY_EVENTS
    Unless you're running multiple instances of sbbs, you probably don't want
    to enable this.
  423. rswindell
    Mon Dec 31 2018 07:26 pm PST

    Modified Files:
    ctrl/modopts.ini 1.23 1.24 diff

    Log Message:
    A couple new(ish) login.js options:
    - login_prompts (default: 10 prompts)
    and
    - inactive_hangup (default: 30 seconds)
  424. rswindell
    Sun Dec 30 2018 10:39 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.137 1.138 diff

    Log Message:
    Fixed GCC warning: format '%d' expects argument of type 'int', but argument 5 
    has type 'size_t'
  425. rswindell
    Sun Dec 30 2018 10:37 pm PST

    Modified Files:
    src/sbbs3/readmail.cpp 1.84 1.85 diff

    Log Message:
    Fixed GCC compile error: invalid conversion from 'const char*' to 'char*'
  426. rswindell
    Sun Dec 30 2018 12:40 am PST

    Modified Files:
    src/sbbs3/readmail.cpp 1.83 1.84 diff
    src/sbbs3/sbbs.h 1.497 1.498 diff
    src/sbbs3/text_defaults.c 1.53 1.54 diff

    Log Message:
    Pass the sort order ("newest" or "oldest" first) as an arg when printing the
    Mail.*LstHdr text strings.
  427. rswindell
    Sun Dec 30 2018 12:32 am PST

    Modified Files:
    ctrl/text.dat 1.91 1.92 diff

    Log Message:
    Some 40-column fixes and a new "order" ("newest" or "oldest") argument to
    the mail LstHdr text strings.
  428. rswindell
    Sun Dec 30 2018 12:28 am PST

    Modified Files:
    exec/email_sec.js 1.5 1.6 diff

    Log Message:
    Add the LM_REVERSE load/read_mail() flag (list newest mail first) for the 
    'R' and 'K' commands. Maybe this should be a sticky user preference
    (e.g. in the user property .ini file)?
  429. rswindell
    Sun Dec 30 2018 12:12 am PST

    Modified Files:
    exec/load/sbbsdefs.js 1.82 1.83 diff

    Log Message:
    Added the LM_REVERSE load/read_mail() mode flag definition (from sbbsdef.h).
  430. rswindell
    Sun Dec 30 2018 12:10 am PST

    Modified Files:
    src/sbbs3/readmail.cpp 1.82 1.83 diff

    Log Message:
    Don't hard-code the LM_REVERSE (newest-first) loadmail() mode, let the caller
    decide that.
  431. rswindell
    Sat Dec 29 2018 11:01 pm PST

    Modified Files:
    text/menu/allmail.asc 1.2 1.3 diff
    text/menu/mailread.asc 1.6 1.7 diff

    Log Message:
    Added the '!' - reverse list order, menu option
  432. rswindell
    Sat Dec 29 2018 10:50 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.136 1.137 diff

    Log Message:
    Re-factored the internal text/message editor (msgeditor) to use the str_list_t
    data-type and API. This works better for terminals < 80 cols in width and has
    some other improvements with inserting/deleting lines using the arrow keys,
    but still not great.
    No longer does tab-expansion on text read from a file - may want to add that
    back in <shrug>.
  433. rswindell
    Sat Dec 29 2018 09:33 pm PST

    Modified Files:
    src/sbbs3/main.cpp 1.739 1.740 diff

    Log Message:
    Change the "unpack REP" log messgae prefix to "unpackREP" instead of "unQWK".
  434. rswindell
    Sat Dec 29 2018 09:23 pm PST

    Modified Files:
    src/sbbs3/readmail.cpp 1.81 1.82 diff

    Log Message:
    Reverse the mail list order (newest first) by default.
    Added a command key (!) to reverse the mail list sort order.
  435. rswindell
    Sat Dec 29 2018 08:33 pm PST

    Modified Files:
    src/sbbs3/getmail.c 1.19 1.20 diff
    src/sbbs3/sbbsdefs.h 1.228 1.229 diff

    Log Message:
    Added a loadmail() mode flag: LM_REVERSE which, if used, will reverse the
    normal (chronological) order of the returned mail indexes.
  436. rswindell
    Sat Dec 29 2018 06:14 pm PST

    Modified Files:
    src/smblib/smbfile.c 1.12 1.13 diff

    Log Message:
    Fixed typo in comment.
  437. rswindell
    Sat Dec 29 2018 06:09 pm PST

    Modified Files:
    src/xpdev/str_list.c 1.49 1.50 diff

    Log Message:
    strListFree() will no longer try to dereference the pointer argument if it's NULL.
  438. nightfox
    Sat Dec 29 2018 03:29 pm PST

    Modified Files:
    xtrn/slyvote/readme.txt 1.1 1.2 diff
    xtrn/slyvote/slyvote.js 1.2 1.3 diff

    Log Message:
    Version 0.39 beta: Made use of file_cfgname() when looking for and loading the configuration file.
  439. nightfox
    Thu Dec 27 2018 09:10 pm PST

    Modified Files:
    xtrn/slyvote/slyvote.js 1.1 1.2 diff

    Log Message:
    Now uses slyvote.cfg (all lowercase) for the configuration filename, to match the recent rename that was done.  This probably would only affect systems running in Linux and other systems that have case-sensitive filesystems.
  440. rswindell
    Thu Dec 27 2018 07:38 pm PST

    Modified Files:
    src/sbbs3/js_internal.c 1.87 1.88 diff

    Log Message:
    Fixed typo in JSDOC description of js.load_path_list property.
  441. rswindell
    Mon Dec 24 2018 06:48 pm PST

    Modified Files:
    exec/str_cmds.js 1.43 1.44 diff

    Log Message:
    Added a "EVENT" string command to force a timed event to execute. If the
    event code is not passed as a parameter, the available (enabled) timed events
    are displayed and the sysop can choose the proper one by number.
    This change requires the latest (as of now) load/sbbsdefs.js.
    Also updated a lot of the parameter prompting to actually indicate the kind of
    parameter string that is being asked for (e.g. "QWKnet ID" instead of just 
    "Parameter(s)").
  442. rswindell
    Mon Dec 24 2018 06:39 pm PST

    Modified Files:
    exec/letsyncrypt.js 1.33 1.34 diff

    Log Message:
    Added some file.open/create failure handling/logging - just in case.
  443. rswindell
    Mon Dec 24 2018 06:30 pm PST

    Modified Files:
    exec/load/sbbsdefs.js 1.81 1.82 diff

    Log Message:
    Fixed previous commit (this ain't C).
  444. rswindell
    Mon Dec 24 2018 06:29 pm PST

    Modified Files:
    exec/load/sbbsdefs.js 1.80 1.81 diff

    Log Message:
    Added xtrn_area.event[].settings bit-flag values (EVENT_*) froms sbbsdefs.h
  445. nightfox
    Sun Dec 23 2018 11:25 pm PST
    exec/load DDLightbarMenu.js 1.25 NONE
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv4844
    
    Removed Files:
    	DDLightbarMenu.js 
    Log Message:
    Renamed DDLightbarMenu.js to dd_lightbar_menu.js to be more in line with other filenames in the Synchronet repository
  446. nightfox
    Sun Dec 23 2018 07:58 pm PST

    Added Files:
    xtrn/slyvote/readme.txt NONE 1.1 diff
    xtrn/slyvote/slyvote.cfg NONE 1.1 diff
    xtrn/slyvote/slyvote.js NONE 1.1 diff

    Log Message:
    Renamed SlyVote to slyvote (all lowercase) to be inline with the other files in the Synchronet repository.  Also, SlyVote now uses the updated dd_lightbar_menu.js filename (in sbbs/exec/load) rather than DDLightbarMenu.js.
  447. nightfox
    Sun Dec 23 2018 07:57 pm PST
    xtrn/slyvote - New directory NONE NONE
    Update of /cvsroot/sbbs/xtrn/slyvote
    In directory cvs:/tmp/cvs-serv14823/slyvote
    
    Log Message:
    Directory /cvsroot/sbbs/xtrn/slyvote added to the repository
  448. nightfox
    Sun Dec 23 2018 07:56 pm PST

    Added Files:
    exec/load/dd_lightbar_menu.js NONE 1.1 diff

    Log Message:
    Renamed DDLightbarMenu.js to dd_lightbar_menu.js to be more inline with the other filenames in the Synchronet CVS repository
  449. nightfox
    Sun Dec 23 2018 07:53 pm PST

    Removed Files:
    xtrn/SlyVote/NONE SlyVote.js 1.56 diff
    xtrn/SlyVote/NONE readme.txt 1.15 diff

    Log Message:
    Removing SlyVote to rename it to slyvote (all lowercase) to be in line with other files in the Synchronet CVS repository
  450. rswindell
    Sat Dec 22 2018 02:52 pm PST

    Modified Files:
    exec/str_cmds.js 1.42 1.43 diff

    Log Message:
    Resolve error reported by Ragnarok when no arg supplied to "NS" command:
    !JavaScript  /sbbs/exec/str_cmds.js line 166: Error: can't convert
    parseInt(str) to an integer
  451. echicken
    Sat Dec 22 2018 09:28 am PST

    Modified Files:
    xtrn/ansiview/ansiview.js 1.27 1.28 diff

    Log Message:
    Ditched isSyncTerm(); cterm_lib exists now.
    Reinstated root directory variable, it actually helps in some cases.
  452. echicken
    Fri Dec 21 2018 11:10 pm PST

    Modified Files:
    xtrn/ansiview/ecbbs.js 1.1 1.2 diff

    Log Message:
    Useless 'root' variable was just js.exec_dir anyway.
    I don't remember. Whisky. This thing is weird.
  453. echicken
    Fri Dec 21 2018 11:07 pm PST

    Modified Files:
    xtrn/ansiview/ansiview.js 1.26 1.27 diff

    Log Message:
    Fixed busted screen pause in throttled display for non-cterms.
    Don't delete non-property 'image' variable; set it to undefined instead.
    Removed some convoluted and extraneous things I did years ago.
    Various non-functional formatting things since I'm bored.
  454. echicken
    Fri Dec 21 2018 07:08 am PST

    Modified Files:
    exec/tickit.js 1.51 1.52 diff

    Log Message:
    Unmisplace misplaced quotation mark in addfiles command line for uploader's name.
    Spotted and fixed by Mark Lewis.
  455. rswindell
    Thu Dec 20 2018 06:32 pm PST

    Modified Files:
    web/lib/msgslib.ssjs 1.61 1.62 diff

    Log Message:
    Include ':' in the list of valid characters for a URL 'path' element. This
    fixes the rendering of links like this one:
    http://wiki.synchro.net/module:avatars
  456. rswindell
    Wed Dec 19 2018 07:03 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.135 1.136 diff

    Log Message:
    Remove trailing whitespace off the end of original messages when creating
    quote files (ain't nobody got time for that!).
  457. rswindell
    Wed Dec 19 2018 01:34 am PST

    Modified Files:
    ctrl/sockopts.ini 1.6 1.7 diff

    Log Message:
    Important update to the default TCP socket values defined in this file:
    - no longer override the default send and receive socket buffers (limiting
      to 8Kbytes) - apparently modern TCP/IP stacks can use much larger buffers
      for sending large data more effeciently (quickly) over fast networks.
      Eliminating these 2 lines sped up the web server (e.g. wiki.synchro.net)
      page loads by a factor of 20+.
    - enable TCP_NODELAY (disabling the Nagle algorithm) for *all* TCP sockets
      by default (not just telnet and rlogin servers).
      This helps performance of large data transfers a little bit too.
    
    Big thanks to Deuce (!) for helping to debug and identify the cause of the
    poor performance of the web server. I'm not sure why I/we were overriding
    the default send/receive buffers but the old sockopts.cfg file introduced
    in 2003 had 4Kbyte buffer sizes specified, and then when we switched to
    sockopts.ini in 2005, the buffer sizes were increased to 8Kbytes. This might
    have been the defaults for say, the Windows TCP/IP stack at the time, I
    forget where I got those numbers from. Anyway, we shouldn't override them
    without a good reason. And today, we definitely don't have a good reason
    that I'm aware of. The default buffer sizes perform *much* better!
  458. rswindell
    Tue Dec 18 2018 03:21 pm PST

    Modified Files:
    src/sbbs3/sbbsecho.c 3.100 3.101 diff

    Log Message:
    Change requested by Mark Lewis: accept area manager (areafix) netmail
    requests sent to "SBBSecho" again. SBBSecho used to allow this back in
    v3.02 (Nov-2017) and earlier versions, but was removed for loop-safety
    since AreaMgr notifications and responses are sent from "SBBSecho", but
    we have bot-loop protection built in, so that should be okay.
  459. rswindell
    Tue Dec 18 2018 03:10 pm PST

    Modified Files:
    src/sbbs3/sbbsecho.c 3.99 3.100 diff

    Log Message:
    Log a notice-level message when adding a new area to the unknown/bad area list.
  460. rswindell
    Tue Dec 18 2018 12:53 pm PST

    Modified Files:
    src/sbbs3/websrvr.c 1.673 1.674 diff

    Log Message:
    Header field values may (usually do) have leading linear white-space, so
    skip any spaces before parsing the value (for CGI supplied headers).
  461. deuce
    Tue Dec 18 2018 10:25 am PST

    Modified Files:
    src/sbbs3/websrvr.c 1.672 1.673 diff

    Log Message:
    1xx, 204, and 304 responses don't include an entity.
    
    If we get one of these statuses from via a CGI, assume we have good headers.
  462. echicken
    Mon Dec 17 2018 08:58 am PST

    Modified Files:
    exec/binkit.js 2.13 2.14 diff

    Log Message:
    Moved point-scan into its own routine (addPoints).
    Run addPoints against oroot (outbound) and any of its derivatives (outbound.002, etc.).
    Should now find point directories in various outbounds.
  463. echicken
    Mon Dec 17 2018 08:44 am PST

    Modified Files:
    exec/binkit.js 2.12 2.13 diff

    Log Message:
    Corrected pattern ('.pnt' to '*.pnt') when scanning for point dirs
    in outbound dirs.
    There remains a problem where only 'outbound.*' dirs will be scanned
    for points, and points in 'outbound' (sans extension, ie. zone 1) will
    not be found.
  464. echicken
    Mon Dec 17 2018 07:32 am PST

    Modified Files:
    exec/tickit.js 1.50 1.51 diff

    Log Message:
    Different log messages for absent vs. mismatched Replaces line.
  465. rswindell
    Sun Dec 16 2018 10:02 pm PST

    Modified Files:
    src/sbbs3/un_qwk.cpp 1.53 1.54 diff
    src/sbbs3/un_rep.cpp 1.67 1.68 diff

    Log Message:
    Don't save "extra" files included in QWK/REP packets if they are blocked via
    the file.can. Log a message when receiving or filtering files received via
    QWK/REP.
  466. rswindell
    Sun Dec 16 2018 10:01 pm PST

    Modified Files:
    exec/nntpservice.js 1.128 1.129 diff

    Log Message:
    NNTP actually defined a way to represent moderated message areas - I. Did.
    Not. Realize. That. - now fixed in the "LIST" and "NEWGROUPS" responses
    (not that anyone actually uses the moderated message area feature of sbbs).
    
    And just for Nelgin:
    I added a -novotes experimental command-line option which if used, will
    execute votes from the first & last message numbers included in the "LIST"
    response. I'm curious if that makes any difference with tin (news reader) -
    it will definitely slow down the response of the "LIST" command, so don't
    use this "feature" without purpose.
  467. deuce
    Sun Dec 16 2018 01:04 am PST

    Modified Files:
    exec/jsdocs.js 1.36 1.37 diff

    Log Message:
    Fix shit.
  468. rswindell
    Sat Dec 15 2018 04:46 am PST

    Modified Files:
    src/sbbs3/getmail.c 1.18 1.19 diff

    Log Message:
    Use a one-second timeout (rather than the configured message base open/lock
    timeout) when opening the mail base for statistics purposes. This should
    solve the problem of long delays during logon or sbbsctrl shutdown while
    mail base maintenance is being performed.
  469. rswindell
    Fri Dec 14 2018 08:50 pm PST

    Modified Files:
    src/sbbs3/putmsg.cpp 1.42 1.43 diff

    Log Message:
    Fix bug when the @center@ code when displaying files that contain Unix-style
    line endings (sole-LF) instead of CR/LF line endings.
    Thanks to Mark Lewis (wkitty42) for the bug report!
  470. rswindell
    Wed Dec 12 2018 12:29 pm PST

    Modified Files:
    src/sbbs3/xtrn.cpp 1.239 1.240 diff

    Log Message:
    Improved error log messages:
    - include errno description (strerror output)
    - exclude (redundant) node number
  471. rswindell
    Wed Dec 12 2018 12:27 pm PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.482 1.483 diff
    src/sbbs3/jsexec.c 1.200 1.201 diff
    src/sbbs3/mailsrvr.c 1.679 1.680 diff
    src/sbbs3/ntsvcs.c 1.49 1.50 diff
    src/sbbs3/sbbscon.c 1.271 1.272 diff
    src/sbbs3/services.c 1.325 1.326 diff
    src/sbbs3/writemsg.cpp 1.134 1.135 diff

    Log Message:
    Improved error log messages:
    - include errno description (strerror output)
    - exclude (redundant) node number
  472. echicken
    Mon Dec 10 2018 01:38 pm PST

    Modified Files:
    exec/tickit.js 1.49 1.50 diff

    Log Message:
    Don't assume the link's gender.  This may be a sausagefest but we can
    always pretend otherwise.
  473. echicken
    Mon Dec 10 2018 01:34 pm PST

    Modified Files:
    exec/tickit.js 1.48 1.49 diff

    Log Message:
    Make the 'no matching replaces line' error more descriptive.
  474. echicken
    Mon Dec 10 2018 08:00 am PST

    Modified Files:
    exec/load/fidocfg.js 1.34 1.35 diff

    Log Message:
    Revised private function get_bool in TickITCfg.
    Threw errors if 'val' was defined but non-string (no toUpperCase method).
  475. rswindell
    Fri Dec 07 2018 02:53 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.133 1.134 diff

    Log Message:
    Fix the previous commit: the original message is quotes (and QUOTES.TXT
    created) before this funciton is called, so we can't *always* delete
    the quote file. Delete it if restoring a draft or if quoting is disabled
    only.
  476. rswindell
    Fri Dec 07 2018 02:39 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.132 1.133 diff

    Log Message:
    Always delete the quotes file (e.g. QUOTES.TXT) before deciding if we are
    going to recover a draft message or quote a source message or whatever.
    Lingering QUOTES.TXT files interferred with recovering draft messages.
  477. rswindell
    Thu Dec 06 2018 03:29 pm PST

    Modified Files:
    src/sbbs3/websrvr.c 1.671 1.672 diff

    Log Message:
    Added TODO comment regarding the lack of a Content-Length header field
    in GET responses when Connection: Keep-Alive is not enabled.
  478. rswindell
    Wed Dec 05 2018 06:17 pm PST

    Modified Files:
    src/sbbs3/websrvr.c 1.670 1.671 diff

    Log Message:
    Added TODO comment regarding apparent RFC 2145 violation in the Status-Line
    HTTP-Version value we send (no functional change). My intepretation is we
    should be sending either nothing or "HTTP/1.1" here, never "HTTP/1.0". This
    interpretation appears to match the behavior of other web servers
    (e.g. Apache httpd).
  479. rswindell
    Mon Dec 03 2018 10:23 pm PST

    Modified Files:
    src/sbbs3/atcodes.cpp 1.85 1.86 diff

    Log Message:
    Added new @-code for Ragnarkok: SPLITP
    expands to "on" or "off" based on user's split-screen private chat setting.
  480. rswindell
    Mon Dec 03 2018 12:47 pm PST

    Modified Files:
    src/sbbs3/atcodes.cpp 1.84 1.85 diff

    Log Message:
    Added new @-codes requested by Ragnarkok:
    PAGER (expands to "on" or "off" to indicate chat page enable status)
    ALERTS (expands to "on or "off" to indicate activity alert enable status)
  481. echicken
    Fri Nov 23 2018 10:38 pm PST

    Modified Files:
    exec/load/fidoaddr.js 1.1 1.2 diff

    Log Message:
    Rewrite of parse method.
    Handle 5D addresses (with or without point component).
    Validate numeric address components and domains per FSP-1028.
    Return value (if an object) now contains 'domain' property (if present).
    Should fix processing of TICs with associated 5D addresses.
    Introduces an unwieldy and overwrought regex.  Unf unf.
    May break the entirety of fidomicrocyberchatnet.
  482. rswindell
    Fri Nov 23 2018 05:05 pm PST

    Modified Files:
    exec/nntpservice.js 1.127 1.128 diff

    Log Message:
    'tin' apparently uses the 'high water mark' field in the GROUP response for
    "new message" detection (not the total number of articles) - so use the last
    non-vote message number as the high water mark, not the msgbase.last_msg
    value. For nelgin - Happy Turkey!
  483. rswindell
    Fri Nov 23 2018 09:59 am PST

    Modified Files:
    src/sbbs3/echocfg.c 3.37 3.38 diff

    Log Message:
    A little more complete description of Fuzzy Zone operation.
  484. rswindell
    Fri Nov 23 2018 09:58 am PST

    Modified Files:
    src/sbbs3/sbbsecho.c 3.98 3.99 diff

    Log Message:
    Fuzzy Zone operation: make the implementation match the feature
    description/documentation more closely. That is, if there is an INTL kludge
    line in the incoming netmail message, there will be no "fuzzy" zone matching.
    This means that Fuzzy Zone operation will only apply to netmail messages that
    do *not* have an INTL kludge line (which specifies the source and destination
    zones already). This solves the problem reported by Mark Lewis with
    unexpected Fuzzy Zone behavior (when enabled), it was over-riding the
    source zone number even though it was specified (via INTL kludge) in the
    original netmail message body.
  485. rswindell
    Fri Nov 23 2018 09:18 am PST

    Modified Files:
    src/sbbs3/main.cpp 1.738 1.739 diff

    Log Message:
    Cosmetic fixes to timed event logging (the event code part of the log messages)
  486. rswindell
    Fri Nov 23 2018 09:08 am PST

    Modified Files:
    src/sbbs3/nopen.c 1.29 1.30 diff

    Log Message:
    Changed the yeild in the fcopy() loop to a "maybe yeild", sacrificing a bit of
    CPU utilization to get a large file copy completed quicker.
  487. rswindell
    Tue Nov 20 2018 09:36 am PST

    Modified Files:
    exec/nntpservice.js 1.126 1.127 diff

    Log Message:
    Fix problem reported by Nelgin:
    The GROUP command reports the total number of articles in a group and we
    were returning the total number of message indexes/headers, which includes
    vote messages (not retrievable/viewable via NNTP) and messages flagged for
    deletion (not retrievable/viewable via NNTP). So, count the actual
    number of non-vote/deleted messages (index records) to use in the GROUP
    response.
  488. rswindell
    Sun Nov 18 2018 03:03 pm PST

    Modified Files:
    exec/sbbsimsg.js 1.32 1.33 diff

    Log Message:
    Fix the "undefined" age and sex (gender) values when listing systems that
    support active-users.json queries but don't report age and gender.
  489. rswindell
    Sun Nov 18 2018 06:53 am PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.481 1.482 diff

    Log Message:
    Hackety-hack-hack... hack
    So I tested the following cases, which all pass:
    cwd diralias -> 250 CWD command successful.
    cwd /diralias -> 250 CWD command successful.
    cwd /diralias/ -> 250 CWD command successful.
    cwd /diralias/filename -> 550 filename: No such directory.
    cwd /filealias -> 550 filealias: No such diretory.
    cwd /filealias/ -> 550 : No such diretory.
    retr filealias -> 150 Opening BINARY mode data connection for file transfer.
    retr /filealias -> 150 Opening BINARY mode data connection for file transfer.
    
    Hopefully is the end of the fixes for Chrome browser ftp weirdness
    (tries to "CWD" to anything/everything to determine if it's a file or not).
  490. rswindell
    Sat Nov 17 2018 06:55 am PST

    Modified Files:
    src/sbbs3/ftpsrvr.c 1.480 1.481 diff

    Log Message:
    Fix a couple of problems introduced in the recent ftpalias() churn:
    - a CWD attempt to a /alias/filename would report 'success' to the client
      (Chrome web browser)
    - the ftpalias.cfg file was left open in some instances
  491. nightfox
    Sun Nov 11 2018 05:19 pm PST

    Modified Files:
    exec/SlyEdit.js 1.57 1.58 diff
    exec/SlyEdit_DCTStuff.js 1.17 1.18 diff
    exec/SlyEdit_IceStuff.js 1.25 1.26 diff
    exec/SlyEdit_Misc.js 1.44 1.45 diff

    Log Message:
    Version 1.62: Updated to save the message if the user disconnects, to support Synchronet's message draft feature that was added recently.
  492. rswindell
    Sun Nov 11 2018 02:28 pm PST

    Modified Files:
    src/syncdraw/load.c 1.6 1.7 diff

    Log Message:
    Attempt to address crash (segfault) reported by ragnarok, maybe
    buffer overflow caused by long-filenames (?) :
    
    Thread 2 "SDL Main" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7ffff0be5700 (LWP 31102)]
    strlen () at ../sysdeps/x86_64/strlen.S:106
    106../sysdeps/x86_64/strlen.S: No existe el fichero o el directorio.
    (gdb) bt
    #0  strlen () at ../sysdeps/x86_64/strlen.S:106
    #1  0x00007ffff6f10da8 in _IO_vfprintf_internal (s=s@entry=0x7ffff0bc2230,
    format=<optimized out>, format@entry=0x55555558ec5c "%-12s ",
        ap=ap@entry=0x7ffff0bc2378) at vfprintf.c:1637
    #2  0x00007ffff6f31afb in __IO_vsprintf (string=0x7fffec00b0c0 "\310\a",
    format=0x55555558ec5c "%-12s ", args=0x7ffff0bc2378) at iovsprintf.c:42
    #3  0x000055555556a701 in bufprintf (buf=0x7ffff0bc2480 "", attr=31,
    fmat=0x55555558ec5c "%-12s ") at miscfunctions.c:560
    #4  0x000055555555e332 in load () at load.c:796
  493. rswindell
    Fri Nov 09 2018 05:26 pm PST

    Modified Files:
    exec/load/binkp.js 1.111 1.112 diff

    Log Message:
    Log the 'remote_addrs' value with each log message of LOG_ERR severity
    (yeah, those should all be LOG_ERR, not LOG_ERROR - oh well) since LOG_ERR
    messages go to the data/error.log and including this information is helpful
    to sysops that monitor this file and use it to help find/debug issues.
  494. rswindell
    Fri Nov 09 2018 05:20 pm PST

    Modified Files:
    exec/binkit.js 2.11 2.12 diff

    Log Message:
    Write BinkIT version string and arguments to .bsy files created by binkit.
    Log all the "Remote addresses" (array) with an INFO log level, for inbound
    connections (in the auth callback).
  495. rswindell
    Thu Nov 08 2018 09:52 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.131 1.132 diff

    Log Message:
    Don't save/restore 0-byte draft-messages.
    More log output when saving/restoring drafts of if there is an error doing so.
  496. rswindell
    Thu Nov 08 2018 07:19 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.130 1.131 diff

    Log Message:
    Store the draft message creation time stamp (just informational for now) and
    log a message when a draft message is saved.
  497. rswindell
    Thu Nov 08 2018 07:18 pm PST

    Modified Files:
    src/sbbs3/userdat.c 1.209 1.210 diff

    Log Message:
    Use the same .ini style settings for user_set_time_property().
  498. rswindell
    Thu Nov 08 2018 07:11 pm PST

    Modified Files:
    src/sbbs3/userdat.c 1.208 1.209 diff

    Log Message:
    Use a .ini style that matches load/userprops.js in user_set_property()
  499. rswindell
    Thu Nov 08 2018 05:02 pm PST

    Modified Files:
    exec/fseditor.js 1.89 1.90 diff

    Log Message:
    Detect if the user disconnects, save the file (draft in-progress) and return
    1 (indication of error).
  500. rswindell
    Thu Nov 08 2018 04:32 pm PST

    Modified Files:
    src/sbbs3/writemsg.cpp 1.129 1.130 diff

    Log Message:
    Every get disconnected in the middle of writing a message (post or email)
    and maybe lose all that eloquent prose you've painstakingly written? Well,
    Synchronet will now save your unsaved draft (assuming your editor saves it
    before exiting due to disconnetion) and will give you the option of
    restoring that draft when you attempt to email or post again within 48
    hours. The message's subject is saved/restored along with the draft body
    text as well. Drafts older than 48 hours are just ignored. This duration
    is currently hardcoded, but that could easily be changed.
AuthorCommitsLatest
rswindell443Tue Apr 23 2019 04:07 pm
nightfox17Thu Apr 18 2019 07:15 pm
deuce7Wed Mar 06 2019 05:11 pm
echicken32Mon Feb 18 2019 11:10 pm
sbbs1Mon Jan 07 2019 03:38 pm

Dynamically generated in 284 milliseconds