From f50f7d04442daf643a032c3eee197f6a8a7ddf60 Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Fri, 21 Dec 2007 23:00:48 +0000 Subject: [PATCH] Maildir delivery for Sendmail --- mailboxes/mailboxes-lib.pl | 13 +++++++++++-- sendmail/CHANGELOG | 2 ++ sendmail/config-aix | 1 + sendmail/config-cobalt-linux | 1 + sendmail/config-coherent-linux | 1 + sendmail/config-corel-linux | 1 + sendmail/config-debian-linux | 1 + sendmail/config-debian-linux-2.1-2.2 | 1 + sendmail/config-debian-linux-3.0-* | 1 + sendmail/config-freebsd | 1 + sendmail/config-freebsd-4.0-* | 1 + sendmail/config-generic-linux | 1 + sendmail/config-gentoo-linux | 1 + sendmail/config-hpux | 1 + sendmail/config-irix | 1 + sendmail/config-macos | 1 + sendmail/config-macos-1.3-* | 1 + sendmail/config-mandrake-linux | 1 + sendmail/config-mandrake-linux-8.2 | 1 + sendmail/config-mandrake-linux-9.0-* | 1 + sendmail/config-msc-linux | 1 + sendmail/config-netbsd | 1 + sendmail/config-open-linux | 1 + sendmail/config-open-linux-2.5 | 1 + sendmail/config-open-linux-3.1e | 1 + sendmail/config-openbsd | 1 + sendmail/config-openserver | 1 + sendmail/config-osf1 | 1 + sendmail/config-redhat-linux | 1 + sendmail/config-redhat-linux-10.0-* | 1 + sendmail/config-redhat-linux-7.1-7.3 | 1 + sendmail/config-redhat-linux-7.4-9.0 | 1 + sendmail/config-slackware-linux | 1 + sendmail/config-slackware-linux-8.0 | 1 + sendmail/config-slackware-linux-8.1-* | 1 + sendmail/config-sol-linux | 1 + sendmail/config-solaris | 1 + sendmail/config-solaris-10-* | 1 + sendmail/config-solaris-7 | 1 + sendmail/config-solaris-8-9 | 1 + sendmail/config-suse-linux | 1 + sendmail/config-suse-linux-8.2-* | 1 + sendmail/config-turbo-linux | 1 + sendmail/config-united-linux | 1 + sendmail/config-unixware | 1 + sendmail/config.info | 1 + 46 files changed, 57 insertions(+), 2 deletions(-) diff --git a/mailboxes/mailboxes-lib.pl b/mailboxes/mailboxes-lib.pl index a4fd94c81..abd9d9255 100644 --- a/mailboxes/mailboxes-lib.pl +++ b/mailboxes/mailboxes-lib.pl @@ -198,10 +198,19 @@ if (!defined(@mail_style_cache)) { # Can get paths from Sendmail module config local %sconfig = &foreign_config("sendmail"); if ($sconfig{'mail_dir'}) { - return ($sconfig{'mail_dir'}, $sconfig{'mail_style'}, undef, undef); + # File under /var/mail + return ($sconfig{'mail_dir'}, + $sconfig{'mail_style'}, undef, undef); + } + elsif ($sconfig{'mail_type'}) { + # Maildir under home directory + return (undef, $sconfig{'mail_style'}, + undef, $sconfig{'mail_file'}); } else { - return (undef, $sconfig{'mail_style'}, $sconfig{'mail_file'}, undef); + # mbox under home directory + return (undef, $sconfig{'mail_style'}, + $sconfig{'mail_file'}, undef); } } elsif ($config{'mail_system'} == 0) { diff --git a/sendmail/CHANGELOG b/sendmail/CHANGELOG index a1383052b..9024d8bc3 100644 --- a/sendmail/CHANGELOG +++ b/sendmail/CHANGELOG @@ -29,3 +29,5 @@ Cleaned up the code and UIs for all mapping lists, to fit in better with the Web ---- Changes since 1.300 ---- The count of messages in the mail queue on the module's main page no longer includes those that the current user does not have access to. Added access control for the Spam Control page. +---- Changes since 1.390 ---- +Added a Module Config option to support ~/Maildir mailboxes (even though Sendmail doesn't support this natively). diff --git a/sendmail/config-aix b/sendmail/config-aix index b926996cc..0fe237362 100644 --- a/sendmail/config-aix +++ b/sendmail/config-aix @@ -27,3 +27,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-cobalt-linux b/sendmail/config-cobalt-linux index 8ec116b93..c35307b1b 100644 --- a/sendmail/config-cobalt-linux +++ b/sendmail/config-cobalt-linux @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-coherent-linux b/sendmail/config-coherent-linux index 45c58f1ea..05374799c 100644 --- a/sendmail/config-coherent-linux +++ b/sendmail/config-coherent-linux @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-corel-linux b/sendmail/config-corel-linux index 1d2145a91..e205ec547 100644 --- a/sendmail/config-corel-linux +++ b/sendmail/config-corel-linux @@ -26,3 +26,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-debian-linux b/sendmail/config-debian-linux index 410c40e9e..1256a00ff 100644 --- a/sendmail/config-debian-linux +++ b/sendmail/config-debian-linux @@ -28,3 +28,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-debian-linux-2.1-2.2 b/sendmail/config-debian-linux-2.1-2.2 index 252fd8828..76bd28a2c 100644 --- a/sendmail/config-debian-linux-2.1-2.2 +++ b/sendmail/config-debian-linux-2.1-2.2 @@ -28,3 +28,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-debian-linux-3.0-* b/sendmail/config-debian-linux-3.0-* index 7f20f663a..e27025c99 100644 --- a/sendmail/config-debian-linux-3.0-* +++ b/sendmail/config-debian-linux-3.0-* @@ -28,3 +28,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-freebsd b/sendmail/config-freebsd index bd39eb2fa..96409e1e9 100644 --- a/sendmail/config-freebsd +++ b/sendmail/config-freebsd @@ -31,3 +31,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-freebsd-4.0-* b/sendmail/config-freebsd-4.0-* index 7a0dcef79..5aada6292 100644 --- a/sendmail/config-freebsd-4.0-* +++ b/sendmail/config-freebsd-4.0-* @@ -31,3 +31,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-generic-linux b/sendmail/config-generic-linux index 3da6fb1ce..59a466541 100755 --- a/sendmail/config-generic-linux +++ b/sendmail/config-generic-linux @@ -36,3 +36,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-gentoo-linux b/sendmail/config-gentoo-linux index ef9465b06..4a0794945 100755 --- a/sendmail/config-gentoo-linux +++ b/sendmail/config-gentoo-linux @@ -36,3 +36,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-hpux b/sendmail/config-hpux index 99df3a594..27a390486 100644 --- a/sendmail/config-hpux +++ b/sendmail/config-hpux @@ -26,3 +26,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-irix b/sendmail/config-irix index 9f1f1613d..481013d19 100644 --- a/sendmail/config-irix +++ b/sendmail/config-irix @@ -34,3 +34,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-macos b/sendmail/config-macos index 0a300de28..712b49bb7 100644 --- a/sendmail/config-macos +++ b/sendmail/config-macos @@ -31,3 +31,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-macos-1.3-* b/sendmail/config-macos-1.3-* index b96f29766..6ff73ca65 100644 --- a/sendmail/config-macos-1.3-* +++ b/sendmail/config-macos-1.3-* @@ -31,3 +31,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-mandrake-linux b/sendmail/config-mandrake-linux index 1f13cf645..c63ce83ea 100644 --- a/sendmail/config-mandrake-linux +++ b/sendmail/config-mandrake-linux @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-mandrake-linux-8.2 b/sendmail/config-mandrake-linux-8.2 index 979320f17..f51ff52b5 100644 --- a/sendmail/config-mandrake-linux-8.2 +++ b/sendmail/config-mandrake-linux-8.2 @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-mandrake-linux-9.0-* b/sendmail/config-mandrake-linux-9.0-* index ace097a41..715ae44bb 100644 --- a/sendmail/config-mandrake-linux-9.0-* +++ b/sendmail/config-mandrake-linux-9.0-* @@ -30,3 +30,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-msc-linux b/sendmail/config-msc-linux index 2ca14ad2e..2ba7a451c 100644 --- a/sendmail/config-msc-linux +++ b/sendmail/config-msc-linux @@ -27,3 +27,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-netbsd b/sendmail/config-netbsd index a721364dc..102becf93 100644 --- a/sendmail/config-netbsd +++ b/sendmail/config-netbsd @@ -31,3 +31,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-open-linux b/sendmail/config-open-linux index 2ae4cf067..27417695e 100644 --- a/sendmail/config-open-linux +++ b/sendmail/config-open-linux @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-open-linux-2.5 b/sendmail/config-open-linux-2.5 index 19af8114e..452b3e4aa 100644 --- a/sendmail/config-open-linux-2.5 +++ b/sendmail/config-open-linux-2.5 @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-open-linux-3.1e b/sendmail/config-open-linux-3.1e index 19af8114e..452b3e4aa 100644 --- a/sendmail/config-open-linux-3.1e +++ b/sendmail/config-open-linux-3.1e @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-openbsd b/sendmail/config-openbsd index c15a2d296..a06ff50ad 100644 --- a/sendmail/config-openbsd +++ b/sendmail/config-openbsd @@ -30,3 +30,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-openserver b/sendmail/config-openserver index abb769c08..28636ff49 100644 --- a/sendmail/config-openserver +++ b/sendmail/config-openserver @@ -27,3 +27,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-osf1 b/sendmail/config-osf1 index 33c7ee11f..315fb28a2 100644 --- a/sendmail/config-osf1 +++ b/sendmail/config-osf1 @@ -26,3 +26,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-redhat-linux b/sendmail/config-redhat-linux index 774f4e73d..303538e0c 100644 --- a/sendmail/config-redhat-linux +++ b/sendmail/config-redhat-linux @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-redhat-linux-10.0-* b/sendmail/config-redhat-linux-10.0-* index d8e4a4bbb..0f21957c1 100644 --- a/sendmail/config-redhat-linux-10.0-* +++ b/sendmail/config-redhat-linux-10.0-* @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-redhat-linux-7.1-7.3 b/sendmail/config-redhat-linux-7.1-7.3 index cb45aacea..1a685f0a9 100644 --- a/sendmail/config-redhat-linux-7.1-7.3 +++ b/sendmail/config-redhat-linux-7.1-7.3 @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-redhat-linux-7.4-9.0 b/sendmail/config-redhat-linux-7.4-9.0 index 45c58f1ea..05374799c 100644 --- a/sendmail/config-redhat-linux-7.4-9.0 +++ b/sendmail/config-redhat-linux-7.4-9.0 @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-slackware-linux b/sendmail/config-slackware-linux index af21b93e4..0a6061db1 100644 --- a/sendmail/config-slackware-linux +++ b/sendmail/config-slackware-linux @@ -26,3 +26,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-slackware-linux-8.0 b/sendmail/config-slackware-linux-8.0 index 3da6fb1ce..59a466541 100755 --- a/sendmail/config-slackware-linux-8.0 +++ b/sendmail/config-slackware-linux-8.0 @@ -36,3 +36,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-slackware-linux-8.1-* b/sendmail/config-slackware-linux-8.1-* index 29e423d07..1fce53de5 100755 --- a/sendmail/config-slackware-linux-8.1-* +++ b/sendmail/config-slackware-linux-8.1-* @@ -36,3 +36,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-sol-linux b/sendmail/config-sol-linux index b793d057c..b99b00adb 100644 --- a/sendmail/config-sol-linux +++ b/sendmail/config-sol-linux @@ -36,3 +36,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-solaris b/sendmail/config-solaris index 3938857a1..1ac9bada5 100644 --- a/sendmail/config-solaris +++ b/sendmail/config-solaris @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-solaris-10-* b/sendmail/config-solaris-10-* index 39590284f..5d62fc67f 100755 --- a/sendmail/config-solaris-10-* +++ b/sendmail/config-solaris-10-* @@ -34,3 +34,4 @@ columns=2 show_cmts=0 prefix_cmts=0 sendmail_smf=network/smtp:sendmail +mail_type=0 diff --git a/sendmail/config-solaris-7 b/sendmail/config-solaris-7 index 4cdb6a4c3..5d326c8be 100644 --- a/sendmail/config-solaris-7 +++ b/sendmail/config-solaris-7 @@ -35,3 +35,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-solaris-8-9 b/sendmail/config-solaris-8-9 index c6ee485ab..3168fa6f9 100644 --- a/sendmail/config-solaris-8-9 +++ b/sendmail/config-solaris-8-9 @@ -35,3 +35,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-suse-linux b/sendmail/config-suse-linux index 950d8bb2e..c5fb158bc 100644 --- a/sendmail/config-suse-linux +++ b/sendmail/config-suse-linux @@ -28,3 +28,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-suse-linux-8.2-* b/sendmail/config-suse-linux-8.2-* index 8f40a79d4..21d01c1b1 100644 --- a/sendmail/config-suse-linux-8.2-* +++ b/sendmail/config-suse-linux-8.2-* @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-turbo-linux b/sendmail/config-turbo-linux index e3161f2a8..3aa6f51c0 100644 --- a/sendmail/config-turbo-linux +++ b/sendmail/config-turbo-linux @@ -29,3 +29,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-united-linux b/sendmail/config-united-linux index 950d8bb2e..c5fb158bc 100644 --- a/sendmail/config-united-linux +++ b/sendmail/config-united-linux @@ -28,3 +28,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config-unixware b/sendmail/config-unixware index 459ef3bff..81095883a 100644 --- a/sendmail/config-unixware +++ b/sendmail/config-unixware @@ -27,3 +27,4 @@ columns=2 show_cmts=0 prefix_cmts=0 +mail_type=0 diff --git a/sendmail/config.info b/sendmail/config.info index f9ae246d0..b6caf9bc7 100644 --- a/sendmail/config.info +++ b/sendmail/config.info @@ -31,6 +31,7 @@ access_file=Source file for the access database,3,Same as DBM domains_file=Source file for the domains database,3,Same as DBM mail_dir=User mail file location,3,File under home directory mail_file=Mail file in home directory,0 +mail_type=Mail storage type,1,1-Maildir,0-mbox mail_style=Mail file directory style,4,0-mail/username,1-mail/u/username,2-mail/u/us/username,3-mail/u/s/username mail_sync=User mail file synchronization,2,create-Create with user,delete-Delete with user,modify-Rename with user smrsh_dir=SMRSH directory,3,None