Skip to content
Snippets Groups Projects
  1. Jan 14, 2025
  2. Nov 21, 2024
    • Rob Swindell's avatar
      Replace almost all references to AreaFix with AreaMgr or AreaManager · f2e46f3d
      Rob Swindell authored
      "AreaFix" is a proper product name. Though it's been defunct and unsupported
      for decades, we still should not confuse sysops and historians: the general
      term for what AreaFix did/does is Area Management, aka Conference Management.
      
      The sbbsecho.ini key names are unchanged and the destination netmail address
      for AreaManager requests can still be "AreaFix" (though "SBBSecho" is still
      supported as well).
      f2e46f3d
  3. Dec 23, 2023
    • Rob Swindell's avatar
      Add/use realloc_or_free() instead of realloc() in some places · 19e7f21e
      Rob Swindell authored
      Where ever we assign the realloc() result to the same pointer we pass, use this new function instead to eliminate the cppcheck error reported by Nelgin:
      Common realloc mistake: 'p' nulled but not freed upon failure  [memleakOnRealloc]
      
      This isn't going to actually solve any memory leaks, it's just good practice for critical error (e.g. no memory error) handling.
      19e7f21e
  4. Dec 05, 2023
    • Rob Swindell's avatar
      Allow default packet type to be configurable · 6004fd06
      Rob Swindell authored
      Previously, any packets created for unlinked nodes, would always be Type-2
      packets and the packet type for newly created nodes (in echocfg->Linked Nodes)
      would be Type-2+.
      
      The new DefaultPacketType setting default is 2+, so the only observed
      change in behavior will be that packets created for unlinked nodes will also
      be type 2+ (by default).
      
      Some additional log detail/adjustment around created/detected packet types.
      6004fd06
  5. Apr 15, 2023
    • Rob Swindell's avatar
      Add option to delete bad incoming packets (not rename them) · 12b424e2
      Rob Swindell authored
      So a sysop now has 3 choices for SBBSecho's handling of incoming bad packets:
       - delete them
       - rename them *.bad
       - rename them *.reason.bad (the default)
      
      If SBBSecho is configured to rename bad packets, but the rename fails, the
      error is logged (as before) but the packet is not deleted (this is a change
      from previous behavior).
      
      Always log the *reason* a pkt was determined bad in the "Bad packet detected"
      log message.
      12b424e2
    • Rob Swindell's avatar
      By default SBBSecho will now include the 'reason' in bad packet filenames · 555e7563
      Rob Swindell authored
      When bad packets are detected and renamed to ".bad" files, include the reason
      in the new filename (e.g. "ff69453a.src-addr.bad" or "ff69453a.pkt-passwd.bad"
      instead of just "ff69453a.bad") to make it easier for a sysop to determine
      what to do with the bad packets without having to search through log files
      to discover the reason *why* SBBSecho considered the packet to be bad.
      This behavior can be disabled if desired by setting EchoCfg->Global->Verbose
      Bad Packet Names to "No". Note: the reason used is the *last* reason
      detected/logged for a packet to be considered bad; it's possible that there
      are multiple reasons that a packet may be considered bad. All reasons will be
      logged, but only the last reason is used in the new bad packet filename.
      
      Also added the missing "Delete Packets" option (to EchoCfg->Global). Though
      this setting was added in sbbsecho v3.0 (and settable via sbbsecho.ini), it
      was never exposed via EchoCfg; I don't think that was intentional. Normally,
      you'd always want to leave this set to Yes (the default) to delete processed
      packets, but when debugging, it may be desirable to leave the packet files
      in place. This what the old sbbbsecho v2 '-x' command-line option used to be
      used for (disable the deleting of processed packets).
      
      Moved the Global Settings, EchoMail Settings, and File Paths config menus to
      the upper left of the screen in EchoCfg. The placement seemed inconsistent
      and erratic, so this is a bit of a cosmetic improvement.
      555e7563
  6. Nov 12, 2022
    • Rob Swindell's avatar
      Change iniOpenFile() argument meaning from "create" and "for_modify" · f4d2e708
      Rob Swindell authored
      Now, if the BOOL argument value is FALSE, then the .ini file is opened read-only (and thus only read permissions are needed, resolving issue #455).
      
      If the BOOL argument value is TRUE, create-if-not-exist is implied. There are no use cases where we would want to open an .ini file for writing only if it already existed.
      f4d2e708
  7. Feb 28, 2022
  8. May 10, 2021
  9. Mar 19, 2021
  10. Nov 23, 2020
    • Rob Swindell's avatar
      The great C function dependency refactor of 2020 · cee2d280
      Rob Swindell authored
      The goal of this commit is that: only modules that either are part-of sbbs.dll/libsbbs.so or need to link with/use that library, will #include "sbbs.h" and thus be dependent on its subsequent includes (e.g. cryptlib.h, jsapi.h). This should mean extdeps.mk can be trimmed way down.
      
      I also removed CVS keyword/comments and trimmed up the boilerplate copyright notice in modified and added source/header files in this commit.
      
      There is no functional change in behavior in this comment.
      cee2d280
  11. Aug 16, 2020
  12. May 04, 2020
  13. Apr 27, 2020
    • rswindell's avatar
      Don't export SMB->.msg NetMail messages that have the "in-transit" attribute · 446ab0ef
      rswindell authored
      flag set.
      Allow robot configurations in sbbsecho.in to include attribute values to
      add (or-into) the message header, thus allowing for robot-netmail messages
      that remain in SMB and are handled by robots (e.g. tickfix.js). Without
      the in-transit attribute flag set, the messages will be subsequently
      exported out to netmail/*.msg files for potential processing by other
      FTN utils.
      446ab0ef
  14. Apr 26, 2020
    • rswindell's avatar
      Add support for "robots": Right now, robots are for receiving netmail messages · 8df3c6b7
      rswindell authored
      only (e.g. areamgr requests or whatever). In the future, they could be extended
      to echomail areas too, if that's desirable.
      
      For now, it's really intended for ticket-FileFix.
      
      Anyway, NetMail can be received for the robot-name@<your-ftn-address> and
      the mail message will be stored in the Synchronet "mail" base. The recipient
      extension will be absent since there is no valid user account associated with
      the robot. Robot names supercede other user names/aliases for received netmail.
      If one or more netmail messages were imported for a robot and that robot has
      a semaphore path/filename specified (e.g. to trigger a timed event), then that
      semaphore will be "touched" before SBBSecho exits.
      One weird anomly with this is if attached files are received for robots, those
      files will be stored in data/user/0000.in. The altnerative is to just ignore
      file attachments sent to robots.
      
      The echofg supprot for robots is still yet to be added. In the mean time, you
      can add robots to your sbbsecho.ini like so:
      [robot:<name>]
      semfile=/path/to/semfile
      
      Incremented version to 3.11.
      8df3c6b7
  15. Apr 03, 2020
  16. Dec 13, 2019
  17. Oct 05, 2019
  18. Sep 17, 2019
    • rswindell's avatar
      Added support for auto-detection of incoming UTF-8 messages (default: enabled). · 6942ba6b
      rswindell authored
      If an incoming message contains no CHRS/CHARSET control line *and* the message
      text contains valid UTF-8 character encodings, set the FTN charset value to
      UTF-8 so the message will be displayed/handled accordingly.
      I did not add checks for header fields (to/from/subject) - we should probably
      auto-detect UTF-8 in those as well, but for now, I don't see messages coming
      into FidoNet echoes with UTF-8 in the header fields.
      Incremented SBBSecho/EchoCfg version to 3.10.
      6942ba6b
  19. Aug 22, 2019
    • rswindell's avatar
      SBBSecho should be able to run withOUT an area file (areas.bbs file). · 5fd5ae24
      rswindell authored
      This requires that the AutoAddSubs=true in sbbsecho.ini (the default) and if
      you don't want an area file created/updated with new subs, just set new option
      AutoAddToAreaFile=false.
      Both of these options default to true which is the same as the previous
      behavior: if you have a link that configured to hub for a msg group, any subs
      not already in the area list/file will be considered new and added dynamically.
      So what's new here is that you can set SBBSecho not to create or update an
      area file and SBBSecho will run just fine if no area file exists or contains no
      area definitions.
      Incremented version to 3.09.
      5fd5ae24
  20. Jul 23, 2019
    • rswindell's avatar
      New option for SBBSecho to basically ignore any configured outboxes for · 55a2e1e4
      rswindell authored
      linked nodes: UseOutboxes (default: true)
      
      BinkIT will continue to outboxes even when this option is set to false, but
      SBBSecho won't place any mail files in the outboxes when this option is set to
      true.
      
      For PSI-Jack who was surprised that SBBSecho put mail files into outboxes.
      Since it appears BinkD supports both outboxes and normal outbound directories
      for linked nodes and BinkIT does as well, this shouldn't really make any
      difference - just a sysop preference.
      55a2e1e4
  21. Jun 17, 2019
  22. May 27, 2019
  23. Apr 30, 2019
  24. Sep 08, 2018
    • rswindell's avatar
      Added the BinkP/BinkIT "PlainAuthOnly" toggle setting/option. It's a bit · dd66956f
      rswindell authored
      confusing with 3 bool settings (in the sbbsecho.ini) to represent 4 valid
      security requirement levels, so I attempted to simply the menu options to
      make it easy for sysops.
      BinkpAllowPlainText now defaults to true since the supported encryption method
      isn't even an official FidoNet standard, yet.
      I also added/updated some online help (F1) help text.
      Added an "Exiting" popup (like SCFG) when exiting.
      dd66956f
  25. Aug 07, 2018
    • rswindell's avatar
      Incremented version to 3.06 · 9eaf77be
      rswindell authored
      Added version for Bill McGarrity: for each linked-node, a preferred
      local address (AKA) can be specified to be used as the source address
      when creating packets destined for that linked-node. If no local address
      is specified, the previous (best match) logic is used: find an AKA that
      has the same zone and net as the destination address, if none found, use
      the first address with the same zone.
      9eaf77be
  26. Jul 19, 2018
    • rswindell's avatar
      Added a "MinFreeDiskSpace" setting to the root section of sbbsecho.ini · bad50ed8
      rswindell authored
      (defaults to 10 megabytes, "10M").
      When SBBSecho starts up, if this minimum amount of free space is not
      available in any of the following directories, SBBSecho will display an
      error and immediately exit:
      - data directory (in SCFG)
      - logs directory (in SCFG)
      - netmail directory (in SCFG)
      - outbound directory (from sbbsecho.ini)
      - temp directory
      - each linked-node's outbox, if configured
      
      If the sysop runs out of disk space for some reason, at least SBBSecho
      won't contribute to the problem.
      bad50ed8
  27. Mar 31, 2018
    • rswindell's avatar
      SBBSecho/EchoCfg v3.04 - uses the newly merged sbbsecho/binkit/ftn_domains.ini · 3bdfbd61
      rswindell authored
      If you're not using BinkIT (you're using some other FidoNet mailer), you can
      safely ignore all the settings/options.
      A lot of the online help for the new settings/menus needs to be written
      still and the wiki now needs a lot of update to reflect the changes.
      The "title" of this program was changed, again, from "SBBSecho Config" to
      "[Synchronet] FidoNet Config" since it configures more than just SBBSecho
      now.
      3bdfbd61
  28. Mar 02, 2018
  29. Feb 20, 2018
  30. Nov 24, 2017
    • rswindell's avatar
      EchoCfg -> Linked Nodes: · 308fa038
      rswindell authored
      - Expose the node's "name" property to be edited
      - Expose the node's "areafix support" property to be toggled
      - Renamed "AreaFix Keys" to "EchoList" keys (these are keys to EchoLists)
      - Display the node number's 8-char hexadecimal value, helpful for filename
        mapping
      
      EchoCfg->NetMail Settings:
      - New optino: Ignore NetMail 'KillSent' Attribute
        when set, sent netmails with the "KillSent" flag won't be deleted by SBBSecho
      
      EchoCfg->EchoLists:
      - The name (destination) of forwarded AreaFix requests is now configurable
        (no longer hard-coded to "AreaFix")
      
      Enforce the SM_DELREADM option.
      Use smb_storage_mode().
      308fa038
  31. Nov 14, 2017
  32. Nov 13, 2017
    • rswindell's avatar
      SBBS v3.03: · d0013bd7
      rswindell authored
      * AreaFix updates:
      - No longer accepts AreaFix requests to "SBBSecho", since we send mail from
        that name, accepting mail to the same name can create a bot-loop
      - Each linked node has a configurable "name" now, where to send notifications
        (not always "sysop")
      - AreaFix support for a node can be toggled without clearing their AreaMgr
        password
      - Area listings now include the echo descriptions (when available)
      - Fix: the badecho is not included in area lists returned via netmail
      - Improved log output around AreaFix requests/operations
      - %echostats [echo] command now supported to request most recents stats for
        an area
      - Notifications can now be toggled by AreaFix sysops using %NOTIFY On/Off
      - Notification mail to the local Area Manager (sysop) now have the correct date
        time/zone in the message header (not copied from the AreaFix request)
      
      * Added support for auto-responding to PING NetMail requests
      * When exporting EchoMail, if the date/time written or imported exceeds the
        configured maximum age for EchoMail, don't export it (rescan exempted)
      * The -g (generate notification messages) works with a passed address now
      * Better grunged packet detection (e.g. NULL-terminated header fields must be
        NULL-terminated)
      * Avoid bot-loop by refusing to send netmail from "SBBSecho" to "SBBSecho"
        If you setup an echolist to forward areafix requests to your hub a loop could
        occur :-(
      d0013bd7
  33. Nov 06, 2017
    • rswindell's avatar
      When reading the sbbsecho.ini file, don't allow blank "route" or "hub" entries · b4b5cf4c
      rswindell authored
      to cause a "valid" (default) FTN address to be parsed (e.g. 1:1/0).
      b4b5cf4c
    • rswindell's avatar
      SBBSecho v3.02: · 4f84221d
      rswindell authored
      Most of the changes are in EchoCfg:
      - SBBSecho and EchoCfg will now maintain auto-backups of the sbbsecho.ini file
      - AutoAddSubs now defaults to true/enabled: this setting is harmless without
        further configuring linked nodes (Uplink for Groups / GroupHub)
      - Global Settings are now a separate sub-menu in EchoCfg
      - EchoCfg remembers current selection on (more) sub-menus
      - Sub-menus have been rearranged and resized
      - Numerous Online Help text updates in EchoCfg
      - Adding missing/new settings to EchoCfg:
        Log Timestamp Format
        Strict Packet Passwords
        Use FTN Domain/Zone Map
        BSY Mutex File Timeout
        BSO Lock Attempt Delay
        BSO Lock Attempt Limit
        Config File Backups
        Linked Nodes->Uplink for Message Groups
        Echo Statistics File
        Outgoing Semaphore File
        Automatically Add New Subs to Area File
        Maximum Backups to Maintain of Area File
        Relay Filtered Messages
        (everything you can set in sbbsecho.ini should now be editable via EchoCfg)
      4f84221d
  34. Oct 28, 2017
    • rswindell's avatar
      EchoStats filename (data/echostats.ini) is now configurable. · 884c19fb
      rswindell authored
      EchoStats now contain message timezones (when written) and a "known" flag
      (bad echoes have known = false).
      EchoStats are now sorted before being written to the EchoStats file.
      Fixed bug in getfmsg(): trailing ex-ASCII chars of the message body would be
      chopped-off - go back to using a uchar.
      Re-worked packed-msg import parsing and grunged message detection a bit to
      log more msg details for all EchoStats.
      Added "AutoAddSubs" feature (set to true in sbbsecho.ini to enable):
      - If sub-boards are created (e.g. with SCFG) in one or more message groups, the
        areas can be automatically added to your Area File (areas.bbs)
      - The hub must be first configured in EchoCfg->Linked Nodes and then you set
        the GroupHub key in sbbsecho.ini to the name of the message group that this
        link is the hub for (e.g. "FidoNet"). You can specify multiple groups, if
        necessary, by comma-separating the names.
      884c19fb
Loading