Development

valid_hostname() rejects 1-2-3-4

Hello list,

valid_hostname() syntax checker rejects a (admitted, unusual) hostname
like "1-2-3-4".

I don't know if this is wanted, at least it's not documented directly in
Postfix and I didn't find a hint in the current standards.

However, the reason is that valid_hostname() only sets non_numeric = 1
when it processes isalnum() and "_", it never gets the chance if it
processes "-".

A possible fix would be simply extending the responsible condition as
shown in the attached patch (made with 2.6.5, trivial to port).

In case "1-2-3-4" is rejected on purpose
1) sorry for the wind :)
2) please

Postfix on OpenSolaris build 130 and later fails on nis include files

HI,

postfix 2.5.6 fails compiling on OpenSolaris build 130 and later, I think because
the NIS include files got cleaned up.

This looks related to NIS+ removal from OpenSolaris (not Solaris), see link:
http://mail.opensolaris.org/pipermail/opensolaris-arc/2009-October/01845...)

I couldn't find where he presence of NIS on a system is detected.
My Question: There an easy way to completely leave out the NIS code from compiling?

Thanks much,
Thomas

/opt/SUNWspro/bin/cc -Dstrcasecmp=fix_strcasecmp -Dstrncasecmp=fix_strncasecmp -DHAS_PCRE -I/usr/include/pcre -i -xO4

Postfix features and status of new features

Hi.

1) Is there some list of RFC which Postifx supports/complies to?

2) Just out of curiosity,...

possible bugs in the documentation

Hi.

I might have found some possible bugs/inconsistencies in the documentation:

1) http://www.postfix.org/postconf.5.html#smtpd_tls_CApath
Refers to smtp_tls_CAfile, but I think smtps_tls_CAfile is meant.

2) To include the root-CA or not?!
http://www.postfix.org/TLS_README.html#server_cert_key seems to say
that the root CA of the server certificate needs not to be included in
the smtpd_tls_cert_file (or it's brothers for DSA, etc) (but only
intermediate CAs):

and

But:
http://www.postfix.org/postconf.5.html#smtpd_tls_cert_file tells
something different, for example in the foll

pcre maps and check_namadr_access()

Hi, All!

I was playing with "check_client_access" and pcre maps trying to filter
out most of the spammer hosts coming from dynamically allocated
addresses and found that it's impossible to check the reverse dns
hostname and it's ip via pcre at the same time. The goal is to use back
references in pcre table to check if the hostname contains a substring
with octets of it's own ip address in name, which is often done by ISP
reverse dns for end customers dynamic networks.

For ex.

Adding an LMTP server entry for Mailman 3 in master.cf

Mailman 3.x will introduce a LMTP server and it will generate a Postfix style
transport map.

A postmaster will only have to add that maps path to $transport_maps and
create a dedicated lmtp service in master.cf.

I would like to simplify that step and provide a dedicated lmtp service in
master.cf that remains commented out until a postmaster decides to use that.

Would that be feasible? What would I have to do? I guess I should provide the
entry and some documentation that describes what to do - a MAILMAN readme or
something alike.

p at rick

Patch for unfolded address extension

I've tried to write a patch that offers UNFOLDED_EXTENSION to mailbox_command.

The patch will modify the casing of the address mentioned in two warnings (no @ in recipient address/address with illegal extension).
Otherwise, it pretends to work.

myfree()ing state.msg_attr.{local,user}

I have to say I'm not familiar with postfix' memory management.

Reading local/recipient.c, I'm wondering where state.msg_attr.{local,user} are myree()d in the return (bounce_append(...)) case.

I'm not sure whether such novice's questions are considered appropriate for this list, but could someone hint me (off-list, if appropriate) to how that works?

Thanks.

lowercasing the address extension

I was surprized that, using dovecot deliver, address+Extension would try to file into mailbox "extension", not mailbox "Extension".

