
Hi All,
I am setting up a mailman server running Debian sarge, exim4, and mailman 2.1.6 that supports several domains, and have run into a bit of a problem. I have set up the virtual domains per the documentation but I am running into an issue when I test the installations. Here is the output from the mainlog in exim4:
2006-01-03 09:42:52 1EtpFL-0003iz-RY == test_emag@adoptionweek.com R=mailman_router T=mailman_transport defer (2): No such file or directory: failed to chdir to /data/mailman/:adoptionweek.com
I believe the problem is the colon at the begining of sub directory name. I cant seem to find where that is coming from. Below are the changes I made to exim to deal with the virt domains:
in 01_exim4-config_listmacrosdefs:
MM_HOME=/data/mailman/${lc::$domain} MM_UID=mailman MM_GID=mailman domainlist mm_domains=adoptionweek.com:lists.adoptionweek.com:e-magazine.adoption.com:lists.adoption.com:adoption.c om:adoptionlists.com MM_WRAP=MM_HOME/mail/mailman MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
in 099_exim4-config_mailman:
mailman_router:
driver = accept
domains = +mm_domains
require_files = MM_LISTCHK
local_part_suffix_optional
local_part_suffix = -admin :
-bounces : -bounces+* :
-confirm : -confirm+* :
-join : -leave :
-owner : -request :
-subscribe : -unsubscribe
transport = mailman_transport
in 30_exim4-config_mailman:
mailman_transport:
driver = pipe
command = MM_WRAP
'${if def:local_part_suffix
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}}
{post}}'
$local_part
current_directory = MM_HOME
home_directory = MM_HOME
user = MM_UID
group = MM_GID

On 1/3/06 9:29 AM, "Sean Roe" <sean@adoptionmedia.com> wrote:
The macro
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck is later used in a list context require_files = MM_LISTCHK
So I to would expect the : in $(lc:$local_part) to have to be doubled. But what seems to be happening is that the second of the pair of colons is being picked up as part of the string to be lower-cased.
You could make certain that the colon *doesn't* need to be doubled by changing the list separator character in the require_files option: require_files = <; MM_LISTCHK
If you do that, then for sure you only need a single : in the MM_LISTCHK macro. (You need to do the same magic other places the macro is used in list context.)
--John

Hi All,
The changes I made were to exim's list_macrodefs: from: MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck to: MM_LISTCHK=MM_HOME/lists/${lc:$local_part}/config.pck
and mailman_router: from: require_files = MM_LISTCHK to: require_files = <; MM_LISTCHK
I made the changes above, but now exim4 says the addresses are unroutable: #exim4 -bt test_emag@adoptionweek.com R: system_aliases for test_emag@localhost test_emag@adoptionweek.com is undeliverable: Unrouteable address
I reverted the changes and get this: #exim4 -bt test_emag@adoptionweek.com test_emag@adoptionweek.com router = mailman_router, transport = mailman_transport
Is there anything else I need to do to make this work? I didn't see any other reference to MM_LISTCHK
Thanks, Sean
John W. Baxter wrote:
On 1/3/06 9:29 AM, "Sean Roe" <sean@adoptionmedia.com> wrote:
The macro
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
is later used in a list context
require_files = MM_LISTCHK
So I to would expect the : in $(lc:$local_part) to have to be doubled. But what seems to be happening is that the second of the pair of colons is being picked up as part of the string to be lower-cased.
You could make certain that the colon *doesn't* need to be doubled by changing the list separator character in the require_files option: require_files = <; MM_LISTCHK
If you do that, then for sure you only need a single : in the MM_LISTCHK macro. (You need to do the same magic other places the macro is used in list context.)
--John

At 3:09 PM -0700 2006-01-03, Sean Roe wrote:
Is there anything else I need to do to make this work? I didn't see any other reference to MM_LISTCHK
This is really an Exim problem, and I suspect that you're more
likely to get useful assistance by going to their documentation, reading their FAQs, posting to their mailing lists, etc....
-- Brad Knowles, <brad@stop.mail-abuse.org>
"Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety."
-- Benjamin Franklin (1706-1790), reply of the Pennsylvania
Assembly to the Governor, November 11, 1755
LOPSA member since December 2005. See <http://www.lopsa.org/>.

