uw-imap ------------------------------------------------------------------------------- University of Washington IMAP Toolkit Environment Runtime requirements: cygwin-1.7.19-3 libopenssl100-1.0.1e-1 zlib0-1.2.7-1 Build requirements: cygwin-1.7.19-3 cygport-0.11.3.4-1 bash-4.1.11-1 gcc-core-4.8.0-2 binutils-2.23.52-2 make-3.82.90-1 sed-4.2.1-3 gawk-4.0.2-1 coreutils-8.15-3 findutils-4.5.11-1 autoconf2.5-2.69-1 autoconf-12-1 automake1.13-1.13.1-1 automake-8-1 libtool-2.4.2-2 pkg-config-0.27.1-1 lndir-1.0.3-1 ... and corresponding -devel- packages from the runtime section Canonical homepage: http://www.washington.edu/imap/ Canonical download: ftp://ftp.cac.washington.edu/imap/ License: Apache License Language: C ------------------------------------------------------------------------------- Build instructions: unpack uw-imap---src.tar.bz2 if you use setup to install this src package, it will be unpacked under /usr/src automatically cd /usr/src cygport ./uw-imap--.cygport all This will create: /usr/src/uw-imap---src.tar.bz2 /usr/src/uw-imap--.tar.bz2 /usr/src/uw-imap-debuginfo--.tar.bz2 /usr/src/uw-imap-imapd--.tar.bz2 /usr/src/uw-imap-util--.tar.bz2 /usr/src/c-client--.tar.bz2 Or use 'cygport ./uw-imap.cygport prep' to get a patched source directory To find out the files included in the binary distribution, you can use "cygcheck -l uw-imap uw-imap-debuginfo uw-imap-imapd uw-imap-util c-client", or browse the listing for the appropriate version at . ------------------------------------------------------------------------------- Example how to run the imap daemon under xinetd control: Create a self-signed certificate with a 10-year expiration cd /usr/ssl/certs openssl req -new -x509 -nodes -out imapd.pem -keyout imapd.pem -days 3650 and edit the provided /etc/xinetd.d/imaps script to enable the imaps service. ------------------------------------------------------------------------------- Port Notes: ----- version uw-imap-2007f-1 --- Mon 29 Apr 21:21:27 2013 --- o Build for cygwin 1.7.19 with gcc-4.8.0 ----- version uw-imap-2007f-1 --- Thu 4 Apr 09:19:27 2013 --- o Update to latest upstream version o Build for cygwin 1.7.17 with gcc-4.5.3 (first version for cygwin 1.7.x) o Uses cygport-0.11.3 for .hint files generation o debuginfo package included o Example xinetd script included o IPv6 support ----- version uw-imap-2007-2 --- 14-03-2008 --- o Fixed packaging bug with man page symlinks ----- version uw-imap-2007-1 --- 08-03-2008 --- o New maintainer o Switched to cygport build framework o The imap daemon expects mail delivered to /var/spool/mail/ The original port used /var/mail/ o This IMAP toolkit build is build with SSL and it disables plaintext passwords unless SSL/TLS encryption is in effect (SSLTYPE=nopwd). This produces an IMAP server which is compliant with RFC 3501 security requirements. The old port was build with SSL but plaintext passwords were allowed in insecure sessions. => Check the file /usr/share/doc/uw-imap-2007/docs/SSLBUILD how to setup inetd/xinetd/certificates Original Port Notes: I've included the file "README.cygwin.txt" that came with the original port that I downloaded from sourceforge. If you encounter any issues that aren't addressed here, perhaps that file will help. Running an IMAP server: Add the following line to your /etc/inetd.conf file to run an imap server under inetd (currently in the Cygwin inetutils package): imap stream tcp nowait root /usr/sbin/imapd Note: there are also pop2d and pop3d daemons in the package to allow you to run a POP2 or POP3 server as well. To be courteous of other packages, the imapd, ipop2d, and ipop3d paths are symlinks to the actual binaries, which are prefixed with uw-. Mail is delivered to /var/mail/ Injecting mail into the system: If you need a sendmail-type program to "inject" mail from the command line into the imap system, use the tmail program. For example: From a procmail recipe that puts all of my cygwin mailing list mail into my "cygwin" imap folder: :0 wr * ^TO_cygwin@cygwin.com |/usr/bin/tmail Abe+cygwin From when I used to use fetchmail to directly inject all my mail: mda /usr/bin/tmail %T Building, History: I got a good start by grabbing the package produced by the sourceforge project at http://sourceforge.net/projects/uw-imap-cygwin. The current code at this site was a modified 2000a version of the imap toolkit as well as the (then) separate "imap-utils" package. After downloading this code and running a diff against the original UW sources, I was able to generate a patch file. This patch file helped me to understand what type of issues the original Cygwin port maintainers faced. With this in mind, I spent a few months off and on trying to track down a couple of troublesome issues that faced me while attempting to port the more recent versions in the 2001 and 2002 series. Problem #1 is that the imap toolkit was putting my INBOX into the windows system directory. Problem #2 is that the injector program "tmail" would give a strange error after I had fed it email. Tracking down the cause of problem #1 took the most time, and I eventually figured out that the code wasn't using pw_dir (the home directory) early enough. For #2, this took awhile because I didn't have the slightest clue about fork(), pipe(), and dup2()... all of which I had to figure out in finding the solution to the puzzle. Eventually, I discovered that when the tmail program got the EOF after I had fed it an email, the stream passed to the child process created by fork() was closed. Eventually, I discovered the "freopen" API, which allowed me to open the "/dev/conin" (e.g. stdin) device back up. Additional documentation is in the source distribution, in the docs directory. Original Cygwin Port Maintainers: Jim Grishaw (jgrishaw@myrealbox.com) Adrian Hall Original Author: University of Washington Mark Crispin ----- version 2002e-3 ----- Fixed CRAM-MD5 patch Fixed flockcyg.c code to be an advisory lock. ----- version 2002e-2 ----- Added c-client patch found in pine package. Point inetd entry in README.Cygwin.txt to /usr/sbin instead of /usr/local/sbin ----- version 2002e-1 ----- New version of UW imap-d. Added patches from Kevin Camera. Put /etc/passwd information back into README.Cygwin.txt. built for cygwin 1.5.2 (64 bit) ----- version 2002d-2 ----- Identical to 2002d-1, built for cygwin 1.5.0 (64 bit) ----- version 2002d-1 ----- New version of UW imap-d. Contains cygwin fixes, so we don't need to patch anymore! Added c-client devel package ----- version 2002c1-1 ----- Initial release Cygwin port maintained by: Dr. Volker Zell Original Cygwin port maintained by: Abraham Backus Please address all questions to the Cygwin mailing list at