This is a quick readme for my maildir support in Qpopper 4.0.x QPOPPER WITH MAILDIR -------------------- SETUP ----- Pass "--enable-maildrop-type=maildir" to the configure program If you want qpopper to NOT check for missing new/, cur/, and tmp/ diretories, and create them, also pass "--disable-maildir-dir-check" to configure OR In relevant config file set: set maildrop-type = maildir set check-maildir-dir = true|false EXAMPLES -------- See file: example-maildir-configure.txt NOTES ----- The Maildir feature is under development! I'm not a Maildir or qpopper programming guru, so until I mark it as stable, use at your own risk! Although it should be noted that users have reported it working fine in small and large production environments. Both with and without NFS. UIDLs If a X-UIDL header is found, it will be used. If one is not found, a UIDL will be generated from the message's filename. UIDL and STATUS headers will NOT be written to the message file no matter what. Maildir protocol requires that a message NOT be changed after it is delivered. p->drop This was a file descriptor to the maildrop for the mbox setup. Under a Maildir setup, it is not used in the same way. It is only defined when a function directly asks for it. i.e. it is set/open to the current filename/ messaage wishing to be accessed, and immediately closed when finished. BULLETINS These are not implemented yet for a Maildir setup. REPORTING A PROBLEM ------------------- Before reporting a problem to me, you should configure and run qpopper in debugging mode, and look through the generated logfile. This can potentially be VERY helpful solving your problem. To do this: 1. Pass the --enable-debugging option to the ./configure script 2. Compile qpopper as usual with make 3. Run qpopper with the -t switch, and the path to a logfile your want qpopper to write to. i.e. qpopper -t /var/log/qpopper.log 4. Connect to qpopper and cause the problem to happen. 5. Look through the log for debugging info. If reporting a problem to me, at thelittleprince@asteroid-b612.org make sure to: 1. Include a detailed description of the problem. 2. Your ./configure line 3. Your operating system/platform and version 4. Your version of qpopper 5. Your version of my patch 6. If you're using MySQL, the contents of your mysql-popper.conf file (be sure to mask out your mysql host and access info) 7. If you're using MySQL, your version of MySQL. 8. If NOT a configure/compiling problem, include all of, or relevant portions of your trace/debugging log file specified above, to me. 9. If IS a configure/compiling problem, include your config.log file OTHER STUFF ----------- New p-> struct options /* CYGNUS - What kind of maildrop? mbox/maildir */ maildrop_type MaildropType; /* CYGNUS - Check and create maildir dirs */ BOOL bCheck_maildir_dir; New MsgInfoList struct options char filename[PATH_MAX]; time_t msg_time; offset flag will be always 0 under a maildir setup Added 2 config file options: { "check-maildir-dir" , CfgBool , CfgResNone, kCHECK_MAILDIR_DIR }, { "maildrop-type" , CfgMnem , CfgResUser, kMAILDROP_TYPE }, New configure options --enable-maildrop-type=mbox sets MAILDROP_TYPE to MBOX_DROP --enable-maildrop-type=maildir sets MAILDROP_TYPE to MAILDIR_DROP if none specified set MAILDROP_TYPE to MBOX_DROP --disable-maildir-dir-check set DONT_CHECK_MAILDIR_DIR add to config.h.in #define MBOX_DROP 0 #define MAILDIR_DROP 1 -Tony thelittleprince@asteroid-b612.org