Skip to content
Snippets Groups Projects
  1. Mar 30, 2021
  2. Mar 29, 2021
  3. Mar 26, 2021
  4. Mar 25, 2021
  5. Mar 23, 2021
  6. Mar 21, 2021
  7. Mar 20, 2021
    • Deucе's avatar
      Add three new socket status functions: · 7d9e7b0c
      Deucе authored
      socket_readable() returns TRUE if recv() will not block if called
      on the specified socket.
      
      socket_writable() returns TRUE if send() will not block if called
      on the specified socket.
      
      socket_recvdone() returns TRUE if all data has been recv()ed an
      the socket is closed.
      
      "will not block" includes "will return an error".
      
      This matches the three main use-cases for select() of a single socket
      in Synchronet.
      
      Use them in the SyncTERM RLogin stuff so they can be tested easily.
      7d9e7b0c
    • Deucе's avatar
      Add support for MinGW-w64 · 31c717f9
      Deucе authored
      MinGW32 is getting long in the tooth and is missing a lot of modern
      Windows features as well as having broken headers.  Most people will
      be using MinGW-w64 at this point, so add support for it.  Once I
      ensure SyncTERM works properly with it, MinGW32 support will be
      discontinued.
      
      I suspect this will impact exactly zero people since the reason this
      exists is to build the Win32 versions of SyncTERM on FreeBSD.
      
      Changes:
      - Explicitly request 32-bit Windows output
      - Detect the string "mingw32" anywhere in the hardware description
      - Explicitly link with libuuid
      - Add a terrible hack to syncterm.c to block wincrypt.h
      31c717f9
    • Deucе's avatar
      Ensure cleared block in in scrolling region · c1e77971
      Deucе authored
      Do not clear at the current X/Y on scroll (derp)
      c1e77971
    • Deucе's avatar
      Fix error on scroll with left/right margins · 8377e553
      Deucе authored
      Scrolling would clear the line to the end of the screen, not the
      end of the scrolling region.
      
      Sorry echicken.
      8377e553
    • Rob Swindell's avatar
      Track the active client "highwater mark" (highest number of concurrent clients) · e4ae4ccc
      Rob Swindell authored
      Could be useful for knowing if you need to increase MaxClients for typical
      usage.
      e4ae4ccc
  8. Mar 19, 2021
    • Deucе's avatar
      Revert last commit that used poll() · db78a985
      Deucе authored
      Borland hates it.
      db78a985
    • Deucе's avatar
      First attempt to use poll() · 76bb4aec
      Deucе authored
      There has been a sighting of Synchronet exceeding FD_SETSIZE sockets.
      This means select() is of less use and we need to start migrating to
      either poll() or platform-specific methods to achieve the same end.
      
      This commit is mostly to check that poll() builds on Win32 and that
      it actually works.
      76bb4aec
    • Deucе's avatar
      Better comment conformance in key parsing · 1ed50424
      Deucе authored
      There's a comment saying we set key=0 when we consume it... do so
      in a couple cases where it wasn't done.
      
      Range check the key before sending to the remote.
      
      This should not actually do anything different, but in the future
      if things are changed at least the comments won't be misleading.
      1ed50424
    • Deucе's avatar
      Fix AltGr with SDL2 · 37b74cb5
      Deucе authored
      This is pretty insane since SDL2 completely ignores the keysym value
      of the X11 keyboard event, so here's what we do...
      
      1) When there's a keypress that includes right-alt, store the sym/mod
      2) When we get text input, if it's the same as we would get if ALT
         wasn't pressed for the last keydown, parse through the mapping
         (ie: handle ALT keys)
      3) If it's different, use that (gets AltGr modified value)
      
      I get that AltGr is hard in a cross-platform way, but just pretending
      it doesn't exist at all for key input is a very weird choice.
      37b74cb5
    • Deucе's avatar
      Fix race condition when handle is opened by playing a sample. · de9d5941
      Deucе authored
      Caused a SyncTERM hang if it played a FG beep.
      de9d5941
    • Rob Swindell's avatar
      Move the tags prompt to *before* the locking of the message base · 8cb48a7d
      Rob Swindell authored
      Thanks Mr. Executive Chicken esq. for the telephone call and bug report.
      8cb48a7d
    • Rob Swindell's avatar
      Build log rotation into SBBSecho, bump version to 3.14 · 09a7dfa9
      Rob Swindell authored
      2 new configuration params: MaxLogSize (default: 10M) and MaxLogsKept (10)
      09a7dfa9
    • Rob Swindell's avatar
      Fix the single-threaded build: · 0a774333
      Rob Swindell authored
      error: ‘handle_mutex’ undeclared
      0a774333
  9. Mar 18, 2021
  10. Mar 17, 2021
    • Deucе's avatar
      First cut at adding a comment field to listings. · ef0a495e
      Deucе authored
      The jury is still out on some details...
      1) If you press ESC while editing the comment, it currently cancels
         the edit.  Would people expect ESC to exit the program instead?
      2) The format/colours of the displayed comment... right now it's
         using the UIFC background colours, and not draing a border or
         window.
      3) Just how long should the comment field be, and how should it be
         edited.
      ef0a495e
    • Deucе's avatar
      Special-case TAB so "backtab" works properly. · 1e0d3286
      Deucе authored
      1e0d3286
    • Deucе's avatar
      Close Socket on unhandled TLS errors · ba5759c2
      Deucе authored
      While errors on transmit seem to be handled well, errors on receive
      do not, especially through js_recv_line() which has been seen to
      trigger a large number (hundreds) of ECONNRESET errors.  To prevent
      this, simply close the socket when an otherwise unhandled error
      occurs.
      
      Almost certainly fixes that issue, but the underlying cause is still
      undetermined.  The calling script (imapservice.js) was checking
      Socket.is_connected after each recv_line() call, so if the socket
      was actually reset, it would be expected to only call it once.
      
      An alternative would be to explicitly handle the error that is
      seen (CRYPT_ERROR_PARAM1), but let's try a generic fix first and see
      of anything breaks because of it.  Most likely issue would be an
      inability to recv() data after calling shutdown(), but I don't think
      many people do that except to move the TIME_WAIT to where they want
      it.
      ba5759c2
    • Deucе's avatar
      Limit sends in terminal and web servers to 8k as well. · 757e3895
      Deucе authored
      It fixed an issue in js_socket.c, no reason to expect better
      behaviour with TLS.  This may fix SZ YModem-G transfers on
      cvs.synchro.net...
      757e3895
Loading