Bug List and Things To Do ------------------------- For Release 1.06 or later ------------------------- - Win32 Nt Service support - Win32 version - simple MAPI support - possible DLL hook for calling other program when send, receive, route - 8BITMIME support for ESMTP Enhancements ------------ - possibility to keep messages for a given site queued until a given time - ability for a normal node to send a force and XTRN on startup - ability to respond to a finger command with information about the mailbox - ability to specify a default gateway for a class of addresses via overridable destination in exceptions - overridable timeouts in exceptions - easy to read list of current connections Problems -------- - seems to stop listening for a while when large files are being transmitted - cannot get a socket sometimes when in startup group for NT - problems with connecting to the daemon when the nameservice is down General ------- - verify that the sizes of the buffers used to hold the user data are consistant across the applications - check for cyclic references in the mail headers. Outgoing Mail Queue ------------------- - multiple outgoing messages - multithread the ougoing mail queue - ability to specify a window of connections so that we do not spend needless time opening and closing connections without cause - make limits as to the maximum number of outbound and inbound connections that can be open Mls --- - need to add a check to see if the listowner is the current member - automatic timeouts on the lists, set by listowner or system admin - ability to perform maintenance remotely via mail messages - clean mode, clean mode if on user list, closed mode, and closed mode except if on list and passkey is verified Logs ---- - mechanism to switch log files - enable system to stop... necessary to switch logs; all, in, out, route - merge printf and logfile capabilites into one Install ------- - add to install program ability to uninstall - root having invalid password at startup Cannot make progress -------------------- - possible problem with leaving pop connection open when mail comes in - problems with multiple parts going to smarthost instead of nodes Release 1.06 ------------ - added code to make a backup copy of the winsmtp.ini during install - added code to moderate adds for mailing lists - added code to add and edit members of a mailing list - added code for proper moderation of moderated mailing lists - added code for base64 encoding for the autoresponder - added proper mime definitions for auto-responder messages - added extra code to identify why a dropped connection was dropped - added code to cycle through nodes with no MX record but multiple address records - added ability to force a configuration file for ars and mls, as well as asking the user if the existing one should be deleted upon deletion of the account - added ability to send files from an auto-responder as a response action without any commands being issued - added ability to specify first and last files for autoresponders - added visible indications when one of the FSMs goes into an illegal state - added link from 'listserv' to 'listserver' during installation - added forcing of unknown, root, mail-daemon, postmaster, and listserver accounts if not present - added verification of nodes used in aliases at startup - added ability to reroute mail for unknown users to a single maildrop - added ability to footnote mailing lists ('this list brought to you by...') - added ability to specify whether an auto-responder will respond to single request messages using either attachments or no attachments - added 'subs' command to listserver so that a user can find out what lists they are on - added ability to auto-responders to allow for the duplication of the message to s specified acount - added ability to log action for a auto-responder to a given file - added ability to automatically bounce a message to another party - added ability to specify owner of a mailing list - added ability to switch on whether the listowner of a list should get a copy of the mail - added local resolution of aliases to aid in the interpretation of list names - added check to make sure that the listowner is included in the group of people allowed to post to a closed list - added ability to translate the information from UUCP gateway addresses into a standard internet format without all of the path information. - added an edit field collector dialog to allow the root user to specify a reason when a message is bounced. - added ability to delete a mailing list message without rejection - added ability to specify a rejection reason for the mailing list messages - added the system mode dialog to control whether live/dialup mode - added ability to force connections every x minutes as well as to hold all of the data for the smarthost until that time - added ability to force a connection at startup and to make sure that it doesn't happen (for dialup mode it is important) - added ability to have local host send a XTRN command when forced and with dialup connections - added ability to react to a remote XTRN for a given node - added online help file - added interface to the helpfile from the dialogs and the main menu - made sure that a null nameserver will default to some value - made sure that OpenFile calls are critically sectioned - fixed problem with some systems that return ANY 5xx level error code if they do not support ESMTP. This is for legacy only and does not comply to any specification. - lowered threshold needed for succeeding to other connections - changed interfaces on dialogs so it was more apparent when add and change were being performed - changed timer resolution for queues to 5 seconds resolution - checked install program: not overwriting ini file information if the ini information is not to be updated. - changed system so that the remote end is always responsible for terminating a connection - changed manner in which the first user should be added to a list through the mailing list maintenance dialogs - changed bouncing algorithm so that the system user will only be alerted to the first time a message address is unaccessible - verified that dialog boxes are set up to limit the entries to what they can contain. - verified that a connection is maintained across connections so that we aren't opening and closing the connection prematurely - made sure that the readme.tx file is copied to the destination directory properly - fixed installation program to work well across druves - fixed problems with installations into previously existing directories - fixed problem where the users could not be modified because it would complain about the mailbox not being created. - fixed offset receiving ESMTP size count by not including received line in count - fixed problem of adding users to list that is partially full - fixed problem where the daemon seemed to be ignoring the ModeratedAdd setting for a list - fixed welcome message so that it has a better subject and gets sent after a user has been accepted - fixed problem with downgrading to SMTP and still thinking that it is okay to send the SIZE command to the destination - fixed problem where system would come to a stop because of an illegal command was entered in a given state - fixed problem accessing members that were weirdly cnamed. In the process, found problems with the MX code that were causing UAEs and fixed them. - fixed problem causing machine to stop accepting connections after a while - fixed problems with the add, modify, and delete buttons being disabled at improper times in the user dialog - fixed reporting that would make it look like name requests were going to the smart host and not the name server. - fixed problem with hitting limits for auto-responders - fixed problem with aliases to ars and ls' where the user type wouldn't be converted to the new type - fixed problem with network code and accepting connections; was not cleaning up properly and would result in a random socket closing - fixed problem where mailing lists and auto-responders occuring after forwarded types would not be reported in some of the list - fixed problem with adding more than one mailing lists and having the add users dialog seem to go into a big tizzy - fixed problem with not being able to select a proper footer for a mailing list because the configuration dialog would not enable the filename field - fixed problem of manipulating large headers in file by imposing a 50 recepient limit on outgoing messages, rest of message send afterwards - fixed problem with list expansion being reported as held message - fixed problem with new socket taking place of old socket for outgoing mail and the states were getting confused - fixed problem where footer was acting like a header for mailing lists - fixed problem with the installation routine where the date for the winsmtp.exe file wasn't being set to the current installation date - fixed problem with edit mailing list members dialog when there are no members, disables Add button if there is no address Release 1.05 ------------ - corrected version of openc.dll in archive. Caused problems in the Users dialog because it access a function that is in the new openc.dll - added ability to specify the subject for the rmail program - added a flag so that the check everytime the daemon is started can be disable. Mainly for systems like NT which have partialy qualified names. - added ESMTP support for the system with the SMTP base protocols - added support for the ESMTP SIZE command - added support for mailbox files that were in TRUE UNIX style, that is where each line ended with a LF - added proper APOP support for POP3 so that clients can send password in an encrypted form - added English equivalents to the WinSock errors. - added an option to force the daemon to try and initiate connections with remote systems in ESMTP mode, even if the signon text from the remote server does not mention the ESMTP greeting text - added support for a NULL mailbox file... a drainage hole - added support for the forwarding of mail to remote sites - added the ability to specify aliases for the inbound and outbound references to a node. Useful for firewalls. - added code to handle the auto responding of messages from users. - added code to allow easy installation over existing installation without getting rid of information from the old configuration file - added registration forms to put information in and send in - added mailing list support for the system, open/closed lists - reoriganized the registration part of the system, to make it easier to use and easier to register - added limits for forwarding/auto-responders/mailing lists - made readme.txt file uncompressed so users can read it if they have problems decoding the rest - changed the password length range to between 3 and 16 characters - fixed problem with the POP3 server not sending the +OK before logging off - fixed the tabbing order within the dialogs - fixed a problem where some users would not be able to receive mail because the daemon would be unable to start receiving the file - fixed problem with the proper syntax not bing checked when receiving a MAIL FROM or RCPT TO command from a remote site. - fixed a problem with the System Information dialog where the warning dialog would not appear if some entries were changed - fixed the length of the entries in the System Information dialog so that the buffers cannot be overflowed - fixed a problem where a UAE would occur sometimes when multiple connections appeared from remote hosts. Had to do with a linked list for asynchronous requests not being linked backwards properly. - fixed small problem with the validation of fields in the user dialog - fixed and generalized the checking for abnormal number of unliscenced users - fixed problem with parsing of addresses while transfering files. - fixed announcement that password is invalid when using a NULL mailbox. - fixed problem with the reporting of data to the log files. may have corrupted other memory in the system - fixed problem with naming of mailboxes and configuration files in the user dialog. - fixed problem with multiple to: addresses where any message past the first was not being sent because the pointer was already at the end of the file. - fixed problems with password for users not being handled properly, and disabled the visibility of the passwords. - fixed problems when an item was getting retried and it was bounced in the middle of a retry - fixed bug with early expiry of program; problem with interface to timing functions - fixed problem with installation of files to a new created directory Release 1.04 ------------ Registered Version ------------------ - added way to allow users to register, and introduced items that can only be accessed in the registered versions - added button so that the root can bounce a message from the 'retries' dialog - added ability to specify the retry level that a given node will start at - added registration information screen Shareware Version ----------------- - added check so that all items for the smarthost wait until the end of the process. - added new mode to the wrmail program to force it to treat the data sent to the program as an encapsulated file. - added ability to change the default times for the incoming messages, outgoing messages, and the connection times. - added a dynamic titlebar to allow for displaying of the number of connections - added icon to the WRMAIL program that is displayed when program is active and the 'ShowActivity' flag is on - added more complete error messages while sending and receiving files - added more information about errors when sending files - added better reporting of errors when MX records are concerned - added identification of the mailer in the messages trasmitted - added list of beta testers to the about box - added limitation force to the program startup so the program expires after 30 days - moved strings that are language dependant to the resource table - changed connection dialog box to handle more data - fixed code used to send files so that it makes sure it allows the other nodes to run, had small blocking problem. - fixed code so that it properly exits when the user forces a close - fixed problem with verify causing a GPF due to suballocator/allocator conflict - fixed outgoing messages so only one copy of the message is stored, besides in any local mailboxes - fixed problem with wrmail which would not detect bad files early enough, so that the data and the header would get confused. - fixed problem with POP3 password verification and aliased passwords, where the fully resolved alias would not be copied over with the NULL character. - fixed problem that occured if you used TELNET to try and access the server and entered data after the HELO command - fixed problem with routing table that does not have any entries - fixed problem that occured if a file was bounced and then the next item would not get sent and be deleted instead - fixed code so that the retry buffer is checked after the main outgoing files have been sent, else if always outgoing files, no retries would have occured - fixed problem that occured if there was a problem resolving a given address and one or more entries has already been marked for the smarthost - fixed problem with the resolution of the MX records; would sometimes cause messages to be deleted. - fixed problem where the selection in the routing listbox was not being set properly - fixed problem with the number of POP3 sessions being limited but not decremented, caused exhausted system resources - fixed false error reporting when part of a message is sent and part isn't. was checking for 'To:' and reporting an error if we found 'to:' - fixed a bug with some of the debug code that would cause the POP3 server to not accept connections in certain cases Release 1.03 ------------ Registered Version ------------------ - retrying of messages from the retry dialog. - added the ability to specify different modes of communication with the smart host and outside world - added downgrading of MX records to look for MX records of subnets. If a user was looking for foo.bar.net and coult not find it because it was hidden, the system can optionally look for the subnets (i.e. see if there is a mail server called bar.net with a MX record) Shareware --------- - added memory suballocation to reduce the needs of the system - added the ability to send to other hosts other than the smarthost - added use of mx records to access remote mail servers - added the ability to see how many messages are pending for each node - added the ability to specify the way to connect up with other hosts, and a useful dialog to help organize and keep track of those elements. - added the IP address into the received line to make sure that a postmaster can trace back for illegal hosts - added the ability to specify an IP number as the host in the incoming or outgoing address fields - enhanced buffering of the reception of the message (8K buffer) - enhanced displaying of default data in the system dialog - enhanced outgoing process to qualify names before sending - automatically position and highlight the first text field in the users dialog - automatically seed the mailbox field of the users dialog when a user record is selected - fixed users dialog so that the hot keys don't collide - fixed problem with not recognizing multiple arguments for the POP3 server as in 'TOP 1 4' - fixed problem with accessing mailboxes through aliases using POP3 - fixed problem where bounced messages were not including the bulk of the message do to a backwards assignment - fixed helo handshake for systems that do not return the host name on the response line after the helo message - fixed helo handshake so that we can talk to a system running ESMTP without waiting forever - fixed so that if the destination for an item is already on the retry list, it won't try and send it. - fixed small bug in the MX code that deleted an old connection and then reused the connection before the connection could be severed. The network subsystem thought the connection was closing and had problems with the new connection. - fixed outgoing mail process so that if a node is marked as inactive, any new items are not tried once before being sent to the retry queue - fixed the reporting of the connection phase to report the IP number of the connection and the IP number that the name registered to the connection is froml. - fixed problem with the router where the offset into the message envelope was not having the buffer allocated at 2n, but at n instead. This only caused a problem when the base memory limit was exceeded. - fixed initial window state so that if it is to be shown as minimized, it overrides any other settings. Release 1.02 ------------ General - added interface dialogs so that the users and the options are configurable within the daemon. Limitation is that the program must be started for the options to take effect - added lots of error messages throughout the code so that the user can better tell the reason why the daemon was unable to start. - added status information display in the main window - added code to ensure that Subject, To, From, and Date are included in every message header - added about box - added the encryption of passwords - added code to make sure that there are 'root' and 'postmaster' users whenever started up - added the 'HELP' command for interactive use - improved interface with the socket interface so that the network code yields properly, allowing another to run more effectively. Otherwise it would get stuck in a loop while writing data and waiting for the other application to read the data, but never having the chance to. - improved the retrying of files and the expiration and bouncing of those files - improved the look of the message that allows us to bounce messages to a user - made sure that aliases can only be applied towards the local machine - as there is now meaningful information in the main window, the size of the window as well as the iconic state of the window is preserved POP3 - fixed off by one error in the mailbox allocation table - fixed error with over writing the file buffers on reads and not reading in the proper amount of data on the reads through the buffer when the individual message was greater than 8K. - fixed problem with the header buffer being too small Smtp - added ability to validate the host name specified when the connection is initiated by the remote side - added option so that a forwarded message will be thought of as being sent okay (needed for old version of WinVN) - added an option (System | Retries) to allow a user to look and find out what the current retries being done by the system are - fixed problem with smtp and router that would cause one file of two that were possibly open to close the other one when it closed - fixed problem with connection attempts that would start and close before they would have a chance to complete WRmail - fixed default logfile to 'rmaillog.txt' instead of 'maillog.txt' due to conflicts with WinSmtp's logfile Release 1.01 ------------ - added POP3 server support in daemon - added automatic determination of the node name and the IP number - added support for the matching of literal names i.e.[a.b.c.d] - added proper check after 1 minute to see if connection with host couldn't be established - added flexible support for the EXPN and VRFY commands - added the -s and -f options to the command line for wrmail - improved bounces from the daemon so that the envelope is omitted in the copied message. - improved the bouncing of messages to the originating user and to the root. - improved recognition of ", (, ), <, and > in messages, especially with embedded commas - fixed code so if mailbox is locked, item is queued to be accessed again at a later date (needed for POP3 support) - fixed bug where whitespace in the line after the end of a message header would not be compressed from CR LF WS* CR LF to CR LF CR LF. - fixed retries so that they retry and expire properly - fixed logfile sharing when it is opened for the first time. - fixed the retry alogrithm so that if the daemon has problems with getting in touch with a specific node for a specific message, no more messages are sent to the node until the first one clears. - fixed a UAE that occured when a message that was being retried finally succeeded. - fixed problem where the reception of messags would not work on some systems - fixed problem that arose when the client smtp sent the quit command and immediately closed - fixed code so that when outgoing messages are processed, the names in the header are validated, but not in the incoming or bounced messages Release 1.00 ------------ Initial release.