- Oct 25, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
The default terminal columns (still 0/auto) can be overridden with the 'L' command from the user defaults menu. Also increased maximum manual terminal rows setting from 99 to 999 - this involved moving the record in user.dat, though the old record value is auto-migrated.
-
Rob Swindell authored
-
Rob Swindell authored
This is useful for detecting blank records.
-
Rob Swindell authored
Putting IP addresses first.
-
Rob Swindell authored
Probably only a problem on Vertrauen, but some QWKnet nodes, for some unknown reason, like to FTP-connect multiple times concurrently and request to download a QWK packet. This creates a race condition where the QWK packet gets created/downloaded/deleted before the second FTP connection can successfully download the same file, thus logging an error "opening file " on the server (VERT). So if the pack*.now file already exists, reject the download request. "What are doing?" is what I really want to ask these nodes, but better just throw them an error response and quietly move on.
-
Rob Swindell authored
Beautification for 40 column terminals.
-
- Oct 24, 2020
-
-
Rob Swindell authored
Log the IP address first in most log messages. Condense white-space in log messages to a single space. Log the server IP address of incoming connections. (more) Intelligent email address enclosure in angle-brackets. Better duplicate address comparison (just for log message). Fix wrong order of lprintf arguments in !UNKNOWN USER log message (new bug).
-
Rob Swindell authored
Created a function to condense all white-space in a string to single space-characters (e.g. Yoda).
-
- Oct 23, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
Like the Terminal Server, don't count authenticated connections against the MaxConcurrentConnections limit. Only authenticated users with passwords (not Guest) count as authenticated connections.
-
Rob Swindell authored
When enforcing the MaxConcurrentConnections limit, don't count connections for user's with blank passwords (i.e. Guest) as authenticated.
-
Rob Swindell authored
This message can be logged when a sysop is prompted for the system password and enters it incorrectly or just disconnects. So lower the log level to DEBUG. And include the IP address that we searched for too.
-
Rob Swindell authored
This might not be so great for IPv6 connections (let me know). Also, use macro for the maximum received SMTP bad command magic number. Fix-up the sender and recipient info included in log messages in the sendmail thread too. Bumped rev to 1.735.
-
Rob Swindell authored
Weird that no mail server has ever complained; I guess they're all prettty "liberal in what they accept". Also, eliminated an unnecessary strcpy() call.
-
- Oct 22, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
And separate the saved/imported message text into body and tail (separate SMB msg data fields) automatically to exclude signatures from quoted text. As requested by Tracker1.
-
Rob Swindell authored
This allows a .sig file to contain "\n-- \n", the "standard" USENET signature delimiter, as requested by Tracker1.
-
Rob Swindell authored
-
- Oct 21, 2020
-
-
Rob Swindell authored
Removed the yield line interval (this is a questionable setting anyway). Also, made the unlimited max-connections display as "N/A" (instead of "0") in the Terminal Server config dialog.
-
Rob Swindell authored
Cleans both debug and release build dirs.
-
Rob Swindell authored
-
Rob Swindell authored
The mail (SMTP) server is a popular target of bots. Impose a maximum-concurrent-connections limit (optionally). Similar to the terminal server option, except, don't deduct the number of authenticated connections (I can add something like that if desired). The new config option is [mail] MaxConcurrentConnections in the ctrl/sbbs.ini (defaults to 0, no maximum). Fixed error responses in mail_server accept loop: was always sending POP3 error responses even if the connection was SMTP. Cleaned-up the service/port checking/logging in the mail_server accept loop: no strcmp() needed, log the protocol name (e.g. "SMTPS") instead of the service name (e.g. "submissions").
-
Rob Swindell authored
Also, if getuserdat() fails, don't count that as a failed login attempt. Also, track username and password of failed-login attempts of deleted or inactive user accounts.
-
Rob Swindell authored
When loginFailure() is called with NULL for the password argument, that indicates there was no password available (e.g. an aborted login attempt) - treat each of these as a unique (not duplicate) failed-login attempt. This'll trigger ban/filter thresholds sooner for clients that hammer servers and disconnect mid-login.
-
- Oct 17, 2020
-
-
Rob Swindell authored
At least on Windows, when realloc() is used to allocate a new buffer, guess what's in that buffer initially? undefined values. So you can't strcat() onto the end of that! Ouch. This was a fun one to track down.
-
- Oct 16, 2020
-
-
Rob Swindell authored
-
Rob Swindell authored
Also, don't truncate strings to accommodate screen width when the string contains a new-line character. This is so ScottD (from irc.synchro.net) can use TEXT:556 @-code to print the Ctrl-K menu (text.dat string) via a command shell written in Baja.
-
- Oct 15, 2020
-
-
Rob Swindell authored
Also, auto-set blank node paths in write_main_cfg() (which is called from SCFG) instead of save_cfg() and so now call write_node_cfg() *after* write_main_cfg() in save_cfg(). This should help insure we're saving sane node paths to main.cnf.
-
Rob Swindell authored
Use BIRTH instead of BDATE if you want MM/DD/YYYY (or DD/MM/YYYY) instead of MM/DD/YY or DD/MM/YY formatted birthdate display. New aliases (for consistency): BIRTHFMT -> BDATEFMT and BIRTH:<fmt> -> BDATE:<fmt>
-
Rob Swindell authored
Can't say I don't blame them, it is a little unnatural. So instead, use either MM/DD/YYYY (the default) or DD/MM/YYYY (European date mode). This required the use of a new @-code: BDATEFMT and the update of a couple of text.dat lines (in next commit).
-
Rob Swindell authored
-
- Oct 12, 2020
-
-
Rob Swindell authored
New bug, reported by Melkor (STARFRON).
-
http://[1234:1234::]Deon George authored
The host portion contains ":" after split_port_part(), resulting in a 400 error. Renaming is_legal_hostname() to is_legal_host(), since requests to webservers are to "hosts" not "hostnames".
-
- Oct 11, 2020
-
-
Rob Swindell authored
Have msgtoqwk() return a negative number upon error (e.g. blank message, failed to read to body text), which means *no* message header was written to the messages.dat file, so don't increment the record (block) counter used to create the index (NDX) file. If msgtoqwk() returns 0, that means that a header was written, but no body text (e.g. a vote message) and that is different than an error.
-
- Oct 10, 2020
-
-
Rob Swindell authored
When both Indexes (NDX files) and vote messages are included in a QWK packet (an unexpected, but valid combination), the "Record number" stored in NDX files for subs with votes would be incorrect as it did not increment when a vote message (with no body text) was added to the messages.dat file. Reported by user that was trying to use MultiMail to read a QWK packet that included both votes and indexes and "IgnoreNDX: No" in their .mmailrc file.
-
- Oct 09, 2020
-
-
Rob Swindell authored
putmsg(), used to display messages and display/menu files, will no longer pass-through the ANSI sequence ESC[c (found in some corrupted ANSI posts to fsxNet->FSX_BOT echo) to the client terminal since this will stimulate a (unwanted) response from the client. I do wonder if the outchar_esc value check should be == here instead of >=, but I'm not familiar with the string and SOS states. I wonder if any display files sent from the BBS would ever include those sequences.
-
Rob Swindell authored
No functional change with regard to the ANSI output state, just making the code easier to read. Removed the conversion of `[ and \xFA[ to \x1b[ in putmsg(). This unexplained output translation has been supported since at least v2.xx and I have no recollection of exactly why it was added. If I recall correctly, some BBS software at some point in time sent ANSI-encoded messages into message networks by translating the ESC (\x1b) character in the ANSI sequences to either ` or \xFA in the process. This "feature" seems like it would still work, but it's completely undocumented and I have no idea why it was added (and seriously doubt anyone relies on this behavior), so I'm removing it. If anyone misses this feature, I'll happily add it back, but I'm skeptical that'll happen.
-
Rob Swindell authored
-
Rob Swindell authored
When reading messages, circumvent ANSI-encoded messages by replacing the ESC character (ASCII 27) with '.'. This could be made an optional behavior if someone really wants ANSI-encoded messages to be read via smbutil. Also, allow continuous reading of 1 or more consecutive messages using the -<digit> option (no prompting).
-