- Oct 06, 2021
-
-
Rob Swindell authored
Renamed from .asc to .msg for PabloDraw convenience.
-
Rob Swindell authored
Most Ctrl-A code terminal/attribute effects can now be invoked via @!x@ where x is one or more Ctrl-A sequence operands (e.g. @!B@ to set the current attribute to blue, @!P@ to pause the terminal). Multiple attribute codes may be specified in a single @!x@ sequence. Both upper and lowercase attribute codes are supported. The "^A@" sequence is not supported, but there's already an @-code to perform the equivalent operation ("SHOW:20"). Rationale: when using PabloDraw to edit display (e.g. .msg) files, there was no easy way to explicitly clear (set to "normal") the current attributes at the end of a line of text. If that line of text contained a background color and the line caused the terminal to scroll, that background color would fill the next/new line resulting in some potential undesirable effects. There are 2 common solutions to this problem: either clear the screen before displaying the file (not always desirable) or clear the attributes at the end of the line (before the CR/LF). This can now be achieved by adding a @!N@ (the equivalent of Ctrl-AN for "normal" attributes) to the end of a line. There's no way to insert custom Ctrl-A sequences or other way to force PabloDraw to clear the attributes at the end of a line, that I found. I chose the '!' character because it's (on my keyboard anyway) the Shift-1 key and Ctrl-A is ASCII 1. I considered a sequence such as @A:x@, but that's one more character and since this sequence usually won't display anything, a shorter sequence is likely preferred. For the shortest-possible sequence, use Ctrl-A sequences instead. However, for many consecutive Ctrl-A sequences, the @-code equivalent might actually end up being shorter(!). @-codes aren't support in as many places in Synchronet where Ctrl-A codes are supported (for security reasons), so it's not like this is going to replace the use of Ctrl-A codes everywhere.
-
Rob Swindell authored
SEX is the user's sex/gender GENDERS is the list of system-supported genders for new users to choose from.
-
Rob Swindell authored
When this function was called multiple times (e.g. multiple messages in a pkt), it would keep appending to the current (static) string, eventually overflowing the buffer and corrupting the stack. Although reported in pktdump, it could have also happened with fmsgdump if passed multiple stored message (.msg) files. Fixes #295 reported by Nelgin
-
- Oct 05, 2021
-
-
Rob Swindell authored
I added them to solve the ANSI screen scroll background attribute fill-new line issue as I didn't want this menu to clear the screen (there could be chat lines of text after all). If this file gets edited with PabloDraw again later, this will have to be fixed again.
-
Rob Swindell authored
-
Rob Swindell authored
-
- Oct 01, 2021
-
-
Rob Swindell authored
The menu file selection priority is like this (for 40col CBM/PETSCII terminals): main.40col.seq main.seq main.40col.msg main.msg main.40col.asc main.asc so the main.msg was being chosen before main.40col.asc. Plus, these files contain ex-ASCII chars, so .msg is actually the more correct file extension anyway.
-
- Sep 25, 2021
-
-
Rob Swindell authored
Uses new @code: GENDERS parts of enhancement #291
-
Rob Swindell authored
Up to 40 characters can be configured by the sysop for gender options. The default choice/configuration is now: "M/F/X" (not just "M/F") New @-code: GENDERS text.dat EnterYourSex -> EnterYourGender Closes enhancement request #291 by Ragnarok
-
Rob Swindell authored
As discovered by Keyop and reported via IRC, when replying *to* a local mail box and *not* using the hard-coded email menu (e.g. when when using msglist.js), the original message's "Replied" attribute flag was not set. When replying to a netmail address (at least, Internet or FidoNet, unsure about QWKnetmail), the attribute would be set. This discrepancy was because this email() function doesn't use the "modern" smb_addmsg() function (which also calls smb_updatethread()), but add the message body text the old/manual way and never called smb_updatethread(). smb_updatethread() does the thread linkage stuff (which is usually unnoticed in the mail base) *and* sets the "Replied" attribute of the original message, if it's not already set. This function should be overhauled to use smb_addmsg(), but this 2-line change at least addresses this issue for now. There's probably other places (e.g. importing mail replies via QWK/REP packets) where this thread-linkage and "Replied" attribute flag setting is still not happening.
-
Rob Swindell authored
Reported by Keyop.
-
- Sep 24, 2021
-
-
Rob Swindell authored
write() chsize()
-
- Sep 23, 2021
-
-
Rob Swindell authored
Follow-up to previous commit for Keyop (extending max area tag length from 35 to 40/50 chars), when importing echolists/areas.bbs files, if the area tag is longer than 40 chars, then import it into the newsgroup name field instead (63 chars max).
-
Rob Swindell authored
Per FMail.txt: Area name This is the name of the conference. It can be up to 50 characters long. This name is often referred to as the area tag. I did not locate a FidoNet spec to contradict that and support a 35 character maximum area tag length. I think Mystic also has a 50 character area tag limit. So 50 character area tags are fine I guess. So up to 50 characters are now supported in SBBSecho and SCFG for area tags (for message and file echoes). The exception is the (new to 3.19) optional area tag stored in msgs.cnf/file.cnf is limited to 40 characters due to reserved space limitations. If you need a tag stored per sub (most sysops do not) and it needs to be longer than 40 chars, use the newsgroup name instead (limited to 63 chars). Changed at the request of Keyop via IRC.
-
- Sep 22, 2021
-
-
Randy Sommerfeld authored
-
- Sep 21, 2021
-
-
Rob Swindell authored
A name ending in a symbol (e.g. "Erich B.") would cause problems with this matching logic.
-
- Sep 19, 2021
-
-
Rob Swindell authored
Midnight Commander (mc) apparently sends requests like this for files (e.g. aliases) in the virtual root directory. Fixes another part of the reported issue #288.
-
- Sep 18, 2021
-
-
Rob Swindell authored
ftpalias() can return true even when the directory is not set to a valid directory index (i.e. set to -1), so using as an array index would definitely segfault. Part of commit 8ad30b6c by Deuce 3 years ago. I didn't test this as I'm not sure exactly the combination of ftpalias.cfg content and FTP command received that would trigger this, but it's most definitely a bug. So should fix the segfault reported in issue #288.
-
- Sep 08, 2021
-
-
Randy Sommerfeld authored
-
- Sep 07, 2021
-
-
Randy Sommerfeld authored
-
Randy Sommerfeld authored
-
- Sep 06, 2021
-
-
Rob Swindell authored
Relates to feature request #285.
-
Rob Swindell authored
Since users can (and usually do) display extended descriptions in their normal file listings anyway, it makes sense to go ahead and search them for the text (e.g. with the 'F' command from the default command shell File menu/prompt). So the "search/display extended info" prompt has been changed to just "Display extended file info" since it no longer controls whether or not the extended description is searched for the text (it always is). The FL_EXFIND was renamed to FL_EXT and only controls whether the extended info is display (the FL_FIND mode flag, always renamed, must also be specified for a find with extended info). This closes feature request #285 by Phil (@plt).
-
- Aug 30, 2021
-
-
Randy Sommerfeld authored
-
- Aug 24, 2021
-
-
Randy Sommerfeld authored
-
- Aug 18, 2021
-
-
Randy Sommerfeld authored
-
Rob Swindell authored
WWIV writes 2 lines of metadata to the beginning of its quotes.txt file created for external message editors. Its not clear yet what these lines should contain, but the first line apparently should contain a '#' character since BREdit checks for this character before deciding to throw-away/ignore these lines (don't use them for quoted text). Thanks mlong for this tip! So if the external editor is set to "WWIV CHAIN.TXT" in SCFG (even if the door doesn't need/use it), then the quotes.txt file created by Synchronet will contain the extra 2 lines. We're just writing a # to the first line and the second line is blank. This fixes reported issue #188.
-
Rob Swindell authored
Slight usability improvement.
-
- Aug 15, 2021
-
-
Rob Swindell authored
Expands to a percentage, similar to PCR (not capped at 100). Remove the failed-attempt to cap the percentage at 100 for the PCR atcode.
-
- Aug 12, 2021
-
-
Randy Sommerfeld authored
-
- Aug 10, 2021
-
-
Randy Sommerfeld authored
-
- Aug 09, 2021
-
-
Rob Swindell authored
-
Rob Swindell authored
Previously, the '*' matching pattern character could only be used as the beginning or ending character of a pattern string; for any other use, it was treated just as any other exact-match character. Now, you can have exact-match characters on both the left and right sides of the '*', so pattern matching like the following is possible: <*@gmail.com> digital*man Multiple '*'s are still not treated special (only the first/left-most '*" is), so, for example, "*blah*" will not likely produce the desired matching effect (use "blah~" instead for this case).
-
Rob Swindell authored
-
- Aug 05, 2021
-
-
Randy Sommerfeld authored
-
- Aug 01, 2021
-
-
Rob Swindell authored
By setting guest_name, guest_email, guest_location, or guest_referral to any truthy value, a prompt will be display. By setting it to a string (instead of true), that string will be displayed. I'm not sure how I feel about this kind of tri-state setting (true/false/string), but it does reduce the number of settings/options. The alternative is to have a separate boolean and string setting for each prompt (which I first considered). So, as of now: guest_name = false <- no prompt for Guest's name guest_name = "" <- no prompt for Guest's name guest_name = true (the default) <- default prompt text for Guest's name guest_name = "Enter your name, dude" <- replaces prompt text for Guest's name For enter trailing white-space and ctrl-a codes, use string literals, e.g. guest_name: "\x01hEnter your name, dude: "
-
Rob Swindell authored
guest_name = false will disable name prompt guest_email = false will disable the email address prompt guest_location = false will disable the location prompt guest_referral = false will disable the "where'd you hear about this BBS" prompt Note, at minimum, I do recommend prompting for the guest's email address so that if they send the sysop feedback (e.g. ask a question), they at least have some hope of receiving a reply.
-
- Jul 31, 2021
-
-
Rob Swindell authored
Eliminate some of the infrequent SPAM posts to the SYNCPROG conference. Maybe make this behavior configurable?
-
Rob Swindell authored
If anything, I suppose would be beep if a search fails, but really, I think beeps are kind of annoying these days. Not changing the currently selected/viewed user is likely all that's really needed to indicate a search failure.
-