The cause is local/recipient.c lowercase()ing state.msg.attr.local before mystrdup()ing that to user and then split_addr()ing off extension.

Is this considered a feature?

We're migrating from procmail to dovecot's lda and sieve; user's spam folders are traditionally called "Spam", not "spam" with us.

FreeBSD-related patch for src/util/sys_defs.h

I noticed that 2.7 now defines HAS_CLOSEFROM for FreeBSD 8.0. However,
because the closefrom() system call was "merged" into RELENG_7, Postfix
fails to compile for anyone running FreeBSD 7-STABLE. I appreciate that
Postfix cannot be made to compile on every iteration of all platforms,
but in case you are amenable to a small patch (one we use in the ports
tree), it is below. You can ignore the initial reference to FREEBSD9,
which correlates with a modification of makedefs to support the latest
development branch.

who know how does initial_destination_concurrency and default_destination_concurrency_limit work?

HI ALL:

I try to understand how the initial_destination_concurrency and
default_destination_concurrency_limit work? How can it support to improve
the output of delivery. I do a small test.

I config the postfix like this:

qmgr_message_active_limit = 50

qmgr_message_recipient_limit = 50

initial_destination_concurrency = 10

default_destination_concurrency_limit = 10 default_destination_rate_delay =
10s

and then, I send 5 mail to one server, such as <...> at A dot com, 5 mail for the
other server, such as <...> at B dot com.

From the server side, I can see postfix send mail one by one.

who know how does initial_destination_concurrency and default_destination_concurrency_limit work?

HI ALL:
I try to understand how the initial_destination_concurrency and
default_destination_concurrency_limit work? How can it support to improve
the output of delivery. I do a small test.
I config the postfix like this:
qmgr_message_active_limit = 50
qmgr_message_recipient_limit = 50
initial_destination_concurrency = 10
default_destination_concurrency_limit = 10
default_destination_rate_delay = 10s

and then, I send 5 mail to one server, such as <...> at A dot com, 5 mail for the
other server, such as <...> at B dot com.
From the server side, I can see postfix send mail one by one.

unknown client rejection text inconsistency

I've just noticed that reject_unknown_client and
reject_unknown_reverse_client_hostname do not follow the usual convention
(as much as there is one) of including the subject prior to the rejection
text. Perhaps I've missed something, or perhaps I'm just picking very
fine nits; in either case, is there any reason not to apply the attached
change? One less corner case for log processing, at the very least... :)

-Rob

Postfix 2.7-20090828 => FreeBSD 8rc1

Please find included, a pacth to let postfix 2.7 runs
on FreeBSD 8.

Patch is also on :
http://www.calyopea.com/postfix-2.7-20090828.freebsd8.patch
(it will be removed in 1 month)

Best regards. P.Moulin

[PATCH] make postmulti actually skip disabled instances

According to postmulti documentation, it should skip disabled instances
when iterating over instances to run postfix stop or reload commands.
Following two-liner makes postmulti behave as documented.

it applies both to 2.6.5 and 2.7-20091008.

Regards,
L.

[PATCH] add check_client_{mx,ns}_access

I recently discovered a case where having a check_client_ns_access
restriction would've spared me a round of whack-a-spammer, so the attached
patch implements check_client_{mx,ns}_access and the companion
check_reverse_client_hostname_{mx,ns}_access restrictions. It applies to
both postfix-2.7-20090828 and the corresponding -nonprod releases.
Feedback would be appreciated; I've tested these a bit, but am not
entirely sure I've got the SMTPD_STATE semantics correct.

-Rob

P.S. I posted a small patch to add a warning for smtpd_helo_required on
July 17th...

memcached plugin development

Hello,

Looking for a solution to a problem, I stumbled across the memcached patch (which was generated for pgsql -- but looks like it might work without it). I'm looking at tweaking it to become a more general cache manager for postfix.

