Skip to content
Snippets Groups Projects
  1. Oct 21, 2020
    • Rob Swindell's avatar
      Optionally limit concurrent connections to mail server · 51e91369
      Rob Swindell authored
      The mail (SMTP) server is a popular target of bots. Impose a maximum-concurrent-connections limit (optionally). Similar to the terminal server option, except, don't deduct the number of authenticated connections (I can add something like that if desired). The new config option is [mail] MaxConcurrentConnections in the ctrl/sbbs.ini (defaults to 0, no maximum).
      
      Fixed error responses in mail_server accept loop: was always sending POP3 error responses even if the connection was SMTP.
      
      Cleaned-up the service/port checking/logging in the mail_server accept loop: no strcmp() needed, log the protocol name (e.g. "SMTPS") instead of the service name (e.g. "submissions").
      51e91369
    • Rob Swindell's avatar
      Reject control chars in base64-decoded auth credentials (name/password) · addedc65
      Rob Swindell authored
      Also, if getuserdat() fails, don't count that as a failed login attempt.
      Also, track username and password of failed-login attempts of deleted or inactive user accounts.
      addedc65
    • Rob Swindell's avatar
      Treat every login failure with no password available as unique · f2938590
      Rob Swindell authored
      When loginFailure() is called with NULL for the password argument, that indicates there was no password available (e.g. an aborted login attempt) - treat each of these as a unique (not duplicate) failed-login attempt. This'll trigger ban/filter thresholds sooner for clients that hammer servers and disconnect mid-login.
      f2938590
  2. Oct 17, 2020
  3. Oct 16, 2020
  4. Oct 15, 2020
  5. Oct 12, 2020
  6. Oct 11, 2020
    • Rob Swindell's avatar
      Better error detection in msgtoqwk() · 2bd03362
      Rob Swindell authored
      Have msgtoqwk() return a negative number upon error (e.g. blank message, failed to read to body text), which means *no* message header was written to the messages.dat file, so don't increment the record (block) counter used to create the index (NDX) file.
      
      If msgtoqwk() returns 0, that means that a header was written, but no body text (e.g. a vote message) and that is different than an error.
      2bd03362
  7. Oct 10, 2020
    • Rob Swindell's avatar
      Fix NDX file creation when votes are included in QWK packets · 39d09590
      Rob Swindell authored
      When both Indexes (NDX files) and vote messages are included in a QWK packet (an unexpected, but valid combination), the "Record number" stored in NDX files for subs with votes would be incorrect as it did not increment when a vote message (with no body text) was added to the messages.dat file.
      
      Reported by user that was trying to use MultiMail to read a QWK packet that included both votes and indexes and "IgnoreNDX: No" in their .mmailrc file.
      39d09590
  8. Oct 09, 2020
    • Rob Swindell's avatar
      Don't pass-through ANSI Device Attributes (DA) requests · 97638c16
      Rob Swindell authored
      putmsg(), used to display messages and display/menu files, will no longer pass-through the ANSI sequence ESC[c (found in some corrupted ANSI posts to fsxNet->FSX_BOT echo) to the client terminal since this will stimulate a (unwanted) response from the client.
      
      I do wonder if the outchar_esc value check should be == here instead of >=, but I'm not familiar with the string and SOS states. I wonder if any display files sent from the BBS would ever include those sequences.
      97638c16
    • Rob Swindell's avatar
      Use an enum for ANSI output state · fa53e10a
      Rob Swindell authored
      No functional change with regard to the ANSI output state, just making the code easier to read.
      
      Removed the conversion of `[ and \xFA[ to \x1b[ in putmsg(). This unexplained output translation has been supported since at least v2.xx and I have no recollection of exactly why it was added. If I recall correctly, some BBS software at some point in time sent ANSI-encoded messages into message networks by translating the ESC (\x1b) character in the ANSI sequences to either ` or \xFA in the process. This "feature" seems like it would still work, but it's completely undocumented and I have no idea why it was added (and seriously doubt anyone relies on this behavior), so I'm removing it. If anyone misses this feature, I'll happily add it back, but I'm skeptical that'll happen.
      fa53e10a
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Replace ESC chars with '.' when viewing messages, support '-<count>' with 'r'. · b7a70f2d
      Rob Swindell authored
      When reading messages, circumvent ANSI-encoded messages by replacing the ESC
      character (ASCII 27) with '.'. This could be made an optional behavior if
      someone really wants ANSI-encoded messages to be read via smbutil.
      
      Also, allow continuous reading of 1 or more consecutive messages using the
      -<digit> option (no prompting).
      b7a70f2d
  9. Oct 08, 2020
    • Rob Swindell's avatar
      2ee5a9b1
    • Rob Swindell's avatar
      Cosmetic updates provided by Nelgin · c488cefb
      Rob Swindell authored
      <nelgin> However, dm should probably maintain it at the source.
      <nelgin> DigitalMan, I've uploaded gtkuseredit_glade.c which also widens "Sex" to 5 chars
      <nelgin> I've also uploaded my .glade file for comparison
      <nelgin> and I've uploaded my convert perl script.
      <DigitalMan> the sex/gender field is a single character
      <nelgin> Yes, but it doesn't display properly unless I widen it to 5.
      <DigitalMan> ah
      c488cefb
  10. Oct 06, 2020
  11. Oct 05, 2020
  12. Oct 04, 2020
  13. Oct 03, 2020
  14. Oct 02, 2020
    • Rob Swindell's avatar
      Add option to create drop files in node's temp directory. · 717b8864
      Rob Swindell authored
      Enabling this feature causes the node's temp directory to be cleared before
      running the external program and causes the drop file(s) to be created-in and
      read back from (when appropriate) the node's temp directory.
      
      Creating drop files in a node's temp directory eliminates the possiblity of
      an external program (e.g. door game) accidentally reading the wrong drop
      file (e.g. wrong-cased name or a stale file of a different type).
      
      Note: Synchronet/XSDK doors *always* read their drop file (xtrn.dat) from the
      node directory, so don't try to use this option with those doors. Only doors
      where you can configure the drop file path or specify on the command-line
      (e.g. %g for the temp dir or %f for the fullpath of the drop file) should
      potentially use this new feature.
      717b8864
  15. Oct 01, 2020
    • Rob Swindell's avatar
      Resolve a gcc warning about signedness. · f3588d32
      Rob Swindell authored
      f3588d32
    • Rob Swindell's avatar
      Notify local recipients of locally-posted messages addressed to them. · dd8c9620
      Rob Swindell authored
      While SBBSecho would notify local users of imported messages addressed to
      them (both EchoMail and NetMail) and QWK-imported messages recently gained
      the ability to notify local recipients of messages addressed to them, other
      methods of posting messages (e.g. just using the normal terminal server
      method, e.g. the 'P' command) or using any JavaScript (e.g. web) methods of
      posting messages lacked recipient notifications. So that's now fixed.
      And for JavaScript-saved local email messages too. I don't *think* this will
      result in any duplicate notifications of received messages, but let me know
      if you see excess/duplicate notifications.
      Anonymously posted messages are excluded.
      Messages posted to yourself are excluded (who does that?).
      dd8c9620
  16. Sep 29, 2020
  17. Sep 28, 2020
    • Rob Swindell's avatar
      New user-related @-codes: NETMAIL, FWD, TMP, NOTE, LASTIP · 3098bab8
      Rob Swindell authored
      NETMAIL: user's personal netmail or email address - for WitNik
      FWD: "On" if the user has opted for forwarding their mail to netmail or "Off"
      TMP: user's chosen temporay file type (e.g. "ZIP")
      NOTE: user's note (same as MEMO1)
      LASTIP: user's most recent IP address at time of logoff
      3098bab8
  18. Sep 27, 2020
Loading