Skip to content
Snippets Groups Projects
  1. 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
    • Rob Swindell's avatar
      Refactor the get_pw() and get_ticpw() methods · 8d7326d9
      Rob Swindell authored
      First look for a linked node matching the node address string as passed,
      then look for a match using the normalized address (removing .0 and @domain).
      The "ALL" wildcard should not be used for password lookups.
      
      This should fix reported issue 240.
      8d7326d9
  2. Mar 19, 2021
  3. Mar 18, 2021
  4. 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
    • Deucе's avatar
      Work around exception on spammy mail... · b5a4c5c5
      Deucе authored
      Don't include the obsolete unstructured regex in abs.unstrctured,
      and use the abnf.unstructured for parsing headers.
      
      This fixes an issue seen running the IMAP server on gratuitously
      spammy messages.
      b5a4c5c5
    • Deucе's avatar
      Small fixes for ugetstr() · 08ff63ad
      Deucе authored
      - Backtab also exits with K_TABEXIT when the string is selected
      - Backspace scrolls the text to the left of the cursor to the right
        if the left of the input is not the start of the string.
      08ff63ad
    • Deucе's avatar
      Rename variable for consistency. · c905d6ab
      Deucе authored
      c905d6ab
    • Deucе's avatar
Loading