I'm looking to integrate some spamassassin AWL lists into postfix using a mechanism that's out of process that we can update using whatever logic we need.

Dovecot's valid-client-cert parameter

Hi. I have noticed that postfix does not support dovecot's
`valid-client-cert' parameter for SASL authentication. I have
implemented this feature and attached my changes as a diff.

The code base I used is located here:
ftp://ftp.porcupine.org/mirrors/postfix-release/experimental/postfix-2.7...

Feedback is welcome.

bad 200908xx postscreen versions

The postscreen versions in non-production snapshots 20090803 and
20090805 drop connections due to an incorrect code change. This
is fixed with non-production snapshot 20090806.

Wietse

postscreen results for july 20-26

Here are the postscreen results for the week of July 20-26 inclusive. The
DNSBL numbers are for zen and barracuda only; others that appear in the
rejection list are applied more selectively. Pregreeters are allowed to
reach the real smtpd, all were rejected for other reasons.

Policy checking in Lua

Hi,

the code in the attached patch (diff is against Postfix 2.6.2) embeds
the Lua interpreter in smtpd, so one can delegate policy decisions to a
Lua script running in smtpd without having to set up a policy server via
some socket or via master.cf.

Is such functionality of use to anyone?

Patch to allow dict_ldap to connect to ldap using client certificates

Client certificates can be used to authenticate a user that connects to
LDAP. The postfix dict_ldap already supports using client certificates
when connecting.

The attached patch adds the missing bit, and allows authentication using
a client certificate by using sasl 'EXTERNAL' when binding.

Adds a new config option:

bind_mech
Mechanism to use for binding. \simple\ means use the
\bind_dn\ and \bind_pw\ to do a simple bind. \external\
means use a client certificate specified in \tls_cert\
as credentials.

Realtime MySQL accounting of Postfix traffic

Hi,

I wrote a tiny daemon in C that reads a fifo of the Postfix's logs.

postscreen and smtpd_helo_required

I finally got around to building a new snapshot and enabling postscreen
last night, mostly as I'm interested in the correlation between
pregreeters and some existing heavy-hitting restrictions, and thus am not
using it to drop connections just yet.

I noticed that "postscreen_greet_action = continue" doesn't quite work as
advertised when smtpd_helo_required is enabled, specifically that each
PREGREET connection is dropped after the handoff to the real SMTP server
due to a missing HELO/EHLO.

trouble in understanding qmgr_transport_select

I am viewing postfix-2.6.2 these days. And find that it's too hard to
understand in function qmgr_transport_select in file qmgr/qmgr_transport.c.
In the loop below:

for (xport = qmgr_transport_list.next; xport; xport = xport->peers.next)

if ((xport->flags & QMGR_TRANSPORT_STAT_DEAD) != 0

|| xport->pending >= QMGR_TRANSPORT_MAX_PEND)

continue;

* need* = xport->pending + 1;

I don't understand what does variable *"need"* mean?

Why delete letter that was already moved away?

Hi All:

I am viewing the source code of postfix-2.6.2 these days, and I find a
place not so comprehensible.

In line 204 of file qmgr_active.c, we move the queue file to the active queue.
But in line 229 of the same file, we call function qmgr_message_alloc,
and in this function,
we call function mail_queue_remove again in line 1464 of file
qmgr_message.c to move
the queue file from deferred directory.

I wonder why we delete the letter again to do the definitely useless job.

Thank you!

Expertise request

Hi List:

I am looking for a Postfix _expert_ for a few hours of consulting work
on an internal project of mine. Please contact me OFFLIST if you meet
the following requirements and have time for 10 to 20 hours of
contract work:

- you are a competent developer, actively maintaining and extending
your implementation of Postfix
- you are strong in OOP, Python, BASH, Debian/Ubuntu Linux, mySQL and
SQLite
- you are conversant in NDR assessment, bounce processing and VERP

Thanks in advance,
-Rob.

Caching TLS connections (XSTOPTLS)

I'd like to propose a Postfix-specific ESMTP feature that would
enable the caching of TLS connections by disabling crypto on
the session before putting it into the cache, and re-enabling
crypto right after.

S: 220 server.example.com ESMTP
C: EHLO client.example.com
S: 250-server.example.com
S: 250-PIPELINING
S: 250 STARTTLS
C: STARTTLS
S: 220 2.0.0 Ready to start TLS
C:
S:
C: EHLO client.example.com
S: 250-server.example.com
S: 250-PIPELINING
S: 250 XSTOPTLS <--- new ESMTP feature!
C: MAIL FROM:<<...> at example dot com>
C: RCPT TO:<<...> at example dot com>

a blast from the past: .forward delivery

Long time ago (1999 or so) Solar Designer wrote
a patch for local/dotforward.c to verify if the
.forward file we opened is regular file (there's
a check like this already but before open) and
if it's not a sparse file.

[PATCH] detecting epoll

Hi,

current 2.6.1 tries to detect if epoll is available under linux by compiling a
short code snippet and executing it. Epoll is disabled if the code does not
exit successfully. But if the headers needed for epoll aren't available,
compiling fails and makedefs exits. I don't think this is a good solution as I
see no other way for the user to fix this than to patch the makedefs-script.

I prefer if epoll would be disabled if the needed headers aren't available.
The attached patch implements this behavior.

Kind regards,

Gerd

tcp transport_maps

Hello,

I noticed recently the addition of tcp lookup tables in postfix 2.6 so
decided to play around with it a bit. I setup a little daemon that
responds to the queries and everything seems to work nicely.

avoid DLL hell - A Little change to version 2.5.6

Hi,
Some days ago, I intalled a mailserver using postfix 2.5.6 source package. In the beginning, ererything works fine.
Then, I decieded to add a SASL module, so i download cyrus-sasl-2.1.22 , and compiled them.
unfortunately, the sasl module didn't work. The log only displayed that smtpd daemon exit unnormally. I googled the internet to solve this proble, but nothing help.

sleep(1) in attr_clnt.c

(Apologies in advance is if this is the wrong forum for this question)

Hi all,

I'm experiencing a delay when reusing connections with 2.5.4. I've tracked it down to a sleep(1) statement on line 198 of src/util/attr_clnt.c:

sleep(1); /* XXX make configurable */

This statement appeared in the code several versions back (2.1 maybe?) when attr_clnt.c was first added, and is still present in the new 2.6 source.

Race condition in handling hash type lookup table

Hello.

There is a race condition in handling hash type lookup table. Problem results
from that smtpd (and probably other daemons) keeps database files open for all
time it is running. During that, if database file will be changed (e.g.
postmap will be invoked to rebuild database file), smtpd will not find
existing keys because binary arrangement of database file will be different.
Problem appears when number of entries in database is greater than some value
(on my systems it was 4174, but I don't know what it results from, so it may
be different on other systems).

patch for DSN "success" issue caused by pipe process

Hi,
I setup a Postfix based plateform whith DSN enabled to support "success" NOTIFY as described below :

1) Mails are forwarded to Cyrus through LMTP ("delivered" action is fixed since thread "LMTP delivery and DSN action value for "success"")
2) mailboxes on Cyrus are internal addresses, virtual alias makes mapping between external address and internal address
3) antispam and antivirus processing is done by pipe based content filter (which reinject mail into local smtpd)

I have an issue with pipe process that don't manage DSN options.

balsa and postfix confusion

(hopefully the address is correct);
when using balsa and postfix I keep hitting this:

postfix/sendmail[3059]: fatal: Recipient addresses must
be specified on the command line or via the -t option

Is this something that need to be changed with balsa,
or can I change this somewhere else?

regards;

make postcat support a parameter for only reading and printing the envelope records

Hi!

What about adding a command line parameter to postcat that makes
it only read and print out the envelope records and not the whole
message contents?

If one uses postcat in scripts to check for mails to certain
recipients or from certain senders, reading the whole queue file
including message contents is really bad for performance
(if on has a loaded system).

Also, another parameter for only printing the headers part of
the message contents would be nice.

Wietse, what do you think about this proposal?

The defer status files in /var/spool/postfix/defer/ are plain
text and can thus be re

make postmap -q - flush STDOUT after each lookup

Hi,

i often use "postmap -q -" interactive from a shell or as a background
process for lookups in perl scripts.

Is it possible to make postmap -q flush its output after each line?

--- postmap.c 2007-12-04 17:25:13.000000000 +0100
+++ postmap.c.modified 2009-03-06 08:30:52.000000000 +0100
@@ -410,13 +410,12 @@
dicts[n]->type, dicts[n]->name);
}
vstream_printf("%s %s\n", STR(keybuf), value);
+ vstream_fflush(VSTREAM_OUT);
found = 1;
break;
}
}
}
- if (

PATCH: patch-for-non-posix-xpg4 vs. postfix-2.2.12

Hi!

This patch doesn't seem to compile with Postfix 2.2.12,
because of lack of sane_dirname(). The attached patch
tries to address this.

Leandro

ps: lightly tested on a couple of debian 3.1 systems.

Copying Postfix code into GPL project

Hello,

I assume this would be the right forum to ask this question, but correct
me if I'm wrong.

I know that Postfix is under IBM license. Is it permitted to copy
Postfix source code into GPL-based project (with proper citations of
course)?

There are a few functions that I am interested in, nothing more. I could
rewrite them in my own words if I must, but I would obviously prefer the
convenience of simply citing their original authors...

- Tom Rapier

snapshot 20090212 reject_tempfail_action, etc.

I see that reject_tempfail_action and company appear in the 20090212
snapshot -- thanks, Wietse.

I'm curious about this part:

Testing revealed that with mumble_tempfail_action=defer,
the "defer" action was ignored. Cause: the DEFER_IF_PERMIT[0-9]
macros lost the SMTPD_CHECK_REJECT result value. File:
smtpd/smtpd_check.c.

Were the macros previously working by accident? What code path(s) led to
this?

tcp lookup for virtual maps (dead horse and hammer?)

I've read the thread from 2007 regarding the security implications of tcp
for virtual mailbox and user lookup. I feel that restricting the
connectivity to localhost would be just as secure as non-hash text files
like pcre/regex. I'm trying to integrate domain/mailbox lookups and an LMTP
service inside a DB environment.

[PATCH] Qshape.pl queue summary

Hi,

I was having issues with the slow output from running the qshape.pl
script on my servers, integrated in SNMP.

implicit defer_if_permit in 2.6?

Is there any possibility that the implicit defer_if_permit patch (what I'd
been calling smtpd_delay_soft_reject) will be included in 2.6?

Credit where credit is due (was: mbox escaping)

Thomas Goirand:

At the risk of sliding the off-topic slipperly slope, I would like
to make one correction here.

The MH mail handling system introduced a one-message-per-file
mailbox store. MH was designed in 1977, and implemented by 1979.
It is still widely used on UNIX systems. The initial design
including mailbox store are described in:

http://rand-mh.sourceforge.net/book/overall/hiofmh.html#TOMHP

Also...

The open source TIS firewall toolkit (FWTK) implemented least
privilege as a mail security architecture feature, with its
unprivileged SMAP/SMAPD daemon processes.

Bug: mbox escaping

I'm not sure if postfix handles the mbox encoding itself, or if it
uses one of the plethora of external unix commands for that.
If it does, I would like to report a bug:

--Priority: Medium

--Description:
Postfix doesn't escape mbox >From lines properly, resulting in data corruption.

--Steps to reproduce:
To an account tied to a postfix mbox, send a message with something
like this in the body:

I got a new email...
From the president!

Here's the message:

--Suggested solution:
Simply prepend a > to already-prepended From_ lines as well as bare From_ lines.
Otherwise, when it's decoded

TLS Bug?

Hello everyone,

since some time i experience some errors with postfix sometimes. My
Mail Client aborts the TLS negotiation after a STARTTLS.

Re: Plugging in a multi-instance manager

Indeed, and with Wietse's modular design, you can plug in an instance
manager that does that. Is this a sound enough idea to include as
a standard feature in the (under construction) postmulti(1) manager?

I would assume "instance.sh ...", when found, runs instead of "postfix
-c $confid_directory ...", rather than before it. It becomes the
responsibility of instance.sh to actually start/stop/... the instance.

I am somewhat concerned that this is too much rope.

Plugging in a multi-instance manager

From: Ben Rosengart
To: Viktor Dukhovni
Date: Thu, 22 Jan 2009 17:13:15 -0500
Subject: Re: Plugging in a multi-instance manager

Or which automatically runs "instance.sh" in an instance's directory,
if it's present, with a "start" or "stop" argument. I have found this
very useful.

Non-production multi-instance plugin support

In about 10 minutes there will be a postfix-2.6-20090121-nonprod
snapshot with the multi-instance API presented in the past couple
days, and with a simple proof-of-concept multi-instance manager.
It's ready for Victor to make the few changes necessary to fit in
his postmulti command. That will be all for Postfix 2.6.

ftp://ftp.porcupine.org/mirrors/postfix-release/index.html

Wietse

Off-topic footnote: have look at http://www.xsharp.org/samples/
for a look into the future of programming.

Updated multi-instance plugin interface

The MAIL_INSTANCE_ONLY environment variable is gone from the design.
Instead, "postfix -c directory" and the MAIL_CONFIG environment
variable force the postfix(1) command to operate on the specified
instance only.

I also fixed a typo in the rudimentary multi-instance manager script.

Wietse

Purpose of this document
========================
This document describes an interface that allows any multi-instance
manager to plug into Postfix, and control multiple Postfix instances.

The interface consists of a small number of main.cf parameters.
Based on this interface, different multi-instance ma

Postfix PKI Integration

Hi all!

I'm working on a PKI Integration for MTAs. For that to work I'd like to know what the best
way of notificating our components out of postfix is. Any ideas?

a bit more concrete:

Upon connecting to a server or receiving a connection by another server we've to decide if that other server has a SSL
certificate, receive that certificate, decide what our policy is and update the postfix tables concerning that data.
We're working on the whole certificate part and there'll be a generic *NIX-client for that.

Plugging in a multi-instance manager

After reviewing Victor's draft multi-instance implementation I come
to the following simplified interface between Postfix and the
instance manager.

This interface should require little change to both postfix and to
Victor's code.

Two small patches for manual pages

These are examples of two small patches for aliases(5) and local(8). I'm
not sure if this type of info should be included (currently it's not
after all), but it could be useful for certain configurations (and for
sake of more detailed info).

I asked a while ago about it, and I recall few rare similar questions in
the past, after searching the archives (mainly regarding local(8) and
$myorigin).

Either way - for your consideration. If it was ok to add these details,
I'd expand overview and address rewrite as well. Patches were made
against postfix 2.5.5 .

more on implicit defer_if_permit...

Interesting approach... This should be workable, I suppose the question
is whether it's worth the added complexity over the simpler boolean.
Since there is no 1:1 relationship between many of the reject_*
restrictions and their implementation, the calling context would need to
be carried into each of the reject_unknown_something() implementations and
evaluated in place of the IMPLICIT/EXPLICIT flag in the most recent patch.

Am I headed in the right direction with this?

This would generally effect all name_mask users, correct?

-Rob

PATCH: smtpd_tls_req_ccert doesn't actually imply smtpd_tls_ask_ccert

Both TLS_README and postconf(5) state that smtpd_tls_req_ccert implies
smtpd_tls_ask_ccert; however, I noticed today that enforced TLS stopped
working after removing the supposedly redundant smtpd_tls_ask_ccert=yes
from a light-volume submission port.

bug in postmap (or ldap_table?) - fopen return code handling

Hi popstfix-devel

I hope this is the right place to report bug.

I wrote an ldap map that uses ssl certificate. I got this error after trying
it with postmap:
$ postmap -q <...> at email dot com ldap:/opt/zimbra/postfix/conf/maps/mymap
postmap: warning: dict_ldap_connect: Unable to bind to server
ldaps://ldapserver as cn=username,cn=Users,dc
=something,dc=local: -1 (Can't contact LDAP server)

postmap -v was not helpful. It took me about half an hour to figure out what
the problem is.

cleanup: disabling aliasing of new mails

Hello,
I am planning to modify the source code of cleanup(8) to suit my
needs - will be the resulting patch wanted by developers here and
possibly included in next releases?

The functionality I want to do is to disable the application of
virtual aliases to new emails, because I want amavis to know and report
the original recipient address. Then, when the mail is reinserted to the
postfix again, aliasing can be done.

By using current configuration options it is impossible to achieve
such a configuration (to my knowledge)...

DRAFT PATCH v2: add smtpd_delay_soft_reject (was Re: implicit defer_if_permit with reject_unknown_sender_domain)

Thanks. I'm reasonably confident at this point that the semantic
complexity exceeds that of the implementation, and I've been aiming for
correct semantics without excessive bloat in already complex code.

Here's a revised version which reimplements the 'active' bit as a set of
flags. This is still missing complementary behavior for defer_if_reject
and full documentation, and a lot of the logic in the code paths involved
could probably stand to be wrapped in macros for increased clarity.

DRAFT PATCH: add smtpd_delay_soft_reject (was Re: implicit defer_if_permit with reject_unknown_sender_domain)

I had to set this aside for a few days, finally found a few spare minutes
to revisit the code. (Not enough of them to reimplement the entire
restriction language, I'm afraid. Maybe some other time... ;)

This patch adds a smtpd_delay_soft_reject feature, which allows the
implicit defer_if_permit actions mentioned earlier to be disabled, with an
immediate 4xx instead. Explicit defer_if_permit actions are left alone.
The default is 'yes', preserving the current semantics.

The first attempt at this was done in a hurry about a week ago, and was a
bit naive in a few cases.

PATCH: fix glibc version detection in sys_defs.h

The small patch attached fixes a couple of small issues with glibc version
detection in sys_defs.h. This fixes the build on ancient versions (don't
ask) and is slightly more future-proof.

-Rob

Internal protocol for storing messages in queues

Hi,

I'm working on reducing time spent in delivering mail from PHPList to
the MTA. I've tried a number of approaches:

(a) Reusing the SMTP connection instead of forming a new connection
for each mail to be delivered (~10% boost in delivery time)
(b) Using local sendmail instead of SMTP over port 25 for mail
delivery (~50% boost in delivery time)
(c) Directly writing files to filesystem based message queue (~98.6%
boost in delivery time over option (b)

I want to go with option (c) but need to know the internal protocol
used by Postfix to store messages in queues.

Feature request

http://www.postfix.org/DATABASE_README.html

Postfix lookup table types
add 'command' lookup table type.

command:/path/to/command

It will query/search and return necessary info

implicit defer_if_permit with reject_unknown_sender_domain

I've been playing around with a custom policy service lately, and I've
noticed that it is being fed requests for messages that should've been
rejected by reject_unknown_sender_domain. After a brief glance at the
code, I discovered that it and a few similar restrictions will set
defer_if_permit in certain circumstances. (See reject_unknown_mailhost in
smtpd_check.c.

Re: Postfix SNI Support (typo)

should BE secured of course ;)

Syndicate content