From: Wietse Venema Date: Mon, 7 Jan 2002 05:00:00 +0000 (-0500) Subject: snapshot-20020107 X-Git-Tag: v1.1.0~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5781e7fbc626831b5ea8531d85020b6b65e379f2;p=thirdparty%2Fpostfix.git snapshot-20020107 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index f28d7a204..6e365ee81 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -5902,16 +5902,30 @@ Apologies for any names omitted. Security: additional run-time checks to discourage sharing of Postfix user/group ID values with other accounts. -20020104 +20020105 Cleanup: SMTPD access maps now return DUNNO (undetermined) instead of OK when a recipient address contains multiple domains (user@dom1@dom2, etcetera). Victor Duchovny, Morgan Stanley. File: smtpd/smtpd_check.c. +20020106 + Bugfix: SMTPD access maps did not handle address extensions. File: smtpd/smtpd_check.c. +20020107 + + Bugfix: postfix-script, when creating a missing maildrop + queue directory, still referenced install.cf when setting + maildrop directory group ownership; and the postfix command + did not export the setgid_group parameter to the postfix-script + shell script. Victor Duchovny. + + Bugfix: postfix-script, when creating a missing public + queue directory, did not set group ownership of the public + directory. + Open problems: Low: don't do user@domain and @domain lookups in diff --git a/postfix/RELEASE_NOTES b/postfix/RELEASE_NOTES index 4a6518901..2083cd38e 100644 --- a/postfix/RELEASE_NOTES +++ b/postfix/RELEASE_NOTES @@ -34,19 +34,16 @@ Major changes with snapshot-20020106 Simplification of the local Postfix security model. -- The world-writable maildrop directory is gone. Postfix now always - uses the set-gid postdrop command for local mail submissions. - The local mail pickup daemon is now an unprivileged process. +- No world-writable maildrop directory. Postfix now always uses + the set-gid postdrop command for local mail submissions. The + local mail pickup daemon is now an unprivileged process. -- The world-accessible pickup and queue manager server FIFOs are - gone. Postfix now uses a new set-gid postqueue command for all - the queue operations that were implemented by the Postfix sendmail - command. +- No world-accessible pickup and queue manager server FIFOs. Postfix + now uses a new set-gid postqueue command for the queue operations + that used to implemented by the Postfix sendmail command. Simplification of Postfix installation. -- The install.cf file is gone. - - All installation settings are now kept in the main.cf file, and better default settings are now generated for sendmail_path etc. diff --git a/postfix/conf/postfix-script b/postfix/conf/postfix-script index 4ba5e2f33..8bde4008a 100644 --- a/postfix/conf/postfix-script +++ b/postfix/conf/postfix-script @@ -179,7 +179,7 @@ check) mkdir maildrop || exit 1 chmod 730 maildrop || exit 1 chown $mail_owner maildrop || exit 1 - (. $config_directory/install.cf; chgrp $setgid maildrop) + chgrp $setgid_group maildrop || exit 1 } test -d pid || { $WARN creating missing Postfix pid directory @@ -200,6 +200,7 @@ check) mkdir public || exit 1 chmod 710 public || exit 1 chown $mail_owner public || exit 1 + chgrp $setgid_group public || exit 1 } test -d private || { $WARN creating missing Postfix private directory diff --git a/postfix/html/postfix.1.html b/postfix/html/postfix.1.html index e89cad987..8cfe99dec 100644 --- a/postfix/html/postfix.1.html +++ b/postfix/html/postfix.1.html @@ -9,36 +9,41 @@ POSTFIX(1) POSTFIX(1) postfix [-c config_dir] [-D] [-v] command DESCRIPTION - The postfix command controls the operation of the Postfix - mail system: start or stop the master daemon, do a health - check, and other maintenance. The command sets up a stan- - dardized environment and runs the postfix-script shell - script to do the actual work. + This command is reserved for the super-user. To submit + mail, use the Postfix sendmail command. + + The postfix command controls the operation of the Postfix + mail system: start or stop the master daemon, do a health + check, and other maintenance. + + The postfix command sets up a standardized environment and + runs the postfix-script shell script to do the actual + work. The following commands are implemented: - check Validate the Postfix mail system configuration. - Warn about bad directory/file ownership or permis- + check Validate the Postfix mail system configuration. + Warn about bad directory/file ownership or permis- sions, and create missing directories. - start Start the Postfix mail system. This also runs the + start Start the Postfix mail system. This also runs the configuration check described above. stop Stop the Postfix mail system in an orderly fashion. Running processes are allowed to terminate at their earliest convenience. - Note: in order to refresh the Postfix mail system - after a configuration change, do not use the start - and stop commands in succession. Use the reload + Note: in order to refresh the Postfix mail system + after a configuration change, do not use the start + and stop commands in succession. Use the reload command instead. abort Stop the Postfix mail system abruptly. Running pro- cesses are signaled to stop immediately. flush Force delivery: attempt to deliver every message in - the deferred mail queue. Normally, attempts to - deliver delayed mail happen at regular intervals, + the deferred mail queue. Normally, attempts to + deliver delayed mail happen at regular intervals, the interval doubling after each failed attempt. reload Re-read configuration files. Running processes ter- @@ -47,10 +52,10 @@ POSTFIX(1) POSTFIX(1) The following options are implemented: -c config_dir - Read the main.cf and master.cf configuration files - in the named directory instead of the default con- + Read the main.cf and master.cf configuration files + in the named directory instead of the default con- figuration directory. Use this to distinguish - between multiple Postfix instances on the same + between multiple Postfix instances on the same host. -D (with postfix start only) @@ -59,11 +64,11 @@ POSTFIX(1) POSTFIX(1) parameter. -v Enable verbose logging for debugging purposes. Mul- - tiple -v options make the software increasingly + tiple -v options make the software increasingly verbose. ENVIRONMENT - The postfix command sets the following environment vari- + The postfix command sets the following environment vari- ables: MAIL_CONFIG @@ -77,15 +82,15 @@ POSTFIX(1) POSTFIX(1) This is set when the -D command-line option is pre- sent. - The following configuration parameters are made available + The following configuration parameters are made available as process environment variables with the same names: command_directory - Directory with Postfix support commands (default: + Directory with Postfix support commands (default: $program_directory). daemon_directory - Directory with Postfix daemon programs (default: + Directory with Postfix daemon programs (default: $program_directory). config_directory @@ -94,12 +99,16 @@ POSTFIX(1) POSTFIX(1) queue_directory The directory with the Postfix queue directory (and - with some files needed for programs running in a + with some files needed for programs running in a chrooted environment). mail_owner - The owner of the Postfix queue and of most Postfix - processes. + The owner of Postfix queue files and of most Post- + fix processes. + + setgid_group + The group for mail submission and queue management + commands. FILES $config_directory/postfix-script, administrative commands diff --git a/postfix/man/man1/postfix.1 b/postfix/man/man1/postfix.1 index e3230a053..94df9ec52 100644 --- a/postfix/man/man1/postfix.1 +++ b/postfix/man/man1/postfix.1 @@ -14,11 +14,15 @@ Postfix control program .SH DESCRIPTION .ad .fi +This command is reserved for the super-user. To submit mail, +use the Postfix \fBsendmail\fR command. + The \fBpostfix\fR command controls the operation of the Postfix mail system: start or stop the \fBmaster\fR daemon, do a health -check, and other maintenance. The command sets up a standardized -environment and runs the \fBpostfix-script\fR shell script to -do the actual work. +check, and other maintenance. + +The \fBpostfix\fR command sets up a standardized environment and +runs the \fBpostfix-script\fR shell script to do the actual work. The following commands are implemented: .IP \fBcheck\fR @@ -87,7 +91,9 @@ shell scripts. The directory with the Postfix queue directory (and with some files needed for programs running in a chrooted environment). .IP \fBmail_owner\fR -The owner of the Postfix queue and of most Postfix processes. +The owner of Postfix queue files and of most Postfix processes. +.IP \fBsetgid_group\fR +The group for mail submission and queue management commands. .SH FILES .na .nf diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index cee1cc488..1087b5426 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -15,7 +15,7 @@ * Version of this program. */ #define VAR_MAIL_VERSION "mail_version" -#define DEF_MAIL_VERSION "Snapshot-20020106" +#define DEF_MAIL_VERSION "Snapshot-20020107" extern char *var_mail_version; /* LICENSE diff --git a/postfix/src/postfix/postfix.c b/postfix/src/postfix/postfix.c index 466118504..ce497570f 100644 --- a/postfix/src/postfix/postfix.c +++ b/postfix/src/postfix/postfix.c @@ -8,11 +8,15 @@ /* \fBpostfix\fR [\fB-c \fIconfig_dir\fR] [\fB-D\fR] [\fB-v\fR] /* \fIcommand\fR /* DESCRIPTION +/* This command is reserved for the super-user. To submit mail, +/* use the Postfix \fBsendmail\fR command. +/* /* The \fBpostfix\fR command controls the operation of the Postfix /* mail system: start or stop the \fBmaster\fR daemon, do a health -/* check, and other maintenance. The command sets up a standardized -/* environment and runs the \fBpostfix-script\fR shell script to -/* do the actual work. +/* check, and other maintenance. +/* +/* The \fBpostfix\fR command sets up a standardized environment and +/* runs the \fBpostfix-script\fR shell script to do the actual work. /* /* The following commands are implemented: /* .IP \fBcheck\fR @@ -79,7 +83,9 @@ /* The directory with the Postfix queue directory (and with some /* files needed for programs running in a chrooted environment). /* .IP \fBmail_owner\fR -/* The owner of the Postfix queue and of most Postfix processes. +/* The owner of Postfix queue files and of most Postfix processes. +/* .IP \fBsetgid_group\fR +/* The group for mail submission and queue management commands. /* FILES /* $\fBconfig_directory/postfix-script\fR, administrative commands /* SEE ALSO @@ -215,6 +221,7 @@ int main(int argc, char **argv) check_setenv(VAR_QUEUE_DIR, var_queue_dir); /* main.cf */ check_setenv(VAR_CONFIG_DIR, var_config_dir); /* main.cf */ check_setenv(VAR_MAIL_OWNER, var_mail_owner); /* main.cf */ + check_setenv(VAR_SGID_GROUP, var_sgid_group); /* main.cf */ /* * Make sure these directories exist. Run the maintenance scripts with as