- Feb 17, 2019
-
-
rswindell authored
Only treat an invalid QWK msg block count (<2) as an error if there is more than one msg header in the packet (stop saving so many worthless data/file/*.rep.*.bad files).
-
rswindell authored
-
rswindell authored
file lists during events.
-
rswindell authored
"read %u message scan cfg/pointers in %lu ms" The message pointer performance problems were resolved a long time ago now and this is just noise in the logs.
-
rswindell authored
reported as "Duplicate index offset", so overlapping headers means the index offset must not be an exact duplicate, so we don't report the same corrupt message parameter (its offset into the header file) 2 different ways.
-
rswindell authored
is 0 (logic moved from sbbs_t::postmsg()).
-
rswindell authored
as it is easy for a sysop to accidentally hit [D]elete and not realize it.
-
rswindell authored
-
rswindell authored
packets.
-
rswindell authored
So I created a single add_msg_ids() function (mostly migrated from postmsg.cpp) to make this incredibly easy so any/everywhere that adds a message to a message base should be able to call it. This function also creates reply-IDs (when relevant) and program ID (Fido-PID) header fields: - FIDOPID (always) - FIDOMSGID (if an echomail post) - FIDOREPLYID (if an echomail reply-post) - RFC822MSGID (always) - RFC822REPLYID (if a reply)
-
rswindell authored
-
rswindell authored
If confirm_email_address = false in the [login] section of modopts.ini, do not ask the user to confirm their email address before sending password. Do not display the email address back to the user (in case they did not already know it). Send the user a telegram for each failed login attempt (using user alias, not number). Send the user a telegram when their account info (password) was requested.
-
rswindell authored
If the user.dat file is already opened in deny-none mode (as is the norm), another process (e.g. useredit.exe) cannot simultaneously open it in exclusive mode.
-
- Feb 16, 2019
-
-
rswindell authored
the read buffer may be utilized more efficiently if you do *not* perform an (unnecessary) seek operation just before the read. By eliminating unnecessary seeks in smb_getmsgidx() and smb_getmsghdr(), I was able to reduce the time required to load 9000+ index and header records over a network (Samba/CIFS) share from 15+ seconds to less than 5.
-
rswindell authored
(blank names or internal codes) from the total saved to xtrn.cnf.
-
rswindell authored
read the entire index file in a single read operation
-
rswindell authored
This has not actually been an observed problem, but I just realized while working on smb optimizations that this condition would not be reported by chksmb.
-
- Feb 15, 2019
-
-
rswindell authored
Use more verbose names for global msgs.cnf properties (don't mimic the scfgdefs.h names).
-
rswindell authored
file-prots file-extrs file-comps file-viewers file-testers file-dlevents ... using cfglib.js (wow, that was easy!)
-
rswindell authored
locally on your BBS without using X/Y/ZMODEM (or other) actual file transfer protocols? Well, now you can. Install this simple script (using 'jsexec localcopy install') and you (sysops only) will get a new transfer protocol option for "local" file transfers, which are really just file copies between different locations on your BBS/server's file system(s) quickly and without any special terminal capabilities (e.g. X/Y/ZMODEM).
-
rswindell authored
-
rswindell authored
- loginAttemptListCount() - loginAttemptListClear() - loginAttempts() Now returns 0 on list lock faliure: loginFailure() and loginBanned().
-
rswindell authored
events when not in "appy-time".
-
rswindell authored
So now if you need to clear the failed-login/temp-ban list, just 'touch /sbbs/ctrl/clear' Other changes to the semfiles: The terminal server is now identified as "term" rather than "telnet" in the (optional) server/protocol specific semfile naming. Removed support for the old telnet.rec semfile (long deprecated).
-
rswindell authored
-
rswindell authored
-
rswindell authored
email/netmail messages. Does *not* support the "From:" kludge. I know this function needs need to be completely replaced and it's silly to have QWK kludge parsing logic in multiple places, but ugh, I didn't want to rewrite this just yet.
-
rswindell authored
sub-menus.
-
rswindell authored
internal code suffixes or grp/lib internal code prefixes. More strcpy->SAFECOPY and sprintf -> SAFEPRINTF replacements. More use of uifcYesNoOpts.
-
rswindell authored
if any sub-boards or directories have *blank* names or internal code suffixes (a sign of a corrupted configuration), exclude them from the saved subs/dirs automatically. I'm not sure how this can happen (use of cnflib.js?) - but running "scfg -f" (force save) should fix this situation. For Android8675.
-
- Feb 14, 2019
-
-
rswindell authored
DOOR.ID file created by Synchronet.
-
rswindell authored
plain-text portion (only) for MIME-encoded messages (emails). If/when there are ever QWK readers that support MIME-decoding, I'll make this behavior configurable. :-) When passing mail between QWKnet nodes, leave the original MIME-encoding in tact (if there is any).
-
rswindell authored
If the modify callback function returned a pointer *within* the list item's allocated buffer, the strcpy() would copy from potentialy free'd memory as realloc may change the location of the heap buffer when resizing. Fixed by allocating a copy of the returned pointer before freeing the original list item buffer and then just assign the allocated pointer (no copying needed). This likely will result in more heap fragmentation for modified list items are now newly-allocated buffers rather than reallocated existing buffers but the other option would have been to allocate a temporary copy of the string before reallocating and then copying and that would've been a lot more overhead than with this approach. This likely fixes any crashes seen in recent revs of v3.17c (e.g. when imported QWK or REP packets and text/*.can and the twitlist.cfg are parsed). The sighting on Vertrauen was only in the Windows build and appeared when importing QWK/REP packets.
-
- Feb 12, 2019
-
-
rswindell authored
If the attached file begins with a '^', ignore/skip that character in the file path. This should resolve the error reported by Ken of Section One BBS: ERROR line 850, attachment file not found: ^C:/SBBS/XTRN/BRE777/... SBBSecho v2.x included this work-around and it was not included in the v3 re-factoring/re-write. Of course, BRE is doing something wrong and is totally at fault here, but no one expects BRE to be fixed... ever. :-)
-
- Feb 11, 2019
-
-
rswindell authored
i've made a few adjustments to xtrn.cpp for external.bat... - remove unneeded redirection of dosemu output. still uses same log file name and stops zero byte file dosemu.log from being created in node directories. - fix faulty "keystroke" dosemu -I command. it didn't actually do the "\r" but sent it as characters to the command line. - added code for SBBS specific lredirs to be done more cleanly like dosemu's default autoexec.bat. only deletes redir if it exists. His editor also appears to have removed trailling white-space from this file, which is fine.
-
- Feb 08, 2019
-
-
rswindell authored
commit.
-
rswindell authored
-
rswindell authored
suitable for passing to findstr_in_list(). SBBSecho peformance improvement: don't open/read the twitlist.cfg file for *each* imported message: just read it once during initialization (using the new findstr_list() function of course). Reversed course on the findstr()/trashcan() matching logic: significant leading white-space was not backwards compatible (and was the cause of recent lost messages in DOVE-Net) - so I decided to go a different route and support C-style character escape sequences (e.g. \r, \n, \t, \x##, etc.) in findstr comparison strings, so the new way to represent a leading space character in a filter file (e.g. twitlist.cfg, name.can) would be: "\ ". So to match (e.g. filter/disallow) all strings with a leading space: "\ *". "\x20 *" would also work (0x20 is ASCII for "space"). Now, again, leading white-space in filter files (e.g. text/*.can, twitlist.cfg) is ignored. <sigh>
-
rswindell authored
a caller-supplied function (callback) which can modify each string or leave the string in tact by returning NULL. Shrinking strings is trivial while expanding strings (making them bigger) is a little more involved, probably using the cbdata to pass a temporary buffer around to store each expanded string or returning a new globally-valid pointer. Removed the malloc.h #include as we haven't used alloca() here for a while.
-
- Feb 05, 2019
-
-
rswindell authored
Now log a warning about unexpected messages from the server and unexpected disconnects, even when in quiet mode.
-