before next release: disable backscatter in default installation
Hi. There's a fairly simple problem here that needs to be
addressed. And it's mostly a documentation/install problem. I'm
hoping we can get this resolved before the next release.
PROBLEM: Mailman comes out of the box ready to backscatter spam people.
Yes, it's easy enough to fix. But because it comes stock this way,
and is documented to install this way, most people install it to do
this. Those of us who work in abuse departments are tired of hearing
"well that's how Mailman works". We also object to having to teach
people how to fix their mailman installations because it's not
documented in the current manual.
This is *exactly* like Sendmail 14 years ago. We didn't accept it
then, and Sendmail fixed the problem.
RESOLUTION: Mailman default installation should not backscatter in a
default configuration.
Don't create backscatter aliases for subscribe/unsubscribe/etc by
default. Nearly everyone uses web based signup.Discard or hold messages from non-subscribers by default.
I would think that it would be perfectly reasonable to have
documentation on how to enable the 1980s-style -request / -subscribe
etc aliases. However this documentation should have a note that this
is against the AUP of nearly every network provider, and enabling it
will likely cause them to get listed in various blacklists as a
backscatter source.
FYI: I know that this goes against the instincts of many old-time
mailing list advocates here. But after dealing with a 10k/hour
backscatter DoS my tolerance for this problem is understandably
limited. Yes, it was a sweet day back in the 1980s. I was running a
mailing list server and several UUCP gateways at the time, so I
remember them well. But those days are past, and we need to deal
with the reality of today.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett writes:
Hi. There's a fairly simple problem here that needs to be
addressed. And it's mostly a documentation/install problem. I'm
hoping we can get this resolved before the next release.
Which "next release"? 2.1.10, which is deep into beta at this point? I would strongly oppose any substantial change in default behavior for the 2.1.10 release. It is way too late for that.
Jo Rhett writes:
Hi. There's a fairly simple problem here that needs to be addressed. And it's mostly a documentation/install problem. I'm hoping we can get this resolved before the next release.
On Mar 4, 2008, at 2:44 PM, Stephen J. Turnbull wrote:
Which "next release"? 2.1.10, which is deep into beta at this point? I would strongly oppose any substantial change in default behavior for the 2.1.10 release. It is way too late for that.
This is not substantive, it's trivial. This change has a zero chance
of affecting legitimate traffic to existing sites. It would only
affect new installations.
However, it's significantly relevant to the thousands of people
receiving backscatter from mailman hosts every day.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett writes:
This is not substantive, it's trivial.
*sigh* From the point of view of the release manager, there are no trivial code changes to a release candidate. You are handicapping your advocacy by failing to acknowledge the potential for trouble.
Adding a README.backscatter would be trivial. Would you like to provide it, since you evidently know how to make the configuration changes needed?
In any case, it's hard to sympathize with your claim of urgency. Mark's intention to release 2.1.10 has been known for many months. This proposal comes on the eve of release. Code changes to implement it can, and should, wait for the next release.
On Mar 4, 2008, at 6:00 PM, Stephen J. Turnbull wrote:
In any case, it's hard to sympathize with your claim of urgency. Mark's intention to release 2.1.10 has been known for many months. This proposal comes on the eve of release. Code changes to implement it can, and should, wait for the next release.
What? I'm sorry, but Mailman has been blamed for backscatter for
like 3 years going now. This problem has been well known for long
before 2.1.10 was even dreamed of. I am asking that the developers
start paying attention *NOW*.
If the problems aren't going to be solved before 2.2, then we're
going to put Mailman in the same bin as qmail and say that using it
is a violation of the AUP.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett writes:
On Mar 4, 2008, at 6:00 PM, Stephen J. Turnbull wrote:
In any case, it's hard to sympathize with your claim of urgency. Mark's intention to release 2.1.10 has been known for many months. This proposal comes on the eve of release. Code changes to implement it can, and should, wait for the next release.
What? I'm sorry, but Mailman has been blamed for backscatter for
like 3 years going now.
If you say so. I first heard of the issue within the last year, and that in the context of bouncing back whole messages. And it wasn't from you.
This problem has been well known for long before 2.1.10 was even dreamed of. I am asking that the developers start paying attention *NOW*.
Nobody has said they should ignore the problem, just that *you* are *way* too late in the process to expect them to stop the release of 2.1.10 for this major change in behavior (I almost certainly would stick with 2.1.9 + patches if this goes in hastily; my users do use those features).
I don't speak for them; they might decide this *is* a showstopper. However, I have to wonder how your Mailman users will feel if you change your AUP, and they discover that the *only* post you've made (according to archive search) before going into BOFH mode is this one:
Fri, 04 May 2007 13:06:34 -0700
I remember a number of threads about backscatter prevention, but I
don't remember the result. Perusing the archives isn't much more
enlightening. Where are we on this?
In particular, other than removing all but one of the aliases, have
we made it easier for people to run a backscatter proof list?
Meaning that all subscribe, unsubscribe, etc are done on the web ui
and nothing in the server automatically responds to e-mail other than
legitimate list mail sent by subscribers?
I also remember discussions about honoring SpamAssassin headers to
detect spam. Status of this?
I see no urgency from you there, it got no response from the developers (shame on them, but these things happen), and you dropped the topic for almost a year.
On Mar 24, 2008, at 10:49 PM, Stephen J. Turnbull wrote:
What? I'm sorry, but Mailman has been blamed for backscatter for like 3 years going now.
If you say so. I first heard of the issue within the last year, and that in the context of bouncing back whole messages. And it wasn't from you.
Don't read any spam mailing lists or even Wikipedia much, eh?
However, I have to wonder how your Mailman users will feel if you change your AUP, and they discover that the *only* post you've made (according to archive search) before going into BOFH mode is this one:
Mailman is currently violating our AUP. I don't have any
responsibility for that. In fact, my failure in this has been the
amount of lenience I have given Mailman users, hoping that you guys
would pay attention to all of the negative press and the fairly
constant barrage of people on this list questioning these issues.
I see no urgency from you there, it got no response from the developers (shame on them, but these things happen), and you dropped the topic for almost a year.
The topic has never been dropped. It has been repeatedly raised by
me and others, both on this list and to the developers in person. It
has been raised even in the print press. This whole "you didn't make
us aware of this problem" approach you are taking here is... got no
good words for this without being rude.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 24, 2008, at 9:37 PM, Jo Rhett wrote:
On Mar 4, 2008, at 6:00 PM, Stephen J. Turnbull wrote:
In any case, it's hard to sympathize with your claim of urgency. Mark's intention to release 2.1.10 has been known for many months. This proposal comes on the eve of release. Code changes to implement it can, and should, wait for the next release.
What? I'm sorry, but Mailman has been blamed for backscatter for like 3 years going now. This problem has been well known for long before 2.1.10 was even dreamed of. I am asking that the developers start paying attention *NOW*.
If the problems aren't going to be solved before 2.2, then we're going to put Mailman in the same bin as qmail and say that using it is a violation of the AUP.
Now that there's documentation, I don't think you need to be that
severe. Not everybody needs or wants this particular behavior. Those
that do should now have the information at their fingertips. If
downstream distributions want to change the defaults they are free to
do so.
This simply cannot be changed in Mailman 2.1. For one thing, it's a
major feature change, not a security fix. A security problem would be
something like a cross-site scripting vulnerability or remote root
exploit. For another, pushing back 2.1.10 guarantees that 2.2 will be
delayed because of the extra q/a that needs to happen, etc. This
isn't a trivial change and we have limited resources.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin)
iQCVAwUBR+lnaXEjvBPtnXfVAQKXCwQAk6y1e4juyw4DAh6XIoYzKdSFzZ4/2h9U 3Ql6dfeU14niMIpJPYlf3qKTECu5aI21q+yAlT8t4yud48aAAgqTMkGPWMQ93T8A OZ8YWUhxMypzkxYIyR/X/W/n3rhthdPY3Y6a13F5NhlATEPwQXuXaIwxaN/m7FSC HxTNcT69OrU= =aWxK -----END PGP SIGNATURE-----
On Mar 25, 2008, at 1:58 PM, Barry Warsaw wrote:
Now that there's documentation, I don't think you need to be that
severe.
The documentation is insufficient as it stands. The mailing list
headers would contain addresses which no longer exist.
But yes, an "official documentation configuration" from Mailman is
enough for me ;-)
This isn't a trivial change and we have limited resources.
That's fine, but this isn't the first time you and I have had this
conversation, Barry. And there's more than one year between the time
we first had this conversation and today. So can we not "forget
about it" again?
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett wrote:
- Don't create backscatter aliases for subscribe/unsubscribe/etc by
default. Nearly everyone uses web based signup.
Do you have data to back up this assertion?
Even if we wanted to do this, it is non-trivial. All confirmation messages and their templates and translations would have to be changed to remove references to confirmation by email.
- Discard or hold messages from non-subscribers by default.
The Defaults.py setting for DEFAULT_GENERIC_NONMEMBER_ACTION has been Hold from the beginning.
Perhaps you are thinking of the respond_to_post_requests setting.
Do you object to any response at all, or just to responses that include the original message text? If the former, then you must object to DSNs from MTAs as well. If the latter, that is planned to be addressed in Mailman 2.2.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Mar 4, 2008, at 3:28 PM, Mark Sapiro wrote:
- Don't create backscatter aliases for subscribe/unsubscribe/etc by default. Nearly everyone uses web based signup.
Do you have data to back up this assertion?
Sure. I used to work for an ISP with 1400 lists and ~4 million
subscribers across them. I disabled all the backscatter aliases 4
years ago, and haven't heard a single complaint. I expected at least
one complaint, but never got one. (whining from people who I asked
to change their web page about their mailing list, but not a single
complaint from an actual user)
Even if we wanted to do this, it is non-trivial. All confirmation messages and their templates and translations would have to be changed to remove references to confirmation by email.
Text changes are trivial. Code changes require work/testing/etc.
- Discard or hold messages from non-subscribers by default.
The Defaults.py setting for DEFAULT_GENERIC_NONMEMBER_ACTION has been Hold from the beginning.
Perhaps you are thinking of the respond_to_post_requests setting.
*shrug* I don't remember the difference offhand. I don't run that
mailman instance any more, I just deal with the backscatter abuse
reports.
Do you object to any response at all, or just to responses that
include the original message text?
Any response sent to an innocent victim of forgery.
If the former, then you must object to DSNs from MTAs as well. If the latter, that is planned to be addressed in Mailman 2.2.
Of course we object to DSNs from MTAs. No shipping mailserver
currently sends DSNs to accepted mail by default. Most of them
haven't for like 10 years. And yes, we absolutely ban qmail from use
unless the person patches it to the moon to solve its problems.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
--On 4 March 2008 17:08:52 -0800 Jo Rhett <jrhett@netconsonance.com> wrote:
If the former, then you must object to DSNs from MTAs as well. If the latter, that is planned to be addressed in Mailman 2.2.
Of course we object to DSNs from MTAs. No shipping mailserver currently sends DSNs to accepted mail by default. Most of them haven't for like 10 years. And yes, we absolutely ban qmail from use unless the person patches it to the moon to solve its problems.
+1
The one reason that I'm looking for an alternative to Mailman is the lack of adequate integration with MTAs, which means that there is no sensible thing that I can do with suspected spam. What I need to be able to do is reject it at SMTP time, based on list post permissions and other configuations - I need to be able to query the configuration from my MTA (Exim).
Holding for moderation and discarding are not adequate solutions, but holding for moderation by default would be a good intermediate step.
-- Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 5, 2008, at 5:33 AM, Ian Eiloart wrote:
The one reason that I'm looking for an alternative to Mailman is the
lack of adequate integration with MTAs, which means that there is no
sensible thing that I can do with suspected spam. What I need to be able to
do is reject it at SMTP time, based on list post permissions and other configuations - I need to be able to query the configuration from my
MTA (Exim).
Ian, I think that alternative is going to be Mailman 3 :).
How do you see Exim asking that question? I can see several ways of
doing it in Mailman 3. 1) you could call into a Python library that
can answer that question; 2) you could use some kind of RPC such as
the REST api that Andrew's been talking about; 3) you could make the
appropriate queries directly to the Mailman database, which is based
on SQLite currently but can be anything that Storm can talk to.
Is that the kind of thing you want to do?
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfPJ/gACgkQ2YZpQepbvXEQNgCfQqZlZIt6kFyb+2MrQcteth1j q/8AnRqG8QjGqwBR0y/IQpFZMxBeiupW =eR4z -----END PGP SIGNATURE-----
--On 5 March 2008 18:08:39 -0500 Barry Warsaw <barry@list.org> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 5, 2008, at 5:33 AM, Ian Eiloart wrote:
The one reason that I'm looking for an alternative to Mailman is the lack of adequate integration with MTAs, which means that there is no sensible thing that I can do with suspected spam. What I need to be able to do is reject it at SMTP time, based on list post permissions and other configuations - I need to be able to query the configuration from my MTA (Exim).
Ian, I think that alternative is going to be Mailman 3 :).
How do you see Exim asking that question? I can see several ways of doing it in Mailman 3. 1) you could call into a Python library that can answer that question;
That's doable, with a perl wrapper around a python script. The question I'd want to ask is "is email address a allowed to post to list b".
- you could use some kind of RPC such as the REST api that Andrew's been talking about;
I'm not sure whether I could use that from Exim.
- you could make the appropriate queries directly to the Mailman database, which is based on SQLite currently but can be anything that Storm can talk to.
That's probably the most desirable option from the point of view of efficiency, but I'd need to be querying a database remotely. Preferably one with several replicas. Would LDAP be an option? That's what we currently use for our user authentication. Hmm, doesn't look like it. I guess I could knock up a postgres cluster.
The disadvantage of this over (1) is that I'd need to replicate Mailman's logic in the SQL query.
Is that the kind of thing you want to do?
The ideal thing would be if Mailman had an LMTP interface to accept postings, and could make decisions about accepting mail after RCTP TO.
That way, Exim could make LMTP callouts to Mailman (effectively, the HELO, MAIL FROM and RCPT TO sections of the L/SMTP protocol). If Mailman says, yes I'll accept this message for delivery, then Exim can continue.
Mailman might later reject a message based on other information, like attachment size, but at that point I don't mind bouncing the message. In fact, for list members bouncing is better than rejection because I can determine what I'm going to say.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfPJ/gACgkQ2YZpQepbvXEQNgCfQqZlZIt6kFyb+2MrQcteth1j q/8AnRqG8QjGqwBR0y/IQpFZMxBeiupW =eR4z -----END PGP SIGNATURE-----
-- Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 6, 2008, at 12:30 PM, Ian Eiloart wrote:
That's probably the most desirable option from the point of view of
efficiency, but I'd need to be querying a database remotely.
Preferably one with several replicas. Would LDAP be an option?
That's what we currently use for our user authentication. Hmm,
doesn't look like it. I guess I could knock up a postgres cluster.
Theoretically, you would be able to implement different backends for
the appropriate interfaces so that some of the data comes out of LDAP,
but I haven't gotten that far yet.
The ideal thing would be if Mailman had an LMTP interface to accept
postings, and could make decisions about accepting mail after RCTP TO.
MM3 will have LMTP, perhaps as the preferred way to get messages into
the incoming queue. I hadn't thought about doing acceptance testing
right there, but it's an interesting idea to think about.
Thanks!
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfQMZoACgkQ2YZpQepbvXFQNgCgkdfp1UUwsbIDaOis+CHqGpSB 2qUAoJ54l5pVMlclzAPgX/D0WGOydfK8 =38Lj -----END PGP SIGNATURE-----
--On 6 March 2008 13:02:01 -0500 Barry Warsaw <barry@list.org> wrote:
The ideal thing would be if Mailman had an LMTP interface to accept postings, and could make decisions about accepting mail after RCTP TO.
MM3 will have LMTP, perhaps as the preferred way to get messages into the incoming queue. I hadn't thought about doing acceptance testing right there, but it's an interesting idea to think about.
Yep, it would be the easiest way to integrate acceptance testing with Exim. It's common for sites to put Exim installations in front of Exchange servers (for security reasons), and do SMTP call forwards to test deliverability.
Thanks!
-- Ian Eiloart IT Services, University of Sussex x3148
--On Monday, March 10, 2008 10:19 AM +0000 Ian Eiloart <iane@sussex.ac.uk> wrote:
Yep, it would be the easiest way to integrate acceptance testing with Exim. It's common for sites to put Exim installations in front of Exchange servers (for security reasons), and do SMTP call forwards to test deliverability.
Another approach is to dump the valid users list periodically using a Windows-based LDAP app and then copy that to the OSS front end MTA for validation. Check the MIMEDefang list archives for howto.
Kenneth Porter wrote:
Another approach is to dump the valid users list periodically using a Windows-based LDAP app and then copy that to the OSS front end MTA for validation. Check the MIMEDefang list archives for howto.
A bit off topic, but why not run the LDAP app on the OSS system? Or better yet, have front end MTA to query LDAP (AD) directly.
About the original question, +1 for a more thorough LDAP integration and LMTP.
BTW, we have written a couple of utilities to integrate Mailman with Sun's Messaging Server. Another is an MTA wrapper (MTA/Ldap.py) to publish mailman aliases in an LDAP directory, and the other one is a channel program for JES to feed appropriate messages to the Mailman wrapper. And we also have UtuMemeberships.py to authenticate users with our email address against LDAP.
Is there any public interest for those?
-- Eino Tuominen
--On 10 March 2008 10:46:39 -0700 Kenneth Porter <shiva@sewingwitch.com> wrote:
--On Monday, March 10, 2008 10:19 AM +0000 Ian Eiloart <iane@sussex.ac.uk> wrote:
Yep, it would be the easiest way to integrate acceptance testing with Exim. It's common for sites to put Exim installations in front of Exchange servers (for security reasons), and do SMTP call forwards to test deliverability.
Another approach is to dump the valid users list periodically using a Windows-based LDAP app and then copy that to the OSS front end MTA for validation. Check the MIMEDefang list archives for howto.
That's pointless with Exim. Exim's capable of querying the LDAP server directly to check the existence of a user - so people can use their accounts as soon as they're created. The advantage of a call forward is that it allows for other factors that might determine deliverability, such as quota problems, personal filters or whatever other features the backend might support. Call forwards are definitive, and don't require knowledge of the nature of the backend.
-- Ian Eiloart IT Services, University of Sussex x3148
Ian, I think that alternative is going to be Mailman 3 :).
So, when is this going to be fixed in Mailman 3?
We have the end of 2022, and this bug from 2008 is still unfixed. I was able to generate backscatter to arbitrary addresses (Envelope-FROM) by sending (Envelope-RCPT) to an eMail address whose localpart is a nōn-existent list and whose domain is a server running Mailman 3 (stock from Debian).
Thanks to this, the list server was just blacklisted by its provider, which is a very unfortunate situation.
So, what can be done about this? Why can Mailman not just generate a list of valid addresses, which Postfix can then use? Ideally even via PostgreSQL to avoid the need for reloads (AIUI).
Thanks in advance, //mirabilos
On 11/6/22 14:36, mirabilos mirabilos wrote:
So, when is this going to be fixed in Mailman 3?
We have the end of 2022, and this bug from 2008 is still unfixed. I was able to generate backscatter to arbitrary addresses (Envelope-FROM) by sending (Envelope-RCPT) to an eMail address whose localpart is a nōn-existent list and whose domain is a server running Mailman 3 (stock from Debian).
Thanks to this, the list server was just blacklisted by its provider, which is a very unfortunate situation.
So, what can be done about this? Why can Mailman not just generate a list of valid addresses, which Postfix can then use? Ideally even via PostgreSQL to avoid the need for reloads (AIUI).
Mailman does this. Mail to an invalid address does not get delivered to Mailman because the invalid address is not in Mailman's generated aliases for Postfix or recognized by the recommended mailman router for Exim.
Why in your example did Postfix treat the RCPT TO that was not a valid list address differently than any other invalid address in RCPT TO? I.e. Postfix should be rejecting that RCPT TO at SMTP time with "unknown user" or some similar error. What did Postfix do in your case.
Also, beginning in Mailman 3.3.6, even in unusual configurations where
an MTA might deliver an invalid recipient to Mailman's LMTP runner, The
runner will reject the invalid RCPT TO during LMTP. See New Features
at
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.h...
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
- Mark Sapiro <mark@msapiro.net>:
Why in your example did Postfix treat the RCPT TO that was not a valid list address differently than any other invalid address in RCPT TO? I.e. Postfix should be rejecting that RCPT TO at SMTP time with "unknown user" or some similar error. What did Postfix do in your case.
This is probably due to an error in local_recipient_maps in Postfix. https://www.postfix.org/LOCAL_RECIPIENT_README.html
-- Ralf Hildebrandt Charité - Universitätsmedizin Berlin Geschäftsbereich IT | Abteilung Netzwerk
Campus Benjamin Franklin (CBF) Haus I | 1. OG | Raum 105 Hindenburgdamm 30 | D-12203 Berlin
Tel. +49 30 450 570 155 ralf.hildebrandt@charite.de https://www.charite.de
Ralf Hildebrandt via Mailman-Developers writes:
This is probably due to an error in local_recipient_maps in Postfix. https://www.postfix.org/LOCAL_RECIPIENT_README.html
Reading the documentation for Exim4 and Postfix these days, I have to wonder if there isn't room for a new MTA with a sane configuration language. Feels like regressing to sendmail.cf levels of obfuscation.
Mark Sapiro wrote:
On 11/6/22 14:36, mirabilos mirabilos wrote:
So, when is this going to be fixed in Mailman 3?
Mailman does this. Mail to an invalid address does not get delivered to Mailman because the invalid address is not in Mailman's generated
Hmmh. This is part-ish of the problem.
But in this specific case, the problem did persist even after disabling Mailman, and it could eventually be traced to a web frontend called modoboa putting its own, broken, configuration. So, this time, Mailman was not the culprit.
Also, beginning in Mailman 3.3.6, even in unusual configurations where an MTA might deliver an invalid recipient to Mailman's LMTP runner, The runner will reject the invalid RCPT TO during LMTP. See New Features at https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.h...
That’s good to hear!
Thanks, //mirabilos
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Sorry for not replying to this sooner, but I was busy and then it got buried.
Jo Rhett wrote:
| On Mar 4, 2008, at 3:28 PM, Mark Sapiro wrote: | |> Even if we wanted to do this, it is non-trivial. All confirmation |> messages and their templates and translations would have to be changed |> to remove references to confirmation by email. | | Text changes are trivial. Code changes require work/testing/etc.
Well, yes and no. A code change is work, but I can unit test it, integration test it and expose it by installing it on my production server. I can do this on my own and on my own schedule.
A text change breaks 35 existing Mailman translations, and breaks them to the extent that changing a single character in the English text, causes that text to be rendered in English on the translated page. This requires 35 translators or translation teams to update their translations. This is anything but trivial.
|> Do you object to any response at all, or just to responses that |> include |> the original message text? | | Any response sent to an innocent victim of forgery. | |> If the former, then you must object to DSNs |> from MTAs as well. If the latter, that is planned to be addressed in |> Mailman 2.2. | | Of course we object to DSNs from MTAs. No shipping mailserver | currently sends DSNs to accepted mail by default. Most of them | haven't for like 10 years. And yes, we absolutely ban qmail from use | unless the person patches it to the moon to solve its problems.
I'm not talking about DSNs to non-accepted mail. I'm talking about a message that is accepted by an MX, queued and later rejected by the ultimate destination. When the MX gets the reject from the destination, does it say "oops, I screwed up, I never should have accepted and queued this message" and just drop it, or does it return a DSN.
Does this make sense, or am I stuck in the 20th century?
Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32)
iD8DBQFH3yjZVVuXXpU7hpMRAlk/AJ9LxZz66hcGiTqpqUcMuZsgLASr+wCeNVIQ ILs8O7pVmBYux+M6r28X7P8= =qGpO -----END PGP SIGNATURE-----
On Mar 17, 2008, at 7:28 PM, Mark Sapiro wrote:
A text change breaks 35 existing Mailman translations, and breaks them
Sorry, yes you are right I forgot about translations.
I'm not talking about DSNs to non-accepted mail. I'm talking about a message that is accepted by an MX, queued and later rejected by the ultimate destination. When the MX gets the reject from the
destination, does it say "oops, I screwed up, I never should have accepted and
queued this message" and just drop it, or does it return a DSN.Does this make sense, or am I stuck in the 20th century?
If you have an MX that queues mail for someone else and isn't
configured to properly deal with DSNs, then yes, you are stuck in the
20th century.
And yes, if your MX host was on our network (and sending DSNs to
forged senders) we'd ask you to shut it down. ("ask" in non-optional
sense)
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett wrote:
If you have an MX that queues mail for someone else and isn't
configured to properly deal with DSNs, then yes, you are stuck in the
20th century.
I still don't get what you mean by "properly deal with DSNs". Are you saying that an MTA should never return a DSN? It should either reject the mail during the incoming SMTP transaction or forever hold its piece?
That's what it seems to me that you are saying. If that's not what you are saying, then perhaps you can explain under what circumstances a DSN is OK.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Mar 24, 2008, at 6:45 PM, Mark Sapiro wrote:
I still don't get what you mean by "properly deal with DSNs". Are you saying that an MTA should never return a DSN? It should either reject the mail during the incoming SMTP transaction or forever hold its piece?
Yes. And not just me, but a dozen different blacklists. RTFM
"backscatter"
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett writes:
On Mar 24, 2008, at 6:45 PM, Mark Sapiro wrote:
I still don't get what you mean by "properly deal with DSNs". Are you saying that an MTA should never return a DSN? It should either reject the mail during the incoming SMTP transaction or forever hold its piece?
Yes. And not just me, but a dozen different blacklists.
Unfortunately this attitude does seem to be catching hold. I was told recently that a secondary MX would have to stop functioning as such because his ISP insists that he have an up to the second list of all valid mailboxes at my site; he's not allowed to relay undeliverable mail to me *ever*.
So much for the whole concept of a store-and-forward mail system. :-(
"Stephen J. Turnbull" <stephen@xemacs.org> writes:
Unfortunately this attitude does seem to be catching hold. I was told recently that a secondary MX would have to stop functioning as such because his ISP insists that he have an up to the second list of all valid mailboxes at my site; he's not allowed to relay undeliverable mail to me *ever*.
These days, secondary MXs usually do SMTP callouts to verify whether email addresses are valid on the primary mail server. It does, however, make the concept of a "secondary MX" less useful than it used to be.
-- (domestic pets only, the antidote for overdose, milk.) larsi@gnus.org * Lars Magne Ingebrigtsen
--On 25 March 2008 08:13:49 +0100 Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:
These days, secondary MXs usually do SMTP callouts to verify whether email addresses are valid on the primary mail server. It does, however, make the concept of a "secondary MX" less useful than it used to be.
Yes. The architecture sucks. We abandoned it about 10 years ago for an LDAP user database that all our SMTP hosts (we have four peers) can access. The database has four mirrors. If the database isn't available (I can't remember the last occasion), we use a 4xx error and ask the sender to hang on to the mail for us.
-- Ian Eiloart IT Services, University of Sussex x3148
Stephen J. Turnbull wrote:
Jo Rhett writes:
On Mar 24, 2008, at 6:45 PM, Mark Sapiro wrote:
I still don't get what you mean by "properly deal with DSNs". Are you saying that an MTA should never return a DSN? It should either reject the mail during the incoming SMTP transaction or forever hold its piece?
Yes. And not just me, but a dozen different blacklists.
Unfortunately this attitude does seem to be catching hold. I was told recently that a secondary MX would have to stop functioning as such because his ISP insists that he have an up to the second list of all valid mailboxes at my site; he's not allowed to relay undeliverable mail to me *ever*.
So much for the whole concept of a store-and-forward mail system. :-(
Well, it does simplify the MTA's job. Instead of all that queueing and retrying and such, you just have during SMTP (hold on a minute while I attempt to deliver this to the next hop and return that result to you)*N, a system that doesn't seem to scale well. Either that or you just forget the concept that the originator of a message can ever be informed of a delivery problem.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro wrote:
Well, it does simplify the MTA's job. Instead of all that queueing and retrying and such, you just have during SMTP (hold on a minute while I attempt to deliver this to the next hop and return that result to you)*N, a system that doesn't seem to scale well. Either that or you just forget the concept that the originator of a message can ever be informed of a delivery problem.
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it. Every organisation should know of every recipient within their authority. You should know the recipient if you accept a message for delivery from outside your domain.
-- Eino Tuominen
On Mar 25, 2008, at 1:06 PM, Eino Tuominen wrote:
Mark Sapiro wrote:
Well, it does simplify the MTA's job. Instead of all that queueing
and retrying and such, you just have during SMTP (hold on a minute
while I attempt to deliver this to the next hop and return that result to you)*N, a system that doesn't seem to scale well. Either that or you just forget the concept that the originator of a message can ever be informed of a delivery problem.You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it. Every organisation should know of every recipient within their authority. You should know the recipient if you accept a message for delivery from outside your
domain.
But how would you scale that to the size of say... yahoo? Multiple
data centers around the world, all processing mail for different
domains under yahoo's control... How would one be able to synchronize
all that data from tons of different places like that?
-- Eino Tuominen
Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/japruim%40raoset.c...
Security Policy: http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq01.027.htp
--
Jason Pruim Raoset Inc. Technology Manager MQC Specialist 3251 132nd ave Holland, MI, 49424-9337 www.raoset.com japruim@raoset.com
Jason Pruim wrote:
But how would you scale that to the size of say... yahoo? Multiple data centers around the world, all processing mail for different domains under yahoo's control... How would one be able to synchronize all that data from tons of different places like that?
Well,
Scale-out is always hard, and enterprises like Yahoo and such are facing a lot of difficult challenges in their environment, but if I may put my two cents in how about letting gateways query some sort of probabilistic datastructure, e.g. bloom filters, to find if an address is known? You could generate bloom filters from the different directories, and distribute those filters via DNS or LDAP.
With a few hundred megabytes of memory you can store millions of entries in the filter with error probability something like under 1/1000. That means you end up sending only under 1/1000th of DSN messages you are sending now.
-- Eino Tuominen
On Mar 25, 2008, at 10:10 AM, Jason Pruim wrote:
But how would you scale that to the size of say... yahoo? Multiple data centers around the world, all processing mail for different domains under yahoo's control... How would one be able to synchronize all that data from tons of different places like that?
Your disbelief has no relevance. Yahoo does do it.
More to the point, I solved this problem for the Navy. 2.5 MILLION e-
mail accounts, and they needed to stop accepting e-mail for accounts
which didn't exist.
To put this in perspective, I did this on a 386/25 processor with 16
megabytes of main memory in 1992.
It's not a hard problem, and *every* modern mail system handles this
properly.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett wrote:
More to the point, I solved this problem for the Navy. 2.5 MILLION e- mail accounts, and they needed to stop accepting e-mail for accounts
which didn't exist.
Hi Jo,
I assume you're talking NMCI. I just tested this by sending to a bogus NMCI address from .com and .mil (non-NMCI) and in both cases the bogus messages were accepted by NMCI. This has always been a major issue with NMCI and has caused many problems. Good for you if you fixed it, but it still seems to be broken from my end of the Navy.
Regards, Lew Wolfgang
On Mar 26, 2008, at 2:30 PM, Lew Wolfgang wrote:
Jo Rhett wrote:
More to the point, I solved this problem for the Navy. 2.5
MILLION e- mail accounts, and they needed to stop accepting e-mail for accounts which didn't exist.I assume you're talking NMCI. I just tested this by sending to a
bogus NMCI address from .com and .mil (non-NMCI) and in both cases the bogus messages were accepted by NMCI. This has always been a major issue
with NMCI and has caused many problems. Good for you if you fixed it,
but it still seems to be broken from my end of the Navy.
I have no idea who NMCI is. They might have changed acronyms. At
the time it was Navsea, SEA-05 (and SEA-04 administration). It was
also a ccMail gateway. My god, I hope they aren't still using that ;-)
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Eino Tuominen wrote:
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it.
That's not what Jo Rhett seems to be saying at <http://mail.python.org/pipermail/mailman-developers/2008-March/019928.html>.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Mar 25, 2008, at 10:59 AM, Mark Sapiro wrote:
Eino Tuominen wrote:
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it.
That's not what Jo Rhett seems to be saying at <http://mail.python.org/pipermail/mailman-developers/2008-March/ 019928.html>.
If you reject the mail during the SMTP phase, and it came from a
legitimate sender, their mail server will return the DSN back to the
sender.
If it was spam, the spambot will go somewhere else.
This is why you reject during SMTP session. Because if you don't,
the spambot comes back to your supposed legal recipient and sends a
bunch more forged mail. And each of those messages you bounce back
to the innocent victim of forgery.
Now that basic education is out of the way...
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Eino Tuominen writes:
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it. Every organisation should know of every recipient within their authority. You should know the recipient if you accept a message for delivery from outside your domain.
Says who? There is nothing in the standards that says so. And if you take that seriously, you have to disable .forward and procmail for individual users, as well as refuse to allow open subscription mailing lists and the like. This may make sense in the U.S. Army and in corporations with a military authority structure, but it does not in most universities, research, or open communities.
That is *not* the way Internet mail is designed to work. Mail, like every other application on the Internet, is intended to be decentralized. It is designed to allow load-sharing by use of intermediate and/or secondary MXes to handle primary crashes or overloads.
Stephen J. Turnbull wrote:
Eino Tuominen writes:
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it. Every organisation should know of every recipient within their authority. You should know the recipient if you accept a message for delivery from outside your domain.
Says who? There is nothing in the standards that says so. And if you
The times, they are a-changing... We are facing a new world and old habits are not the best ways to do things anymore. I'm certainly not one of those deeming all DSN's as evil, but it really hurts our users when some spammer starts a campaing forging sender addresses to look like ours. All the backscatter that is not absolutely necessary is evil. I know, we are still sending it out, too, but I'm actively working on the issue.
-- Eino Tuominen
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 25, 2008, at 5:51 PM, Eino Tuominen wrote:
Stephen J. Turnbull wrote:
Eino Tuominen writes:
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it. Every organisation should know of every recipient within their authority. You should
know the recipient if you accept a message for delivery from outside
your domain.Says who? There is nothing in the standards that says so. And if
youThe times, they are a-changing... We are facing a new world and old habits are not the best ways to do things anymore. I'm certainly not
one of those deeming all DSN's as evil, but it really hurts our users when some spammer starts a campaing forging sender addresses to look like ours. All the backscatter that is not absolutely necessary is evil. I know, we are still sending it out, too, but I'm actively working on
the issue.
In this regard, I don't view Mailman's job as to change the world.
It's job is to adhere to standards, both formal (RFC) and best
established practices. That doesn't mean I think Mailman should just
spew bounce notices all over the place. I think Mailman should give
sites the option to do reasonable bouncing, with rate limits, but also
the option to remain totally silent. We should give people the option
to keep their email responder addresses open, but also the ability to
shut them off. IMO, all those policies are valid and in widespread use.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin)
iD8DBQFH6Xyj2YZpQepbvXERAltmAJ4zYNpDGKuZQmQ4laBRqkE9pR06mgCfW31R rLSzzuk2SdqF/yRTmHvHivk= =EhmY -----END PGP SIGNATURE-----
On Mar 25, 2008, at 2:51 PM, Eino Tuominen wrote:
The times, they are a-changing... We are facing a new world and old habits are not the best ways to do things anymore. I'm certainly
not one of those deeming all DSN's as evil, but it really hurts our users when some spammer starts a campaing forging sender addresses to look like ours. All the backscatter that is not absolutely necessary is evil.
Not all bounces are backscatter. My servers all deliver DSNs to the
sender. My servers don't send backscatter.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett wrote:
Not all bounces are backscatter. My servers all deliver DSNs to the
sender. My servers don't send backscatter.
So now we're back to my original question. Under what circumstances is it acceptable for an MTA to accept a message and then later return an undeliverable DSN?
I thought previously you said 'none', but now you say your servers do it, so which is it?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Jo Rhett wrote:
Not all bounces are backscatter. My servers all deliver DSNs to the sender. My servers don't send backscatter.
On Tue, March 25, 2008 6:59 pm, Mark Sapiro wrote:
So now we're back to my original question. Under what circumstances is it acceptable for an MTA to accept a message and then later return an undeliverable DSN?
I thought previously you said 'none', but now you say your servers do it, so which is it?
My servers do it for mail accepted locally for relay, which is *only* SSL-encrypted and SMTP-AUTH mail. In short, zero chance of bouncing mail to a forged sender.
My server does not accept e-mail from random parties for relay. It either rejects it during the SMTP transaction, or delivers it.
-- Jo Rhett Network/Software Engineer Net Consonance
On Mar 25, 2008, at 1:18 PM, Stephen J. Turnbull wrote:
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it. Every organisation should know of every recipient within their authority. You should
know the recipient if you accept a message for delivery from outside
your domain.Says who? There is nothing in the standards that says so. And if you
Again, you are welcome to do this. Please sign your systems up to
the appropriate blacklists and save us the time.
That is *not* the way Internet mail is designed to work. Mail, like
The Internet of 1990, yes, you're right. I was there. By 1993
everyone was already changing course, and by 1997 the Internet you're
talking about didn't exist any more. Move along.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
--On 26 March 2008 05:18:44 +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
Eino Tuominen writes:
You are missing the point. Of course you can inform of a delivery problem, but only when you really need to do it. Every organisation should know of every recipient within their authority. You should know the recipient if you accept a message for delivery from outside your domain.
Says who? There is nothing in the standards that says so. And if you take that seriously, you have to disable .forward and procmail for individual users, as well as refuse to allow open subscription mailing lists and the like. This may make sense in the U.S. Army and in corporations with a military authority structure, but it does not in most universities, research, or open communities.
No, that's not true. I have about 10,000 users here. They have access to .forward files, but only a handful have worked out how to use them. Actually, we let them set auto-replies but only after the email has passed a very strict spamassassin threshold, and its rate limited, and its only for personal email (To and CC: recipents, no list headers, etc).
We do have open subscription mailing lists.
What we don't do is bounce emails with bad recipient addresses.
That is *not* the way Internet mail is designed to work. Mail, like every other application on the Internet, is intended to be decentralized. It is designed to allow load-sharing by use of intermediate and/or secondary MXes to handle primary crashes or overloads.
Yes, but they need to have equal access to user databases.
-- Ian Eiloart IT Services, University of Sussex x3148
Ian Eiloart writes:
No, that's not true. I have about 10,000 users here.
Interesting. I bet we're talking hundreds of thousands of users, just with the three or four of you medium-to-large-site admins that have posted so far. At a penny per user, I'm sure you could find somebody to do this work. I know I would do it (but you surely could find somebody cheaper and better-qualified ;-).
decentralized. It is designed to allow load-sharing by use of intermediate and/or secondary MXes to handle primary crashes or overloads.
Yes, but they need to have equal access to user databases.
I ask, where are these requirements written? I've been reading the Mailman lists for years. I know that you guys want the autoresponders configurable. However, often enough they've been presented as YAGNI, not a bug, and this is the first time I've heard a demand that they be shut off by default. Obviously you guys hang out together in some Big Site Cabal, but what is common knowledge to you is not necessarily something that volunteer part-time developers are going to have easy access to.
BTW, that's not how I understand a secondary as a practical matter. Effectively, that is a distributed primary. (I bet your "secondary" MXes deliver directly to user mailboxes, which are a shared resource like the user database. No?) Among other things, for most small- scale operations, the user database lives on the same host as the primary's MTA. If it is down, then under that requirement so are any secondaries.
--On 27 March 2008 08:56:54 +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
Ian Eiloart writes:
No, that's not true. I have about 10,000 users here.
Interesting. I bet we're talking hundreds of thousands of users, just with the three or four of you medium-to-large-site admins that have posted so far. At a penny per user, I'm sure you could find somebody to do this work. I know I would do it (but you surely could find somebody cheaper and better-qualified ;-).
At a penny per user, I could raise £100. That wouldn't do the job. Unfortunately, UK academic institutions are cash strapped. We (Sussex) have contributed to UoW and Cyrus IMAP servers code, and to some other projects. Cambridge (somewhat less cash strapped) contributed almost all of the Exim MTA.
decentralized. It is designed to allow load-sharing by use of intermediate and/or secondary MXes to handle primary crashes or overloads.
Yes, but they need to have equal access to user databases.
I ask, where are these requirements written?
You mean the requirement that the mail system be able to reject email from non-members at SMTP time?
<http://wiki.list.org/display/DEV/Mailman+3.0> under "spam defenses". Third paragraph. It was there on July 21 last year, when the page was created from the Mailman 2.2 wish list.
I've been reading the Mailman lists for years. I know that you guys want the autoresponders configurable. However, often enough they've been presented as YAGNI,
Er. I guess that depends on what you mean by "need". Clearly nobody has died because we haven't got this feature. However, very many people have been inconvenienced. It's possible that Mailman bounces contributed to our site being blacklisted by AOL and Yahoo for short periods. It's certain that I've had to spend time helping list managers understand how to choose between the inadequate choices that they have for bad lists.
not a bug, and this is the first time I've heard a demand that they be shut off by default. Obviously you guys hang out together in some Big Site Cabal,
No... I spend more time on the Exim mailing list, but all the conversations that I've ever had about Mailman are on this list.
If you read the thread carefully, you'll find that my position is that this feature is a requirement, but not for 2.1, and maybe not even for 2.2. I just want it to happen eventually.
but what is common knowledge to you is not necessarily something that volunteer part-time developers are going to have easy access to.
That's why I post to the list.
BTW, that's not how I understand a secondary as a practical matter. Effectively, that is a distributed primary.
Yes. When I said the architecture is broken I meant the entire concept of the secondary. It's best to have a distributed primary, and not hard to implement with LDAP. Failing that, you have to choose between relying on third parties to queue your mail for later delivery or on queuing tons of spam on your secondary. I'd prefer to simply not have a secondary if it can't be of equal quality to the primary.
(I bet your "secondary" MXes deliver directly to user mailboxes, which are a shared resource like the user database. No?) Among other things, for most small- scale operations, the user database lives on the same host as the primary's MTA. If it is down, then under that requirement so are any secondaries.
-- Ian Eiloart IT Services, University of Sussex x3148
Ian Eiloart writes:
At a penny per user, I could raise £100. That wouldn't do the job.
No, but if you can find 9 more like you, it would. We heard from one current Navy personnel, according to Jo Rhett that's a cool $25,000. Hey, that could probably buy a month of Barry's time ... can you imagine what we could do with a month of Barry's undivided attention?<wink> Or how about a month of Mark's time (problem with Mark is I don't know if his boss is as sympathetic as Barry's boss is likely to be ...)?
I ask, where are these requirements written?
You mean the requirement that the mail system be able to reject email from non-members at SMTP time?
I mean the document that says that backscatter is a mortal sin, not the document that says various people hold the personal opinion that it would be nice if Mailman would to stop all backscatter.
If you read the thread carefully, you'll find that my position is that this feature is a requirement, but not for 2.1, and maybe not even for 2.2. I just want it to happen eventually.
I'm aware of that. Jo Rhett lacks that kind of patience, and more important, claims to be one of "dozens" similarly impatient
I really think this should happen for 2.2, though, and that 2.2 (or something) should happen quite soon. I plan to fix up my secondary MX situation shortly, but not everybody in my situation can do that.
[This stuff isn't written anywhere more reliable than Wikipedia, and that is] why I post to the list.
That's what I was afraid of.
Stephen J. Turnbull wrote:
Ian Eiloart writes:
I ask, where are these requirements written?
You mean the requirement that the mail system be able to reject email from non-members at SMTP time?
I mean the document that says that backscatter is a mortal sin, not the document that says various people hold the personal opinion that it would be nice if Mailman would to stop all backscatter.
There is no such document. However you know that it's a mortal sin when you end up on several blacklists (and rightly so!) for having sent backscatter to innocent bystanders.
Not all questions of morality have to be formed into laws (nor can they).
Julian Mehnle writes:
There is no such document.
Jo Rhett keeps talking about "technical problems". Well, conformance to a published standard is a technical problem. Deciding what to do in the absence of such a standard is not, and you tell us there isn't one.
But I can tell you this for sure: Ian Eiloart demonstrated a lot of goodwill toward Mailman when he provided about a half-dozen URLs. Can you justify (to yourself!) doing less?
However you know that it's a mortal sin when you end up on several blacklists (and rightly so!) for having sent backscatter to innocent bystanders.
Oh, brother! Look up "vigilante", and meditate on the definition until you realize that those are the words of a vigilante.
The point is that there's a big difference between blacklisting somebody like me, who has participated in this thread and followed past discussions of backscatter, and blacklisting some poor Ubuntu user, who just installs Mailman and creates a few lists because it says on the homepage that it tries to conform to the RFCs on mailing lists and provides some antispam features, and expects that it will therefore DTRT.
The first is both necessary (hypothetically) and right (if necessary), but while the second may be necessary, there's no way it's right.
Footnotes: [1] http://www.trumanlibrary.org/buckstop.htm
--On Saturday, March 29, 2008 8:58 AM +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
However you know that it's a mortal sin when you end up on several blacklists (and rightly so!) for having sent backscatter to innocent bystanders.
Oh, brother! Look up "vigilante", and meditate on the definition until you realize that those are the words of a vigilante.
Is Wikipedia's definition acceptable?
A vigilante is a person who ignores due process of law and enacts his own form of justice when they deem the response of the authorities to be insufficient.
I see nothing wrong with that. Where I live, self-defense is acceptable.
Note that black lists don't block anything. They just report. It's like a web page that lists some group that the author thinks meets some criteria.
Others can then use the black lists they trust to block unwanted traffic. I hardly consider either action to be unreasonable.
[...] blacklisting some poor Ubuntu user, who just installs Mailman and creates a few lists because it says on the homepage that it tries to conform to the RFCs on mailing lists and provides some antispam features, and expects that it will therefore DTRT. [...] may be necessary, there's no way it's right.
Is it wrong for me to choose to not accept his traffic? Does the hypothetical "poor Ubuntu user" have a right to set policy on my server?
Kenneth Porter wrote:
Note that black lists don't block anything. They just report. It's like a web page that lists some group that the author thinks meets some criteria.
Others can then use the black lists they trust to block unwanted traffic. I hardly consider either action to be unreasonable.
That's what the maintainers of black lists say, but in fact, the popular black lists are almost universally used by people who consider them a response to the spam problem without considering that the critera for being blacklisted and for being removed from blacklists are under control of the operators of the lists who guarantee no due process and are accountable to no one.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro wrote:
Kenneth Porter wrote:
Note that black lists don't block anything. They just report. It's like a web page that lists some group that the author thinks meets some criteria.
Others can then use the black lists they trust to block unwanted traffic. I hardly consider either action to be unreasonable.
That's what the maintainers of black lists say, but in fact, the popular black lists are almost universally used by people who consider them a response to the spam problem without considering that the critera for being blacklisted and for being removed from blacklists are under control of the operators of the lists who guarantee no due process and are accountable to no one.
Who says that benevolent-dictator blacklists cannot be an effective response to the spam prolem?
And of course it is untrue that these benevolent dictators are accountable to no one. They are accountable to the users of their blacklists. If users learn that a blacklist is becoming too inaccurate, they will stop using it, or they would be shooting themselves in the foot by rejecting mail from innocent sources.
Julian Mehnle wrote:
Who says that benevolent-dictator blacklists cannot be an effective response to the spam prolem?
Few if any people. That's my point.
And of course it is untrue that these benevolent dictators are accountable to no one. They are accountable to the users of their blacklists. If users learn that a blacklist is becoming too inaccurate, they will stop using it, or they would be shooting themselves in the foot by rejecting mail from innocent sources.
As long as the "collateral damage" is small compared to the reduction in spam, ISPs will continue to use the lists and it will be up to the "innocent sources" to try to get themselves off.
Yes, there is some accountability in the sense you describe, but it is still vigilantism, not due process.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Sat, 2008-03-29 at 01:18 +0000, Julian Mehnle wrote:
blacklists are under control of the operators of the lists who guarantee no due process and are accountable to no one.
Who says that benevolent-dictator blacklists cannot be an effective response to the spam prolem?
And of course it is untrue that these benevolent dictators are accountable to no one. They are accountable to the users of their blacklists.
Absolutely! I use a mix of 6 advisroy blacklists on my mail server. For my personal account, these stop about 80% of the spam sent to me, and probably a similar percentage for my customers and my mailing lists. I haven't had a complaint about a false positive from these blacklists in well over a year. The last time I got such a report was on an IP address blocked because it was listed by Spamcop - one of several false positives from this source. I dropped Spamcop from the mix and have had no such problems since then.
-- Lindsay Haisley | "In an open world, | PGP public key FMP Computer Services | who needs Windows | available at 512-259-1190 | or Gates" | http://pubkeys.fmp.com http://www.fmp.com | |
Kenneth Porter writes:
[Wikipedia says:]
A vigilante is a person who ignores due process of law and enacts his own form of justice when they deem the response of the authorities to be insufficient.
I see nothing wrong with that. Where I live, self-defense is acceptable.
If you equate self-defense with justice, you are wrong. Vigilantes go beyond self-defense, and that's where they go wrong.
[...] blacklisting some poor Ubuntu user, who just installs Mailman and creates a few lists because it says on the homepage that it tries to conform to the RFCs on mailing lists and provides some antispam features, and expects that it will therefore DTRT. [...] may be necessary, there's no way it's right.
Is it wrong for me to choose to not accept his traffic?
Of course not. Where has anybody suggested otherwise?
What I object to is the notion that blacklisting is "right". That is vigilante thinking. Blacklisting is morally neither right nor wrong, not even in the context of spam received. It is a tool that can be used and abused.
Does the hypothetical "poor Ubuntu user" have a right to set policy on my server?
No, but he's going to do it anyway. The policy you want (unless you've got something personal against him) is to never see spam and backscatter, and to receive the valid mails that pass through his server. You can't have that if you blacklist him. You can't have that if you don't.
--On Saturday, March 29, 2008 3:51 PM +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
If you equate self-defense with justice, you are wrong. Vigilantes go beyond self-defense, and that's where they go wrong.
We're quibbling over definitions. It's impossible to find agreement under such circumstances.
No, but he's going to do it anyway. The policy you want (unless you've got something personal against him) is to never see spam and backscatter, and to receive the valid mails that pass through his server. You can't have that if you blacklist him. You can't have that if you don't.
FWIW, I use blacklists via SpamAssassin, invoked from a Sendmail milter, so it's not a black and white decision that relies on a single such list. A degree of consensus is required.
It might be straightforward to cook up some SA rules that recognize mailman backscatter and drop it, at the risk of dropping legitimate bounce notices.
Stephen J. Turnbull wrote:
Julian Mehnle writes:
There is no such document.
Jo Rhett keeps talking about "technical problems". Well, conformance to a published standard is a technical problem. Deciding what to do in the absence of such a standard is not, and you tell us there isn't one.
But I can tell you this for sure: Ian Eiloart demonstrated a lot of goodwill toward Mailman when he provided about a half-dozen URLs. Can you justify (to yourself!) doing less?
You expect me to provide URLs showing what? That there is no standards document saying that backscatter is a mortal sin, in metaphoric sense or not? You must be kidding.
However you know that it's a mortal sin when you end up on several blacklists (and rightly so!) for having sent backscatter to innocent bystanders.
Oh, brother! Look up "vigilante", and meditate on the definition until you realize that those are the words of a vigilante.
The point is that there's a big difference between blacklisting somebody like me, who has participated in this thread and followed past discussions of backscatter, and blacklisting some poor Ubuntu user, who just installs Mailman and creates a few lists because it says on the homepage that it tries to conform to the RFCs on mailing lists and provides some antispam features, and expects that it will therefore DTRT.
The first is both necessary (hypothetically) and right (if necessary), but while the second may be necessary, there's no way it's right.
You seem to be missing that the e-mail system is essentially an anarchy.
If there were authorities that could be trusted to maintain order, there
might not be any need for blacklists. As things are, however, it seems
perfectly legitimate to reject mail from sources that are exhibiting
antisocial behavior such as hitting unrelated people with backscatter.
Of course we all don't want Mailman installations to systematically end up on blacklists for sending backscatter. That's why I suggested the use of SPF as a method to determine when bounces can be sent safely and when not.
Julian Mehnle writes:
You expect me to provide URLs showing what?
Actually, I consider you rather unlikely to provide any URLs at all.
You seem to be missing that the e-mail system is essentially an anarchy.
No, I just don't apply judgmental terms like "rightfully blacklisted" and "antisocial behavior" to what is at worst incompetence. In fact, I object to them, in large part because they are so often associated with turning a blind eye to the collateral damage done by many anti- spam measures, in particular blacklists.
I really think this should happen for 2.2, though, and that 2.2 (or something) should happen quite soon. I plan to fix up my secondary MX situation shortly, but not everybody in my situation can do that.
[This stuff isn't written anywhere more reliable than Wikipedia, and that is] why I post to the list.
That's what I was afraid of.
I think the reason that backscatter isn't subject to any RFC is that the real problem is the lack of authentication and accountability for return-paths in the original messages. Bouncing would be fine if you know that the email really came from the owner of the return-path.
That's what SPF and DKIM are intended to help with. There's friction in their adoption because certain features of email (notably mail forwarding, but also some others) have no regard for these features.
Until no email service provider accepts message submissions outside of their own domains, all email providers offer message submission on port 587, all message submissions are autheticated, and mail forwarders accept responsibility for the email that they forward, it's not safe to bounce email.
-- Ian Eiloart IT Services, University of Sussex x3148
Ian Eiloart wrote:
I think the reason that backscatter isn't subject to any RFC is that the real problem is the lack of authentication and accountability for return-paths in the original messages. Bouncing would be fine if you know that the email really came from the owner of the return-path.
That's what SPF and DKIM are intended to help with. There's friction in their adoption because certain features of email (notably mail forwarding, but also some others) have no regard for these features.
So far, so good.
Until no email service provider accepts message submissions outside of their own domains, all email providers offer message submission on port 587, all message submissions are autheticated, and mail forwarders accept responsibility for the email that they forward, it's not safe to bounce email.
This, however, is simply untrue. Of course what you said is desirable, but SPF can help with safely bouncing e-mail _today_. SPF may sometimes give an unexpected "Fail" result due to alias-style forwarding or other problematic cases, but when it gives a "Pass" result, it is always safe, i.e., the return path can be assumed to be authentic and bounces may be sent.
--On 28 March 2008 12:47:48 +0000 Julian Mehnle <julian@mehnle.net> wrote:
Until no email service provider accepts message submissions outside of their own domains, all email providers offer message submission on port 587, all message submissions are autheticated, and mail forwarders accept responsibility for the email that they forward, it's not safe to bounce email.
This, however, is simply untrue. Of course what you said is desirable, but SPF can help with safely bouncing e-mail _today_.
Only for the minority of domains that publish SPF records. My intention was to convey that SPF will be the solution once adopted.
SPF may sometimes give an unexpected "Fail" result due to alias-style forwarding or other problematic cases, but when it gives a "Pass" result, it is always safe, i.e., the return path can be assumed to be authentic and bounces may be sent.
-- Ian Eiloart IT Services, University of Sussex x3148
Ian Eiloart writes:
I think the reason that backscatter isn't subject to any RFC is that the real problem is the lack of authentication and accountability for return-paths in the original messages. Bouncing would be fine if you know that the email really came from the owner of the return-path.
That's what SPF and DKIM are intended to help with.
Aha, good point. OK, then the draft standards/RFCs for those qualify as far as I'm concerned. Note, I didn't mean that there must be an RFC saying "no backscatter", although you could read my words that way (and I certainly do demand it before I will consider this a purely technical problem). That would make things easy, of course, but those drafts/RFCs will most likely contain rationale for why we would like to outright ban backscatter, but can't quite go so far yet.
There's friction in their adoption because certain features of email (notably mail forwarding, but also some others) have no regard for these features.
By which you mean that SPF and DKIM in some configurations are as big a threat to Mailman as blacklisting for backscatter is, right?
--On 29 March 2008 09:09:30 +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
There's friction in their [SPF and DKIM] adoption because certain
features of
email (notably mail forwarding, but also some others) have no regard for these features.
By which you mean that SPF and DKIM in some configurations are as big a threat to Mailman as blacklisting for backscatter is, right?
Maybe, but it's a question of configuration, not principle. SPF is no particular problem, because emails passing through Mailman get new return paths. If your Mailman domain has good SPF records, then the only problem that could occur is with recipients having forwarding set up. Actually, Mailman should be a winner here, because the list member can change their entry in the list much more easily than they can do so in their friends' address books.
As far as DKIM is concerned, I think Mailman already can re-sign messages. I don't remember the details, though. Anyway, I think re-signing is the correct thing for a list to do. Again, Mailman is a winner here because it's capable of doing such things.
As far as configuration is concerned, of course if you misconfigure either of these things, you're screwed. But, the reasons that SPF and DKIM aren't universal yet are not specific to Mailman.
-- Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 31, 2008, at 6:15 AM, Ian Eiloart wrote:
As far as DKIM is concerned, I think Mailman already can re-sign
messages. I don't remember the details, though. Anyway, I think re-signing is
the correct thing for a list to do. Again, Mailman is a winner here
because it's capable of doing such things.
IIRC, I think we decided that it was best to leave re-signing up to
the local MTA that Mailman delivers to, and not have Mailman itself do
the signing. Or am I misremembering that?
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkgA3SoACgkQ2YZpQepbvXGPtQCdE6ylXidmle/UkWVDjTWhp8Io 7nUAnjyVrFmWHSPUo0xDxaPINDZfgujS =xCar -----END PGP SIGNATURE-----
Barry Warsaw wrote:
On Mar 31, 2008, at 6:15 AM, Ian Eiloart wrote:
As far as DKIM is concerned, I think Mailman already can re-sign
messages. I don't remember the details, though. Anyway, I think re-signing is
the correct thing for a list to do. Again, Mailman is a winner here
because it's capable of doing such things.IIRC, I think we decided that it was best to leave re-signing up to
the local MTA that Mailman delivers to, and not have Mailman itself do
the signing. Or am I misremembering that?
That's my recollection too.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On 12 April 2008 12:02:45 -0400 Barry Warsaw <barry@list.org> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 31, 2008, at 6:15 AM, Ian Eiloart wrote:
As far as DKIM is concerned, I think Mailman already can re-sign messages. I don't remember the details, though. Anyway, I think re-signing is the correct thing for a list to do. Again, Mailman is a winner here because it's capable of doing such things.
IIRC, I think we decided that it was best to leave re-signing up to the local MTA that Mailman delivers to, and not have Mailman itself do the signing. Or am I misremembering that?
I think you're right.
-- Ian Eiloart IT Services, University of Sussex x3148
On Mar 24, 2008, at 11:35 PM, Stephen J. Turnbull wrote:
Unfortunately this attitude does seem to be catching hold. I was told .... So much for the whole concept of a store-and-forward mail system. :-(
You are stuck in the last century, aren't you? No insult intended,
honestly. Nobody I know of has done store and forward since the mid
90s. It defeats most spam control methods.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett wrote:
On Mar 24, 2008, at 6:45 PM, Mark Sapiro wrote:
I still don't get what you mean by "properly deal with DSNs". Are you saying that an MTA should never return a DSN? It should either reject the mail during the incoming SMTP transaction or forever hold its piece?
Yes. And not just me, but a dozen different blacklists. RTFM "backscatter"
You can however safely send a DSN if an SPF[1] check for the incoming message passes.
On Tue, March 25, 2008 2:33 am, Julian Mehnle wrote:
You can however safely send a DSN if an SPF[1] check for the incoming message passes.
That's not "safe" but perhaps "safer". But a lot of sites can't use SPF so they either don't use it, or use soft-fail. I would only trust SPF results from explicit matches and PASS.
-- Jo Rhett Network/Software Engineer Net Consonance
Jo Rhett wrote:
On Tue, March 25, 2008 2:33 am, Julian Mehnle wrote:
You can however safely send a DSN if an SPF[1] check for the incoming message passes.
That's not "safe" but perhaps "safer". But a lot of sites can't use SPF so they either don't use it, or use soft-fail. I would only trust SPF results from explicit matches and PASS.
There are two parts to SPF: publishing SPF records for one's domains, and checking SPF on incoming messages. Everyone can do the SPF checking part, even if they cannot publish SPF records themselves for whatever reason. SPF's alias-style forwarding issues aside, "Pass" results, when achieved, are perfectly reliable and accurately indicate that the envelope sender address can safely be bounced to.
On Mar 26, 2008, at 3:30 PM, Julian Mehnle wrote:
There are two parts to SPF: publishing SPF records for one's
domains, and checking SPF on incoming messages. Everyone can do the SPF checking part, even if they cannot publish SPF records themselves for whatever reason. SPF's alias-style forwarding issues aside, "Pass" results,
when achieved, are perfectly reliable and accurately indicate that the envelope sender address can safely be bounced to.
I was part of the original SPF working group, you're singing to the
choir.
But for various reasons many organizations publish wide-open SPF
records, and right or wrong those people will still report
backscatter to the blacklists.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett wrote:
But for various reasons many organizations publish wide-open SPF records, and right or wrong those people will still report backscatter to the blacklists.
This is the first time I hear of this being a widespread problem. Can you please contact me off-list and give me some details on which organiza- tions do that? Perhaps the SPF project has to take them aside and have a friendly word or two with them.
In any case, this can be considered an abuse of the blacklists being reported to. For example, the SpamCop blacklist explicitly asks spam submitters to publish SPF records if they receive backscatter, so it is obvious that they aren't supposed to submit bounces as spam that are "legitimate" according to a published SPF record of theirs.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 25, 2008, at 5:33 AM, Julian Mehnle wrote:
Jo Rhett wrote:
On Mar 24, 2008, at 6:45 PM, Mark Sapiro wrote:
I still don't get what you mean by "properly deal with DSNs". Are
you saying that an MTA should never return a DSN? It should either
reject the mail during the incoming SMTP transaction or forever hold its piece?Yes. And not just me, but a dozen different blacklists. RTFM "backscatter"
You can however safely send a DSN if an SPF[1] check for the incoming message passes.
I've added this to http://wiki.list.org/display/DEV/Mailman+3.0
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkgA4HUACgkQ2YZpQepbvXEZzACfW4rQ+IZfnZL5i/JzqLLzhF9h 7Y4An1n+GCDzGKo4xuM/Ix5YJ9RWPgMv =CoOu -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 24, 2008, at 10:03 PM, Jo Rhett wrote:
On Mar 24, 2008, at 6:45 PM, Mark Sapiro wrote:
I still don't get what you mean by "properly deal with DSNs". Are you saying that an MTA should never return a DSN? It should either reject the mail during the incoming SMTP transaction or forever hold its piece?
Yes. And not just me, but a dozen different blacklists. RTFM "backscatter"
I think you will be happier with what is possible in Mailman 3. In
mm3 we have a working LMTP server, those it's based on asyncore and
its scalability is questionable. Although I have not yet done this, I
plan to tie the rule chain checker into LMTP so that if your MTA
supports LMTP delivery the following can happen:
worldwildwonderland -> SMTP -> MM's LMTP -> rule checks
The rule checks then could tell LTMP to reject the message right
there, which would return 5xx to SMTP and /it/ would return 5xx to
whatever upstream SMTP its talking to.
Now, I wouldn't want to do a lot of work at that point, but some
simple checks would definitely be possible. You can reject messages
as early in the process as possible and do it at the SMTP layer.
While I think the LMTP code could be backported to 2.2, the rule
chains stuff cannot.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin)
iQCVAwUBR+l6rXEjvBPtnXfVAQJMEQP/RVWLJNRtQbH3UsWCLLi76ef/fOhCP5h8 /k0V/dkM7gmM2efjnfoK30VR88gxcDAHXCFZ4DxYSFCcPleHRfcp/DTgrnBq3ezv 4eG76PIjXXNfXx+DVHiafORSBWavyYmtIvOjt75tT6VPO99GbO3dA6wwdtWkDDeD oWVR6pkzjSA= =oBVb -----END PGP SIGNATURE-----
On Mar 25, 2008, at 3:20 PM, Barry Warsaw wrote:
I think you will be happier with what is possible in Mailman 3. In
mm3 we have a working LMTP server, those it's based on asyncore and
its scalability is questionable. Although I have not yet done
this, I plan to tie the rule chain checker into LMTP so that if
your MTA supports LMTP delivery the following can happen:worldwildwonderland -> SMTP -> MM's LMTP -> rule checks
That sounds like exactly the right solution. When do you think MM3
will be reasonable to use in production?
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
I think you will be happier with what is possible in Mailman 3. In mm3 we have a working LMTP server, those it's based on asyncore and its scalability is questionable. Although I have not yet done this, I plan to tie the rule chain checker into LMTP so that if your MTA supports LMTP delivery the following can happen:
worldwildwonderland -> SMTP -> MM's LMTP -> rule checks
The rule checks then could tell LTMP to reject the message right there, which would return 5xx to SMTP and /it/ would return 5xx to whatever upstream SMTP its talking to.
Now, I wouldn't want to do a lot of work at that point, but some simple checks would definitely be possible. You can reject messages as early in the process as possible and do it at the SMTP layer.
It needs to be done after RCPT TO. LMTP allows you to sensibly do this later, and get return codes for individual recipients. However, it we're doing this with call forwards from an MTA which is receiving email over SMTP, then the MTA will have to check the sender/recipient pair at RCPT TO time.
on connect: accept the connection HELO/EHLO: reject if the sending MTA isn't known MAIL FROM: accept (perhaps unless the sender address is forbidden to post to all lists). RCPT TO: accept if the sender has permissions to post to the list, otherwise reject. This is the last chance to give a list specific response to an MTA that is engaged in a callout. DATA: reject null senders here if appropriate. Rejecting a null sender at RCPT TO or earlier might break callouts. ............. . Check the data, reject if inappropriate for a specific list (but this is likely to cause a bounce from our MTA). Because we've decided to trust the sender, we should be OK to bounce a message here, unless the list is an open list.
While I think the LMTP code could be backported to 2.2, the rule chains stuff cannot.
-- Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 26, 2008, at 7:27 AM, Ian Eiloart wrote:
I think you will be happier with what is possible in Mailman 3. In mm3 we have a working LMTP server, those it's based on asyncore and its scalability is questionable. Although I have not yet done
this, I plan to tie the rule chain checker into LMTP so that if your MTA supports LMTP delivery the following can happen:worldwildwonderland -> SMTP -> MM's LMTP -> rule checks
The rule checks then could tell LTMP to reject the message right there, which would return 5xx to SMTP and /it/ would return 5xx to whatever upstream SMTP its talking to.
Now, I wouldn't want to do a lot of work at that point, but some simple checks would definitely be possible. You can reject messages as early in the process as possible and do it at the SMTP layer.
It needs to be done after RCPT TO. LMTP allows you to sensibly do
this later, and get return codes for individual recipients. However, it
we're doing this with call forwards from an MTA which is receiving email
over SMTP, then the MTA will have to check the sender/recipient pair at
RCPT TO time.on connect: accept the connection HELO/EHLO: reject if the sending MTA isn't known MAIL FROM: accept (perhaps unless the sender address is forbidden to post to all lists). RCPT TO: accept if the sender has permissions to post to the list, otherwise
reject. This is the last chance to give a list specific response to an MTA
that is engaged in a callout. DATA: reject null senders here if appropriate. Rejecting a null sender at
RCPT TO or earlier might break callouts. ............. . Check the data, reject if inappropriate for a specific list (but
this is likely to cause a bounce from our MTA). Because we've decided to
trust the sender, we should be OK to bounce a message here, unless the list is
an open list.
This is great. I've captured it on the wiki: http://wiki.list.org/display/DEV/LMTP+process
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkgA5GYACgkQ2YZpQepbvXGfyACdGdsEJtyQgevZWggi1kviroHr GiEAoLQoEhQ+TV8CRr5NF9cKk6IkIddp =WjHS -----END PGP SIGNATURE-----
--On 24 March 2008 18:45:22 -0700 Mark Sapiro <mark@msapiro.net> wrote:
Jo Rhett wrote:
If you have an MX that queues mail for someone else and isn't configured to properly deal with DSNs, then yes, you are stuck in the 20th century.
I still don't get what you mean by "properly deal with DSNs". Are you saying that an MTA should never return a DSN? It should either reject the mail during the incoming SMTP transaction or forever hold its piece?
Er, "peace". But yes. That should be the way that email sysadmins are thinking these days. But, it's a "should" not a "must", in the sense of RFC 2821 section 2.3 <http://www.apps.ietf.org/rfc/rfc2821.html#sec-2.3>
That's what it seems to me that you are saying. If that's not what you are saying, then perhaps you can explain under what circumstances a DSN is OK.
There are examples:
(1) Internal DSNs are OK if you don't accept inbound, unauthenticated mail from your own domain. (Actually, it's your domain so feel free to do what you like internally).
For example, we don't accept mail from our own domain unless it's authenticated, or carries a header saying that it's been through our server. Therefore we don't get spam with local SMTP return-paths.
So, my mail server can safely bounce email into my domain. In fact, if I'm handling an authenticated message submission, I prefer to bounce than to reject: some MUAs don't handle rejection properly.
(2) It should also be acceptable to bounce a message that gets an SPF pass (perhaps not from a +all entry, though), or if it carries a valid DKIM signature.
(2a) Given that SPF is available, this could be extended to domains that don't publish SPF records (yes, including us). If they don't care who's using their email addresses, then perhaps we should punish them by drowning them in backscatter!
(3) It's probably OK to bounce a message to a list member - perhaps if the message broke some list policy on message content.
-- Ian Eiloart IT Services, University of Sussex x3148
On Tue, Mar 04, 2008 at 03:28:22PM -0800, Mark Sapiro wrote:
The Defaults.py setting for DEFAULT_GENERIC_NONMEMBER_ACTION has been Hold from the beginning.
We've recently set this to 3 (Discard) for new lists. Please explain the argument for keeping the default as Hold for the long term. I believe it should be Discard, but can think of at least one argument for keeping the current default. I'd like to hear development team's line.
Perhaps you are thinking of the respond_to_post_requests setting.
Do you object to any response at all, or just to responses that include the original message text? If the former, then you must object to DSNs from MTAs as well. If the latter, that is planned to be addressed in Mailman 2.2.
Even without the original message text a response is a problem. In the case of backscatter, the many novice users are still likely to tag the message as spam, which will cause the mailman install to be blacklisted if enough users from the same provider take this action.
I'm happy to discuss ibiblio's experiences with being blacklisted off-list.
Cheers,
Cristóbal Palmer ibiblio.org systems administrator
Cristóbal Palmer writes:
Even without the original message text a response is a problem.
I agree -- the addresses are too easy to compute and do end up in lists that are sold -- and would support consideration of changing the defaults as proposed.
But not for 2.1.10. Changing 2.1.10 is dumb software engineering and hysterical policy.
You see, as Jo Rhett points out (apparently without understanding), it will have *no noticable effect* in the short run because *the proposed change won't affect existing Mailman installations*, not even those that upgrade to 2.1.10.
So the right thing to do is to get 2.1.10 out the door as is, and get started on 2.2. Then you can even discuss shutting off the feature in *existing* installations and requiring admins of *existing* installations to reactivate the feature if they want it.[1] That would very likely have noticeable effect *much sooner* than the change proposed for 2.1.10, and would be much less disruptive.
Footnotes: [1] Indeed, I think that makes sense, but I have no intention of participating in discussion until after release of 21.1.10.
On Wed, Mar 05, 2008 at 02:27:06PM +0900, Stephen J. Turnbull wrote:
So the right thing to do is to get 2.1.10 out the door as is, and get started on 2.2.
Agreed. I like the README.backscatter proposal, too. Such a document would (ideally) help us and other admins who want to take action *now* change the right settings even for existing lists.
ibiblio and many other sites have a long-term investment in mailman's success as a project, so let's please keep the release manager happy. :)
Cheers,
Cristóbal Palmer ibiblio.org systems administrator
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 5, 2008, at 12:27 AM, Stephen J. Turnbull wrote:
Cristóbal Palmer writes:
Even without the original message text a response is a problem.
I agree -- the addresses are too easy to compute and do end up in lists that are sold -- and would support consideration of changing the defaults as proposed.
But not for 2.1.10. Changing 2.1.10 is dumb software engineering and hysterical policy.
You see, as Jo Rhett points out (apparently without understanding), it will have *no noticable effect* in the short run because *the proposed change won't affect existing Mailman installations*, not even those that upgrade to 2.1.10.
So the right thing to do is to get 2.1.10 out the door as is, and get started on 2.2. Then you can even discuss shutting off the feature in *existing* installations and requiring admins of *existing* installations to reactivate the feature if they want it.[1] That would very likely have noticeable effect *much sooner* than the change proposed for 2.1.10, and would be much less disruptive.
Mark's the release manager for 2.1, but FWIW I completely agree with
Stephen about this. What I would suggest though is that this
information be put in a prominent place on the wiki. We have a
security space with nothing substantial in it, so I suggest we put it
here.
http://wiki.list.org/display/SEC/Home
This will get much more publicity and community input than in a README
file. This is something you can do right now <wink>.
We need to get 2.1.10 out and move on. I hope Jo, Cristobal, Ian and
others will help us solve these problems in MM2.2 and 3.0.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfPJKcACgkQ2YZpQepbvXGicQCeMN5dv4sutxfUfzvL1FHNzZp1 McAAoIGPH+NOxU+nzOrlzV4egzw8EYtg =d5ci -----END PGP SIGNATURE-----
On Wednesday, March 05, 2008 5:54 PM -0500 Barry Warsaw <barry@list.org> wrote:
Mark's the release manager for 2.1, but FWIW I completely agree with Stephen about this. What I would suggest though is that this information be put in a prominent place on the wiki. We have a security space with nothing substantial in it, so I suggest we put it here.
This appears to be a read-only space. The add page link on the dashboard is grey and there's no Edit tab on the main page.
Kenneth Porter wrote:
On Wednesday, March 05, 2008 5:54 PM -0500 Barry Warsaw <barry@list.org> wrote:
[...] We have a security space with nothing substantial in it, so I suggest we put it here.
This appears to be a read-only space. The add page link on the dashboard is grey and there's no Edit tab on the main page.
Did you 'Sign Up' and/or 'Log In'?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Thursday, March 06, 2008 12:47 PM -0800 Mark Sapiro <mark@msapiro.net> wrote:
This appears to be a read-only space. The add page link on the dashboard is grey and there's no Edit tab on the main page.
Did you 'Sign Up' and/or 'Log In'?
Yep, I created a login and see the Log Out link at top. The COM, DEV, and DOC sections are editable. SEC is not.
I expected that the other 3 spaces are only editable when one has a login and thought perhaps SEC had been created with some kind of special group requirement, to keep crackers from seeing exploitable issues before a fix was available.
Kenneth Porter wrote:
Yep, I created a login and see the Log Out link at top. The COM, DEV, and DOC sections are editable. SEC is not.
I expected that the other 3 spaces are only editable when one has a login and thought perhaps SEC had been created with some kind of special group requirement, to keep crackers from seeing exploitable issues before a fix was available.
You are correct. My bad. since I am a member of a special group (not special enough to change Space Permissions though), I created a non-special user to see if it could add/edit pages. Foolishly, I then just went to a few pages to see if I had an edit tab, but I didn't actually go to the SEC page.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 6, 2008, at 2:34 PM, Kenneth Porter wrote:
On Wednesday, March 05, 2008 5:54 PM -0500 Barry Warsaw <barry@list.org
wrote:
Mark's the release manager for 2.1, but FWIW I completely agree with Stephen about this. What I would suggest though is that this information be put in a prominent place on the wiki. We have a security space with nothing substantial in it, so I suggest we put it here.
This appears to be a read-only space. The add page link on the
dashboard is grey and there's no Edit tab on the main page.
Try it now. At one point I thought the entire space should be write
restricted to just the core developers, but I think that's misguided.
I've opened up the permissions and we can lock specific pages if/when
we find that necessary.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfQooIACgkQ2YZpQepbvXEqKACeN1ZIpkSt3wmRBHwc5AMXbMY8 qnIAoIiUvQl8BbYyq0hxE4j4fbNOs75a =etSR -----END PGP SIGNATURE-----
--On Thursday, March 06, 2008 9:03 PM -0500 Barry Warsaw <barry@list.org> wrote:
Try it now. At one point I thought the entire space should be write restricted to just the core developers, but I think that's misguided. I've opened up the permissions and we can lock specific pages if/when we find that necessary.
I can edit it now.
Using Mozilla Seamonkey, the Rich Text tab shows a tiny edit window with what looks like HTML to edit. The Wiki Markup tab gives me a Page Not Found. Does Confluence work well with Firefox? Seamonkey should behave nearly identically but some browser detectors get confused by it.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 7, 2008, at 8:44 AM, Kenneth Porter wrote:
--On Thursday, March 06, 2008 9:03 PM -0500 Barry Warsaw <barry@list.org
wrote:
Try it now. At one point I thought the entire space should be write restricted to just the core developers, but I think that's misguided. I've opened up the permissions and we can lock specific pages if/ when we find that necessary.
I can edit it now.
Using Mozilla Seamonkey, the Rich Text tab shows a tiny edit window
with what looks like HTML to edit. The Wiki Markup tab gives me a Page Not Found. Does Confluence work well with Firefox? Seamonkey should behave nearly identically but some browser detectors get confused by it.
It definitely works well with FF2, as I use it on both OS X and Ubuntu
all the time. It also works well (for me) in Safari, though you might
not care about that. ;)
I haven't tried Seamonkey, but just be sure you have JavaScript
enabled. You probably already do, but I think that'll make a
difference.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfRTlYACgkQ2YZpQepbvXFcbQCggEKbmiFa8JrsI3W2naYnP1U9 8lcAn2MqICv0DhR6teSesvcw8mqQncQ5 =NMnB -----END PGP SIGNATURE-----
--On Friday, March 07, 2008 9:16 AM -0500 Barry Warsaw <barry@list.org> wrote:
I haven't tried Seamonkey, but just be sure you have JavaScript enabled. You probably already do, but I think that'll make a difference.
Aha! That was it. I'd allowed it on FF yesterday at the office, but not this morning on Seamonkey from home. (I've got the NoScript addon going.)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 7, 2008, at 10:08 AM, Kenneth Porter wrote:
--On Friday, March 07, 2008 9:16 AM -0500 Barry Warsaw
<barry@list.org> wrote:I haven't tried Seamonkey, but just be sure you have JavaScript
enabled. You probably already do, but I think that'll make a difference.Aha! That was it. I'd allowed it on FF yesterday at the office, but
not this morning on Seamonkey from home. (I've got the NoScript addon
going.)
Who doesn't?! :)
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfRZ9kACgkQ2YZpQepbvXFl6ACfX3uT65I4VgjwA4X9aQkLS0nr vrMAoILSmQa8FVbTEFPyk4fU92+CxaJ8 =+UFg -----END PGP SIGNATURE-----
On Wednesday, March 05, 2008 5:54 PM -0500 Barry Warsaw <barry@list.org> wrote:
Mark's the release manager for 2.1, but FWIW I completely agree with Stephen about this. What I would suggest though is that this information be put in a prominent place on the wiki. We have a security space with nothing substantial in it, so I suggest we put it here.
Initial text here:
<http://wiki.list.org/display/SEC/Controlling+spam>
I grabbed some text from Jo Rhett's initial post in this thread and then added what I did to my installation. Those with more of a "big picture" view of the system can refine this.
Kenneth Porter wrote:
Initial text here:
<http://wiki.list.org/display/SEC/Controlling+spam>
I grabbed some text from Jo Rhett's initial post in this thread and then added what I did to my installation. Those with more of a "big picture" view of the system can refine this.
Thanks Kenneth.
I changed the last part. Take a look. Note that sitelist.cfg is irrelevant. It is intended to be used as input to bin/config_list to configure the site list ('mailman' list) more appropriately than the default settings. It has no actual effect on any list unless you run bin/config_list on that list with sitelist.cfg as input.
Also, if you're happy with the way the new mm_handler is working, let me know, and I'll get it in the contrib directory for 2.1.10.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On Friday, March 07, 2008 4:31 PM -0800 Mark Sapiro <mark@msapiro.net> wrote:
I changed the last part. Take a look. Note that sitelist.cfg is irrelevant. It is intended to be used as input to bin/config_list to configure the site list ('mailman' list) more appropriately than the default settings. It has no actual effect on any list unless you run bin/config_list on that list with sitelist.cfg as input.
The new text says to change generic_nonmember_action but not where to change it. I see it in /var/lib/mailman/data/sitelist.cfg which I believe is site-wide and probably suffers the same issue. I haven't yet found it in the web interface. (It might be nice if the web interface included an "all settings" page, or at least an index of settings so one could then go to the specific page with that setting.)
Ideally I should be able to change it in a text file or otherwise with a shell utility, so that I can bulk-change the setting in all lists I manage with a script.
Kenneth Porter wrote:
--On Friday, March 07, 2008 4:31 PM -0800 Mark Sapiro <mark@msapiro.net> wrote:
I changed the last part. Take a look. Note that sitelist.cfg is irrelevant. It is intended to be used as input to bin/config_list to configure the site list ('mailman' list) more appropriately than the default settings. It has no actual effect on any list unless you run bin/config_list on that list with sitelist.cfg as input.
The new text says to change generic_nonmember_action but not where to change it.
Privacy options -> Sender filters
I see it in /var/lib/mailman/data/sitelist.cfg which I believe is site-wide and probably suffers the same issue.
As I tried to point out in what you quote above, data/sitelist.cfg has absolutely no effect on anything unless you run bin/config_list on a particular list with that file as input.
I haven't yet found it in the web interface. (It might be nice if the web interface included an "all settings" page, or at least an index of settings so one could then go to the specific page with that setting.)
Yes, there should be a TOC or index in the docs for all settings, and having it on a page in the web interface is a good idea too.
Ideally I should be able to change it in a text file or otherwise with a shell utility, so that I can bulk-change the setting in all lists I manage with a script.
You can do the following to set generic_nonmember_action to discard for every list:
#!/bin/bash
cd /path/to/mailman/bin
f=mktemp
echo generic_nonmember_action = 3 > $f
for list in ./list_lists --bare
do ./config-list -i $f $list
done
rm $f
I.e. you can configure a list with text input to config_list containing only those settings you want to change.
Maybe you can come up with some good text to add to the wiki page.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On Friday, March 07, 2008 4:31 PM -0800 Mark Sapiro <mark@msapiro.net> wrote:
Also, if you're happy with the way the new mm_handler is working, let me know, and I'll get it in the contrib directory for 2.1.10.
I'm seeing lines like the following in maillog. How do I trace the source of the error? (I can debug code in an Emacs/shell situation, I just don't know how to debug within the sendmail/mm-handler/mailman environment to isolate the offending module and line.)
Mar 10 11:13:30 centos sendmail[26008]: m2749udR026109: to=<tvservers@lists.matureasskickers.net>, delay=3+14:03:32, xdelay=00:00:00, mailer=mailman, pri=7863419, relay=lists.matureasskickers.net, dsn=4.0.0, stat=Operating system error
In sendmail.mc:
Mmailman, P=/usr/local/sbin/mm-handler, F=rDFMhlqSu, U=mailman:mailman, S=EnvFromL, R=EnvToL/HdrToL, A=mm-handler $h $u
My only change to your script was the Perl location in the shebang and these two lines (to match the CentOS RPM file locations):
$MMWRAPPER = "/usr/lib/mailman/mail/mailman"; $MMLISTDIR = "/var/lib/mailman/lists";
Kenneth Porter wrote:
--On Friday, March 07, 2008 4:31 PM -0800 Mark Sapiro <mark@msapiro.net> wrote:
Also, if you're happy with the way the new mm_handler is working, let me know, and I'll get it in the contrib directory for 2.1.10.
I'm seeing lines like the following in maillog. How do I trace the source of the error? (I can debug code in an Emacs/shell situation, I just don't know how to debug within the sendmail/mm-handler/mailman environment to isolate the offending module and line.)
Mar 10 11:13:30 centos sendmail[26008]: m2749udR026109: to=<tvservers@lists.matureasskickers.net>, delay=3+14:03:32, xdelay=00:00:00, mailer=mailman, pri=7863419, relay=lists.matureasskickers.net, dsn=4.0.0, stat=Operating system error
In sendmail.mc:
Mmailman, P=/usr/local/sbin/mm-handler, F=rDFMhlqSu, U=mailman:mailman, S=EnvFromL, R=EnvToL/HdrToL, A=mm-handler $h $u
My only change to your script was the Perl location in the shebang and these two lines (to match the CentOS RPM file locations):
$MMWRAPPER = "/usr/lib/mailman/mail/mailman"; $MMLISTDIR = "/var/lib/mailman/lists";
I am not the author of mm-handler - that's David Champion. I'm just the release manager for the 2.1.10 release. I'm not well versed in either perl or sendmail, but I'm surprised sendmail doesn't log more.
In any case, my guess would be a permissions issue or a group mismatch from the mailman wrapper, but if everything is the same as with the previous mm-handler, then that should not be the case.
You could try running mm-handler by hand. I think it would be something like
/usr/local/sbin/mm-handler your.host.name listname < file_with_raw_msg
You might want to uncomment the $DEBUG = 1; line when you do this. If I read your sendmail.mc fragment correctly, you want to do this as user:group mailman:mailman.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On Monday, March 10, 2008 6:18 PM -0700 Mark Sapiro <mark@msapiro.net> wrote:
In any case, my guess would be a permissions issue or a group mismatch from the mailman wrapper, but if everything is the same as with the previous mm-handler, then that should not be the case.
That looks like it. I realized I'd moved the file into place while it was still owned by me, with 744 permissions. Oops. I'll look in the morning to see if that fixes it.
BTW, the experimental mm-handler isn't currently letting posts through, but I haven't had a chance to debug it. I'll try to look at it this weekend. It no longer reports an error, though, once I fixed the permissions.
Thank you, Kenneth. This at least gives us something to point people
to.
FYI: ".h4 Discard or hold messages" ...
On Mar 7, 2008, at 2:58 PM, Kenneth Porter wrote:
Initial text here:
<http://wiki.list.org/display/SEC/Controlling+spam>
I grabbed some text from Jo Rhett's initial post in this thread and
then added what I did to my installation. Those with more of a "big
picture" view of the system can refine this.
Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-developers% 40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman- developers/jrhett%40netconsonance.com
Security Policy: http://www.python.org/cgi-bin/faqw-mm.py? req=show&file=faq01.027.htp
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
On Mar 4, 2008, at 9:27 PM, Stephen J. Turnbull wrote:
You see, as Jo Rhett points out (apparently without understanding), it will have *no noticable effect* in the short run because *the proposed change won't affect existing Mailman installations*, not even those that upgrade to 2.1.10.
I understood. I'm trying to stem the flood of new installations that
have this feature.
So the right thing to do is to get 2.1.10 out the door as is, and get started on 2.2.
No, it isn't. Based on current pace you're pushing the problem out
for 2+ years.
Then you can even discuss shutting off the feature in *existing* installations and requiring admins of *existing* installations to reactivate the feature if they want it.[1] That would very likely have noticeable effect *much sooner* than the change proposed for 2.1.10, and would be much less disruptive.
Huh? How exactly are you going to shut off the feature in an
existing installation?
Sorry, as stated your proposal sounds either naive or insane. No
insult intended.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett writes:
On Mar 4, 2008, at 9:27 PM, Stephen J. Turnbull wrote:
You see, as Jo Rhett points out (apparently without understanding), it will have *no noticable effect* in the short run because *the proposed change won't affect existing Mailman installations*, not even those that upgrade to 2.1.10.
I understood. I'm trying to stem the flood of new installations that
have this feature.
Pure bluster. You have no data about "floods of new installations", and the window to a properly-tested 2.1.11 *for this change only* would be about 3-5 months, depending on code and template contributions and how important Mark and Barry think it is, and whether they're willing to push 2.1.11 out with few translations. This window for 2.1.10 is not going to add significantly to the backscatter from existing <2.1.10 installations.
Then you can even discuss shutting off the feature in *existing* installations and requiring admins of *existing* installations to reactivate the feature if they want it.[1]
Huh? How exactly are you going to shut off the feature in an
existing installation?
By fiat from the ISP, eg as you threaten to change your AUP. This would be most likely to well-received by ISP clients if combined with:
At upgrade time to say 2.1.11, a variable `enable_auto_reply' is added to Defaults.py, and set to false. Since no existing mm_cfg.py will have "enable_auto_reply = True" in it, this (along with the implied changes to the code, of course) would shut off the autoreplies for *every* existing Mailman installation that upgrades. This will not be feasible with your proposed change to 2.1.10.
Sorry, as stated your proposal sounds either naive or insane.
No, just radical and unlikely to be implemented. But if implemented it will do one heck of a lot more for the backscatter problem than panicking as you propose we do.
On Mar 24, 2008, at 11:21 PM, Stephen J. Turnbull wrote:
Pure bluster. You have no data about "floods of new installations",
We turn up X customers a week. We see X customers a week running
into problems and getting blacklisted for backscatter. This is the
"flood" I am trying to solve.
What is your problem? I'm solving a technical issue. This kind of
personal attack is irrelevant, and pointless. I don't care.
Huh? How exactly are you going to shut off the feature in an existing installation?
- By fiat from the ISP, eg as you threaten to change your AUP. This would be most likely to well-received by ISP clients if combined with:
It's not a change of AUP. Mailman currently violates the AUP.
And yes, we can force them to fix their installations with good
documentation. We have it, but people protest that you don't support
it. That was why I said two things were necessary - a documentation
fix and a defaults fix. Read my original posts.
implied changes to the code, of course) would shut off the autoreplies for *every* existing Mailman installation that upgrades. This will not be feasible with your proposed change to 2.1.10.
I don't care what changes are made. Don't waste time on my proposal,
do something better.
Sorry, as stated your proposal sounds either naive or insane.
No, just radical and unlikely to be implemented. But if implemented it will do one heck of a lot more for the backscatter problem than panicking as you propose we do.
Hyperbole like this wastes everyone's time.
I don't care what is done. Do something that makes it better.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
Jo Rhett wrote:
I don't care what is done. Do something that makes it better.
This is an open source project. You are welcome to use it as is or modify it to your liking. (I believe--someone confirm, please) you even have the right to distribute your modified version. You're welcome to make whatever changes you'd like for your own use or even offer the patches to this OPEN SOURCE project. Seeing as those running this are volunteers I see no reason they should jump to do your bidding. Seeing your attitude I see no reason they should want to.
-Dale
Jo Rhett wrote:
I don't care what is done. Do something that makes it better.
On Tue, March 25, 2008 9:12 pm, Dale Newfield wrote:
This is an open source project. You are welcome to use it as is or modify it to your liking. (I believe--someone confirm, please) you even have the right to distribute your modified version. You're welcome to make whatever changes you'd like for your own use or even offer the patches to this OPEN SOURCE project. Seeing as those running this are volunteers I see no reason they should jump to do your bidding. Seeing your attitude I see no reason they should want to.
You're missing the point. I'm an Abuse Admin. This isn't my problem, nor is it my bidding. If you run Mailman, this is *YOUR* problem.
I can, and frankly SHOULD HAVE, banned Mailman from the networks I'm responsible for. I'm here to try and get a more reasonable resolution.
And when people like you insult and attack me, all you do is contribute to the ongoing perception that mailman developers don't care about the backscatter problem, which is why a lot of us abuse admins are preparing to disallow Mailman on our networks.
Now take your attitude problem and put it somewhere useful.
-- Jo Rhett Network/Software Engineer Net Consonance
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Seeing as those running this are volunteers I see no reason they should jump to do your bidding. Seeing your attitude I see no reason they should want to.
You're missing the point. I'm an Abuse Admin. This isn't my problem, nor is it my bidding. If you run Mailman, this is *YOUR* problem.
Jo --
For what it's worth, you've stated your problem with impeccable clarity. What you haven't done with the same aplomb is acknowledge and respond to the equally legitimate concerns of the developer community here.
- "I am asking that the developers start paying attention *NOW*."
-- Reply: "Nobody has said they should ignore the problem, just that *you* are *way* too late in the process to expect them to stop the release of 2.1.10 for this major change in behavior."
- "This is not substantive, it's trivial."
-- Reply: "From the point of view of the release manager, there are no trivial code changes to a release candidate."
-- Reply: "A text change breaks 35 existing Mailman translations, and breaks them to the extent that changing a single character in the English text, causes that text to be rendered in English on the translated page. This requires 35 translators or translation teams to update their translations. This is anything but trivial."
And you're intermixing it with impatience and superciliousness:
"You are stuck in the last century, aren't you?" "Now that basic education is out of the way..." "Sorry, as stated your proposal sounds either naive or insane." "Hyperbole like this wastes everyone's time. I don't care what is done. Do something that makes it better."
Like it or not, Mailman is a major development project with limited volunteer resources. It has strategically determined its own course -- security fixes and translation updates only for 2.1; new features without major redesign for 2.2; major redesign for 3.0 -- and it has a standard professional release cycle.
Like it or not, your complaint of backscatter, while completely accurate and relevant, will not be fixed in the 2.10 timeline. And you need to respect that to keep a stable, reliable product with the limited volunteer resources it has, Mailman must follow these development guidelines.
A compromise for 2.1 has been proposed -- a README.backscatter file, better wiki documentation, and getting the information out so that under the 2.1 framework backscatter can be minimized through sysadmin awareness. I encourage you to take the lead in this effort since the issue is clearly important to you. A halfway solution for 2.2 has been proposed -- changing the default behavior -- and I encourage you to provide the developers with strategic advice on how to make your life, the abuse administrator, more manageable. And a good solution for 3.0 has been proposed -- an LMTP transport that can help Mailman do SMTP-time rejections.
Mailman is a community project, and you'll find a receptive and helpful audience for your issue when you give the community's concerns the consideration they deserve.
- -jag -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFH6qUknXt15egVdEoRAl78AKC9LxFMFXMOa7YE7jcvdikADPwQ/QCfTM0T /GeF22cDhlFEhvU5J2HaJtw= =yn2p -----END PGP SIGNATURE-----
Joshua 'jag' Ginsberg wrote:
For what it's worth, you've stated your problem with impeccable clarity. What you haven't done with the same aplomb is acknowledge and respond to the equally legitimate concerns of the developer community here.
I have tried to. I've even wasted time responding to people who don't seem to understand the issues involved at all.
- "I am asking that the developers start paying attention *NOW*."
- -- Reply: "Nobody has said they should ignore the problem, just that *you* are *way* too late in the process to expect them to stop the release of 2.1.10 for this major change in behavior."
Invalid in that this issue has been known since long before 2.1.10 or honestly even 2.1.6 was thought of. It's the same excuse with every release.
- "This is not substantive, it's trivial."
- -- Reply: "From the point of view of the release manager, there are no trivial code changes to a release candidate."
- -- Reply: "A text change breaks 35 existing Mailman translations, and
This I did acknowledge. Check the mail archive.
And you're intermixing it with impatience and superciliousness:
If you look, I only responded in that manner to people who insulted or attacked me first. *And* in most cases I responded thoughtfully and dry to apparent insults to first, second... sometimes third time. But I'm human.
A better question is why are people with zero apparent experience on this matter responding to me with insults and attacks? My posts were entirely technical, and their inexperierence is apparent. Their inability to work on the code base themselves is also apparent. All this does is make me regret attempting to intervene in this matter in the first place.
Like it or not, Mailman is a major development project with limited volunteer resources. It has strategically determined its own course -- security fixes and translation updates only for 2.1; new features without major redesign for 2.2; major redesign for 3.0 -- and it has a standard professional release cycle. ... And you need to respect that to keep a stable, reliable product with the limited volunteer resources it has, Mailman must follow these development guidelines.
No I don't. My job is to enforce our AUP. My job is not to come onto mailing lists with perfectly valid issues that are so very well known they are reported in the non-technical news media, and get abused for bringing them up.
A compromise for 2.1 has been proposed -- a README.backscatter file, better wiki documentation, and getting the information out so that under the 2.1 framework backscatter can be minimized through sysadmin awareness. I encourage you to take the lead in this effort since the issue is clearly important to you.
No, this issue isn't "important to me". Doing my job is important to me. Preventing the next backscatter DoS against our mailservers (which was 60% mailman traffic) is important to me.
Since everyone already thinks that I'm a jerk, let's go all the way. Shutting down Mailman permanently, throughout the 'Net, *SHOULD* be important to me. It's the best possible fix for the problem at hand. Why I chose to try and work with the developers to get a fix into place is a curious thing, because it certainly won't solve the problem today and it's clearly been a waste of time.
Mailman is a community project, and you'll find a receptive and helpful audience for your issue when you give the community's concerns the consideration they deserve.
I think you need to go back and look at my original posts, and the abuse and derision and insults I received. The problem is not that I failed to give the community's concerns respect. You'll find, if you look honestly, that the problem went entirely the other way. There wasn't a single response within a week of my original post that had anything verging on respect for the very well known issue in it.
Anyway, I'm done.
-- Jo Rhett Net Consonance ... net philanthropy, open source and other randomness
--On 26 March 2008 12:02:50 -0700 Jo Rhett <jrhett@netconsonance.com> wrote:
You're missing the point. I'm an Abuse Admin. This isn't my problem, nor is it my bidding. If you run Mailman, this is *YOUR* problem.
Ah, now I see what's going on. His usual abuse sink is malfunctioning, so he's routed all his incoming abuse to this list. Sorry, just kidding, no insult intended ;)
-- Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 26, 2008, at 3:02 PM, Jo Rhett wrote:
You're missing the point. I'm an Abuse Admin. This isn't my
problem, nor is it my bidding. If you run Mailman, this is *YOUR* problem.
Ah, Abuse is down the hall. This is Getting Hit On The Head lessons
in here.
pythonic-ly y'rs,
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkgA5L4ACgkQ2YZpQepbvXESlgCghHqwW53Z528Efn2Yo7eA5rTd H4EAnjRv/c+wtVkYc8wvAvQh7dmA827w =7cMR -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 26, 2008, at 12:12 AM, Dale Newfield wrote:
This is an open source project. You are welcome to use it as is or modify it to your liking. (I believe--someone confirm, please) you
even have the right to distribute your modified version.
Absolutely. GNU Mailman is licensed under the GPLv2, which gives you
this right as long as you preserve this right for anybody who receives
your modified version.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkgA4PMACgkQ2YZpQepbvXEAsACeJnLA6tZM7KXSkawFw4UZWyTV XA4An28f1nfZI0Ni9Tp1PkRkCV9nXCPJ =VbXA -----END PGP SIGNATURE-----
Jo Rhett writes:
What is your problem?
But that's the whole point. I don't have a problem, although you have made me aware that I may have one in the future. Still, it's not pressing. So I want 2.1.10 released ASAP, which means as is, and I can wait for 2.1.11. I also honestly believe that's the best policy for Mailman.
I don't care what is done. Do something that makes it better.
I'm not in a position to volunteer. It doesn't really sound like anyone else is, either. Have you thought about providing compensation to get this done?
On Wed, March 26, 2008 3:05 am, Stephen J. Turnbull wrote:
I'm not in a position to volunteer. It doesn't really sound like anyone else is, either. Have you thought about providing compensation to get this done?
I'm here out of good will, trying to avoid the banning of Mailman from dozens of large ISPs. This kind of response just makes me think I'm wasting my time.
-- Jo Rhett Network/Software Engineer Net Consonance
Jo Rhett writes:
I'm here out of good will,
I believe you, but your posting style provides zero evidence for it.
trying to avoid the banning of Mailman from dozens of large ISPs. This kind of response just makes me think I'm wasting my time.
Well, yes, that's what we've been saying. The resources to do what you say is necessary are not currently available. As you've remarked yourself, 2.2 is dead in the water and 3.0 is a long time away. 2.1 gets a new release every so often with a few bug fixes, and this is only really possible because it's in pure maintenance mode -- feature changes are mostly rejected out of hand. Those aren't symptoms of a project flush with resources.
The technical problem of backscatter has been acknowledged. From the posts to this thread, I conclude the Mailman community *at large* is at present unaware of the threat of banning. I gather that includes Mark but perhaps not Barry. On the other side, there are very few resources available, and for this kind of change there is special pressure on the translators; no one of us can do it alone.
The question is where to get the resources. While it's not your responsibility to do it, it isn't anybody else's, either.
Regards,
--On 24 March 2008 18:07:29 -0700 Jo Rhett <jrhett@netconsonance.com> wrote:
Sorry, as stated your proposal sounds either naive or insane. No insult intended.
Please, think harder about what you write to the list. If you left an insult in there that you were aware of, then you *are* intentionally insulting people.
I'm on your side in theory. I've been asking various mailing list developers to address this problem for years, with no progress anywhere. But, I've lost patience with your apparent aggression here.
I'm pleased to see Mailman getting some development attention after what appears to have been quite a long break. I know, though, that the developers have been putting a lot of work in behind the scenes.
I do want to see backscatter addressed - if spam and backscatter aren't indicative of security problems then I don't know what would be. I also want to see huge usability improvements.
But, to see all of those things, we can't go trying to squeeze big changes into small updates. And I don't think that insulting volunteer developers is going to prove very productive.
-- Ian Eiloart IT Services, University of Sussex x3148
--On 24 March 2008 18:07:29 -0700 Jo Rhett <jrhett@netconsonance.com>
Sorry, as stated your proposal sounds either naive or insane. No insult intended.
On Wed, March 26, 2008 3:07 am, Ian Eiloart wrote:
Please, think harder about what you write to the list. If you left an insult in there that you were aware of, then you *are* intentionally insulting people.
No, I wasn't. But in case someone misread my statement regarding patent facts of already installed software as an insult, I added the disclaimer to make it clear. My remarks were entirely fuctional. Short of writing a worm, you can't fix existing installations after the fact.
I'm on your side in theory. I've been asking various mailing list developers to address this problem for years, with no progress anywhere. But, I've lost patience with your apparent aggression here.
Why is your patience satiated with Mailman, but lost with me? I think you need to turn those guns around and point them where they belong.
I have no aggression. I do have a general desire to see this problem solved, and I'm frustrated by the complete lack of action.
I sat through a meeting where every single abuse admin says that they can't get Mailman installations to deal with the problems involved, even when full documentation for how to solve the problem is provided - because Mailman doesn't support the changes. And general agreement that it was perhaps time to close the door.
So I'm here, wasting my time, trying to get this solved so that just maybe we won't be forced to all migrate to web forums. Which would suck.
-- Jo Rhett Network/Software Engineer Net Consonance
On Wed, Mar 26, 2008 at 12:14:58PM -0700, Jo Rhett wrote:
So I'm here, wasting my time, trying to get this solved so that just maybe we won't be forced to all migrate to web forums. Which would suck.
Yes, that would suck. I encourage you to please continue engaging this list and the developers, but would caution you that you've already caused at least three people to think you're being overly antagonistic.
So far I see documentation and some good scripts for fixing problems on existing systems coming out of this conversation. Please let's make improving that documentation and making 2.2 and 3.0 good by your standards a priority.
Jo, would you please be willing to take the lead in improving this wiki page:
http://wiki.list.org/display/SEC/Controlling+spam
since it looks rather stubbish? If you're willing to lead by example on the documentation and 2.2, your argument would likely come off a bit better. Now, if your goal is a public telling-off of the mailman team, I think you've already made that clear enough. Can we move on?
At ibiblio we host 500+ lists, including 41 cc- (creative commons) lists. Jumping from mailman to something else would be incredibly painful. We run on donations and we host sites like etree, groklaw, gutenberg... we could use your help if we're going to continue to do what we do. This open source world is a group effort that runs largely on good will and sharing. Your currency here often isn't valid if it doesn't come with a smile.
So please, I *very* much respect what you're trying to do. Your contributions so far have been incredibly valuable. Point your guns at the wiki and 2.2 now, eh?
That said, if 2.2 doesn't make progress on the backscatter front, ibiblio will have to re-evaluate its options. Specifically, I'd love to see the aliases and List- headers dealt with, both in terms of the defaults and in terms of providing documentation/tools for helping existing installations get up to snuff.
Cheers,
Cristóbal Palmer ibiblio.org systems administrator
Cristóbal Palmer wrote:
So far I see documentation and some good scripts for fixing problems on existing systems coming out of this conversation.
As per my original statement, that would be great.
Please let's make improving that documentation and making 2.2 and 3.0 good by your standards a priority.
None of these are "my standards". The standards expoused by the leading anti-spam groups are what we are talking about.
Jo, would you please be willing to take the lead in improving this wiki page:
since it looks rather stubbish? If you're willing to lead by example on the documentation and 2.2, your argument would likely come off a bit better.
I've written some points about what is not covered in that to the list. The problem is that what I did on the mailman install I was responsible for was fairly hackish. I can program in almost anything, but Python is not my strong point and the Python.org style used in Mailman even less so. This makes my patches fairly hackish and probably not the best way to do things. (more on this below)
Now, if your goal is a public telling-off of the mailman team, I think you've already made that clear enough. Can we move on?
Never did, never was. Have repeatedly asked that we move on ;-)
This open source world is a group effort that runs largely on good will and sharing. Your currency here often isn't valid if it doesn't come with a smile.
For projects where I am asking something of them, my approach generally comes with a smile and a patch. In fact, if you look at the sourceforge patch repository you'll find that my functionality requests *did* come with patches.
This situation is different, because the request is going the other way. Mailman sites have been asking abuse departments to ignore the backscatter and smile for far too many years. The smiles have long since faded and most of us are frustrated with the situation. I took on role of trying to push the developers to put something in place before we simply banned mailman within our networks.
There is nothing personal here. It is entirely technical, and entirely goal oriented. The difficult part is that none of us at that meeting or in any of the conversations I'd had with others since then are strong Python developers.
And in fact, if you look back at my submitted patches and comments on this list -- I have in all cases asked what changes would make the patch workable and acceptable for inclusion into the codebase, and received no responses to that. So we have fairly apparent opinion that my patches aren't stylistically worth considering. I'm not surprised, given that I don't personally grok the Python.org style. I'm not offended, just aware that my patches are unlikely to be useful in this effort.
-- Jo Rhett Net Consonance ... net philanthropy, open source and other randomness
Jo Rhett writes:
The standards expoused by the leading anti-spam groups are what we are talking about.
URLs to (some of) these standards, s'il vous plait. RFCs (including BCPs) or Internet-drafts preferred, of course, but web pages of similar quality, intended as BCPs, would do. No Wikipedia, please; Wikipedia does not pretend to publish standards.
--On 28 March 2008 17:27:05 +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
Jo Rhett writes:
The standards expoused by the leading anti-spam groups are what we are talking about.
URLs to (some of) these standards, s'il vous plait. RFCs (including BCPs) or Internet-drafts preferred, of course, but web pages of similar quality, intended as BCPs, would do. No Wikipedia, please; Wikipedia does not pretend to publish standards.
Here's a page on the Exim wiki: How To Do Autoreplies Without The World Hating You <http://wiki.exim.org/EximAutoReply>
UK Joint Academic Network provides network connectivity and services for UK HE institutions, here's their guidance to victims of backscatter: <http://www.ja.net/services/csirt/advice/policies/collateral-spam.html>
A talk given at a UK Unix User Group meeting. Look for the 5th abstract on this page: <http://www.ukuug.org/events/winter2005/programme.shtml>
<http://www.dontbouncespam.org/> <http://spamlinks.net/prevent-secure-backscatter.htm>
The inevitable "...considered harmful" article: <http://mayfirst.org/?q=node/180>
-- Ian Eiloart IT Services, University of Sussex x3148
Thank you, Ian!
A couple comments:
Ian Eiloart writes:
A talk given at a UK Unix User Group meeting. Look for the 5th abstract on this page: <http://www.ukuug.org/events/winter2005/programme.shtml>
Actually, it's the 6th abstract, I think.
This has zillions of links. Looks valuable, but it's not the place to start.
I haven't looked closely at any of them yet, but I did think it was worth making those two observations.
--On 29 March 2008 13:31:47 +0900 "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
Thank you, Ian!
Oh, one more link:
From JANET again: Spam Bounces Considered Harmful
<http://www.ja.net/services/csirt/threats/bounce.html>
Their advice is plain: "Reject, Don't Bounce The standards provide for a mail server to 'reject' a message by refusing its transfer, rather than accepting it and risking future problems."
-- Ian Eiloart IT Services, University of Sussex x3148
Ian Eiloart wrote:
Their advice is plain: "Reject, Don't Bounce The standards provide for a mail server to 'reject' a message by refusing its transfer, rather than accepting it and risking future problems."
Although this thread long ago went somewhat off topic for Mailman, I think it's valuable, and there's been a lot of good information here, but I still have a question that I would like information on.
I 'get it' that non-acceptance at SMTP time is good and accepting and bouncing is bad. This was not news to me, I've known it for some time, but here's my situation. I run a server that supports a few domains. By far, the bulk of the mail is Mailman and other mail associated with my cycling club. There are several generic forwarding addresses such as 'president', 'vicepresident', 'board', 'membership', etc. in the club's domain. These are aliased to the appropriate current recipients. Of course, all these recipient addresses are valid and deliverable.
Any mail I receive for an unknown recipient is rejected at SMTP time, the rest is greylisted and a lot of that never returns. That which passes greylisting is run through MailScanner/ClamAV/SpamAssassin, and sometimes discarded or quarrantined, but nothing is ever returned to the sender. So far, so good.
Here's the problem. I receive a message for board@example.net which is aliased to a few other addresses including user@example.com. The MTA (Postfix in my case) accepts the message to board and resends it to the aliased recipients. example.com has a very agressive content filter which rejects messages after receiving the DATA. so Postfix's delivery to user@example.com is sometimes not accepted by example.com so Postfix returns a DSN. Sometimes the sender was legitimate, sometimes (probably more often) not.
So what do I do practically in this case. Calling out to verify the recipient won't help because the recipient is valid. I can arrange for the DSN to pass through MailScanner on the way out and possibly create rules to conditionally drop it, but what should the rules be, and is it really a problem at all? Note for example, that yesterday I did not accept 29985 messages for unknown users and greylisted 5684 more and sent no DSNs. This is somewhat typical except I probably average 2 or 3 DSNs per day. Should I be worried?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro wrote, On 03/31/2008 06:26 PM:
So what do I do practically in this case. Calling out to verify the recipient won't help because the recipient is valid.
I think that we - admins and developers - have to realize that times are changing.
Once upon a time when the RFCs were written then mail was asynchronous store-and-forward. MTAs accepted mails before being 100% certain that they could and would deliver them, and as soon as the mail had hit the disk then the receiving MTA took over delivery responsibility from the sending MTA.
In such a scenario Mailman "is just" a MTA with bouncing/holding filtering and dynamic alias expansion of envelope-rcpt and replacement of envelope-from with a robot address.
But now in modern times all mail handling has to be synchronous. Spam and virus and backscatter does that a MTA should never take responsibility for anything from an untrusted sender before the mail has actually been taken fully care of by someone - perhaps just by making it the problem of the next MTA/MDA. Yes, doing this all the way to the final mailboxes might be more expensive than the old way of doing it - but at the same time the same amount of work (or less?) has to be done, so it can't be that bad ... except for the number of live connections. I think that the RFCs allows fully synchronous mail handling, they just have to be used another way than they usually are today.
In Marks specific case in this scenario: The verification phase has been replaced by actually doing the delivery all the way to the final recipients, so the recipient ending up being invalid will be handled properly.
In this scenario Mailman is a MTA which decouples the synchronous chain. Mails are accepted and enqueued by Mailman iff responsibility is taken, either for immediate delivery or manual review - all other mails are rejected. All filtering thus has to be done synchronously. Delivery to list members is a separate process where target mail hosts probably will provide synchronous delivery status feedback (perhaps as DSN bounces from a trusting "real" MTA) (and if other mail hosts chooses to accept and then bounce later then they have a problem, but Mailman can still handle receiving bounces).
Lots of details are missing in this description. But do you agree that this is the direction we have to take as developers and admins?
/Mads
ps: This might be a bad description of trivial observation, but it suddenly made sense to me and I wanted to share it, even though I'm mostly a lurker on this list. Take it or leave it ;-)
--On 1 April 2008 03:11:17 +0200 Mads Kiilerich <mads@kiilerich.com> wrote:
Mark Sapiro wrote, On 03/31/2008 06:26 PM:
So what do I do practically in this case. Calling out to verify the recipient won't help because the recipient is valid.
I think that we - admins and developers - have to realize that times are changing.
agreed.
Once upon a time when the RFCs were written then mail was asynchronous store-and-forward. MTAs accepted mails before being 100% certain that they could and would deliver them, and as soon as the mail had hit the disk then the receiving MTA took over delivery responsibility from the sending MTA.
true.
In such a scenario Mailman "is just" a MTA with bouncing/holding filtering and dynamic alias expansion of envelope-rcpt and replacement of envelope-from with a robot address.
yes.
But now in modern times all mail handling has to be synchronous.
that would be nice.
Spam and virus and backscatter does that a MTA should never take responsibility for anything from an untrusted sender before the mail has actually been taken fully care of by someone - perhaps just by making it the problem of the next MTA/MDA. Yes, doing this all the way to the final mailboxes might be more expensive than the old way of doing it - but at the same time the same amount of work (or less?) has to be done, so it can't be that bad ... except for the number of live connections. I think that the RFCs allows fully synchronous mail handling, they just have to be used another way than they usually are today.
No, they don't allow fully synchronous mail handling. The problem is that much spam filtering depends on message content (headers and body). And, different recipients have different views on what is acceptable content. The RFCs don't allow us handle differences of opinion, because SMTP has no way of saying "foo@example.com" will accept this message, but "bar@example.net" will not.
In theory, this could be dealt with by adopting LMTP instead of SMTP. LMTP does allow us to reject or defer for individual recipients after we've seen the message content. But that's always going to be a slow process, and it'll be a brave sysadmin who first says "you can only deliver to us using LMTP".
The first step to this would be an extension to SMTP which allows a server to say "you may switch to LTMP" if you wish. MTA's might be configured to switch to single recipient deliveries when LMTP wasn't available. But, what spammer would use LMTP if SMTP were available?
It's nice to know that Mailman 3 is likely to have an LMTP engine, because it will be possible for lists to use different content-based rules, and reject (not bounce) messages to multiple lists depending on individual list rules. For example, one list might reject a message with attachments. Of course, this will only push the problem back to the local MTA, but that is at least some progress.
In Marks specific case in this scenario: The verification phase has been replaced by actually doing the delivery all the way to the final recipients, so the recipient ending up being invalid will be handled properly.
In this scenario Mailman is a MTA which decouples the synchronous chain. Mails are accepted and enqueued by Mailman iff responsibility is taken, either for immediate delivery or manual review - all other mails are rejected. All filtering thus has to be done synchronously. Delivery to list members is a separate process where target mail hosts probably will provide synchronous delivery status feedback (perhaps as DSN bounces from a trusting "real" MTA) (and if other mail hosts chooses to accept and then bounce later then they have a problem, but Mailman can still handle receiving bounces).
Lots of details are missing in this description. But do you agree that this is the direction we have to take as developers and admins?
That would depend on whether we thought converting the world to LMTP is worth the effort. Perhaps it is, but not in my view simply so that we can fight spam. The real problem that we have to solve is trusting return-paths. At the moment, we can't trust or distrust anyone because it is so trivial to forge return-paths. SPF and DKIM offer solutions to authenticate senders, and hold domain owners accountable for email that's sent.
Once they're widely deployed, we will be able to make reasonable decisions about whether to trust the email sender based on the sending domain, or even on the individual sender.
At that point, we'll be able to synchronously chain callouts, without requiring to look at any message content. Sites will reliably be able to blacklist or whitelist based on Mail From. We'll be able to build trust networks (like RBL lists, but with domains and email addresses, not IP addresses), and we won't need to scan content at all.
/Mads
ps: This might be a bad description of trivial observation, but it suddenly made sense to me and I wanted to share it, even though I'm mostly a lurker on this list. Take it or leave it ;-)
-- Ian Eiloart IT Services, University of Sussex x3148
--On 31 March 2008 09:26:08 -0700 Mark Sapiro <mark@msapiro.net> wrote:
Ian Eiloart wrote:
[snip]
Here's the problem. I receive a message for board@example.net which is aliased to a few other addresses including user@example.com. The MTA (Postfix in my case) accepts the message to board and resends it to the aliased recipients. example.com has a very agressive content filter which rejects messages after receiving the DATA. so Postfix's delivery to user@example.com is sometimes not accepted by example.com so Postfix returns a DSN. Sometimes the sender was legitimate, sometimes (probably more often) not.
So what do I do practically in this case. Calling out to verify the recipient won't help because the recipient is valid.
So, these are mail aliases that aren't managed by Mailman? Well, you could turn them into Mailman lists - albeit lists of one. Mailman would alter the return-path, and the rejection message would go to a list manager - perhaps the domain owner - instead of an innocent third party.
Also, you could perhaps arrange that Postfix only bounces into domains that publish SPF records, and only when you get an positive SPF response. Actually, I'm veering towards the notion that we should be creating a climate where the only sensible way to avoid collateral spam is to publish SPF records.
I can arrange for the DSN to pass through MailScanner on the way out and possibly create rules to conditionally drop it, but what should the rules be, and is it really a problem at all? Note for example, that yesterday I did not accept 29985 messages for unknown users and greylisted 5684 more and sent no DSNs. This is somewhat typical except I probably average 2 or 3 DSNs per day.
Should I be worried?
That depends on the nature of your customers. But, you should also be concerned about the possibility of one day being flooded by DNS generating mail. At the current rate, it's a small problem [but a part of a larger problem], but what you have might be regarded as a vulnerability.
-- Ian Eiloart IT Services, University of Sussex x3148
Ian Eiloart wrote:
Actually, I'm veering towards the notion that we should be creating a climate where the only sensible way to avoid collateral spam is to publish SPF records.
That's not always trivial. I get plenty of back scatter, and I've tried to do this to reduce that, but I've been unable. My domain is for my family, so each person is in a different part of the country using numerous paths to send out mail (local ISP, gmail, web-mail through my server, a roaming SMTP service, various cell phones, blackberries, etc.), so I've not been able to come up with a complete list of what machines can send valid mail from my domain.
-Dale
--On 1 April 2008 13:15:42 -0400 Dale Newfield <Dale@Newfield.org> wrote:
Ian Eiloart wrote:
Actually, I'm veering towards the notion that we should be creating a climate where the only sensible way to avoid collateral spam is to publish SPF records.
That's not always trivial. I get plenty of back scatter, and I've tried to do this to reduce that, but I've been unable. My domain is for my family, so each person is in a different part of the country using numerous paths to send out mail (local ISP, gmail, web-mail through my server, a roaming SMTP service, various cell phones, blackberries, etc.), so I've not been able to come up with a complete list of what machines can send valid mail from my domain.
-Dale
The long and the short of it is this: as long as you permit email with return-paths in your domain to be injected into the mail system without authentication and authorisation, then you'll suffer backscatter, blacklisting, content scanning and all sorts of other problems.
Ultimately, you'll HAVE to find a way that your domain users can submit messages through a server (or virtual server) that YOU manage. Your family's ISPs might be able to authenticate their customers, but they probably can't know that your family members are authorised to use your email domain.
I had a similar problem with my private domain: eiloart.com
First, I rented a virtual server. That turned out to have a pretty cruddy qmail installation (which would lose mail if it ran out of RAM during delivery!), so I got the domain's email service provided by Google apps. <http://www.google.com/a/help/intl/en/index.html> It provides authenticated SMTP submission, including on port 587, POP and IMAP. Works nicely on my iPhone, with Apple Mail, etc. One issue: I don't seem to be able to use both my personal accounts at the same time on my iPhone, but it's OK with Apple Mail.
Sorry, this is only vaguely on topic. Mailman doesn't really suffer the message submission problem in a big way.
-- Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 28, 2008, at 8:09 AM, Ian Eiloart wrote:
How To Do Autoreplies Without The World Hating You <http://wiki.exim.org/EximAutoReply>
UK Joint Academic Network provides network connectivity and services
for UK HE institutions, here's their guidance to victims of backscatter: <http://www.ja.net/services/csirt/advice/policies/collateral- spam.html>A talk given at a UK Unix User Group meeting. Look for the 5th
abstract on this page: <http://www.ukuug.org/events/winter2005/programme.shtml><http://www.dontbouncespam.org/> <http://spamlinks.net/prevent-secure-backscatter.htm>
The inevitable "...considered harmful" article: <http://mayfirst.org/?q=node/180>
Thanks! Capture here in the "best practices" section:
http://wiki.list.org/display/DEV/Home
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkgA5wMACgkQ2YZpQepbvXFtWgCgorh/wuw9ASf7rTeSM1ouUXKE WmkAnAlde9Y6Bg68vAbkjUx2cXKHJDnd =d+qT -----END PGP SIGNATURE-----
On Saturday, April 12, 2008 12:44 PM -0400 Barry Warsaw <barry@list.org> wrote:
Thanks! Capture here in the "best practices" section:
Note that there's already backscatter prevention info here:
<http://wiki.list.org/display/SEC/Controlling+spam>
One of these pages should be linking to the other. Or perhaps a new "backscatter resources" page should be created for both to point to.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Apr 14, 2008, at 5:38 PM, Kenneth Porter wrote:
On Saturday, April 12, 2008 12:44 PM -0400 Barry Warsaw <barry@list.org
wrote:
Thanks! Capture here in the "best practices" section:
Note that there's already backscatter prevention info here:
<http://wiki.list.org/display/SEC/Controlling+spam>
One of these pages should be linking to the other. Or perhaps a new
"backscatter resources" page should be created for both to point to.
I linked them.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkgNGikACgkQ2YZpQepbvXFFTQCfWNrs1pRZ3i0gEVn7N+xJJRQf uM8An1It4pTyXig43ewLOlhSpjMi7G8M =2UFn -----END PGP SIGNATURE-----
On Wednesday, March 26, 2008 8:18 PM -0400 CristóbalPalmer <cmpalmer@metalab.unc.edu> wrote:
Jo, would you please be willing to take the lead in improving this wiki page:
http://wiki.list.org/display/SEC/Controlling+spam
since it looks rather stubbish?
Agreed. I grabbed text from Jo's original post to get it started, added some of my own supposition, and Mark Sapiro corrected my mistakes. I'd love to see others with experience take it out of stub-hood.
--On 26 March 2008 12:14:58 -0700 Jo Rhett <jrhett@netconsonance.com> wrote:
--On 24 March 2008 18:07:29 -0700 Jo Rhett <jrhett@netconsonance.com>
Sorry, as stated your proposal sounds either naive or insane. No insult intended.
On Wed, March 26, 2008 3:07 am, Ian Eiloart wrote:
Please, think harder about what you write to the list. If you left an insult in there that you were aware of, then you *are* intentionally insulting people.
No, I wasn't. But in case someone misread my statement regarding patent facts of already installed software as an insult, I added the disclaimer to make it clear. My remarks were entirely fuctional. Short of writing a worm, you can't fix existing installations after the fact.
So, which of "naive" or "insane" requires misreading to be insulting? Neither word has a complementary definition that I'm aware of.
Why is your patience satiated with Mailman, but lost with me? I think you need to turn those guns around and point them where they belong.
My point is that guns are not required.
-- Ian Eiloart IT Services, University of Sussex x3148
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Mar 4, 2008, at 8:13 PM, Cristóbal Palmer wrote:
On Tue, Mar 04, 2008 at 03:28:22PM -0800, Mark Sapiro wrote:
The Defaults.py setting for DEFAULT_GENERIC_NONMEMBER_ACTION has been Hold from the beginning.
We've recently set this to 3 (Discard) for new lists. Please explain the argument for keeping the default as Hold for the long term. I believe it should be Discard, but can think of at least one argument for keeping the current default. I'd like to hear development team's line.
More and more lists are requiring membership for posting privileges,
so I'm sympathetic to this change (but not for 2.1!). OTOH, I think
there are ways that we can do this but still relax the constraint for
well-known non-members.
For example, in MM3 the data model has been improved so that you have
a single user object that ties in all your subscriptions. No more
multiple passwords or options (unless you want the latter), no more
multiple accounts for each of your email addresses.
What if in the future, your site had 1400 lists, the membership
databases of which were driven from your site's membership rosters.
Now, someone you've never heard of before posts to one of your lists.
You probably discard this (although there /are/ arguments to be made
for some lists holding these messages instead).
But let's say that I join your site and register an email address.
Now I post to one of your lists which I haven't explicitly subscribed
to. But you know me so do you discard the message, hold it, or let it
through? Let's say you hold it, and a list admin approves it, saying
"hey this guy looks legit". Let's say you do this 5 times across 3
different lists. I'm probably not a spammer, right? So maybe now I
can post to all your lists without being held.
Anyway, it's things like this that I think can be used to help reduce
spamming on the list while letting legitimate traffic through, without
Mailman becoming spamassassin. OTOH, in MM3 it'll be much easier to
integrate something like spamassassin than it is in MM2. I'm not
saying that's a /good/ thing since spam still is better off getting
caught in the MTA, but this kind of thing is possible.
- -Barry
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkfPJycACgkQ2YZpQepbvXHQ8ACgiMNs46R8OcItJtjoCAbIQHaO a2AAnif160xr7GhjOWWQ6Qvcxle7f70R =TyH6 -----END PGP SIGNATURE-----
On Mar 5, 2008, at 3:05 PM, Barry Warsaw wrote:
through? Let's say you hold it, and a list admin approves it, saying "hey this guy looks legit". Let's say you do this 5 times across 3 different lists. I'm probably not a spammer, right? So maybe now I can post to all your lists without being held.
Nobody in an abuse department receives complaints about mailman
servers which are holding their mail. No blacklists exist for
mailman servers that hold mail.
As long as the server doesn't send back a message about it being
Held, doesn't matter in this context.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
On Tuesday, March 04, 2008 12:30 PM -0800 Jo Rhett <jrhett@netconsonance.com> wrote:
Don't create backscatter aliases for subscribe/unsubscribe/etc by default. Nearly everyone uses web based signup.
Discard or hold messages from non-subscribers by default.
How, exactly, does one do these? In particular, how do you remove the aliases when using mm-handler to process mail from sendmail? (I'd be happy to start the wiki page once I have the information to put there.)
- Don't create backscatter aliases for subscribe/unsubscribe/etc by default. Nearly everyone uses web based signup.
How, exactly, does one do these? In particular, how do you remove the aliases when using mm-handler to process mail from sendmail? (I'd be happy to start the wiki page once I have the information to put there.)
This cannot be done simply with the current version of mm-handler in contrib -- it requires several code changes and would affect all actions for <listname-action@lists.example.org>. That would have bad effects on VERP bounce handling, for example.
Here is an update to mm-handler which might address this adequately. I no longer use mm-handler myself (despite having written it), so I can't test this short of installing a new Mailman instance. Can someone on the list test it?
http://home.uchicago.edu/~dgc/sw/mailman/mm-handler/mm-handler-2.10
Since it's contrib and not supported, maybe it would be reasonable to put the update into the 2.1.10 release -- provided someone can declare that it works. :) Otherwise feel free to post it on the wiki.
-- -D. dgc@uchicago.edu NSIT University of Chicago
On Thursday, March 06, 2008 4:02 PM -0600 David Champion <dgc@uchicago.edu> wrote:
Here is an update to mm-handler which might address this adequately. I no longer use mm-handler myself (despite having written it), so I can't test this short of installing a new Mailman instance. Can someone on the list test it?
http://home.uchicago.edu/~dgc/sw/mailman/mm-handler/mm-handler-2.10
Since it's contrib and not supported, maybe it would be reasonable to put the update into the 2.1.10 release -- provided someone can declare that it works. :) Otherwise feel free to post it on the wiki.
I'll give it a shot.
Question about the backscatter settings:
# Prevent backscatter for unapproved actions? $BounceUnapproved = 0;
# Prevent backscatter for undefined lists? $BounceNonlist = 1;
The comment seems to be logically backwards from the variable name. Should it really read "allow", not "prevent"? Does 0 or 1 mean backscatter?
# Prevent backscatter for unapproved actions? $BounceUnapproved = 0;
# Prevent backscatter for undefined lists? $BounceNonlist = 1;
The comment seems to be logically backwards from the variable name. Should it really read "allow", not "prevent"? Does 0 or 1 mean backscatter?
Good point. 1 means to bou^H^H^Hbackscatter. The comments should be adjusted.
-- -D. dgc@uchicago.edu NSIT University of Chicago
--On Thursday, March 06, 2008 4:02 PM -0600 David Champion <dgc@uchicago.edu> wrote:
Here is an update to mm-handler which might address this adequately. I no longer use mm-handler myself (despite having written it), so I can't test this short of installing a new Mailman instance. Can someone on the list test it?
http://home.uchicago.edu/~dgc/sw/mailman/mm-handler/mm-handler-2.10
Since it's contrib and not supported, maybe it would be reasonable to put the update into the 2.1.10 release -- provided someone can declare that it works. :) Otherwise feel free to post it on the wiki.
I made some tweaks and discovered it won't work with a list with a dash in the name, due to the regex used to extract the action suffix. Can someone more nimble with regex let me know how to adjust it?
<http://matureasskickers.net/MISC/mm-handler.experimental>
I also changed the "printf STDERR" to syslog to my maillog.
Here's the before/after regex:
< if ($addr =~ /(.*)-(.*)\+.*$/) {
if ($addr =~ /(.*)-([^-]+)\+.*$/) {
Kenneth Porter wrote:
I made some tweaks and discovered it won't work with a list with a dash in the name, due to the regex used to extract the action suffix. Can someone more nimble with regex let me know how to adjust it?
<http://matureasskickers.net/MISC/mm-handler.experimental>
I also changed the "printf STDERR" to syslog to my maillog.
Here's the before/after regex:
< if ($addr =~ /(.*)-(.*)\+.*$/) {
if ($addr =~ /(.*)-([^-]+)\+.*$/) {
Actually, all the regexps are 'wrong' in that they will parse a local_part such as my-list into a listname of 'my' and a suffix of 'list' ($list and $cmd in the terminology of the module). The original contrib/mm_handler recovered from that by saying if the suffix didn't match something in the @validfields array, then the listname was the whole thing and the command was 'post'
The revised version appears to do a similar thing, so I'm not sure what the problem is.
Can you be more specific about the list name and the failure? I.e., what is the local_part of the address that fails and what does split_addr(local_part) return (or what error is logged)?
BTW, the old regexps from contrib/mm-handler
/(.*)-(.*)\+.*$/ and /(.*)-(.*)$/
and the new regexps
/(.*)-([^-]+)\+.*$/ and /(.*)-([^-]+)$/
are virtually equivalent. The only difference is they require at least one character in the second group. The fact that they don't allow a '-' in the second group is irrelevant since the first group is greedy and will eat up all but the last '-' anyway.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
I should have read the error reply more closely. It gave me back this:
Your mail for tribes2-pickups@lists.matureasskickers.net could not be sent: no list named "tribes2-pickups-pickups" is known by lists.matureasskickers.net
That should be easy to chase down.
Since I patched the script to syslog I think I now have enough functionality that I can debug this printf-style.
Kenneth Porter wrote:
I should have read the error reply more closely. It gave me back this:
Your mail for tribes2-pickups@lists.matureasskickers.net could not be sent: no list named "tribes2-pickups-pickups" is known by lists.matureasskickers.net
That should be easy to chase down.
In case you haven't got it already, the bug is that
} elsif (! grep /^$cmd$/, @ValidActions) {
# If an undefined action, restore list name
$list = "$addr-$cmd";
$cmd = "post";
should be either
} elsif (! grep /^$cmd$/, @ValidActions) {
# If an undefined action, restore list name
$list = "$list-$cmd";
$cmd = "post";
or
} elsif (! grep /^$cmd$/, @ValidActions) {
# If an undefined action, restore list name
$list = $addr;
$cmd = "post";
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On Friday, March 28, 2008 4:29 PM -0700 Mark Sapiro <mark@msapiro.net> wrote:
In case you haven't got it already
Thanks, just found it myself. ;)
I'll put an updated copy on my website shortly. (Will also have fixed comments.)
--On Friday, March 28, 2008 4:39 PM -0700 Kenneth Porter <shiva@sewingwitch.com> wrote:
I'll put an updated copy on my website shortly. (Will also have fixed comments.)
Updated version:
<http://matureasskickers.net/MISC/mm-handler.experimental>
Changes from David's code:
<http://matureasskickers.net/MISC/mm-handler-2.10-fixes.diff>
This is running on a CentOS 5 system, which may affect the paths used and the Perl packages available.
Sorry for the bugs and such, and thanks for working it out. I feel bad about posting and abandoning, but I actually have no infrastructure to test this anymore.
When I first contributed that script I only knew enough Python to debug Mailman, and was pretty comfortable with Perl. Now that I <3 Python and really can't stand Perl, I would like one day to redo the thing in Python. But I'm going to make it a little more "drivery", in that it'll handle Mailman or Sympa (our management's choice to replace Mailman) or anything else you plug in a ListManager subclass for. I'll probably try to use it for driving RT, for example.
I'll post again when I've had a chance to make progress.
-- -D. dgc@uchicago.edu NSIT University of Chicago
Kenneth Porter wrote:
Updated version:
Kenneth,
I would like to get this in the contrib directory for Mailman 2.1.10. I can do this in several ways. One would just be to replace the existing mm-handler and update the README.mm-handler as needed. That might be the cleanest.
A second approach would be to update the README.mm-handler to indicate there are two versions and include your version as either a separate file or as a link to your web site.
Do you (or does anyone else) have any thoughts on this?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On Friday, March 28, 2008 7:08 PM -0700 Mark Sapiro <mark@msapiro.net> wrote:
I would like to get this in the contrib directory for Mailman 2.1.10. I can do this in several ways. One would just be to replace the existing mm-handler and update the README.mm-handler as needed. That might be the cleanest.
A second approach would be to update the README.mm-handler to indicate there are two versions and include your version as either a separate file or as a link to your web site.
Do you (or does anyone else) have any thoughts on this?
I don't have any preference. My version does depend on the presence of the syslog module, and I don't know how commonly-installed that is. But I don't know under what systems the debugging to stderr is supposed to work. Is that a Sun thing?
I don't have any preference. My version does depend on the presence of the syslog module, and I don't know how commonly-installed that is. But I don't know under what systems the debugging to stderr is supposed to work. Is that a Sun thing?
IIRC stderr is captured by sendmail and logged in the bounce message, but admittedly if you're not bouncing that's a problem.
I'd case out the syslog dependency, and use it only when available. Last I looked, Perl's syslog module was... limited. It doesn't even work at all on some platforms -- something about trying to UDP to the local syslogd instead of using syslog(3) through libc. So it's more portable to system out a call to logger(1) if you need syslogging and can afford a fork/exec.
-- -D. dgc@uchicago.edu NSIT University of Chicago
Kenneth Porter wrote:
I don't have any preference. My version does depend on the presence of the syslog module, and I don't know how commonly-installed that is. But I don't know under what systems the debugging to stderr is supposed to work. Is that a Sun thing?
I just checked, and my CentOS 5 system only has Sys::Syslog and not Unix::Syslog. It might be worthwhile to provide your version plus a patch to go back to the old DEBUG w/o logging. OTOH, Unix::Syslog is available from CPAN, DAG, etc., so I don't think it's unreasonable to expect people to be able to get it.
As I understand it (possibly wrong), the way this
if ($DEBUG) {
$to = join(',', @to);
print STDERR "to: $to\n";
print STDERR "sender: $sender\n";
print STDERR "server: $server\n";
exit(-1);
}
works is it exits with an error, so sendmail returns an undeliverable status/notice containing the script output.
Obviously, your logging is much nicer.
I have another question since I don't know sendmail. Does sendmail execute mm-handler at incoming SMTP time, and if so, does an error exit from mm-handler result in an SMTP failure status being returned to the sending MTA?
If so, it seems that rather than just dropping a 'bad' message as mm-handler seems to do when $BounceUnapproved = 0; and $BounceNonlist = 0;, wouldn't it be better to exit with a failure status.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
As I understand it (possibly wrong), the way this
if ($DEBUG) { $to = join(',', @to); print STDERR "to: $to\n"; print STDERR "sender: $sender\n"; print STDERR "server: $server\n"; exit(-1); }
works is it exits with an error, so sendmail returns an undeliverable status/notice containing the script output.
Obviously, your logging is much nicer.
Correct. But as previously noted, syslog might not log anything at all on some systems -- that's why mm-handler didn't use it originally. And this is debugging code, not meant for live environments....
I have another question since I don't know sendmail. Does sendmail execute mm-handler at incoming SMTP time, and if so, does an error exit from mm-handler result in an SMTP failure status being returned to the sending MTA?
Yes. It's a local delivery agent mapped to your mailing lists' virtual domain, and it's the final step in an SMTP transaction. In a production environment it should exit with one of the statuses from <sysexits.h>. That will trigger an SMTP failure to the sending MTA with a message appropriate to that exit status.
If so, it seems that rather than just dropping a 'bad' message as mm-handler seems to do when $BounceUnapproved = 0; and $BounceNonlist = 0;, wouldn't it be better to exit with a failure status.
FWIW, I agree.
-- -D. dgc@uchicago.edu NSIT University of Chicago
David Champion wrote:
Correct. But as previously noted, syslog might not log anything at all on some systems -- that's why mm-handler didn't use it originally. And this is debugging code, not meant for live environments....
True, but Kenneth added additional logging beyond the debuging code.
Also, There are two perl modules, Sys::Syslog and Unix::Syslog. I'm not very familiar with perl and it's various modules, so I may be wrong, but I think that Sys::Syslog is the more common, but Kenneth is using Unix::Syslog. According to the FAQ at <http://search.cpan.org/~mharnisch/Unix-Syslog-0.100/Syslog.pm>, Unix::Syslog requires syslogd to be running on the local host, but given that, it doesn't communicate with syslogd through a network connection so it is not subject to the problems with that.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On Saturday, March 29, 2008 1:30 PM -0700 Mark Sapiro <mark@msapiro.net> wrote:
True, but Kenneth added additional logging beyond the debuging code.
The additional stuff was just printf-debugging to figure out what was going wrong earlier. It can be excised or wrapped in if($Debug).
Also, There are two perl modules, Sys::Syslog and Unix::Syslog. I'm not very familiar with perl and it's various modules, so I may be wrong, but I think that Sys::Syslog is the more common, but Kenneth is using Unix::Syslog. According to the FAQ at <http://search.cpan.org/~mharnisch/Unix-Syslog-0.100/Syslog.pm>, Unix::Syslog requires syslogd to be running on the local host, but given that, it doesn't communicate with syslogd through a network connection so it is not subject to the problems with that.
I have no preference, as long as I can get an RPM/SRPM for it. CPAN qualifies, as there's a utility to encapsulate a CPAN module in an RPM. My concern is that I be able to see the output even if no mail is sent, so syslog is a natural solution.
--On Saturday, March 29, 2008 9:37 AM -0700 Mark Sapiro <mark@msapiro.net> wrote:
I just checked, and my CentOS 5 system only has Sys::Syslog and not Unix::Syslog. It might be worthwhile to provide your version plus a patch to go back to the old DEBUG w/o logging. OTOH, Unix::Syslog is available from CPAN, DAG, etc., so I don't think it's unreasonable to expect people to be able to get it.
I've got perl-Unix-Syslog-1.0-1.el5.rf installed from RPMForge. There's a page in the CentOS wiki that explains how to enable this yum/RPM repository.
I have another question since I don't know sendmail. Does sendmail execute mm-handler at incoming SMTP time, and if so, does an error exit from mm-handler result in an SMTP failure status being returned to the sending MTA?
Correct. mm-handler is a "mailer" which is invoked upon receipt by sendmail, which typically happens via SMTP. (Sendmail can also accept mail via local socket, or by direct invocation.) It's expected to return a value from /usr/include/sysexits.h. Most Red Hat, Fedora and CentOS users know the procmail mailer, as it's used for local delivery. Based on properties of a message, another mailer may be chosen, either from the config file or from the mailertable map file. The mm-handler README explains how to set up a match on the domain name.
If so, it seems that rather than just dropping a 'bad' message as mm-handler seems to do when $BounceUnapproved = 0; and $BounceNonlist = 0;, wouldn't it be better to exit with a failure status.
Good idea. EX_NOUSER (67) would be a good code to return. Does Perl have a module that defines these codes symbolically? I didn't see anything at CPAN, but I found one here:
Kenneth Porter wrote:
--On Saturday, March 29, 2008 9:37 AM -0700 Mark Sapiro <mark@msapiro.net> wrote:
If so, it seems that rather than just dropping a 'bad' message as mm-handler seems to do when $BounceUnapproved = 0; and $BounceNonlist = 0;, wouldn't it be better to exit with a failure status.
Good idea. EX_NOUSER (67) would be a good code to return. Does Perl have a module that defines these codes symbolically? I didn't see anything at CPAN, but I found one here:
The two exit codes that seem to make sense are EX_NOUSER (67) and EX_UNAVAILABLE (69). Perhaps EX_NOUSER for a non-existent list and EX_UNAVAILABLE for a non accepted suffix.
I don't think perl defines these symbolically anywhere.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro wrote:
Kenneth Porter wrote:
--On Saturday, March 29, 2008 9:37 AM -0700 Mark Sapiro <mark@msapiro.net> wrote:
If so, it seems that rather than just dropping a 'bad' message as mm-handler seems to do when $BounceUnapproved = 0; and $BounceNonlist = 0;, wouldn't it be better to exit with a failure status.
Good idea. EX_NOUSER (67) would be a good code to return. Does Perl have a module that defines these codes symbolically? I didn't see anything at CPAN, but I found one here:
The two exit codes that seem to make sense are EX_NOUSER (67) and EX_UNAVAILABLE (69). Perhaps EX_NOUSER for a non-existent list and EX_UNAVAILABLE for a non accepted suffix.
I don't think perl defines these symbolically anywhere.
There is a potential problem with this, and I don't know enough about the actual sendmail -> mm-handler interface to know if it is a problem or not.
mm-handler parses its arguments from sendmail and builds a list of recipients and then processes that list in a loop. If it is really the case that a message addressed to, e.g., more than one list will be passed from sendmail to mm-handler as one invocation with multiple recipients, then the problem is you can only return one exit status, and the desposition might not be the same for all recipients.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
mm-handler parses its arguments from sendmail and builds a list of recipients and then processes that list in a loop. If it is really the case that a message addressed to, e.g., more than one list will be passed from sendmail to mm-handler as one invocation with multiple recipients, then the problem is you can only return one exit status, and the desposition might not be the same for all recipients.
The mailman.mc file (cited in README.mm-handler) mentions this vaguely. If the "m" flag is not present in the mailer definition (the "M" line) in sendmail.cf, then mm-handler will be run once per recipient.
It's important NOT to have an "m" flag, but just in case you forget that, mm-handler tries to handle multiple recipients a little.
-- -D. dgc@uchicago.edu NSIT University of Chicago
--On Saturday, March 29, 2008 4:47 PM -0500 David Champion <dgc@uchicago.edu> wrote:
It's important NOT to have an "m" flag, but just in case you forget that, mm-handler tries to handle multiple recipients a little.
How about checking for multiple recipients, logging a line explaining to remove the "m", and erroring out?
Kenneth Porter wrote:
--On Saturday, March 29, 2008 4:47 PM -0500 David Champion <dgc@uchicago.edu> wrote:
It's important NOT to have an "m" flag, but just in case you forget that, mm-handler tries to handle multiple recipients a little.
How about checking for multiple recipients, logging a line explaining to remove the "m", and erroring out?
That seems to me to be the right approach.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
--On Saturday, March 29, 2008 2:23 PM -0700 Mark Sapiro <mark@msapiro.net> wrote:
mm-handler parses its arguments from sendmail and builds a list of recipients and then processes that list in a loop. If it is really the case that a message addressed to, e.g., more than one list will be passed from sendmail to mm-handler as one invocation with multiple recipients, then the problem is you can only return one exit status, and the desposition might not be the same for all recipients.
I saw that. Perhaps a question to comp.mail.sendmail is in order. (I have an appointment to get to as I type this. Can you post it?)
Kenneth Porter wrote:
--On Saturday, March 29, 2008 2:23 PM -0700 Mark Sapiro <mark@msapiro.net> wrote:
mm-handler parses its arguments from sendmail and builds a list of recipients and then processes that list in a loop. If it is really the case that a message addressed to, e.g., more than one list will be passed from sendmail to mm-handler as one invocation with multiple recipients, then the problem is you can only return one exit status, and the desposition might not be the same for all recipients.
I saw that. Perhaps a question to comp.mail.sendmail is in order. (I have an appointment to get to as I type this. Can you post it?)
I think David Champion's reply at <http://mail.python.org/pipermail/mailman-developers/2008-March/020043.html> answers it adequately.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
New bug: The script is wrongly case-sensitive on the list name. A user just tried to send to "Tribes2-pickups" instead of "tribe2-pickups" and it dropped with a log message of "no such list".
On Mar 6, 2008, at 11:13 AM, Kenneth Porter wrote:
On Tuesday, March 04, 2008 12:30 PM -0800 Jo Rhett <jrhett@netconsonance.com> wrote:
Don't create backscatter aliases for subscribe/unsubscribe/etc by default. Nearly everyone uses web based signup.
Discard or hold messages from non-subscribers by default.
How, exactly, does one do these? In particular, how do you remove the aliases when using mm-handler to process mail from sendmail? (I'd
be happy to start the wiki page once I have the information to put there.)
You only need a single handler per list, and one for the server.
Default install is like 10 aliases per list.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
--On Tuesday, March 04, 2008 12:30 PM -0800 Jo Rhett <jrhett@netconsonance.com> wrote:
- Don't create backscatter aliases for subscribe/unsubscribe/etc by default. Nearly everyone uses web based signup.
Here's the list of valid actions from mm-handler:
@ValidActions = qw(admin bounces confirm join leave owner request subscribe unsubscribe);
Which ones should be left enabled?
--On Tuesday, March 04, 2008 12:30 PM -0800 Jo Rhett <jrhett@netconsonance.com> wrote:
- Don't create backscatter aliases for subscribe/unsubscribe/etc by default. Nearly everyone uses web based signup.
On Mar 12, 2008, at 9:58 AM, Kenneth Porter wrote:
Here's the list of valid actions from mm-handler:
@ValidActions = qw(admin bounces confirm join leave owner request subscribe unsubscribe);
Which ones should be left enabled?
In my experience, none of them. I've got a 1k+ list server running
without any of these actions enabled, and have never had a problem
with it.
(obviously you also have to patch the headers added to list e-mail
to not reference these names)
Naturally, if you have someone who really does do list admin by e-
mail (very rare) then you could leave one of these enabled for them.
As long as an e-mail without any proper actions is dropped.
--
Jo Rhett
Net Consonance : consonant endings by net philanthropy, open source
and other randomness
participants (21)
-
Barry Warsaw
-
Barry Warsaw
-
Cristóbal Palmer
-
Dale Newfield
-
David Champion
-
Eino Tuominen
-
Ian Eiloart
-
Jason Pruim
-
Jo Rhett
-
Joshua 'jag' Ginsberg
-
Julian Mehnle
-
Kenneth Porter
-
Lars Magne Ingebrigtsen
-
Lew Wolfgang
-
Lindsay Haisley
-
Mads Kiilerich
-
Mark Sapiro
-
mirabilos mirabilos
-
Ralf Hildebrandt
-
Stephen J. Turnbull
-
Stephen J. Turnbull