- May 30, 2019
- May 29, 2019
- May 28, 2019
- May 27, 2019
-
-
rswindell authored
-
- May 24, 2019
-
-
rswindell authored
We don't store (findable) hostnames in the file, so don't search for them. Don't search file if the host is listed in the spamblock_exempt.cfg file. If you have a really large spamblock.cfg file, this could result in the unnecessary reading of potential many megabytes of data for each inbound SMTP connection. We might want to read this file even less frequently and store the list in a searchable str_list_t or something.
-
- May 23, 2019
-
-
deuce authored
"Application" is not a registered category. Add TerminalEmulator and Dialup categories.
-
rswindell authored
I think that > 1MB post data is supported, but the http_request.post_data property won't be created if the length > MAX_POST_LEN. Perhaps would just store the post data in a file (uh, it already is?) and expose the filename to JS scripts? It'd be a lot cleaner than storing the data in a file and then reading (or mem-mapping) the file and then copying the contents into a JS property. Allow the JS http_request.post_data property to contain NULs. open_post_file() will now open the post file (and return the FILE*) even if session->req.post_data is NULL, it just won't try to write to the file if the post_data is NULL. mem-map the large post data files using XPMAP_WRITE (read/write) rather than XPMAP_READ (read-only) - without this change, this line in read_post_data() would cause an exception: session->req.post_data[session->req.post_len]=0; Now, we seem to have the potential of an off-by-one here (if the length mem-mapped is not post_len + 1), but that isn't happening. <shrug> Fixed a couple of FILE pointer/descriptor leaks if post_to_file() failed. Changed name of post data file to SBBS_POST.*.*.data (it's not necessarily html). So now, uploads > 1MB work, but questions remain: - wouldn't PUT be a more appropriate method (than POST) for file uploads? - how can we support post_data > MAX_POST_LEN (now 4MB) in JS?
-
- May 22, 2019
-
-
rswindell authored
(don't pass a NULL pointer to fwrite() which can assert or crash).
-
rswindell authored
sub-board (if there was one) which pointed to the cut-sub.
-
rswindell authored
(or deleted) or a group of sub-boards was deleted, and any of the deleted/cut sub-boards belonged to a configured QWKnet hub, that QWKnet sub-board would end-up pointing to the next sub-board in the configuration (possibly in another message group, possibly not part of the QWKnet in question). Now, if a QWKnet sub is deleted/cut, remove it (correctly) from any QWKnet hubs using a common (new) function: remove_sub(). The bug was: the remaining sub-board pointers were moved *before* the remove-sub pointer was compared against the list of QWKnet hub subs (and NULLed), so while the effort *was* made to address this problem, it didn't actually work in practice. Thanks for the bug report.
-
- May 20, 2019
-
-
rswindell authored
not defined" exception, just report the load() exception - whatever it was (e.g. could not open load-file).
-
- May 11, 2019
-
-
rswindell authored
smb_freemsgmem(): bounce() is using a strange method of copying a message header in memory (not using smb_copymsgmem) and when it frees the message, ends up with a double-free of the 2 new smbmsg_t members (not header fields): text_subtype and text_charset.
-
- May 09, 2019
-
-
rswindell authored
- for PETSCII, this is automatic and you don't lose blink, but you do lose colored foreground when enabling a bright background ("reverse video") - for ANSI, this mode is typically referred to as "iCE colors" and disables blinking-text support - Ctrl-AE (^AE) is the new attribute code to enable bright-background (will have no effect on ANSI terminals that are not iCE color enabled) "E" is now valid in the ctrl/attr.cfg file and string values for JS console.attributes assignments, as well - Ctrl-AI (^AI) - blink - now does nothing for ANSI/ICE color terminals (blinking is not supported in combination with bright-background) - Using a new/non-standard CGA attribute bit-flag to indicate the selection of bright-background colors (BG_BRIGHT, bit 10), separate from BLINK. This change required all/most char/uchar attribute representations to be converted to int/uint. New text.dat strings: - PetTerminalDetected (renamed from PetTermDetected) - PetTerminalQ - TerminalAutoDetect - TerminalColumns - TerminalRows - TerminalMonochrome - TerminalColor - TerminalIceColor - IceColorTerminalQ This also moved the MsgCarbonCopyList definition to the end of the file for now. PETSCII reverse-video attribute fix: When a CR is sent to the terminal, the reverse-video attibute is auto-disabled so update our "current attribute" (curatr) value to match the remote. Support new printfile/putmsg mode flag: P_WRAP to force an ungraceful line-wrap (splitting) to the specified column width. If no column width is specified (0), then this mode will force an ungraceful wrap before the last terminal column where some terminals *may* auto-wrap. JS console.printfile() and printtail() methods now support an optional "orig_columns" argument, similar to console.putmsg(). Must specify P_WORDWRAP or P_WRAP for this argument to have any effect. Much improved terminal-type selection/configuration in the user defaults menu and abort (^C) at any of the yes/no prompts is now detected/handled much better (to answers to the prompted questions are not saved to the user settings).
-
rswindell authored
-
rswindell authored
passesd filename is not found - function reports the symbol was not defined rather than file not found or something similar.
-
rswindell authored
return an error value (-33, it's the magic number).
-
rswindell authored
Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation and MSVC-generated DLLs with exported functions using _cdecl calling convention ... sometimes or with some verisons of some DLLs, implib won't add the underscore prefix to the exported function name which caused the build error: Error: Unresolved external '_total_users' ... Using coff2omf instead to convert the MSVC-generated import library (sbbs.lib) to the Borland/OMF flavor works, however. I'd seen this issue before but it went away when the number of symbols in the source DLL changes. Newer versions of implib appear to *not* have this issue so when we upgrade to a newer C++Builder, this work-around will no longer be necessary.
-
- May 07, 2019
-
-
deuce authored
When the command is MLST, fp is NULL, so should not be passed to ftell().
-
- May 06, 2019
-
-
rswindell authored
backspace/delete key prompt, set the PETSCII flag in the autoterm *and* the user's setting. If a CBM/PETSCII user actually got that prompt, that means they were probably connecting to the wrong TCP port in the first place, so relying on auto-terminal won't work for them on subsequent connections. We probably should have a way to manually turn off/on PETSCII support, when needed. <sigh>
-
rswindell authored
-
rswindell authored
^U, ^P, ^T, ^K, etc. and not 0. This allows a CBM/PETSCII terminal user to actual hit their Backspace/Delete key (^T) in response to the new new-user prompt
-
rswindell authored
-
rswindell authored
- turn off the user.misc PETSCII flag (too) - don't copy the current autoterm flags into user.misc - this should no longer be necessary since the correct way to detect current terminal capabiilites is via calls to term_supports().
-
rswindell authored
- "lsaquo" and "rsaquo" (angled versions of "lsquo" and "rsquo") - "zwj" and "znnj" (zero-width joiner / non-joiner)
-
rswindell authored
So replace some strstr() calls with either (new local function) strStartWith_i() or strcasestr(), depending. strStartWith_i() return length of the matched word, so no need to sprinkle about magic numeric constants everywhere. The extra calls to strlen() are worth the code clarity / reliability, methinks. TODO: find out if there's a way to calculate the length of string-constants at compile-time (?).
-
rswindell authored
heavy-handed (performs strdup/malloc's and modifications of the strings), so a temporary hack is to perform a case-sensitive search (using the standard strstr() function) first. The results won't exactly match the traditional strstr() and the performance improvement is only for positive matches (where the correct case was guessed in the passed 'needle' string arg). TODO: re-write or copy a good/fast strcasestr() implementation for Win32 builds.
-
- May 05, 2019
-
-
rswindell authored
(e.g. with ^C).
-
rswindell authored
-
rswindell authored
in clear_convenience_ptrs() - otherwise they can be double-freed when the message (smbmsg_t) is copied with smb_copymsgmem().
-
rswindell authored
can't because it's a DOS program and the current node doesn't support it.
-
rswindell authored
(when/what is executed, or at least attempted).
-
- May 04, 2019
-
-
rswindell authored
The syntax of Multipart/Report is identical to the Multipart/Mixed content type
-
rswindell authored
subsequent parsing (e.g. fall-back to html) to fail.
-
rswindell authored
to a text/html part of a multi-part MIME encoded message if no text/plain part exists. Changed smbmsg_t.charset to smbmsg_t.text_charset. Added smbmsg_t.text_subtype (e.g. "plain" or "html"). Fixed issue with parsing parsed plain-text when the charset was the last element of the MIME-part header. MIMEDecodedPlainTextFmt text.dat line now includes the text sub-type arg
-