- Feb 23, 2022
-
-
Rob Swindell authored
- setInterval() returns a Number, not an Object. - typos fixed - markup added
-
- Feb 22, 2022
-
-
Rob Swindell authored
The QWKnet user look-up feature was broken as of commit e4fc5d04 (a year ago). Just noticed this regression as Andre asked in IRC about looking up network users for netmail. This feature worked for QWKnet users/addresses, at least, and now will work again.
-
Rob Swindell authored
This addresses the gitlab issue #130. Also, prompt for confirmation when [D]eleting the file. Also, allow modopts.ini customization of this script via keys in the new (optional) [automsg] section: prompt (defaults to text.dat AutoMsg) sysop_prompt (defaults to hard-coded string) intro (defaults to hard-coded string) header_fmt (defaults to text.dat AutoMsgBy) user_fmt (defaults to hard-coded string) line_fmt (defaults to hard-coded string) max_line_len (defaults to 76)
-
Rob Swindell authored
This field should not normally have a value of '1' (no way to configure that, normally, since days are numbered starting at 1 and bit 1 is 2), but if it does, it's treated the same as 0 (any day of the month) - so fix that mismatch in getnexteventtime(). Just noticed this while comparing the logic with the new is_time_to_run() functions in main.cpp. That logic wasn't (should not have) changed, so this mismatch in the treatment of mdays == 1 existed before.
-
- Feb 21, 2022
-
-
Rob Swindell authored
Reduced probably the biggest if() conditionals in sbbs to a single line by breaking the "time to run" logic into separate functions and sharing those functions between both QWKnet and timed-event scheduling. There was no actual problem with this code/logic, it was just very difficult to read and understand and step-through with a debugger and understand why or why not an event might run under different configurations and circumstances. Also removed the PostLink network call-out logic. pnet.dab is no longer read and written-to and if you happened to have any PostLink hubs configured (how?!?), they'll no longer be "polled". This is the only functional change unless I did something wrong in the process. One thing I noticed and contemplated, the current time is not queried between consecutive timed-event scheduling/execution. It's possible that an executed event can take a long time and impact the criteria for the next timed event. The events are checked for scheduling every few seconds, so I can't really think of a big down-side to the current design (apparently intended to reduce unnecessary querying of the current date/time), so I didn't do anything to change that. Just something I noticed.
-
Rob Swindell authored
With this option set to "No", sysops can still login, they just can't perform most sysop functions. Updated System Password help text to clarify that the "Allow Sysop Access" option effectively disables the system password. Also mention the FTP Server use of the system password to enable sysop access.
-
Rob Swindell authored
As Andre pointed out while documenting this setting on the wiki, the option seemed confusing: if a sysop could not login with "system operator access", how could they login at all? Answer: they could not. This setting used to be called "Allow Remote Sysop Logins", back when there was the concept of a "local login", so setting this option to "No" would mean that user accounts with sysop access could only be used for *local* login. But in Synchronet v3, there's really no such concept as a "local login", so it was changed to just "Allow Sysop Logins" (period) and not a lot of thought given to how/why a sysop would actually set to this "No" or what the implications would be (presumably, nobody ever sets this to "No"). So rather than just get rid if the option altogether, I changed it to mean: an account with sysop access (i.e. level 90+) can still login, but any action that normally requires the system password will not be allowed. This includes the sysop-actions available in the FTP server when authenticating with <user-pass>:<system-pass> as the password. The sysop-user can still authenticate (and login), but none of those sysop-actions will be available to them.
-
Rob Swindell authored
Partially revert Deuce's commit ea5b359b This explains the EAccessViolation (stack corruption during sbbs startup) that sysops have reported when using the latest nightly builds.
-
- Feb 20, 2022
-
-
Deucе authored
This macro as written won't compile on mingw32 due to the attributes on _mktemp(). This could be worked around, but it's easier to just disable it since I don't need it, and nobody else is building with mingw32.
-
Deucе authored
On Win32 it can't be defined until after winsock*.h is #included. On everything else, it needs to be a pointer.
-
Deucе authored
For Win32, this is actually the pointer type an ioctl() third argument needs to be. For other OSs, this is basically what an FIONBIO third argument needs to be... there's really no restruction at all on what arguments after the second to ioctl() need to be.
-
- Feb 19, 2022
-
-
Deucе authored
It seems we can't add a const to a typedef in a static_cast<>()
-
Deucе authored
uintptr_t should be the same as a DWORD on Win32, and CRITICAL_SECTION can be stored in an inptr_t as well. This should work fine, and allow more build environments to be happy. This is generally caused by new C++ standards having thread support in the standard library, so wrappers getting pushed deeper in. At some pointer, this should be redone with standard threads, but now is not the time.
-
Rob Swindell authored
@-code expansion in text lines. Text searching for sub-board, group, or all. See merge request !143
-
Deucе authored
This is so we can deal with send(), recv() and friends taking a void* on BSD stacks, and a char* on Win32. Not a big deal for C where a void* is universal, but C++ hates that type of thing.
-
Eric Oulashin authored
Version 1.44: Removed the scanScopePromptText text line and used the SubGroupOrAll line (621) from text.dat instead. Also, the reader now supports @-code expansion in configured text strings. This addresses issue #316 from Vincent Macaluso. Text search now can search sub-board, group, or all like the other text searching (requested by Nelgin). When reading the theme file, color settings are now checked to ensure they only have Synchronet attribute codes.
-
Rob Swindell authored
Thanks to Andre for pointing that out in his wiki updates.
-
echicken authored
If absent, default string 'Bulletins' will be used.
-
echicken authored
Removed attribution rather than fix its coloring. Nobody cares, and if you do care, have you tried not caring? It's easy, it's just a matter of doing nothing. Bullshit is a proud sponsor of funclib.js.
-
- Feb 17, 2022
-
-
Rob Swindell authored
On Windows, CRs in extended descriptions could result in output of \r\r\n which could be displayed as 2 newlines (e.g. in notepad.exe). Since the \n -> \r\n expansion already happens on Windows stdout, we don't want them in the processed input (file metadata). As reported by DesotoFireflite (VALHALLA), thank you!
-
Rob Swindell authored
As pointed out by DesotoFireflite (VALHALLA), both the file's short/normal description and the extended description were being included in all file listings. This is probably want most sysops will want since the extended description is often used as the content of the short/normal description, resulting in repeated content. So, by default, if there is an extended file description, don't output the short/normal file description. If you want to include *both* the short and extended descriptions (for files that have both), include both the -ext and -desc command line options.
-
- Feb 16, 2022
-
-
Rob Swindell authored
Initial support for offline message counting in msglist.js. See merge request !142
-
Tristan Greaves authored
Added options: -count -all_subs -hide_zero This allows this script to be used to create counts of messages in the groups. Typical use: Stats on new messages in the last x days.
-
Rob Swindell authored
Inspired by filelist.js (which is really *only* for use offline), added support to run via JSexec or timed event with command-line options to control the output format, sorting, and msg-age range. Try this Mewcenary (EXTRICAT)
-
- Feb 15, 2022
-
-
Rob Swindell authored
-
- Feb 14, 2022
-
-
Rob Swindell authored
I think this means one of your nodeon.* files are corrupt and just deleting that file would likely cure the situation as well.
-
Deucе authored
-
Deucе authored
-
Rob Swindell authored
Convenient way to get the path/name of the archive file as it was passed to the constructor.
-
Rob Swindell authored
Digital Distortion File Lister v2.02: Added the ability to do a file search (via filespec, description, or new files since last scan). See merge request !141
-
Eric Oulashin authored
a file search (via filespec, description, or new files since last scan). A command-line parameter, -MODE, specifies which search to perform (search_filename, search_description, or new_file_search for searching; list_curdir lists files in the user's current directory, which is the default).
-
- Feb 13, 2022
-
-
Rob Swindell authored
Digital Distortion Area Choosers v1.22: Fixed a lightbar directory choosing issue in the file area chooser See merge request !140
-
Eric Oulashin authored
fixed a lightbar file directory choosing issue when using name collapsing (was using the wrong data structure)
-
- Feb 12, 2022
-
-
Rob Swindell authored
-
Rob Swindell authored
Since we install archive.js as the viewer for '*' by default, we expect it to be asked to list non-archive file-types frequently, so don't be too alarmist about it.
-
Rob Swindell authored
And change XMODEM-1K/CRC to be the '1' protocol.
-
Deucе authored
-
Deucе authored
-
Deucе authored
-
Deucе authored
-