From: Wietse Venema
Date: Sat, 13 Jan 2018 05:00:00 +0000 (-0500)
Subject: postfix-3.3-20180113
X-Git-Tag: v3.3.0-RC1~3
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3aa907926292a02e9f4dc941f86bd25ebca94f5;p=thirdparty%2Fpostfix.git
postfix-3.3-20180113
---
diff --git a/postfix/HISTORY b/postfix/HISTORY
index af830109e..e3b046f58 100644
--- a/postfix/HISTORY
+++ b/postfix/HISTORY
@@ -23267,3 +23267,22 @@ Apologies for any names omitted.
earlier form "From: address (name)". Files: proto/postconf.proto,
cleanup/cleanup.h, cleanup_init.c, cleanup_message.c,
mail_params.h.
+
+20180113
+
+ Bugfix: "postconf -M" commands did not warn about unused
+ name=value settings in master.cf. File: postconf/postconf.c.
+
+ Bugfix: "postconf -xM" now expands $process_name using the
+ daemon file name in master.cf, instead of the "postconf"
+ command process name. Files: postconf/postconf.h,
+ postconf/postconf_lookup.c, postconf/postconf_master.c.
+
+ Feature: read-only service_name parameter that contains the
+ master.cf service name. This allows, for example, setting
+ the syslog_name with "-o syslog_name=postfix/$service_name"
+ for the "submission" and "smtps" services. Files:
+ proto/postconf.proto global/mail_params.h, global/mail_params.c,
+ master/single_server.c, master/multi_server.c,
+ master/trigger_server.c, master/event_server.c,
+ postconf/postconf_master.c, postconf/postconf_builtin.c.
diff --git a/postfix/WISHLIST b/postfix/WISHLIST
index eb61461bb..e9ae0082d 100644
--- a/postfix/WISHLIST
+++ b/postfix/WISHLIST
@@ -6,15 +6,11 @@ Wish list:
Disable -DSNAPSHOT and -DNONPROD in makedefs.
+ Add $smtpd_sender_login_maps to proxy_read_maps.
+
After I/O error, store errno in VSTREAM object before errno
may be overwritten.
- Make the service name (daemon -n option) available as a
- main.cf style parameter. This may allow simpler configuration
- in master.cf, e.g., syslog_name=postfix/$name/smtpd.
-
- Add $smtpd_sender_login_maps to proxy_read_maps.
-
Add some tips for logging from container:
https://www.projectatomic.io/blog/2016/10/playing-with-docker-logging/;
syslog_name = $myhostname/postfix; mkdir queue and data
diff --git a/postfix/html/anvil.8.html b/postfix/html/anvil.8.html
index c65d26a40..9ee797b57 100644
--- a/postfix/html/anvil.8.html
+++ b/postfix/html/anvil.8.html
@@ -208,6 +208,12 @@ ANVIL(8) ANVIL(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
smtpd(8), Postfix SMTP server
postconf(5), configuration parameters
diff --git a/postfix/html/bounce.8.html b/postfix/html/bounce.8.html
index 0a7a36ce7..3c8da1e53 100644
--- a/postfix/html/bounce.8.html
+++ b/postfix/html/bounce.8.html
@@ -148,6 +148,12 @@ BOUNCE(8) BOUNCE(8)
Detect that a message requires SMTPUTF8 support for the speci-
fied mail origin classes.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
/var/spool/postfix/bounce/* non-delivery records
/var/spool/postfix/defer/* non-delivery records
diff --git a/postfix/html/cleanup.8.html b/postfix/html/cleanup.8.html
index bc313acb5..544aac00c 100644
--- a/postfix/html/cleanup.8.html
+++ b/postfix/html/cleanup.8.html
@@ -480,7 +480,15 @@ CLEANUP(8) CLEANUP(8)
Available in Postfix version 2.1 and later:
enable_original_recipient (yes)
- Enable support for the X-Original-To message header.
+ Enable support for the original recipient address after an
+ address is rewritten to a different address (for example with
+ aliasing or with canonical mapping).
+
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
FILES
/etc/postfix/canonical*, canonical mapping table
diff --git a/postfix/html/defer.8.html b/postfix/html/defer.8.html
index 0a7a36ce7..3c8da1e53 100644
--- a/postfix/html/defer.8.html
+++ b/postfix/html/defer.8.html
@@ -148,6 +148,12 @@ BOUNCE(8) BOUNCE(8)
Detect that a message requires SMTPUTF8 support for the speci-
fied mail origin classes.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
/var/spool/postfix/bounce/* non-delivery records
/var/spool/postfix/defer/* non-delivery records
diff --git a/postfix/html/discard.8.html b/postfix/html/discard.8.html
index 860465287..ff9a16be6 100644
--- a/postfix/html/discard.8.html
+++ b/postfix/html/discard.8.html
@@ -93,6 +93,12 @@ DISCARD(8) DISCARD(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
qmgr(8), queue manager
bounce(8), delivery status reports
diff --git a/postfix/html/dnsblog.8.html b/postfix/html/dnsblog.8.html
index b4ad67efe..cbd1064da 100644
--- a/postfix/html/dnsblog.8.html
+++ b/postfix/html/dnsblog.8.html
@@ -71,6 +71,12 @@ DNSBLOG(8) DNSBLOG(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
smtpd(8), Postfix SMTP server
postconf(5), configuration parameters
diff --git a/postfix/html/error.8.html b/postfix/html/error.8.html
index 40ff26441..9a2243fa0 100644
--- a/postfix/html/error.8.html
+++ b/postfix/html/error.8.html
@@ -106,6 +106,12 @@ ERROR(8) ERROR(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
qmgr(8), queue manager
bounce(8), delivery status reports
diff --git a/postfix/html/flush.8.html b/postfix/html/flush.8.html
index cda6a6a2e..7a5a26bec 100644
--- a/postfix/html/flush.8.html
+++ b/postfix/html/flush.8.html
@@ -138,6 +138,12 @@ FLUSH(8) FLUSH(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
/var/spool/postfix/flush, "fast flush" logfiles.
diff --git a/postfix/html/lmtp.8.html b/postfix/html/lmtp.8.html
index 2dd0d2bfd..68ab8d2b5 100644
--- a/postfix/html/lmtp.8.html
+++ b/postfix/html/lmtp.8.html
@@ -879,6 +879,12 @@ SMTP(8) SMTP(8)
smtp_tcp_port (smtp)
The default TCP port that the Postfix SMTP client connects to.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
generic(5), output address rewriting
header_checks(5), message header content inspection
diff --git a/postfix/html/local.8.html b/postfix/html/local.8.html
index ceec09222..d7be72e33 100644
--- a/postfix/html/local.8.html
+++ b/postfix/html/local.8.html
@@ -327,14 +327,15 @@ LOCAL(8) LOCAL(8)
Whether or not to use the local biff service.
expand_owner_alias (no)
- When delivering to an alias "aliasname" that has an
- "owner-aliasname" companion alias, set the envelope sender
- address to the expansion of the "owner-aliasname" alias.
+ When delivering to an alias "aliasname" that has an
+ "owner-aliasname" companion alias, set the envelope sender
+ address to the expansion of the "owner-aliasname" alias.
owner_request_special (yes)
- Give special treatment to owner-listname and listname-request
- address localparts: don't split such addresses when the recipi-
- ent_delimiter is set to "-".
+ Enable special treatment for owner-listname entries in the
+ aliases(5) file, and don't split owner-listname and list-
+ name-request address localparts when the recipient_delimiter is
+ set to "-".
sun_mailtool_compatibility (no)
Obsolete SUN mailtool compatibility feature.
@@ -342,62 +343,62 @@ LOCAL(8) LOCAL(8)
Available in Postfix version 2.3 and later:
frozen_delivered_to (yes)
- Update the local(8) delivery agent's idea of the Delivered-To:
- address (see prepend_delivered_header) only once, at the start
- of a delivery attempt; do not update the Delivered-To: address
+ Update the local(8) delivery agent's idea of the Delivered-To:
+ address (see prepend_delivered_header) only once, at the start
+ of a delivery attempt; do not update the Delivered-To: address
while expanding aliases or .forward files.
Available in Postfix version 2.5.3 and later:
strict_mailbox_ownership (yes)
- Defer delivery when a mailbox file is not owned by its recipi-
+ Defer delivery when a mailbox file is not owned by its recipi-
ent.
reset_owner_alias (no)
- Reset the local(8) delivery agent's idea of the owner-alias
- attribute, when delivering mail to a child alias that does not
+ Reset the local(8) delivery agent's idea of the owner-alias
+ attribute, when delivering mail to a child alias that does not
have its own owner alias.
Available in Postfix version 3.0 and later:
local_delivery_status_filter ($default_delivery_status_filter)
- Optional filter for the local(8) delivery agent to change the
- status code or explanatory text of successful or unsuccessful
+ Optional filter for the local(8) delivery agent to change the
+ status code or explanatory text of successful or unsuccessful
deliveries.
DELIVERY METHOD CONTROLS
- The precedence of local(8) delivery methods from high to low is:
+ The precedence of local(8) delivery methods from high to low is:
aliases, .forward files, mailbox_transport_maps, mailbox_transport,
- mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_direc-
+ mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_direc-
tory, fallback_transport_maps, fallback_transport, and luser_relay.
alias_maps (see 'postconf -d' output)
The alias databases that are used for local(8) delivery.
forward_path (see 'postconf -d' output)
- The local(8) delivery agent search list for finding a .forward
+ The local(8) delivery agent search list for finding a .forward
file with user-specified delivery methods.
mailbox_transport_maps (empty)
Optional lookup tables with per-recipient message delivery
- transports to use for local(8) mailbox delivery, whether or not
+ transports to use for local(8) mailbox delivery, whether or not
the recipients are found in the UNIX passwd database.
mailbox_transport (empty)
- Optional message delivery transport that the local(8) delivery
- agent should use for mailbox delivery to all local recipients,
+ Optional message delivery transport that the local(8) delivery
+ agent should use for mailbox delivery to all local recipients,
whether or not they are found in the UNIX passwd database.
mailbox_command_maps (empty)
- Optional lookup tables with per-recipient external commands to
+ Optional lookup tables with per-recipient external commands to
use for local(8) mailbox delivery.
mailbox_command (empty)
- Optional external command that the local(8) delivery agent
+ Optional external command that the local(8) delivery agent
should use for mailbox delivery.
home_mailbox (empty)
- Optional pathname of a mailbox file relative to a local(8)
+ Optional pathname of a mailbox file relative to a local(8)
user's home directory.
mail_spool_directory (see 'postconf -d' output)
@@ -409,17 +410,17 @@ LOCAL(8) LOCAL(8)
not find in the aliases(5) or UNIX password database.
fallback_transport (empty)
- Optional message delivery transport that the local(8) delivery
- agent should use for names that are not found in the aliases(5)
+ Optional message delivery transport that the local(8) delivery
+ agent should use for names that are not found in the aliases(5)
or UNIX password database.
luser_relay (empty)
- Optional catch-all destination for unknown local(8) recipients.
+ Optional catch-all destination for unknown local(8) recipients.
Available in Postfix version 2.2 and later:
command_execution_directory (empty)
- The local(8) delivery agent working directory for delivery to
+ The local(8) delivery agent working directory for delivery to
external command.
MAILBOX LOCKING CONTROLS
@@ -428,15 +429,15 @@ LOCAL(8) LOCAL(8)
mailbox file or bounce(8) logfile.
deliver_lock_delay (1s)
- The time between attempts to acquire an exclusive lock on a
+ The time between attempts to acquire an exclusive lock on a
mailbox file or bounce(8) logfile.
stale_lock_time (500s)
- The time after which a stale exclusive mailbox lockfile is
+ The time after which a stale exclusive mailbox lockfile is
removed.
mailbox_delivery_lock (see 'postconf -d' output)
- How to lock a UNIX-style local(8) mailbox before attempting
+ How to lock a UNIX-style local(8) mailbox before attempting
delivery.
RESOURCE AND RATE CONTROLS
@@ -449,20 +450,20 @@ LOCAL(8) LOCAL(8)
showq(8) queue displays.
mailbox_size_limit (51200000)
- The maximal size of any local(8) individual mailbox or maildir
+ The maximal size of any local(8) individual mailbox or maildir
file, or zero (no limit).
Implemented in the qmgr(8) daemon:
local_destination_concurrency_limit (2)
- The maximal number of parallel deliveries via the local mail
- delivery transport to the same recipient (when "local_destina-
- tion_recipient_limit = 1") or the maximal number of parallel
+ The maximal number of parallel deliveries via the local mail
+ delivery transport to the same recipient (when "local_destina-
+ tion_recipient_limit = 1") or the maximal number of parallel
deliveries to the same local domain (when "local_destina-
tion_recipient_limit > 1").
local_destination_recipient_limit (1)
- The maximal number of recipients per message delivery via the
+ The maximal number of recipients per message delivery via the
local mail delivery transport.
SECURITY CONTROLS
@@ -473,49 +474,49 @@ LOCAL(8) LOCAL(8)
Restrict local(8) mail delivery to external files.
command_expansion_filter (see 'postconf -d' output)
- Restrict the characters that the local(8) delivery agent allows
- in $name expansions of $mailbox_command and $command_execu-
+ Restrict the characters that the local(8) delivery agent allows
+ in $name expansions of $mailbox_command and $command_execu-
tion_directory.
default_privs (nobody)
- The default rights used by the local(8) delivery agent for
+ The default rights used by the local(8) delivery agent for
delivery to external file or command.
forward_expansion_filter (see 'postconf -d' output)
- Restrict the characters that the local(8) delivery agent allows
+ Restrict the characters that the local(8) delivery agent allows
in $name expansions of $forward_path.
Available in Postfix version 2.2 and later:
execution_directory_expansion_filter (see 'postconf -d' output)
- Restrict the characters that the local(8) delivery agent allows
+ Restrict the characters that the local(8) delivery agent allows
in $name expansions of $command_execution_directory.
Available in Postfix version 2.5.3 and later:
strict_mailbox_ownership (yes)
- Defer delivery when a mailbox file is not owned by its recipi-
+ Defer delivery when a mailbox file is not owned by its recipi-
ent.
MISCELLANEOUS CONTROLS
config_directory (see 'postconf -d' output)
- The default location of the Postfix main.cf and master.cf con-
+ The default location of the Postfix main.cf and master.cf con-
figuration files.
daemon_timeout (18000s)
- How much time a Postfix daemon process may take to handle a
+ How much time a Postfix daemon process may take to handle a
request before it is terminated by a built-in watchdog timer.
delay_logging_resolution_limit (2)
- The maximal number of digits after the decimal point when log-
+ The maximal number of digits after the decimal point when log-
ging sub-second delay values.
export_environment (see 'postconf -d' output)
- The list of environment variables that a Postfix process will
+ The list of environment variables that a Postfix process will
export to non-Postfix processes.
ipc_timeout (3600s)
- The time limit for sending or receiving information over an
+ The time limit for sending or receiving information over an
internal communication channel.
local_command_shell (empty)
@@ -523,7 +524,7 @@ LOCAL(8) LOCAL(8)
mand.
max_idle (100s)
- The maximum amount of time that an idle Postfix daemon process
+ The maximum amount of time that an idle Postfix daemon process
waits for an incoming connection before terminating voluntarily.
max_use (100)
@@ -531,8 +532,8 @@ LOCAL(8) LOCAL(8)
process will service before terminating voluntarily.
prepend_delivered_header (command, file, forward)
- The message delivery contexts where the Postfix local(8) deliv-
- ery agent prepends a Delivered-To: message header with the
+ The message delivery contexts where the Postfix local(8) deliv-
+ ery agent prepends a Delivered-To: message header with the
address that the mail was delivered to.
process_id (read-only)
@@ -542,15 +543,15 @@ LOCAL(8) LOCAL(8)
The process name of a Postfix command or daemon process.
propagate_unmatched_extensions (canonical, virtual)
- What address lookup tables copy an address extension from the
+ What address lookup tables copy an address extension from the
lookup key to the lookup result.
queue_directory (see 'postconf -d' output)
The location of the Postfix top-level queue directory.
recipient_delimiter (empty)
- The set of characters that can separate a user name from its
- extension (example: user+foo), or a .forward file name from its
+ The set of characters that can separate a user name from its
+ extension (example: user+foo), or a .forward file name from its
extension (example: .forward+foo).
require_home_directory (no)
@@ -561,16 +562,20 @@ LOCAL(8) LOCAL(8)
The syslog facility of Postfix logging.
syslog_name (see 'postconf -d' output)
- A prefix that is prepended to the process name in syslog
+ A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
Available in Postfix version 3.3 and later:
enable_original_recipient (yes)
- Enable support for the original recipient address after an
- address is rewritten to a different address (for example with
+ Enable support for the original recipient address after an
+ address is rewritten to a different address (for example with
aliasing or with canonical mapping).
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
The following are examples; details differ between systems.
$HOME/.forward, per-user aliasing
diff --git a/postfix/html/master.8.html b/postfix/html/master.8.html
index 6945e059f..47bf1e01d 100644
--- a/postfix/html/master.8.html
+++ b/postfix/html/master.8.html
@@ -143,11 +143,12 @@ MASTER(8) MASTER(8)
or accepting connections.
import_environment (see 'postconf -d' output)
- The list of environment parameters that a Postfix process will
- import from a non-Postfix parent process.
+ The list of environment parameters that a privileged Postfix
+ process will import from a non-Postfix parent process, or
+ name=value environment overrides.
mail_owner (postfix)
- The UNIX system account that owns the Postfix queue and most
+ The UNIX system account that owns the Postfix queue and most
Postfix daemon processes.
process_id (read-only)
@@ -163,9 +164,15 @@ MASTER(8) MASTER(8)
The syslog facility of Postfix logging.
syslog_name (see 'postconf -d' output)
- A prefix that is prepended to the process name in syslog
+ A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
To expand the directory names below into their actual values, use the
command "postconf config_directory" etc.
diff --git a/postfix/html/oqmgr.8.html b/postfix/html/oqmgr.8.html
index eb35e3ac9..b0ef89c97 100644
--- a/postfix/html/oqmgr.8.html
+++ b/postfix/html/oqmgr.8.html
@@ -376,6 +376,12 @@ OQMGR(8) OQMGR(8)
After sending a "your message is delayed" notification, inform
the sender when the delay clears up.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
/var/spool/postfix/incoming, incoming queue
/var/spool/postfix/active, active queue
diff --git a/postfix/html/pickup.8.html b/postfix/html/pickup.8.html
index 59ae1707a..cbb8cc68c 100644
--- a/postfix/html/pickup.8.html
+++ b/postfix/html/pickup.8.html
@@ -92,6 +92,12 @@ PICKUP(8) PICKUP(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
cleanup(8), message canonicalization
sendmail(1), Sendmail-compatible interface
diff --git a/postfix/html/pipe.8.html b/postfix/html/pipe.8.html
index 0c8dcf1ec..4aef6c17f 100644
--- a/postfix/html/pipe.8.html
+++ b/postfix/html/pipe.8.html
@@ -468,6 +468,10 @@ PIPE(8) PIPE(8)
address is rewritten to a different address (for example with
aliasing or with canonical mapping).
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
qmgr(8), queue manager
bounce(8), delivery status reports
diff --git a/postfix/html/postconf.5.html b/postfix/html/postconf.5.html
index 5a6b8eb0e..f0e034f9d 100644
--- a/postfix/html/postconf.5.html
+++ b/postfix/html/postconf.5.html
@@ -10035,6 +10035,17 @@ submit mail into the Postfix queue.
+
+
+service_name
+(read-only)
+
+
+The master.cf service name of a Postfix daemon process, or the
+process name of a non-daemon process.
+
+
+
service_throttle_time
diff --git a/postfix/html/postscreen.8.html b/postfix/html/postscreen.8.html
index 71802ff84..d41e03d1c 100644
--- a/postfix/html/postscreen.8.html
+++ b/postfix/html/postscreen.8.html
@@ -397,6 +397,12 @@ POSTSCREEN(8) POSTSCREEN(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
smtpd(8), Postfix SMTP server
tlsproxy(8), Postfix TLS proxy server
@@ -412,7 +418,7 @@ POSTSCREEN(8) POSTSCREEN(8)
HISTORY
This service was introduced with Postfix version 2.8.
- Many ideas in postscreen(8) were explored in earlier work by Michael
+ Many ideas in postscreen(8) were explored in earlier work by Michael
Tokarev, in OpenBSD spamd, and in MailChannels Traffic Control.
AUTHOR(S)
diff --git a/postfix/html/proxymap.8.html b/postfix/html/proxymap.8.html
index 488a60550..158f30197 100644
--- a/postfix/html/proxymap.8.html
+++ b/postfix/html/proxymap.8.html
@@ -189,6 +189,12 @@ PROXYMAP(8) PROXYMAP(8)
The lookup tables that the proxymap(8) server is allowed to
access for the read-write service.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
postconf(5), configuration parameters
master(5), generic daemon options
diff --git a/postfix/html/qmgr.8.html b/postfix/html/qmgr.8.html
index 8d68a440a..a6ab0654c 100644
--- a/postfix/html/qmgr.8.html
+++ b/postfix/html/qmgr.8.html
@@ -453,6 +453,12 @@ QMGR(8) QMGR(8)
After sending a "your message is delayed" notification, inform
the sender when the delay clears up.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
/var/spool/postfix/incoming, incoming queue
/var/spool/postfix/active, active queue
diff --git a/postfix/html/qmqpd.8.html b/postfix/html/qmqpd.8.html
index 06811bdfc..0fc684e87 100644
--- a/postfix/html/qmqpd.8.html
+++ b/postfix/html/qmqpd.8.html
@@ -160,6 +160,12 @@ QMQPD(8) QMQPD(8)
Enable logging of the remote QMQP client port in addition to the
hostname and IP address.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
http://cr.yp.to/proto/qmqp.html, QMQP protocol
cleanup(8), message canonicalization
diff --git a/postfix/html/scache.8.html b/postfix/html/scache.8.html
index 00f71833f..4b8e5976b 100644
--- a/postfix/html/scache.8.html
+++ b/postfix/html/scache.8.html
@@ -129,6 +129,12 @@ SCACHE(8) SCACHE(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
smtp(8), SMTP client
postconf(5), configuration parameters
diff --git a/postfix/html/showq.8.html b/postfix/html/showq.8.html
index 20f58f172..a0c3534f4 100644
--- a/postfix/html/showq.8.html
+++ b/postfix/html/showq.8.html
@@ -90,6 +90,12 @@ SHOWQ(8) SHOWQ(8)
enable_long_queue_ids (no)
Enable long, non-repeating, queue IDs (queue file names).
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
/var/spool/postfix, queue directories
diff --git a/postfix/html/smtp.8.html b/postfix/html/smtp.8.html
index 2dd0d2bfd..68ab8d2b5 100644
--- a/postfix/html/smtp.8.html
+++ b/postfix/html/smtp.8.html
@@ -879,6 +879,12 @@ SMTP(8) SMTP(8)
smtp_tcp_port (smtp)
The default TCP port that the Postfix SMTP client connects to.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
generic(5), output address rewriting
header_checks(5), message header content inspection
diff --git a/postfix/html/smtpd.8.html b/postfix/html/smtpd.8.html
index 2e52d3291..527d0873b 100644
--- a/postfix/html/smtpd.8.html
+++ b/postfix/html/smtpd.8.html
@@ -1279,6 +1279,12 @@ SMTPD(8) SMTPD(8)
Enable logging of the remote SMTP client port in addition to the
hostname and IP address.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
anvil(8), connection/rate limiting
cleanup(8), message canonicalization
diff --git a/postfix/html/spawn.8.html b/postfix/html/spawn.8.html
index 0851aaa02..77a54ad31 100644
--- a/postfix/html/spawn.8.html
+++ b/postfix/html/spawn.8.html
@@ -121,6 +121,12 @@ SPAWN(8) SPAWN(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
postconf(5), configuration parameters
master(8), process manager
diff --git a/postfix/html/tlsmgr.8.html b/postfix/html/tlsmgr.8.html
index ced9f6c29..54cfa3609 100644
--- a/postfix/html/tlsmgr.8.html
+++ b/postfix/html/tlsmgr.8.html
@@ -149,6 +149,12 @@ TLSMGR(8) TLSMGR(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
smtp(8), Postfix SMTP client
smtpd(8), Postfix SMTP server
diff --git a/postfix/html/tlsproxy.8.html b/postfix/html/tlsproxy.8.html
index 54c6a3e9e..15e8cab78 100644
--- a/postfix/html/tlsproxy.8.html
+++ b/postfix/html/tlsproxy.8.html
@@ -194,6 +194,12 @@ TLSPROXY(8) TLSPROXY(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
postscreen(8), Postfix zombie blocker
smtpd(8), Postfix SMTP server
diff --git a/postfix/html/trace.8.html b/postfix/html/trace.8.html
index 0a7a36ce7..3c8da1e53 100644
--- a/postfix/html/trace.8.html
+++ b/postfix/html/trace.8.html
@@ -148,6 +148,12 @@ BOUNCE(8) BOUNCE(8)
Detect that a message requires SMTPUTF8 support for the speci-
fied mail origin classes.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
FILES
/var/spool/postfix/bounce/* non-delivery records
/var/spool/postfix/defer/* non-delivery records
diff --git a/postfix/html/trivial-rewrite.8.html b/postfix/html/trivial-rewrite.8.html
index 447a46dcb..b0aa38bba 100644
--- a/postfix/html/trivial-rewrite.8.html
+++ b/postfix/html/trivial-rewrite.8.html
@@ -298,6 +298,12 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
Log warnings about problematic configuration settings, and pro-
vide helpful suggestions.
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
postconf(5), configuration parameters
transport(5), transport table format
diff --git a/postfix/html/verify.8.html b/postfix/html/verify.8.html
index 4f302434c..c2332b2f4 100644
--- a/postfix/html/verify.8.html
+++ b/postfix/html/verify.8.html
@@ -205,6 +205,12 @@ VERIFY(8) VERIFY(8)
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+ Available in Postfix 3.3 and later:
+
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
smtpd(8), Postfix SMTP server
cleanup(8), enqueue Postfix message
diff --git a/postfix/html/virtual.8.html b/postfix/html/virtual.8.html
index 4af7d86a5..737cc60f9 100644
--- a/postfix/html/virtual.8.html
+++ b/postfix/html/virtual.8.html
@@ -276,6 +276,10 @@ VIRTUAL(8) VIRTUAL(8)
address is rewritten to a different address (for example with
aliasing or with canonical mapping).
+ service_name (read-only)
+ The master.cf service name of a Postfix daemon process, or the
+ process name of a non-daemon process.
+
SEE ALSO
qmgr(8), queue manager
bounce(8), delivery status reports
@@ -291,15 +295,15 @@ VIRTUAL(8) VIRTUAL(8)
The Secure Mailer license must be distributed with this software.
HISTORY
- This delivery agent was originally based on the Postfix local delivery
- agent. Modifications mainly consisted of removing code that either was
+ This delivery agent was originally based on the Postfix local delivery
+ agent. Modifications mainly consisted of removing code that either was
not applicable or that was not safe in this context: aliases,
~user/.forward files, delivery to "|command" or to /file/name.
- The Delivered-To: message header appears in the qmail system by Daniel
+ The Delivered-To: message header appears in the qmail system by Daniel
Bernstein.
- The maildir structure appears in the qmail system by Daniel Bernstein.
+ The maildir structure appears in the qmail system by Daniel Bernstein.
AUTHOR(S)
Wietse Venema
diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5
index 97d8cd8af..b60fcb793 100644
--- a/postfix/man/man5/postconf.5
+++ b/postfix/man/man5/postconf.5
@@ -6239,6 +6239,9 @@ This feature is available in Postfix 2.9 and later.
A Sendmail compatibility feature that specifies the location of
the Postfix \fBsendmail\fR(1) command. This command can be used to
submit mail into the Postfix queue.
+.SH service_name (read\-only)
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH service_throttle_time (default: 60s)
How long the Postfix \fBmaster\fR(8) waits before forking a server that
appears to be malfunctioning.
diff --git a/postfix/man/man8/anvil.8 b/postfix/man/man8/anvil.8
index 1aaa5337d..2a43f6ff4 100644
--- a/postfix/man/man8/anvil.8
+++ b/postfix/man/man8/anvil.8
@@ -255,6 +255,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/bounce.8 b/postfix/man/man8/bounce.8
index 23b155b7c..4e1e750fd 100644
--- a/postfix/man/man8/bounce.8
+++ b/postfix/man/man8/bounce.8
@@ -131,6 +131,11 @@ Available in Postfix 3.0 and later:
.IP "\fBsmtputf8_autodetect_classes (sendmail, verify)\fR"
Detect that a message requires SMTPUTF8 support for the specified
mail origin classes.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/cleanup.8 b/postfix/man/man8/cleanup.8
index ea2108a5e..c9c645348 100644
--- a/postfix/man/man8/cleanup.8
+++ b/postfix/man/man8/cleanup.8
@@ -424,7 +424,14 @@ records, so that, for example, "smtpd" becomes "prefix/smtpd".
.PP
Available in Postfix version 2.1 and later:
.IP "\fBenable_original_recipient (yes)\fR"
-Enable support for the X\-Original\-To message header.
+Enable support for the original recipient address after an
+address is rewritten to a different address (for example with
+aliasing or with canonical mapping).
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/discard.8 b/postfix/man/man8/discard.8
index 2932947ff..b2042c855 100644
--- a/postfix/man/man8/discard.8
+++ b/postfix/man/man8/discard.8
@@ -90,6 +90,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/dnsblog.8 b/postfix/man/man8/dnsblog.8
index fe6eb5b93..60759da82 100644
--- a/postfix/man/man8/dnsblog.8
+++ b/postfix/man/man8/dnsblog.8
@@ -70,6 +70,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/error.8 b/postfix/man/man8/error.8
index 5b8481e61..815cb2cc7 100644
--- a/postfix/man/man8/error.8
+++ b/postfix/man/man8/error.8
@@ -100,6 +100,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/flush.8 b/postfix/man/man8/flush.8
index abfaee250..f22424b5f 100644
--- a/postfix/man/man8/flush.8
+++ b/postfix/man/man8/flush.8
@@ -130,6 +130,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/local.8 b/postfix/man/man8/local.8
index baac83c89..ce4c8fd16 100644
--- a/postfix/man/man8/local.8
+++ b/postfix/man/man8/local.8
@@ -395,13 +395,14 @@ The text below provides only a parameter summary. See
.IP "\fBbiff (yes)\fR"
Whether or not to use the local biff service.
.IP "\fBexpand_owner_alias (no)\fR"
-When delivering to an alias "aliasname" that has an "owner\-aliasname"
-companion alias, set the envelope sender address to the expansion
-of the "owner\-aliasname" alias.
+When delivering to an alias "\fIaliasname\fR" that has an
+"owner\-\fIaliasname\fR" companion alias, set the envelope sender
+address to the expansion of the "owner\-\fIaliasname\fR" alias.
.IP "\fBowner_request_special (yes)\fR"
-Give special treatment to owner\-listname and listname\-request
-address localparts: don't split such addresses when the
-recipient_delimiter is set to "\-".
+Enable special treatment for owner\-\fIlistname\fR entries in the
+\fBaliases\fR(5) file, and don't split owner\-\fIlistname\fR and
+\fIlistname\fR\-request address localparts when the recipient_delimiter
+is set to "\-".
.IP "\fBsun_mailtool_compatibility (no)\fR"
Obsolete SUN mailtool compatibility feature.
.PP
@@ -600,6 +601,9 @@ Available in Postfix version 3.3 and later:
Enable support for the original recipient address after an
address is rewritten to a different address (for example with
aliasing or with canonical mapping).
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/master.8 b/postfix/man/man8/master.8
index 58b75f829..c64b98380 100644
--- a/postfix/man/man8/master.8
+++ b/postfix/man/man8/master.8
@@ -144,8 +144,9 @@ mail on.
The Internet protocols Postfix will attempt to use when making
or accepting connections.
.IP "\fBimport_environment (see 'postconf -d' output)\fR"
-The list of environment parameters that a Postfix process will
-import from a non\-Postfix parent process.
+The list of environment parameters that a privileged Postfix
+process will import from a non\-Postfix parent process, or name=value
+environment overrides.
.IP "\fBmail_owner (postfix)\fR"
The UNIX system account that owns the Postfix queue and most Postfix
daemon processes.
@@ -160,6 +161,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/oqmgr.8 b/postfix/man/man8/oqmgr.8
index d24f14902..8599450f5 100644
--- a/postfix/man/man8/oqmgr.8
+++ b/postfix/man/man8/oqmgr.8
@@ -366,6 +366,11 @@ Available in Postfix version 3.0 and later:
.IP "\fBconfirm_delay_cleared (no)\fR"
After sending a "your message is delayed" notification, inform
the sender when the delay clears up.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/pickup.8 b/postfix/man/man8/pickup.8
index abe837062..a6dae20f5 100644
--- a/postfix/man/man8/pickup.8
+++ b/postfix/man/man8/pickup.8
@@ -100,6 +100,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/pipe.8 b/postfix/man/man8/pipe.8
index c74333cad..8727a27e0 100644
--- a/postfix/man/man8/pipe.8
+++ b/postfix/man/man8/pipe.8
@@ -446,6 +446,9 @@ Available in Postfix version 3.3 and later:
Enable support for the original recipient address after an
address is rewritten to a different address (for example with
aliasing or with canonical mapping).
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/postscreen.8 b/postfix/man/man8/postscreen.8
index 0b28e87c9..d2fcf6e6f 100644
--- a/postfix/man/man8/postscreen.8
+++ b/postfix/man/man8/postscreen.8
@@ -399,6 +399,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/proxymap.8 b/postfix/man/man8/proxymap.8
index bdf5746fc..b7ffba0d4 100644
--- a/postfix/man/man8/proxymap.8
+++ b/postfix/man/man8/proxymap.8
@@ -197,6 +197,11 @@ caches, pseudo\-random numbers).
.IP "\fBproxy_write_maps (see 'postconf -d' output)\fR"
The lookup tables that the \fBproxymap\fR(8) server is allowed to
access for the read\-write service.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/qmgr.8 b/postfix/man/man8/qmgr.8
index d26b45d52..76ce9f6a4 100644
--- a/postfix/man/man8/qmgr.8
+++ b/postfix/man/man8/qmgr.8
@@ -430,6 +430,11 @@ Available in Postfix version 3.0 and later:
.IP "\fBconfirm_delay_cleared (no)\fR"
After sending a "your message is delayed" notification, inform
the sender when the delay clears up.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/qmqpd.8 b/postfix/man/man8/qmqpd.8
index 7dfe93226..020ba505e 100644
--- a/postfix/man/man8/qmqpd.8
+++ b/postfix/man/man8/qmqpd.8
@@ -164,6 +164,11 @@ Available in Postfix version 2.5 and later:
.IP "\fBqmqpd_client_port_logging (no)\fR"
Enable logging of the remote QMQP client port in addition to
the hostname and IP address.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/scache.8 b/postfix/man/man8/scache.8
index afa1aed01..c5da8e901 100644
--- a/postfix/man/man8/scache.8
+++ b/postfix/man/man8/scache.8
@@ -131,6 +131,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/showq.8 b/postfix/man/man8/showq.8
index 431086356..0a31d5908 100644
--- a/postfix/man/man8/showq.8
+++ b/postfix/man/man8/showq.8
@@ -86,6 +86,11 @@ records, so that, for example, "smtpd" becomes "prefix/smtpd".
Available in Postfix version 2.9 and later:
.IP "\fBenable_long_queue_ids (no)\fR"
Enable long, non\-repeating, queue IDs (queue file names).
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "FILES"
.na
.nf
diff --git a/postfix/man/man8/smtp.8 b/postfix/man/man8/smtp.8
index 07bc27b56..5cd85af7f 100644
--- a/postfix/man/man8/smtp.8
+++ b/postfix/man/man8/smtp.8
@@ -765,6 +765,11 @@ found or that are unreachable.
Available with Postfix 3.2 and later:
.IP "\fBsmtp_tcp_port (smtp)\fR"
The default TCP port that the Postfix SMTP client connects to.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/smtpd.8 b/postfix/man/man8/smtpd.8
index 402460e09..4650b6dec 100644
--- a/postfix/man/man8/smtpd.8
+++ b/postfix/man/man8/smtpd.8
@@ -1110,6 +1110,11 @@ Available in Postfix version 2.5 and later:
.IP "\fBsmtpd_client_port_logging (no)\fR"
Enable logging of the remote SMTP client port in addition to
the hostname and IP address.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/spawn.8 b/postfix/man/man8/spawn.8
index 1a5fcea12..2a5fb26c9 100644
--- a/postfix/man/man8/spawn.8
+++ b/postfix/man/man8/spawn.8
@@ -125,6 +125,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/tlsmgr.8 b/postfix/man/man8/tlsmgr.8
index 66321865a..cd5aad981 100644
--- a/postfix/man/man8/tlsmgr.8
+++ b/postfix/man/man8/tlsmgr.8
@@ -152,6 +152,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/tlsproxy.8 b/postfix/man/man8/tlsproxy.8
index 87ecfac3e..149bbb3e3 100644
--- a/postfix/man/man8/tlsproxy.8
+++ b/postfix/man/man8/tlsproxy.8
@@ -190,6 +190,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/trivial-rewrite.8 b/postfix/man/man8/trivial-rewrite.8
index a85235ff7..061340260 100644
--- a/postfix/man/man8/trivial-rewrite.8
+++ b/postfix/man/man8/trivial-rewrite.8
@@ -281,6 +281,11 @@ Available in Postfix version 2.0 and later:
.IP "\fBhelpful_warnings (yes)\fR"
Log warnings about problematic configuration settings, and provide
helpful suggestions.
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/verify.8 b/postfix/man/man8/verify.8
index 3c23b5f3c..6898e241f 100644
--- a/postfix/man/man8/verify.8
+++ b/postfix/man/man8/verify.8
@@ -208,6 +208,11 @@ The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR"
A prefix that is prepended to the process name in syslog
records, so that, for example, "smtpd" becomes "prefix/smtpd".
+.PP
+Available in Postfix 3.3 and later:
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/man/man8/virtual.8 b/postfix/man/man8/virtual.8
index 7d321c0f3..025987b76 100644
--- a/postfix/man/man8/virtual.8
+++ b/postfix/man/man8/virtual.8
@@ -295,6 +295,9 @@ Available in Postfix version 3.3 and later:
Enable support for the original recipient address after an
address is rewritten to a different address (for example with
aliasing or with canonical mapping).
+.IP "\fBservice_name (read\-only)\fR"
+The master.cf service name of a Postfix daemon process, or the
+process name of a non\-daemon process.
.SH "SEE ALSO"
.na
.nf
diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto
index 9739114a2..6b779b269 100644
--- a/postfix/proto/postconf.proto
+++ b/postfix/proto/postconf.proto
@@ -8131,6 +8131,13 @@ prepend_delivered_header = forward
The process name of a Postfix command or daemon process.
+%PARAM service_name read-only
+
+
+The master.cf service name of a Postfix daemon process, or the
+process name of a non-daemon process.
+
+
%PARAM process_id read-only
diff --git a/postfix/src/anvil/anvil.c b/postfix/src/anvil/anvil.c
index b2c82ec28..48495a006 100644
--- a/postfix/src/anvil/anvil.c
+++ b/postfix/src/anvil/anvil.c
@@ -231,6 +231,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* smtpd(8), Postfix SMTP server
/* postconf(5), configuration parameters
diff --git a/postfix/src/bounce/bounce.c b/postfix/src/bounce/bounce.c
index 304775b96..826464832 100644
--- a/postfix/src/bounce/bounce.c
+++ b/postfix/src/bounce/bounce.c
@@ -119,6 +119,11 @@
/* .IP "\fBsmtputf8_autodetect_classes (sendmail, verify)\fR"
/* Detect that a message requires SMTPUTF8 support for the specified
/* mail origin classes.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* /var/spool/postfix/bounce/* non-delivery records
/* /var/spool/postfix/defer/* non-delivery records
diff --git a/postfix/src/cleanup/cleanup.c b/postfix/src/cleanup/cleanup.c
index b295d04fa..19fb1fea0 100644
--- a/postfix/src/cleanup/cleanup.c
+++ b/postfix/src/cleanup/cleanup.c
@@ -392,7 +392,14 @@
/* .PP
/* Available in Postfix version 2.1 and later:
/* .IP "\fBenable_original_recipient (yes)\fR"
-/* Enable support for the X-Original-To message header.
+/* Enable support for the original recipient address after an
+/* address is rewritten to a different address (for example with
+/* aliasing or with canonical mapping).
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* /etc/postfix/canonical*, canonical mapping table
/* /etc/postfix/virtual*, virtual mapping table
diff --git a/postfix/src/discard/discard.c b/postfix/src/discard/discard.c
index e95a6b6cc..b5d13a25f 100644
--- a/postfix/src/discard/discard.c
+++ b/postfix/src/discard/discard.c
@@ -76,6 +76,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* qmgr(8), queue manager
/* bounce(8), delivery status reports
diff --git a/postfix/src/dnsblog/dnsblog.c b/postfix/src/dnsblog/dnsblog.c
index a182798a8..eaf5dbada 100644
--- a/postfix/src/dnsblog/dnsblog.c
+++ b/postfix/src/dnsblog/dnsblog.c
@@ -58,6 +58,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* smtpd(8), Postfix SMTP server
/* postconf(5), configuration parameters
diff --git a/postfix/src/error/error.c b/postfix/src/error/error.c
index 2f40615be..0b1fd5fcc 100644
--- a/postfix/src/error/error.c
+++ b/postfix/src/error/error.c
@@ -86,6 +86,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* qmgr(8), queue manager
/* bounce(8), delivery status reports
diff --git a/postfix/src/flush/flush.c b/postfix/src/flush/flush.c
index ee93ec831..e8958c0c2 100644
--- a/postfix/src/flush/flush.c
+++ b/postfix/src/flush/flush.c
@@ -116,6 +116,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* /var/spool/postfix/flush, "fast flush" logfiles.
/* SEE ALSO
diff --git a/postfix/src/global/mail_params.c b/postfix/src/global/mail_params.c
index 8e69b9622..203e52fea 100644
--- a/postfix/src/global/mail_params.c
+++ b/postfix/src/global/mail_params.c
@@ -36,6 +36,7 @@
/* int var_event_drain;
/* int var_bundle_rcpt;
/* char *var_procname;
+/* char *var_servname;
/* int var_pid;
/* int var_ipc_timeout;
/* char *var_pid_dir;
@@ -249,6 +250,7 @@ int var_event_drain;
int var_idle_limit;
int var_bundle_rcpt;
char *var_procname;
+char *var_servname;
int var_pid;
int var_ipc_timeout;
char *var_pid_dir;
diff --git a/postfix/src/global/mail_params.h b/postfix/src/global/mail_params.h
index 41868e331..16a8e1e7f 100644
--- a/postfix/src/global/mail_params.h
+++ b/postfix/src/global/mail_params.h
@@ -2413,6 +2413,9 @@ extern char *var_proxy_write_acl;
#define VAR_PROCNAME "process_name"
extern char *var_procname;
+#define VAR_SERVNAME "service_name"
+extern char *var_servname;
+
#define VAR_PID "process_id"
extern int var_pid;
diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h
index 06b582507..c49862b9d 100644
--- a/postfix/src/global/mail_version.h
+++ b/postfix/src/global/mail_version.h
@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20180107"
+#define MAIL_RELEASE_DATE "20180113"
#define MAIL_VERSION_NUMBER "3.3"
#ifdef SNAPSHOT
diff --git a/postfix/src/local/local.c b/postfix/src/local/local.c
index dfd453fa7..cbf226110 100644
--- a/postfix/src/local/local.c
+++ b/postfix/src/local/local.c
@@ -361,13 +361,14 @@
/* .IP "\fBbiff (yes)\fR"
/* Whether or not to use the local biff service.
/* .IP "\fBexpand_owner_alias (no)\fR"
-/* When delivering to an alias "aliasname" that has an "owner-aliasname"
-/* companion alias, set the envelope sender address to the expansion
-/* of the "owner-aliasname" alias.
+/* When delivering to an alias "\fIaliasname\fR" that has an
+/* "owner-\fIaliasname\fR" companion alias, set the envelope sender
+/* address to the expansion of the "owner-\fIaliasname\fR" alias.
/* .IP "\fBowner_request_special (yes)\fR"
-/* Give special treatment to owner-listname and listname-request
-/* address localparts: don't split such addresses when the
-/* recipient_delimiter is set to "-".
+/* Enable special treatment for owner-\fIlistname\fR entries in the
+/* \fBaliases\fR(5) file, and don't split owner-\fIlistname\fR and
+/* \fIlistname\fR-request address localparts when the recipient_delimiter
+/* is set to "-".
/* .IP "\fBsun_mailtool_compatibility (no)\fR"
/* Obsolete SUN mailtool compatibility feature.
/* .PP
@@ -556,6 +557,9 @@
/* Enable support for the original recipient address after an
/* address is rewritten to a different address (for example with
/* aliasing or with canonical mapping).
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* The following are examples; details differ between systems.
/* $HOME/.forward, per-user aliasing
diff --git a/postfix/src/master/event_server.c b/postfix/src/master/event_server.c
index f3f4888f2..184ff65e5 100644
--- a/postfix/src/master/event_server.c
+++ b/postfix/src/master/event_server.c
@@ -684,6 +684,7 @@ NORETURN event_server_main(int argc, char **argv, MULTI_SERVER_FN service,...)
break;
}
}
+ set_mail_conf_str(VAR_SERVNAME, service_name);
/*
* Initialize generic parameters.
diff --git a/postfix/src/master/master.c b/postfix/src/master/master.c
index bceccc62d..edba574cf 100644
--- a/postfix/src/master/master.c
+++ b/postfix/src/master/master.c
@@ -128,8 +128,9 @@
/* The Internet protocols Postfix will attempt to use when making
/* or accepting connections.
/* .IP "\fBimport_environment (see 'postconf -d' output)\fR"
-/* The list of environment parameters that a Postfix process will
-/* import from a non-Postfix parent process.
+/* The list of environment parameters that a privileged Postfix
+/* process will import from a non-Postfix parent process, or name=value
+/* environment overrides.
/* .IP "\fBmail_owner (postfix)\fR"
/* The UNIX system account that owns the Postfix queue and most Postfix
/* daemon processes.
@@ -144,6 +145,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* .ad
/* .fi
diff --git a/postfix/src/master/multi_server.c b/postfix/src/master/multi_server.c
index 0edef95d5..22dc4635c 100644
--- a/postfix/src/master/multi_server.c
+++ b/postfix/src/master/multi_server.c
@@ -680,6 +680,7 @@ NORETURN multi_server_main(int argc, char **argv, MULTI_SERVER_FN service,...)
break;
}
}
+ set_mail_conf_str(VAR_SERVNAME, service_name);
/*
* Initialize generic parameters.
diff --git a/postfix/src/master/single_server.c b/postfix/src/master/single_server.c
index f027befe2..ed93dfe6b 100644
--- a/postfix/src/master/single_server.c
+++ b/postfix/src/master/single_server.c
@@ -558,6 +558,7 @@ NORETURN single_server_main(int argc, char **argv, SINGLE_SERVER_FN service,...)
break;
}
}
+ set_mail_conf_str(VAR_SERVNAME, service_name);
/*
* Initialize generic parameters.
diff --git a/postfix/src/master/trigger_server.c b/postfix/src/master/trigger_server.c
index 71bd50ee5..5762e1af6 100644
--- a/postfix/src/master/trigger_server.c
+++ b/postfix/src/master/trigger_server.c
@@ -561,6 +561,7 @@ NORETURN trigger_server_main(int argc, char **argv, TRIGGER_SERVER_FN service,..
break;
}
}
+ set_mail_conf_str(VAR_SERVNAME, service_name);
/*
* Initialize generic parameters.
diff --git a/postfix/src/oqmgr/qmgr.c b/postfix/src/oqmgr/qmgr.c
index d85a3dbcb..4eb0083fc 100644
--- a/postfix/src/oqmgr/qmgr.c
+++ b/postfix/src/oqmgr/qmgr.c
@@ -328,6 +328,11 @@
/* .IP "\fBconfirm_delay_cleared (no)\fR"
/* After sending a "your message is delayed" notification, inform
/* the sender when the delay clears up.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* /var/spool/postfix/incoming, incoming queue
/* /var/spool/postfix/active, active queue
diff --git a/postfix/src/pickup/pickup.c b/postfix/src/pickup/pickup.c
index 653fc6cc9..46804d26f 100644
--- a/postfix/src/pickup/pickup.c
+++ b/postfix/src/pickup/pickup.c
@@ -80,6 +80,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* cleanup(8), message canonicalization
/* sendmail(1), Sendmail-compatible interface
diff --git a/postfix/src/pipe/pipe.c b/postfix/src/pipe/pipe.c
index fe01d4b7f..db8c4422e 100644
--- a/postfix/src/pipe/pipe.c
+++ b/postfix/src/pipe/pipe.c
@@ -424,6 +424,9 @@
/* Enable support for the original recipient address after an
/* address is rewritten to a different address (for example with
/* aliasing or with canonical mapping).
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* qmgr(8), queue manager
/* bounce(8), delivery status reports
diff --git a/postfix/src/postconf/Makefile.in b/postfix/src/postconf/Makefile.in
index 1a039e542..5deed50b3 100644
--- a/postfix/src/postconf/Makefile.in
+++ b/postfix/src/postconf/Makefile.in
@@ -54,7 +54,7 @@ tests: test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 \
test31 test32 test33 test34 test35 test36 test37 test39 test40 test41 \
test42 test43 test44 test45 test46 test47 test48 test49 test50 test51 \
test52 test53 test54 test55 test56 test57 test58 test59 test60 test61 \
- test62 test63 test64 test65 test66
+ test62 test63 test64 test65 test66 test67
root_tests:
@@ -904,6 +904,22 @@ test66: $(PROG) test66.ref
sed "s;PWD;`pwd`;" test66.ref | diff - test66.tmp
rm -f main.cf master.cf test66.tmp test66.cf
+# expand process name and service name in master.cf.
+
+test67: $(PROG) test67.ref
+ rm -f main.cf master.cf
+ touch master.cf
+ echo 'smtp inet n - n - - smtpd' >>master.cf
+ echo ' -o test1_process_name=$$process_name' >> master.cf
+ echo ' -o test1_service_name=$$service_name' >> master.cf
+ echo 'smtp unix n - n - - smtp' >>master.cf
+ echo ' -o test2_process_name=$$process_name' >> master.cf
+ echo ' -o test2_service_name=$$service_name' >> master.cf
+ touch -t 197101010000 main.cf
+ $(SHLIB_ENV) ./$(PROG) -xMfc. >test67.tmp 2>&1
+ diff test67.ref test67.tmp
+ rm -f main.cf master.cf test67.tmp
+
printfck: $(OBJS) $(PROG)
rm -rf printfck
mkdir printfck
diff --git a/postfix/src/postconf/postconf.c b/postfix/src/postconf/postconf.c
index a80f3e2fe..44c1d5697 100644
--- a/postfix/src/postconf/postconf.c
+++ b/postfix/src/postconf/postconf.c
@@ -1000,7 +1000,8 @@ int main(int argc, char **argv)
pcf_read_parameters();
if (override_params)
pcf_set_parameters(override_params->argv);
- pcf_register_builtin_parameters(basename(argv[0]), getpid());
+ pcf_register_builtin_parameters(basename(argv[0]), basename(argv[0]),
+ getpid());
pcf_register_service_parameters();
pcf_register_user_parameters();
if (pcf_cmd_mode & PCF_MASTER_FLD)
@@ -1012,6 +1013,7 @@ int main(int argc, char **argv)
else
pcf_show_master_entries(VSTREAM_OUT, pcf_cmd_mode, argc - optind,
argv + optind);
+ pcf_flag_unused_master_parameters();
}
/*
@@ -1052,7 +1054,8 @@ int main(int argc, char **argv)
if (override_params)
pcf_set_parameters(override_params->argv);
}
- pcf_register_builtin_parameters(basename(argv[0]), getpid());
+ pcf_register_builtin_parameters(basename(argv[0]), basename(argv[0]),
+ getpid());
/*
* Add service-dependent parameters (service names from master.cf)
diff --git a/postfix/src/postconf/postconf.h b/postfix/src/postconf/postconf.h
index 124c6bdfd..7f391df68 100644
--- a/postfix/src/postconf/postconf.h
+++ b/postfix/src/postconf/postconf.h
@@ -118,6 +118,7 @@ typedef struct {
char *name_space; /* service/type, parameter name space */
ARGV *argv; /* null, or master.cf fields */
DICT *all_params; /* null, or all name=value entries */
+ DICT *ro_params; /* read-only name=value entries */
HTABLE *valid_names; /* null, or "valid" parameter names */
} PCF_MASTER_ENT;
@@ -250,7 +251,7 @@ extern NAME_CODE pcf_field_name_offset[];
/*
* postconf_builtin.c.
*/
-extern void pcf_register_builtin_parameters(const char *, pid_t);
+extern void pcf_register_builtin_parameters(const char *, const char *, pid_t);
/*
* postconf_service.c.
diff --git a/postfix/src/postconf/postconf_builtin.c b/postfix/src/postconf/postconf_builtin.c
index 1088433b3..311c362da 100644
--- a/postfix/src/postconf/postconf_builtin.c
+++ b/postfix/src/postconf/postconf_builtin.c
@@ -6,8 +6,9 @@
/* SYNOPSIS
/* #include
/*
-/* void pcf_register_builtin_parameters(procname, pid)
+/* void pcf_register_builtin_parameters(procname, servname, pid)
/* const char *procname;
+/* const char *servname;
/* pid_t pid;
/* DESCRIPTION
/* pcf_register_builtin_parameters() initializes the global
@@ -17,6 +18,8 @@
/* Arguments:
/*.IP procname
/* Provides the default value for the "process_name" parameter.
+/*.IP servname
+/* Provides the default value for the "service_name" parameter.
/*.IP pid
/* Provides the default value for the "process_id" parameter.
/* DIAGNOSTICS
@@ -173,6 +176,7 @@ static const CONFIG_STR_FN_TABLE pcf_str_fn_table[] = {
* effects, then those side effects must happen only once.
*/
static CONFIG_STR_TABLE pcf_adhoc_procname = {VAR_PROCNAME};
+static CONFIG_STR_TABLE pcf_adhoc_servname = {VAR_SERVNAME};
static CONFIG_INT_TABLE pcf_adhoc_pid = {VAR_PID};
#define STR(x) vstring_str(x)
@@ -362,7 +366,8 @@ static const char *pcf_conv_long_parameter(void *ptr)
/* pcf_register_builtin_parameters - add built-ins to the global name space */
-void pcf_register_builtin_parameters(const char *procname, pid_t pid)
+void pcf_register_builtin_parameters(const char *procname,
+ const char *servname, pid_t pid)
{
const char *myname = "pcf_register_builtin_parameters";
const CONFIG_TIME_TABLE *ctt;
@@ -445,6 +450,10 @@ void pcf_register_builtin_parameters(const char *procname, pid_t pid)
PCF_PARAM_TABLE_ENTER(pcf_param_table, pcf_adhoc_procname.name,
PCF_PARAM_FLAG_BUILTIN | PCF_PARAM_FLAG_READONLY,
(void *) &pcf_adhoc_procname, pcf_conv_str_parameter);
+ pcf_adhoc_servname.defval = mystrdup(servname);
+ PCF_PARAM_TABLE_ENTER(pcf_param_table, pcf_adhoc_servname.name,
+ PCF_PARAM_FLAG_BUILTIN | PCF_PARAM_FLAG_READONLY,
+ (void *) &pcf_adhoc_servname, pcf_conv_str_parameter);
pcf_adhoc_pid.defval = pid;
PCF_PARAM_TABLE_ENTER(pcf_param_table, pcf_adhoc_pid.name,
PCF_PARAM_FLAG_BUILTIN | PCF_PARAM_FLAG_READONLY,
diff --git a/postfix/src/postconf/postconf_lookup.c b/postfix/src/postconf/postconf_lookup.c
index 2a2ff7a6b..3cfa9f3b0 100644
--- a/postfix/src/postconf/postconf_lookup.c
+++ b/postfix/src/postconf/postconf_lookup.c
@@ -73,6 +73,11 @@
/* IBM T.J. Watson Research
/* P.O. Box 704
/* Yorktown Heights, NY 10598, USA
+/*
+/* Wietse Venema
+/* Google, Inc.
+/* 111 8th Avenue
+/* New York, NY 10011, USA
/*--*/
/* System library. */
@@ -107,14 +112,17 @@ const char *pcf_lookup_parameter_value(int mode, const char *name,
{
const char *value = 0;
+#define LOOKUP(dict, name) ((dict) ? dict_get((dict), (name)) : 0)
+
/*
* Local name=value entries in master.cf take precedence over global
* name=value entries in main.cf. Built-in defaults have the lowest
* precedence.
*/
if ((mode & PCF_SHOW_DEFS) != 0
- || ((local_scope == 0 || local_scope->all_params == 0
- || (value = dict_get(local_scope->all_params, name)) == 0)
+ || ((local_scope == 0
+ || ((value = LOOKUP(local_scope->ro_params, name)) == 0
+ && (value = LOOKUP(local_scope->all_params, name)) == 0))
&& (value = dict_lookup(CONFIG_DICT, name)) == 0
&& (mode & PCF_SHOW_NONDEF) == 0)) {
if (node != 0 || (node = PCF_PARAM_TABLE_FIND(pcf_param_table, name)) != 0)
diff --git a/postfix/src/postconf/postconf_master.c b/postfix/src/postconf/postconf_master.c
index e6cf4e3b1..71d0daf02 100644
--- a/postfix/src/postconf/postconf_master.c
+++ b/postfix/src/postconf/postconf_master.c
@@ -353,6 +353,8 @@ void pcf_free_master_entry(PCF_MASTER_ENT *masterp)
argv_free(masterp->argv);
if (masterp->valid_names)
htable_free(masterp->valid_names, myfree);
+ if (masterp->ro_params)
+ dict_free(masterp->ro_params);
if (masterp->all_params)
dict_free(masterp->all_params);
myfree((void *) masterp);
@@ -363,6 +365,8 @@ void pcf_free_master_entry(PCF_MASTER_ENT *masterp)
const char *pcf_parse_master_entry(PCF_MASTER_ENT *masterp, const char *buf)
{
ARGV *argv;
+ char *ro_name_space;
+ char *process_name;
/*
* We can't use the master daemon's master_ent routines in their current
@@ -384,8 +388,17 @@ const char *pcf_parse_master_entry(PCF_MASTER_ENT *masterp, const char *buf)
pcf_normalize_daemon_args(argv);
masterp->name_space =
concatenate(argv->argv[0], PCF_NAMESP_SEP_STR, argv->argv[1], (char *) 0);
+ ro_name_space =
+ concatenate("ro", PCF_NAMESP_SEP_STR, masterp->name_space, (char *) 0);
masterp->argv = argv;
masterp->valid_names = 0;
+ process_name = basename(argv->argv[PCF_MASTER_FLD_CMD]);
+ dict_update(ro_name_space, VAR_PROCNAME, process_name);
+ dict_update(ro_name_space, VAR_SERVNAME,
+ strcmp(process_name, argv->argv[0]) != 0 ?
+ argv->argv[0] : process_name);
+ masterp->ro_params = dict_handle(ro_name_space);
+ myfree(ro_name_space);
masterp->all_params = 0;
return (0);
}
diff --git a/postfix/src/postconf/test40.ref b/postfix/src/postconf/test40.ref
index 1ca585ef6..fa3a5d71d 100644
--- a/postfix/src/postconf/test40.ref
+++ b/postfix/src/postconf/test40.ref
@@ -4,3 +4,4 @@ foo unix - n n - 0 other -v
-o ccc=bbb
-v
-o ddd=bbb
+./postconf: warning: ./master.cf: unused parameter: ddd=$ccc
diff --git a/postfix/src/postconf/test41.ref b/postfix/src/postconf/test41.ref
index 9776e8edf..f8200d401 100644
--- a/postfix/src/postconf/test41.ref
+++ b/postfix/src/postconf/test41.ref
@@ -3,10 +3,16 @@ bar unix - n n - 0 other
-o xxx=yyy
-o aaa=bbb
baz unix - n n - 0 other
+./postconf: warning: ./master.cf: unused parameter: aaa=bbb
+./postconf: warning: ./master.cf: unused parameter: xxx=yyy
foo unix - n n - 0 other
bar unix - n n - 0 other
-o xxx=YYY
-o aaa=BBB
baz unix - n n - 0 other
+./postconf: warning: ./master.cf: unused parameter: aaa=BBB
+./postconf: warning: ./master.cf: unused parameter: xxx=YYY
bar/unix/aaa = BBB
bar/unix/xxx = YYY
+./postconf: warning: ./master.cf: unused parameter: aaa=BBB
+./postconf: warning: ./master.cf: unused parameter: xxx=YYY
diff --git a/postfix/src/postconf/test42.ref b/postfix/src/postconf/test42.ref
index fb95ae961..80676f350 100644
--- a/postfix/src/postconf/test42.ref
+++ b/postfix/src/postconf/test42.ref
@@ -3,8 +3,12 @@ bar unix - n n - 0 other
-o xxx=yyy
-o aaa=bbb
baz unix - n n - 0 other
+./postconf: warning: ./master.cf: unused parameter: aaa=bbb
+./postconf: warning: ./master.cf: unused parameter: xxx=yyy
bar/unix/aaa = bbb
bar/unix/xxx = yyy
+./postconf: warning: ./master.cf: unused parameter: aaa=bbb
+./postconf: warning: ./master.cf: unused parameter: xxx=yyy
foo unix - n n - 0 other
bar unix - n n - 0 other
baz unix - n n - 0 other
diff --git a/postfix/src/postconf/test43.ref b/postfix/src/postconf/test43.ref
index 34707f430..2bfea0e05 100644
--- a/postfix/src/postconf/test43.ref
+++ b/postfix/src/postconf/test43.ref
@@ -3,3 +3,4 @@ bar unix - n y - 0 aa -stuff
-o bb=cc
dd
baz unix - n n - 0 other
+./postconf: warning: ./master.cf: unused parameter: bb=cc
diff --git a/postfix/src/postconf/test44.ref b/postfix/src/postconf/test44.ref
index e25a23899..b8cf23d1c 100644
--- a/postfix/src/postconf/test44.ref
+++ b/postfix/src/postconf/test44.ref
@@ -3,3 +3,4 @@ xx inet - n n - 0 aa -stuff
-o bb=cc
dd
baz unix - n n - 0 other
+./postconf: warning: ./master.cf: unused parameter: bb=cc
diff --git a/postfix/src/postconf/test59.ref b/postfix/src/postconf/test59.ref
index 9c2e1fd7f..3a7e57f6a 100644
--- a/postfix/src/postconf/test59.ref
+++ b/postfix/src/postconf/test59.ref
@@ -6,3 +6,5 @@ bar inet - n n 0 0 other
-o {name2=value2a value2b}
arg1a arg1b {arg2a arg2b} {arg3a arg3b}
baz unix - n n 0 0 other
+./postconf: warning: ./master.cf: unused parameter: name1=value1
+./postconf: warning: ./master.cf: unused parameter: name2=value2a value2b
diff --git a/postfix/src/postconf/test67.ref b/postfix/src/postconf/test67.ref
new file mode 100644
index 000000000..03def6f46
--- /dev/null
+++ b/postfix/src/postconf/test67.ref
@@ -0,0 +1,10 @@
+smtp inet n - n - - smtpd
+ -o test1_process_name=smtpd
+ -o test1_service_name=smtp
+smtp unix n - n - - smtp
+ -o test2_process_name=smtp
+ -o test2_service_name=smtp
+./postconf: warning: ./master.cf: unused parameter: test1_process_name=$process_name
+./postconf: warning: ./master.cf: unused parameter: test1_service_name=$service_name
+./postconf: warning: ./master.cf: unused parameter: test2_process_name=$process_name
+./postconf: warning: ./master.cf: unused parameter: test2_service_name=$service_name
diff --git a/postfix/src/postscreen/postscreen.c b/postfix/src/postscreen/postscreen.c
index e2621fba2..976bdf914 100644
--- a/postfix/src/postscreen/postscreen.c
+++ b/postfix/src/postscreen/postscreen.c
@@ -359,6 +359,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* smtpd(8), Postfix SMTP server
/* tlsproxy(8), Postfix TLS proxy server
diff --git a/postfix/src/proxymap/proxymap.c b/postfix/src/proxymap/proxymap.c
index b2b386ca3..4eeae1a84 100644
--- a/postfix/src/proxymap/proxymap.c
+++ b/postfix/src/proxymap/proxymap.c
@@ -181,6 +181,11 @@
/* .IP "\fBproxy_write_maps (see 'postconf -d' output)\fR"
/* The lookup tables that the \fBproxymap\fR(8) server is allowed to
/* access for the read-write service.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* postconf(5), configuration parameters
/* master(5), generic daemon options
diff --git a/postfix/src/qmgr/qmgr.c b/postfix/src/qmgr/qmgr.c
index b8c0d930c..143da8acf 100644
--- a/postfix/src/qmgr/qmgr.c
+++ b/postfix/src/qmgr/qmgr.c
@@ -390,6 +390,11 @@
/* .IP "\fBconfirm_delay_cleared (no)\fR"
/* After sending a "your message is delayed" notification, inform
/* the sender when the delay clears up.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* /var/spool/postfix/incoming, incoming queue
/* /var/spool/postfix/active, active queue
diff --git a/postfix/src/qmqpd/qmqpd.c b/postfix/src/qmqpd/qmqpd.c
index 071b2cbd4..0d1af9945 100644
--- a/postfix/src/qmqpd/qmqpd.c
+++ b/postfix/src/qmqpd/qmqpd.c
@@ -138,6 +138,11 @@
/* .IP "\fBqmqpd_client_port_logging (no)\fR"
/* Enable logging of the remote QMQP client port in addition to
/* the hostname and IP address.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* http://cr.yp.to/proto/qmqp.html, QMQP protocol
/* cleanup(8), message canonicalization
diff --git a/postfix/src/scache/scache.c b/postfix/src/scache/scache.c
index f139c0d5c..f49aa9d6a 100644
--- a/postfix/src/scache/scache.c
+++ b/postfix/src/scache/scache.c
@@ -113,6 +113,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* smtp(8), SMTP client
/* postconf(5), configuration parameters
diff --git a/postfix/src/showq/showq.c b/postfix/src/showq/showq.c
index 156f7d44e..5f941f8f4 100644
--- a/postfix/src/showq/showq.c
+++ b/postfix/src/showq/showq.c
@@ -72,6 +72,11 @@
/* Available in Postfix version 2.9 and later:
/* .IP "\fBenable_long_queue_ids (no)\fR"
/* Enable long, non-repeating, queue IDs (queue file names).
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* FILES
/* /var/spool/postfix, queue directories
/* SEE ALSO
diff --git a/postfix/src/smtp/smtp.c b/postfix/src/smtp/smtp.c
index 1dd37bfee..73449ea4c 100644
--- a/postfix/src/smtp/smtp.c
+++ b/postfix/src/smtp/smtp.c
@@ -725,6 +725,11 @@
/* Available with Postfix 3.2 and later:
/* .IP "\fBsmtp_tcp_port (smtp)\fR"
/* The default TCP port that the Postfix SMTP client connects to.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* generic(5), output address rewriting
/* header_checks(5), message header content inspection
diff --git a/postfix/src/smtpd/smtpd.c b/postfix/src/smtpd/smtpd.c
index 3deb6fc8e..ad9858916 100644
--- a/postfix/src/smtpd/smtpd.c
+++ b/postfix/src/smtpd/smtpd.c
@@ -1052,6 +1052,11 @@
/* .IP "\fBsmtpd_client_port_logging (no)\fR"
/* Enable logging of the remote SMTP client port in addition to
/* the hostname and IP address.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* anvil(8), connection/rate limiting
/* cleanup(8), message canonicalization
diff --git a/postfix/src/spawn/spawn.c b/postfix/src/spawn/spawn.c
index 31517d870..0eabd8b0b 100644
--- a/postfix/src/spawn/spawn.c
+++ b/postfix/src/spawn/spawn.c
@@ -105,6 +105,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* postconf(5), configuration parameters
/* master(8), process manager
diff --git a/postfix/src/tlsmgr/tlsmgr.c b/postfix/src/tlsmgr/tlsmgr.c
index 905783940..cf2ecc290 100644
--- a/postfix/src/tlsmgr/tlsmgr.c
+++ b/postfix/src/tlsmgr/tlsmgr.c
@@ -132,6 +132,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* smtp(8), Postfix SMTP client
/* smtpd(8), Postfix SMTP server
diff --git a/postfix/src/tlsproxy/tlsproxy.c b/postfix/src/tlsproxy/tlsproxy.c
index 383ba0d60..3883323f3 100644
--- a/postfix/src/tlsproxy/tlsproxy.c
+++ b/postfix/src/tlsproxy/tlsproxy.c
@@ -168,6 +168,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* postscreen(8), Postfix zombie blocker
/* smtpd(8), Postfix SMTP server
diff --git a/postfix/src/trivial-rewrite/trivial-rewrite.c b/postfix/src/trivial-rewrite/trivial-rewrite.c
index d7cb6b910..4e194fa87 100644
--- a/postfix/src/trivial-rewrite/trivial-rewrite.c
+++ b/postfix/src/trivial-rewrite/trivial-rewrite.c
@@ -255,6 +255,11 @@
/* .IP "\fBhelpful_warnings (yes)\fR"
/* Log warnings about problematic configuration settings, and provide
/* helpful suggestions.
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* postconf(5), configuration parameters
/* transport(5), transport table format
diff --git a/postfix/src/verify/verify.c b/postfix/src/verify/verify.c
index ef96ba785..3f014dbbe 100644
--- a/postfix/src/verify/verify.c
+++ b/postfix/src/verify/verify.c
@@ -184,6 +184,11 @@
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
/* A prefix that is prepended to the process name in syslog
/* records, so that, for example, "smtpd" becomes "prefix/smtpd".
+/* .PP
+/* Available in Postfix 3.3 and later:
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* smtpd(8), Postfix SMTP server
/* cleanup(8), enqueue Postfix message
diff --git a/postfix/src/virtual/virtual.c b/postfix/src/virtual/virtual.c
index a7273ebf8..622ec2302 100644
--- a/postfix/src/virtual/virtual.c
+++ b/postfix/src/virtual/virtual.c
@@ -259,6 +259,9 @@
/* Enable support for the original recipient address after an
/* address is rewritten to a different address (for example with
/* aliasing or with canonical mapping).
+/* .IP "\fBservice_name (read-only)\fR"
+/* The master.cf service name of a Postfix daemon process, or the
+/* process name of a non-daemon process.
/* SEE ALSO
/* qmgr(8), queue manager
/* bounce(8), delivery status reports