README revision 302408
197049SpeterThis directory contains the source files for mail.local. 297049Speter 397049SpeterThis is not intended to be used on *stock* System V derived systems such as 497049SpeterSolaris or HP-UX, since they use a totally different approach to mailboxes 597049Speter(essentially, they have a set-group-ID program rather than set-user-ID, and 697049Speterthey rely on the ability to "give away" files to do their work). 797049Speter 897049SpeterIf you choose to run *this* mail.local on these systems then you may also 997049Speterneed to replace the existing MUAs, as well as IMAP and POP servers, with 1097049Speterones that are compatible with the BSD interface. You have been warned! 1197049Speter 1297049SpeterFor systems with maillock() support, compile with -DMAILLOCK and link with 1397049Speter-lmail to use the maillock() routines. This can be accomplished in your 1497049Spetersite.config.m4 file with: 1597049Speter 1697049Speter APPENDDEF(`conf_mail_local_ENVDEF', `-DMAILLOCK') 1797049Speter APPENDDEF(`conf_mail_local_LIBS', `-lmail') 1897049Speter 1997049SpeterDefining CONTENTLENGTH (-DCONTENTLENGTH) will build a mail.local which 2097049Speteroutputs a Content-Length: header. Solaris 2.3 and later will automatically 2197049Speterinclude Content-Length: support. This can be accomplished in your 2297049Spetersite.config.m4 file with: 2397049Speter 2497049Speter APPENDDEF(`conf_mail_local_ENVDEF', `-DCONTENTLENGTH') 2597049Speter 2697049SpeterDefining MAILGID to a 'gid' (-DMAILGID=6) will cause mailboxes to be 2797049Speterwritten group writable and with group 'gid'. This can be accomplished in 2897049Speteryour site.config.m4 file with: 2997049Speter 3097049Speter APPENDDEF(`conf_mail_local_ENVDEF', `-DMAILGID=6') 3197049Speter 3297049Spetermail.local will not be installed set-user-ID root. To use it as local 3397049Speterdelivery agent without LMTP mode, use: 3497049Speter 3597049Speter MODIFY_MAILER_FLAGS(`LOCAL', `+S') 3697049Speter 3797049Speterin the .mc file. 3897049Speter 3997049SpeterDefining HASHSPOOL (-DHASHSPOOL) will build a mail.local which supports 4097049Speterdelivering to subdirectories of the mail spool, based on a hash of the 4197049Speterusername (i.e., a hash depth of 2 and a username of "user" will result in 4297049Speter/var/spool/mail/u/s/user). If the hash depth is greater than the length 4397049Speterof the username, "_" will be used. The necessary subdirectories must 4497049Speterexist; mail.local will not create them. Use the "-H" option to set the 4597049Speterhash type and depth (like "-H u2" for a username hash two levels deep). 4697049Speter 4797049SpeterThe HASHSPOOL option also adds two other options: "-p path" to specify 4897049Speteran alternate mail spool path (i.e., "-p /local/mail") and "-n" to specify 4997049Speterthat mail.local should not strip the @domain part of recipient addresses 5097049Speterin LMTP mode. 5197049Speter 5297049SpeterIn addition to HASHSPOOL, defining HASHSPOOLMD5 and linking against 5397049Speterlibcrypto from OpenSSL like: 5497049Speter 5597049Speter APPENDDEF(`conf_mail_local_ENVDEF', `-DHASHSPOOL -DHASHSPOOLMD5') 5697049Speter APPENDDEF(`conf_mail_local_LIBS', `-lcrypto') 5797049Speter 5897049Speterwill offer an alternate hash, using a base64 encoding (changing / to _) 5997049Speterof an MD5 hash of the username. This results in a more balanced 6097049Spetersubdirectory tree. The subdirectories will be named with A-Z, a-z, 0-9, 6197049Speter+, and _. The hash type is "m", so use "-H m3" to get a three level MD5 6297049Speterbased hash. 6397049Speter 6497049Speter$Revision: 8.11 $, Last updated $Date: 2003-10-20 20:19:13 $ 6597049Speter