- Feb 17, 2025
-
-
Rob Swindell authored
Looks like an unintentional debug-inclusion with commit 2064f3a4 as pointed about by Deuce in IRC.
-
Rob Swindell authored
-
Rob Swindell authored
When the option is not set, messages "READ" flag is set when the message is retrieved via POP3. Setting this option defeats that behavior - as requested by Keyop via IRC. Since I'm out of option flags, remove the "receive by user number" option. The receive by user number option was never a good idea and hopefully no one is actually depending on/using that setting. Uesr numbers in the alias.cfg file still work.
-
- Feb 16, 2025
-
-
Rob Swindell authored
Since that's the most used/assumed byte order for IP addresses, let's make that the default and eliminate a lot of unnecessary byte-swapping. This fixes the issue reported by Keyop in IRC, introduced in commit 29b93c32
-
- Feb 15, 2025
-
-
Rob Swindell authored
For non-Guest users (without the 'U' restriction), if the FTP client sends the MKD or XMKD command, just return the proper succcess result and do nothing (don't log as a hack attempt or return a syntax error result). Some FTP clients (e.g. Reolink Doorbell camera) just always try to blindly create a directory before uploading files, but if that command fails (as we would), the upload is aborted. So pretend to create the diretory whether it already exists or not, just so the client will proceed with the upload. For G or U restricted users, treat (log) as hack-attempt, as before.
-
- Feb 14, 2025
-
-
Rob Swindell authored
We need to provide an address family "hint" to getaddrinfo() to limit the results to IPv4 addresses. Regression introduced in commit 29b93c32 Reported by Keyop via IRC
-
- Feb 13, 2025
-
-
Deucе authored
Replace with \xXX values
-
Rob Swindell authored
This sets us up better for adding more platform support (e.g. x64) later.
-
Rob Swindell authored
This makes ctrl/modopts/*.ini more useful for multiple language support
-
- Feb 12, 2025
-
-
Rob Swindell authored
fexistcase() only corrects the case of the filename, not the directories in the path. So we'll just use the lowercase version of the charset string, always. Also, return false upon failure of any call to replace_text(), not just the last one.
-
Rob Swindell authored
This was the cause of some very slight funkiness when displaying files after a save/restore (e.g. Ctrl-T or other global hot key) operation.
-
- Feb 11, 2025
-
-
Rob Swindell authored
For Nelgin's mode7 terminal project
-
Rob Swindell authored
... in File.iniGetSections() method because iniReadSectionList() doesn't recognize !include directives. This fixes issue #871 whereby modopts.js couldn't find sections in modopts.d/*.ini files.
-
- Feb 09, 2025
-
-
Rob Swindell authored
Address error report by Greg Meckel (THEICECA) evnt QNET !ERROR 2 (No such file or directory) (EinError 2) in main.cpp line 3195 (event_thread) removing "C:\sbbs\data\VERT.qwk" access=0 ... this could happen after a bad QWK packet was detected and renamed.
-
Rob Swindell authored
-
- Feb 08, 2025
-
-
Rob Swindell authored
<@Deuce> DigitalMan, also, as it turns out, Windows 7 was the last version of Windows that supported processors without SSE2. Since we're targeting Windows Vista and Windows 7 still, don't require FP extensions that SBBS really won't get much benefit from anyway.
-
Rob Swindell authored
I discovered the first case when FileBase.get_path() failed, but didn't (immediately) throw an exception. Reviewing the other instances of JS_RepoertError() calls found several that either reported a garbage (e.g. NULL) string value or returned JS_TRUE. The design pattern used a little in js_socket.c probably should be used more: if (JS_IsExceptionPending(cx)) return JS_FALSE; return JS_TRUE; ... but that's more of a refactor than I had the stomach for right now.
-
- Feb 06, 2025
-
-
Rob Swindell authored
-
- Feb 05, 2025
-
-
Rob Swindell authored
-
Rob Swindell authored
For 10 years (commit e212e2c5), sbbs_t/console.getstr() has limited length of string input to the available columns of the terminal. To fix issue #869, rather than change getstr()'s default behavior, add a new mode flag: K_LINEWRAP which does not limit the string length input based on the terminal width (and the current column) (e.g. for use with ;string commands from the default command shell). Ideally, I'd like to have a marquee-style option (K_mode flag) where longer strings just side-scroll to accommodate strings longer than the terminal width, but in the mean-time, this'll do. So anywhere we think a narrow (e.g. 40 column) terminal is being excessively restricted in string input width and starting the input in the first column is not an option/solution, adding the K_LINEWRAP flag to the getstr() call is the proposed solution.
-
Rob Swindell authored
-
Rob Swindell authored
No need to use LoadLibrary() and GetProcAddress() here
-
Rob Swindell authored
9 years ago in commit dbbfabf1
-
Rob Swindell authored
Insure that msgcnt is initialized.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Check sscanf() result Don't use deprecated function: inet_addr()
-
Rob Swindell authored
-
Rob Swindell authored
Synchronet v3.20 doesn't actually work on Windows XP due to depenendies in 3rd party libraries we link with and more recent ciolib improvements. So, no need to use an ancient WinSDK (7.0) or toolset anymore. Hooray! I'm not changing the versions of C or C++ language enabled (yet), but that's something we should consider doing. Also, re-enable enhanced x86 processor extensions (e.g. SSE2) as I doubt very much you can run Windows Vista on a pre-2000 CPU anyway. If this is a problem for anyone, it's trivial to disable the processor extensions again.
-
- Feb 04, 2025
-
-
Rob Swindell authored
No need to continue to carry this baggage dupefind is another candidate for removal (soon)
-
Rob Swindell authored
To help debug any situations where import_netmail() might silently fail (though I don't anticipate there are any, Accession suggested there was).
-
Rob Swindell authored
For sysops that don't want to use the user's chosen language to auto-load alternate text strings, they can specify some other filename from the ctrl directory (so long as it ends in .ini). I wouldn't use text.*.ini however, since those filenames are assumed to be language translations and will automatically appear in user_settings.js as a user-selectable language. text-*.ini would be fine though as an alternate text.ini filename: not colliding with text.ini or text.*.ini
-
Rob Swindell authored
When one or more files that match the menu file pattern can't be displayed (e.g. the user's terminal is not wide enough or there's any other menu file open/read error), pick another random menu file and try displaying that one, until either a menu file has been displayed successfully or all files (matching the pattern) have been attempted. For example, you have text/menu/random1.c80.msg and random2.msg, if the first file (random1.c80.msg) is selected at random but the user's terminal isn't at least 80 columns wide, another file will be picked at random. Since only random2.msg remains in the list (matching the pattern "random*"), that's the only file that will always be displayed.
-
- Feb 03, 2025
-
-
Rob Swindell authored
Need the O_CREAT mode flag. Broken with commit d116f362: I started using opennodeext() (created 5 years ago with commit 710bb23c) rather than nopen(), and I didn't realize that opennodeext() was not including O_CREAT. Once the ctrl/node.exb was created (by anything), this error wouldn't happen. And it'd only be an issues for systems with text.dat's that included custom node status (NodeAction*) strings. Good catch Nelgin!
-
Rob Swindell authored
@-codes weren't expanded before the text length calculation, so the centering logic (offset in the user's terminal screen) would usually be incorrect as pointed out by Nelgin in #synchronet when we were discussing the |C @-code modifier (which is to center an @-code value in a field, not the screen). This issue was a known limitation of the fix to issue #418 (commit 8987150b) but now that we have the expand_atcodes() function (hooray!), this is an easily solvable problem. Note: we're now calling center() withOUT the 'msg' parameter set to true, which means the @center@ code goes back to the previous (to issue #418 fix) behavior of just using bputs() for the centered text (we don't need the recursive call to pustmsg() to support @-codes any longer). This was the only reason that center() grew the optional 'msg' parameter so we likely can remove that option/feature at some date.
-
Rob Swindell authored
(mail received from authenticated SMTP clients is still allowed) Previously, the M-restriction also prevent receipt of Internet mail from authenticated SMTP clients, so separate that restriction into the new 'I' restriction. This fixes issue #865
-
Rob Swindell authored
As discovered and reported by Deuce and Nelgin
-
Rob Swindell authored
Catch cryptlib version mismatch gracefully
-
Deucе authored
No functional change.
-
Rob Swindell authored
The wrong version nubmer was specified for these new properties - these properties were added in v3.20c which is represented numerically as 32002 in decimal. The description of the tls_psk_id property was missing socket_prop_desc.
-