------------------------- Contents ------------------------- General Recent Changes Installation Changes UIDL Command Drop Line Patch ------------------------- General ------------------------- All the changes here are only tested on an OpenVMS 6.1 Alpha system with UCX 3.3 as TCP/IP stack. Use them on your own risk! The DROP_LINE_PATCH and the SEND_ORIG_HEADER option have only an effect in conjunction with the IGNORE_MAIL11_HEADERS option. All the options specified here are independent from each other. They are ifdef'ed in the source code and have only an effect when enabled at compile time. Using none of them builds the same task as the original distribution from ftp.indiana.edu. Michael Stenns (stenns@vw.tci.uni-hannover.de) ------------------------- Recent Changes ------------------------- 16-Aug-1996 change of the errno.h behavior for multinet in IUPOP3_VMS.C. 21-Aug-1996 change of valid_vms_user() to check for expired accounts. ------------------------- Installation Changes ------------------------- There are four additional make options: UIDL_EXTEND This options adds the uidl command as described in RFC 1725 to the IUPOP3 Server. See section below. DROP_LINE_PATCH This option adds a patch from Rick Westerman and Karol Zielonko to avoid lost lines under some circumstances. Use it in conjunction with the IGNORE_MAIL11_HEADERS option. SEND_ORIG_HEADER This may be only of interrest for UCX users. If not configured otherwise UCX puts the original mail header behind the message after the line "================== RFC 822 Headers ==================". When compiled with this option IUPOP3 reads an internet mail twice. On first read it sends the records after the above line, then the rest. Use it in conjunction with the IGNORE_MAIL11_HEADERS option. MAIL_FOLDER Normally, IUPOP3 users see only the NEWMAIL folder of VMS Mail. With this option IUPOP3 shows the NEWMAIL folder if new mails exists and the MAIL folder otherwise. Examples: $ @MAKE UCX MMS "IGNORE_MAIL11_HEADERS, DROP_LINE_PATCH, UIDL_EXTEND" $ @MAKE "" "" "IGNORE_MAIL11_HEADERS, MAIL_FOLDER, SEND_ORIG_HEADER" DROP_LINE_PATCH and UIDL_EXTEND are enabled by default in MAKE.COM. You have to edit this file if you don't like them! ================================================================== UIDL_EXTEND and DROP_LINE_PATCH are enabled by default in MAKE.COM. Edit MAKE.COM if you don't want this! ================================================================== ------------------------- UIDL Command ------------------------- Hello, this file describes the changes between the original distribution of IUPOP3 version 1.8-1 and this version. The original files are found in /pub/vms/iupop3/v1.8 on ftp.indiana.edu. IUPOP3 implements an POP3 Server based on RFC 1460, which was superseded by RFC 1725. The changes made here add the UIDL command as described in RFC 1725 to the IUPOP3 server. The UIDL command is used by some newer clients like the netscape navigator and the microsoft internet mail. On servers without the uidl command the mail is always deleted by these clients. Changes are in following files: MAKE.COM IUPOP3.MMS IUPOP3_GENERAL.H VERSION.H IUPOP3_COMMANDS.C IUPOP3_UTILITY.C IUPOP3_VMS.C Added files: RFC1725.TXT RFC1734.TXT Use this version on your own risk! It was tested only on OpenVMS 6.1/ALPHA with UCX Version V3.3! ---- Details: The following lines are from RFC1725.TXT: The unique-id of a message is an arbitrary server-determined string, consisting of characters in the range 0x21 to 0x7E, which uniquely identifies a message within a maildrop and which persists across sessions. The server should never reuse an unique-id in a given maildrop, for as long as the entity using the unique-id exists. I used the user name and the arrival date of a mail message for building the unique-id string. The large number at the end of the string is directly build from the quadword binary value of the message arrival date. This should be unique to each mail on the system for a given user. This is an example response to the UIDL Command from RFC 1725: Examples: C: UIDL S: +OK S: 1 whqtswO00WBw418f9t5JxYwZ S: 2 QhdPYR:00WBw1Ph7x7 S: . This is an example response from the modified IUPOP3 server: Examples: C: UIDL S: +OK S: 1 user_10112310281319730 S: 2 user_101123212694823619 S: . good luck Michael ------------------------- Drop Line Patch ------------------------- The following lines are from a letter from Rick Westerman (westerm@purdue.edu) to B. Pauwels (bpwl@sbc.picanol.be): [snip] The following is a bug fix by Karol Zielonko (zielonko@ucx.lkg.dec.com) and myself. If you have been following the 'iupop3' mailing list for the last couple of weeks (Apr-May, 1996) then you have already seen the fix. This message simply ties together the various messages that Karol and myself have posted. My public thanks to Karol for pointing out how my original fix didn't take into account what would happen when it was used with multiple threads. My only defense in not noticing this problem before is that my server is very lightly loaded with a maximum of three threads running at a time. There is a bug that can corrupt BinHex attachments under certain conditions and certain releases of IUPOP3. This bug effects release 1.8 (the most recent) of IUPOP3 built with the "IGNORE_MAIL11_HEADERS" option. While the fix is simple and shouldn't effect any other parts of the program, as usual, use at your own risk. The fix requires the modification of two source files: [... Description of the fix follows] The changes affects the files IUPOP3_VMS.C and IUPOP3_GENERAL.H. I included the patch between "#ifdef DROP_LINE_PATCH" preprocessor directives. To use it, compile the source with the "DROP_LINE_PATCH" option. Michael