- Mar 05, 2023
-
-
Rob Swindell authored
Right now, the only preference is reverse mail listings (oldest first or newest first). These settings are only used when reading "your mail", not any other kind of mail reading. bbs.read_mail() now returns the user-adjusted loadmail_mode value and this allows us to determine the user's preferences and save them after this function/method is called. A readmail_mod can now return a number (other than 0) and that will be used as the return value of this method. sbbs_t::readmail() now does the adjustment of the passed lm_mode before calling any installed readmail_mod, so if for example, deleted message viewing is enabled by the sysop, those LM_* flags might be set now in the argument to the readmail_mod, wherase they never would before. There is not yet any way for the sysop to set a new user's default mail_settings, they'll just default to 0 for now. email_sec.js will get some adjustments to use/store the user.mail_settings next.
-
- Mar 04, 2023
-
-
Rob Swindell authored
Handles integer overflow in the summing of user's credits and remaining daily free credits.
-
Rob Swindell authored
Caught by a GCC warning.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Upon successful download of a file, recalculate and store the user's download CPS (characters/bytes per second), mainly for subsequent transfer time estimates.
-
Rob Swindell authored
In a minute, this CPS value will be of more use since it'll be reflective of the user's actual download rate (in characters/bytes per second) instead of just some randomly-chosen numeric constant.
-
Rob Swindell authored
DDMsgReader: When forwarding a message, now prepends the subject with "Fwd: " before editing the subject. See merge request !264
-
DDMsgReader: When forwarding a message, now prepends the subject with "Fwd: " before editing the subject.
-
Rob Swindell authored
-
Rob Swindell authored
Not sure when this changed, but Thearcadeguy let me know it was a broken link.
-
- Mar 03, 2023
-
-
Rob Swindell authored
Will track the user's last succsesful file-download transfer rate in characters (bytes) per second. I'm not calculating or storing this rate yet, but will be soon. This will make the file download ETAs more realistic and no longer hard-coded to 3000 cps (which now defaults to 10000 cps, to keep up with the times). New field added to user.tab placed adjacent to the other File xfer stats, which means the leech attempt counter (likely always 0) was moved to the end of the user record.
-
Rob Swindell authored
If a file gets added to a batch download queue that a user doesn't have download-access to (at the time of batch download), deal with that gracefully and consistently. start_batch_download(): - Now checks current user access to download the file in both single-file and batch modes - Now performs credit-check in single-file mode (wasn't doing so previously) - totalsize of multi-file batch download queue is now calculated again (apparently removed/broken in the new filebase conversion of v3.19), so download ETA should be calculated more accurately (?) again - Use gettimetodl() to calculate each file's download time for multi-file downloads - Using new putnode_download() method to write node downloading "action" and ETA-in-aux fields - The node status wasn't being updated at all before start of download in single-file mode - fixed create_batchdn_lst() : - Checks each file still downloadable by the user and if not, removes from the queue (and the generated list file). - Performs credit check and removes files that exceed available user credit - returns true only when 1 or more files is added to the batch download list file addtobatdl() - Removed redundant 'D' restriction check - this is handled by can_user_download() check already. - Use the 'reason' out parameter from can_user_download() to determine which error string to display (not always CantDownloadFromDir).
-
Rob Swindell authored
If a user doesn't have access to download a file that's in their batch queue, remove it without saying anything to the user (but log a notice-level message about it) during logon. Files that no longer exist in the filebase are treated the same way.
-
Rob Swindell authored
Eliminate some copy/pasta.
-
Rob Swindell authored
Default to 100000 (cps) if passed a rate_cps argument value of 0.
-
Rob Swindell authored
Migrated from sbbs_t::start_batch_download(), this just calculates the ETA (of transfer completion) and writes to the node's aux field in the proper format.
-
Rob Swindell authored
These text.dat strings require an argument (and normally used with the NOACCESS @-code which uses the noaccess_str and noaccess_val member variables), so not appropriate to use as a reason code here. Use more generic (no argument) text.dat item numbers instead.
-
Rob Swindell authored
DDMsgReader: Don't prepend "Fwd: " to forwarded messages See merge request !263
-
Eric Oulashin authored
-
- Mar 02, 2023
-
-
Rob Swindell authored
ddfilelister: Now allows downloading a single selected file with the D key See merge request !261
-
-
Rob Swindell authored
DDMsgReader: When forwarding a message, the subject can now be edited before sending the message Closes #528 See merge request !262
-
-
Rob Swindell authored
Fixes a stale non-zero error_count retained topic.
-
Rob Swindell authored
Pretty much any From field that contains an '@' in the username portion was subject to comparison to the full email address, but clearly some of these rejected emails were not forge attempts: 'Chris @ StubHub' vs 'events@mail.stubhub.com' 'Eric S. Raymond (@esr)' vs 'gitlab@mg.gitlab.com' Fixed by requiring that the sender name is actually a well-formed Internet email address using smb_netaddr_type(), which was also recently improved to be more accurate. Unrelated change: include reverse-path (email address for bounces) in ILLEGALLY-LONG body and header line log messages (usually SPAM from what I can tell).
-
Rob Swindell authored
... instead of undefined, to match what the documentation already stated.
-
Rob Swindell authored
-
Rob Swindell authored
smb_netaddr_type(): - if passed NULL or a string that begins with whitespace, now returns NET_NONE. - if passed a string that begins with '@', now returns NET_UNKNOWN. - if the user.name portion of an otherwise value Internet email address contains a space, now returns NET_NONE. smb_get_net_type_by_addr() - if passed a string that begins with '@', now returns NET_UNKNOWN. - if passed a string with space following '@', will now return NET_UNKNOWN. - if passed a string without a dot following '@', will never return NET_INTERNET. Unrelated change: Add the missing FILE attribute to smb_msgattrstr()
-
- Feb 28, 2023
-
-
Rob Swindell authored
Fix 2 issues with commit 680e30d8: 1. Need to replace @-code globally, otherwise only the first @-code was replaced 2. Need to strip the leading and trailing @'s from the code before passing to bbs.atcode() - fix for issue #527
-
Rob Swindell authored
SMTP commands have a shorter limit (510 versus 998) and the body text line limit needed to account for dot-stuffing.
-
Rob Swindell authored
And some trailing white-space
-
Rob Swindell authored
-
Rob Swindell authored
Log a warning message and send a "500 Line too long" before disconnecting any SMTP client that sends lines > 998 characters in length. Technically, we can handle lines up to 1023 characters, but then we could get out of sync with the client if it sends exactly 1023 chars and then a new-line char (which we would interpret as a blank line, separating the message header and body) - so just punt the client who doesn't obey the rules of the protocol.
-
- Feb 27, 2023
-
-
Rob Swindell authored
Update newuserdefaults() to use the new sysop-configured Chat and QWK new user settings/values (commit 56b8fd86). Use newuserdefaults() in newuser.cpp and makeuser.c, eliminating a lot of copy/pasta.
-
Rob Swindell authored
ddfilelister: Now supports being used as a loadable module for Scan Dirs and List Files (applicable for Synchronet 3.20+) See merge request !260
-
Rob Swindell authored
Added chat-settings to SCFG->System->New User Values->Toggle Options Added new menu: SCFG->System->New User Values->QWK Packet Settings Moved SCFG->System->New User Values->Question Toggles to: SCFG->System->New User Prompts... This fixes issue #11
-
Rob Swindell authored
-
Rob Swindell authored
This includes a new JS bbs method: bbs.chat_sec() And the old command shells written in Baja now call the PCMS chat_section function, as they used to, rather than hard-coding the name of the module to execute.
-
Rob Swindell authored
Most sysops didn't know it, but if exec/feedback.* existed, it would be executed just before any user sent an email to the sysop (user #1), excluding new user validation requests: - make this module name configurable and loadable from mods - support JS module here (exit(1) to abort the feedback) - invoke for email being sent to *any* sysop (not just user #1) - don't invoke the module when sending *from* a sysop account This fixes issue #16
-