Sean Roe wrote:
2006-01-03 09:42:52 1EtpFL-0003iz-RY == test_emag@adoptionweek.com R=mailman_router T=mailman_transport defer (2): No such file or directory: failed to chdir to /data/mailman/:adoptionweek.com
I believe the problem is the colon at the begining of sub directory name. I cant seem to find where that is coming from. Below are the changes I made to exim to deal with the virt domains:
in 01_exim4-config_listmacrosdefs:
MM_HOME=/data/mailman/${lc::$domain}
Where does this come from? Normally it would just be something like
MM_HOME=/data/mailman/
and not include any reference to $domain. It is the path to but not including the lists/ directory in the Mailman installation.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro wrote:
Sean Roe wrote:
2006-01-03 09:42:52 1EtpFL-0003iz-RY == test_emag@adoptionweek.com R=mailman_router T=mailman_transport defer (2): No such file or directory: failed to chdir to /data/mailman/:adoptionweek.com
I believe the problem is the colon at the begining of sub directory name. I cant seem to find where that is coming from. Below are the changes I made to exim to deal with the virt domains:
in 01_exim4-config_listmacrosdefs:
MM_HOME=/data/mailman/${lc::$domain}
Where does this come from? Normally it would just be something like
MM_HOME=/data/mailman/
and not include any reference to $domain. It is the path to but not including the lists/ directory in the Mailman installation.
this is a virtual domain installation. /data/mailman/{domain} refers different mailman installations:
/data/mailman/adoptionlists.com /data/mailman/adoptionweek.com ect.
Sean

Sean Roe wrote:
this is a virtual domain installation. /data/mailman/{domain} refers different mailman installations:
/data/mailman/adoptionlists.com /data/mailman/adoptionweek.com ect.
Sorry, I misunderstood. I thought you were using Mailman virtual domains, not separate Mailman instances.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro wrote:
Sean Roe wrote:
this is a virtual domain installation. /data/mailman/{domain} refers different mailman installations:
/data/mailman/adoptionlists.com /data/mailman/adoptionweek.com ect.
Sorry, I misunderstood. I thought you were using Mailman virtual domains, not separate Mailman instances.
Unfortunately, I have to do it this way, with multiple instances, as one group of lists are using the mysql adapter and one group isn't. Getting back to the original posting, do you know why I am picking up that colon on the beguining of the domainname?
Sean

Sean Roe wrote:
Unfortunately, I have to do it this way, with multiple instances, as one group of lists are using the mysql adapter and one group isn't.
If you use the extend.py mechanism to specify the MysqlMemberships.py MemberAdaptor rather than patching MailList.py, you can use MysqlMemberships.py for only a subset of lists. It is not quite automatic as you would have to manually copy an extend.py file to the lists/listname/ directory following creation of a list that would use MysqlMemberships.py, but it can be done.
Getting back to the original posting, do you know why I am picking up that colon on the beguining of the domainname?
It is not clear to me from the prior posts in this thread exactly what you've tried. You said in a prior post -
The changes I made were to exim's list_macrodefs: from: MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck to: MM_LISTCHK=MM_HOME/lists/${lc:$local_part}/config.pck
and mailman_router: from: require_files = MM_LISTCHK to: require_files = <; MM_LISTCHK
but it is not clear if you also changed MM_HOME. There is possibly confusion over whether or not a doubled colon is required in MM_HOME for
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
but the several other places where MM_HOME is used definitely do not want the colon to be doubled.
Thus it seems to me you want
MM_HOME=/data/mailman/${lc:$domain}
and
MM_LISTCHK=MM_HOME/lists/${lc:$local_part}/config.pck
and to be sure you don't need doubled colons in MM_LISTCHK,
require_files = <; MM_LISTCHK
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (4)
-
Brad Knowles
-
John W. Baxter
-
Mark Sapiro
-
Sean Roe