Skip to content
Snippets Groups Projects
  1. Nov 18, 2021
  2. Nov 17, 2021
    • Rob Swindell's avatar
      Include twit-listed sender name in quotes in log message · 76f0ae79
      Rob Swindell authored
      Since mail server log messages have their white-space condensed, it was not obvious why some sender's name would match a twitlist.cfg line that filters names beginning with a space: "\ *" because the initial space of the sender's name was condensed/combined with space before it in the log message.
      76f0ae79
  3. Nov 16, 2021
    • Rob Swindell's avatar
      Initialize time zone variable (zone) · bf82b184
      Rob Swindell authored
      As found and reported by Talisam author, apam (HAPPYLND).
      
      sscanf() won't initialize the buffer of the argument passed if the format string is not matched, so when there was no hexadecimal/SMB timezone value, the timezone specified in the ISO date/time string (if any) would be overwritten with 0, converted from the uninitialized 'zone' variable (unlikely to be valid hex-ASCII chars). Thanks apam!
      bf82b184
    • Rob Swindell's avatar
      Add support for "name@address" syntax in twitlist.cfg · d3c5cccd
      Rob Swindell authored
      where "address" is a QWKnet ID or path or a FidoNet originating address. Wildcards can be used (e.g. "*@VERT").
      
      For Trikester.
      d3c5cccd
    • Rob Swindell's avatar
      Add command-line specifier for user's real name (auto-quoted) · 31b5229d
      Rob Swindell authored
      %+ will now expand to the current user's real name, automatically enclosed in quotes if it contains any spaces.
      31b5229d
  4. Nov 12, 2021
    • Rob Swindell's avatar
      Generate a MSGID kludge for netmail messages created by SBBSecho · 96712a1c
      Rob Swindell authored
      The "serialno" field is a bad/naive one (a time_t value), but this is really just an experiment for Ragnarok to see if this fixes issue #306 (with hotdoged receiving AreaFix responses/notices).
      96712a1c
    • Rob Swindell's avatar
      Fix sbbsfile.nam contents: contained file's description instead of name · 530a9c54
      Rob Swindell authored
      Found during review of previous commit.
      Introduced as part of the new file base branch merge (commit 925e3b0a).
      530a9c54
    • Rob Swindell's avatar
      Don't write uploaded filename and description to env variables · a869fc69
      Rob Swindell authored
      Environment variables are shared among all threads of a process (e.g. all nodes of a instance of sbbs), so this scheme of passing the uploaded filename and description to an external file tester (upload processor) via environment variables has always been fraught with the possibility of failure or flakiness in Synchronet v3. Since I very much doubt that any upload processor is actually using this scheme, just remove it. Upload processors can and should)use the sbbsfile.nam and sbbsfile.des text files created in the node directory instead.
      a869fc69
    • Rob Swindell's avatar
      Log an error and exit immediately when a local linked-node is configured · b0df2d4e
      Rob Swindell authored
      When a linked-node (in echocfg->Linked Nodes) contains one of the local system's FTN addresses, display/log an error and exit immediately, e.g.:
      Configuration ERROR: Linked node #20 is your own address: 1:103/705
      
      I'd perform this check in EchoCfg, but:
      1. echocfg doesn't read the BBS's configuration files (where the local FTN addresses are configured), and
      2. some sysops just directly edit their sbbsecho.ini file
      b0df2d4e
  5. Nov 08, 2021
  6. Oct 31, 2021
  7. Oct 30, 2021
    • Rob Swindell's avatar
      Allow the client-name, server-name, and term-type to be passed as arguments · 38299663
      Rob Swindell authored
      Optional, for easier use with game servers that take one of the 3 rlogin
      negotation parameters as the name/code of the door to execute. A telgate
      mode flag value argument must be provided (use 0 for default behavior)
      if you want to provide any of the other arguments to override the defaults
      (the user's alias, real name, and current detected terminal type).
      38299663
  8. Oct 23, 2021
    • Rob Swindell's avatar
      Fix segfault after batch-upload when no "uploads" dir specified · 1f93fd53
      Rob Swindell authored
      When there's no "uploads" directory configured by the sysop, cfg.upload_dir will be set to INVALID_DIR, which cannot be used as an index into cfg.dir[] to determine if the time used for uploading the files should be "given back" to the user.
      
      In v3.18, we used the first file in the upload queue, if there was one, else fell back to the "uploads" dir (which had to have been defined if there were no files in the queue). So this illegal array indexing was a regression in v3.19.
      
      Reported by Zoltán Gábor on Facebook
      1f93fd53
  9. Oct 19, 2021
  10. Oct 16, 2021
  11. Oct 13, 2021
  12. Oct 07, 2021
    • Rob Swindell's avatar
      When packing netmail (stored messages), don't discard non-zero zones · c2dca953
      Rob Swindell authored
      As reported by Ragnarok (DOCKSUD) via DOVE-Net, when packing (packetizing) netmail messages, the source and destination zones from the netmail header were discarded (since they are defined as "optional" in FTS-1) and the zone values were replaced with the system's primary/default zone number. If the netmail message included an INTL kludge, the source and destination zone values would be parsed from that kludge line and this issue would not be noticed. 
      
      So the fix is: Only if the netmail message header contains a source or destination zone number of 0, replace that zone with the system's primary/default zone number. As before, the INTL kludge zone information can override the header fields.
      
      Also, there's no reason to force the point numbers from the header to zero, since if they were not valid (e.g. "fill" in the original FTS-1 specification), they would be already zero. So use the source and destination point numbers, as is, from the netmail header too (with the FMPT and TOPT kludge override support left in-tact).
      c2dca953
    • Rob Swindell's avatar
      Print "All good" or "All bad" when trying to recover or split a packet · 363fc29a
      Rob Swindell authored
      At Nelgin's suggestion, if all the messages in a packet are either good or bad, say so (since no .good or .bad file will be generated in that case).
      363fc29a
  13. Oct 06, 2021
    • Rob Swindell's avatar
      2450bbb8
    • Rob Swindell's avatar
      cb7d0137
    • Rob Swindell's avatar
      Make 40-column happy versions of mail reading menu (and sysop sub-menu) · b590117f
      Rob Swindell authored
      Renamed from .asc to .msg for PabloDraw convenience.
      b590117f
    • Rob Swindell's avatar
      New @-code: !x to perform Ctrl-A style terminal/attribute control · 6b6383da
      Rob Swindell authored
      Most Ctrl-A code terminal/attribute effects can now be invoked via @!x@ where x is one or more Ctrl-A sequence operands (e.g. @!B@ to set the current attribute to blue, @!P@ to pause the terminal). Multiple attribute codes may be specified in a single @!x@ sequence. Both upper and lowercase attribute codes are supported. The "^A@" sequence is not supported, but there's already an @-code to perform the equivalent operation ("SHOW:20").
      
      Rationale: when using PabloDraw to edit display (e.g. .msg) files, there was no easy way to explicitly clear (set to "normal") the current attributes at the end of a line of text. If that line of text contained a background color and the line caused the terminal to scroll, that background color would fill the next/new line resulting in some potential undesirable effects. There are 2 common solutions to this problem: either clear the screen before displaying the file (not always desirable) or clear the attributes at the end of the line (before the CR/LF). This can now be achieved by adding a @!N@ (the equivalent of Ctrl-AN for "normal" attributes) to the end of a line. There's no way to insert custom Ctrl-A sequences or other way to force PabloDraw to clear the attributes at the end of a line, that I found.
      
      I chose the '!' character because it's (on my keyboard anyway) the Shift-1 key and Ctrl-A is ASCII 1. I considered a sequence such as @A:x@, but that's one more character and since this sequence usually won't display anything, a shorter sequence is likely preferred. For the shortest-possible sequence, use Ctrl-A sequences instead. However, for many consecutive Ctrl-A sequences, the @-code equivalent might actually end up being shorter(!). @-codes aren't support in as many places in Synchronet where Ctrl-A codes are supported (for security reasons), so it's not like this is going to replace the use of Ctrl-A codes everywhere.
      6b6383da
    • Rob Swindell's avatar
      New @-codes SEX and GENDERS · 67bb599a
      Rob Swindell authored
      SEX is the user's sex/gender
      GENDERS is the list of system-supported genders for new users to choose from.
      67bb599a
    • Rob Swindell's avatar
      Don't append the stale static string in fmsgattr_str() · 2fae58e1
      Rob Swindell authored
      When this function was called multiple times (e.g. multiple messages in a pkt),
      it would keep appending to the current (static) string, eventually overflowing
      the buffer and corrupting the stack. Although reported in pktdump, it could
      have also happened with fmsgdump if passed multiple stored message (.msg) files.
      
      Fixes #295 reported by Nelgin
      2fae58e1
  14. Oct 05, 2021
  15. Oct 01, 2021
  16. Sep 25, 2021
    • Rob Swindell's avatar
      EnterYourSex -> EnterYourGender · 8b09bec6
      Rob Swindell authored
      Uses new @code: GENDERS
      parts of enhancement #291
      8b09bec6
    • Rob Swindell's avatar
      Allow sysop to configure new user gender options (not just M/F) · 1ca401eb
      Rob Swindell authored
      Up to 40 characters can be configured by the sysop for gender options.
      The default choice/configuration is now: "M/F/X" (not just "M/F")
      New @-code: GENDERS
      text.dat EnterYourSex -> EnterYourGender
      
      Closes enhancement request #291 by Ragnarok
      1ca401eb
    • Rob Swindell's avatar
      Call smb_updatethread() from sbbs_t::email() to perform Keyop "magic" · 7d52f7e4
      Rob Swindell authored
      As discovered by Keyop and reported via IRC, when replying *to* a local mail box and *not* using the hard-coded email menu (e.g. when when using msglist.js), the original message's "Replied" attribute flag was not set. When replying to a netmail address (at least, Internet or FidoNet, unsure about QWKnetmail), the attribute would be set.
      
      This discrepancy was because this email() function doesn't use the  "modern" smb_addmsg() function (which also calls smb_updatethread()), but add the message body text the old/manual way and never called smb_updatethread(). smb_updatethread() does the thread linkage stuff (which is usually unnoticed in the mail base) *and* sets the "Replied" attribute of the original message, if it's not already set.
      
      This function should be overhauled to use smb_addmsg(), but this 2-line change at least addresses this issue for now. There's probably other places (e.g. importing mail replies via QWK/REP packets) where this thread-linkage and "Replied" attribute flag setting is still not happening.
      7d52f7e4
    • Rob Swindell's avatar
      Added "Replied" attribute to mail messages that are replied-to. · 8b9dbe68
      Rob Swindell authored
      Reported by Keyop.
      8b9dbe68
  17. Sep 24, 2021
Loading