- Mar 20, 2021
-
-
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.
-
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
-
Deucе authored
Do not clear at the current X/Y on scroll (derp)
-
Deucе authored
Scrolling would clear the line to the end of the screen, not the end of the scrolling region. Sorry echicken.
-
Rob Swindell authored
Could be useful for knowing if you need to increase MaxClients for typical usage.
-
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.
-
- Mar 19, 2021
-
-
Deucе authored
Borland hates it.
-
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.
-
Deucе authored
Hopefully fixes crash in lord when composing a message and using word-wrap.
-
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.
-
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.
-
Deucе authored
Caused a SyncTERM hang if it played a FG beep.
-
Rob Swindell authored
-
Rob Swindell authored
Thanks Mr. Executive Chicken esq. for the telephone call and bug report.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
2 new configuration params: MaxLogSize (default: 10M) and MaxLogsKept (10)
-
Rob Swindell authored
error: ‘handle_mutex’ undeclared
-
- Mar 18, 2021
-
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
This reverts commit 6a4fbf28.
-
Deucе authored
-
Deucе authored
-
Deucе authored
This allows the playback thread to open the device and errors to be checked. Otherwise, the first sound won't play.
-
Rob Swindell authored
-
Deucе authored
1) user.number immediately after login() remains zero, but changes "sometime" after. Avoid using user.number right after login() call to generate filename. All data/user/0000.imap files can be deleted after this change. 2) Saving Seen data would modify the object storing it when binary seen values were used. Use JSON.parse(JSON.stringify() to make a copy before saving and restore it afterward. Should fix issue reported by nickshanks1 over IRC.
-
Rob Swindell authored
Addresses issue #239
-
Deucе authored
Also note the spectacularily poorly named WIN_REDRAW and WIN_NODRAW flags. WIN_REDRAW indicates that this *is* a redraw of the menu, which indicates that you don't need to redraw the menu (because it's already correct on screen). Weird, but not insane... WIN_NODRAW on the other hand indicates this is *not* a redraw, and that the window is incorrect on screen and you therefore *must* redraw the menu. That is to say: WIN_REDRAW prevents the window from being redrawn WIN_NODRAW forces the window to be redrawn
-
Deucе authored
The previous attempt completely disabled pulse audio.
-
Deucе authored
-
Deucе authored
It seems that the "real" ALSA will actually silently fail if you try to clear errors when no errors have occured. The FreeBSD emulation of ALSA does not have this insane requirement, so this went unnoticed for the 1.1 release. I suspect that this actually fixes SF bug 24, because ALSA is preferred over pulseaudio.
-
Rob Swindell authored
-
- Mar 17, 2021
-
-
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.
-
Deucе authored
-
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.
-
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...
-
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.
-
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.
-
Deucе authored
-
Deucе authored
-