Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

  1. 24 Apr, 2021 1 commit
    • Rob Swindell's avatar
      DIZ enhancements: Read/use SAUCE data, support ANSI, increase max 1->4K · 2a8e1c11
      Rob Swindell authored
      Inspired by Blocktronics (and other ANSI art group) packs' FILE_ID.DIZ/ANS files:
      * Support (and prioritize) FILE_ID.ANS
      * Convert ANSI color/attribute sequences in DIZ files to Ctrl-A equivalent (uses SAUCE width and ICE color, if specified)
      * Don't treat DIZ as a series of lines, they're not always nowadays.
      * New putmsg() mode: P_INDENT to print files indented by current column
      * Display full (up to 64-char) filenames in lists when using 132+ column terminal.
      * Use the Author, Group, and Title fields from the SAUCE if present/non-blank
      * 2 new text.dat strings: 301 (FiAuthor) and 302 (FiGroup)
      * Also fix bug with repeated Cost header field on bulk-uploaded files.
      
      I know this'll break the *nix build (sauce.c dependency), but I'll fix that next.
      2a8e1c11
  2. 04 Apr, 2021 1 commit
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · fcf58640
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
      fcf58640
  3. 12 Dec, 2020 1 commit
  4. 15 Sep, 2020 1 commit
    • Rob Swindell's avatar
      Switch from static C runtime library to runtime DLL · 05c45f17
      Rob Swindell authored
      This fixes the stat() issue on Windows XP/2K3 by allowing sbbs to benefit
      from the run-time library updates that Microsoft releases periodically
      (like https://www.microsoft.com/en-us/download/details.aspx?id=53840).
      
      For more info on the stat() issue which caused all kinds of sbbs errors
      (e.g. creating directories initially, but a lot more):
      https://stackoverflow.com/questions/32452777/visual-c-2015-express-stat-not-working-on-windows-xp
      
      Since we are using cryptlib which requires the MSVC runtime DLL anyway
      (it is the default build behavior of MSVC), we weren't really gaining
      anything from statically linking the CRTL (LIBCMT.LIB). And for some reason,
      an up-to-date MSVC2019 still has (links-in) a LIBCMT.LIB file that includes
      this stat bug. All the online help resources I found just to seem to suggest
      updating the CRTL DLLs (on the target system), with no mention of any fixes
      available for the static CRTLs on the build system. But with the no gain
      from static linking anyway, I figured it was time to switch to DLL CRTLs.
      
      The debug builds are still statically linking the CRTL for no particular
      reason.
      05c45f17
  5. 07 Aug, 2019 1 commit
  6. 18 Jul, 2019 1 commit
  7. 10 Jul, 2019 1 commit
  8. 08 Jul, 2019 1 commit
    • rswindell's avatar
      Moved cp437_unicode_tbl and unicode_is_zerowidth() to (new file) unicode.c. · 1340f563
      rswindell authored
      New function (derived from sbbs_t::utf8_to_cp437()): unicode_to_cp437()
      New utf8 functions: utf8_replace_chars(), utf8_str_is_valid().
      utf8_getc() enhancement: val arg may be NULL (for length/validation uses).
      
      Convert quoted UTF-8 message text to CP437 when terminal is not UTF8.
      
      Set Fido CHRS: UTF-8 header field when posted message is UTF-8.
      1340f563
  9. 06 Jul, 2019 1 commit
  10. 29 Jun, 2019 2 commits
  11. 28 Jun, 2019 1 commit
  12. 24 Feb, 2018 1 commit
  13. 26 Nov, 2017 1 commit
  14. 23 Aug, 2015 1 commit
  15. 22 Aug, 2015 2 commits
  16. 16 Dec, 2014 1 commit
    • rswindell's avatar
      New MSVC property sheet for Multi-threaded XPDEV builds and usage: · e024987d
      rswindell authored
      defines XPDEV_THREAD_SAFE (not currently used in Windows builds) and
      LINK_LIST_THREADSAFE (notice the inconsistent use of underscore :-)
      Use of this property sheet fixes the problem with the terminal server global
      variable 'uptime' getting corrupted when jsrt_GetNew() called listInit() from
      js_rtpool.c which didn't #include sbbs.h and therefore had a different idea
      about the size of link_list_t and thus corrupted the global data region
      (zeroing out the 'uptime' variable, probably amonst other important things).
      e024987d
  17. 19 Nov, 2014 1 commit
  18. 28 Mar, 2014 1 commit
    • rswindell's avatar
      Change the target to Windows XP-IA32: resolves the "not a valid Win32 · 40f5417e
      rswindell authored
      application" error message (when run on XP) and reportedly will allow target
      executables to run on non-SEE (pre-Pentium III) CPUs. Seriously, anyone really
      running Windows XP on a Pentium II today? I guess it's possible <shrug> and we
      really get little benefit from SSE in Synchronet.
      
      I couldn't get Windows 2000 running in Hyper-V, so I guess Windows 2000 is
      now officially unsupported by Synchronet (and long unsupported by Microsoft).
      
      Thanks to Android8675 for the bug report and Rushfan for the solution tip.
      40f5417e
  19. 13 Mar, 2014 1 commit
  20. 21 Oct, 2011 1 commit
  21. 16 Oct, 2011 1 commit
  22. 09 Oct, 2011 1 commit