Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2007-01-16 Thread Jeremy Malcolm
Wouldn't it be possible to check that there is no lsearch or dsearch 
(etc) in front of the ; before replacing it with :?  I agree with the 
others that this is a very common configuration for virtual domains.  
Come release date, I'm sure this will bite a lot of people.

--
Jeremy Malcolm LLB (Hons) B Com
Internet and Open Source lawyer, IT consultant, actor
host -t NAPTR 1.0.8.0.3.1.2.9.8.1.6.e164.org|awk -F! '{print $3}'


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-13 Thread Alexandre Fayolle
Package: exim4-config
Version: 4.63-5
Severity: grave
Justification: renders package unusable

Hi,

I'm having to reinstall my mail server (HD died on the previous one), and the 
debconf 
questions in exim4-config caused me to fill in wrong values, which broke the 
mail server. I'm 
using an RC severity because this will certainly bite users installing a fresh 
mail server 
with Debian/etch. 

The problematic templates are the one which ask for a list of values:

 * "IP adresses to listen on for incoming SMTP connections" says in the help:
"Please enter a semicolon-separated list of IP addresses."

This is correct.

 * "Other destinations for which mail is accepted" says in the help:
"Please enter a semicolon-separated list of recipient domains"

This does not work: the destinations should be a colon-separated list of 
recipient domains. 
The symptom is undeliverable mails with lines like 
2006-10-13 21:03:41 1GYSJp-0003Su-JV unknown lookup type "fayauffre.org"
in paniclog.

An easy patch is to change the wording of the debconf template and the 
translations. But it 
is probably better to have both lists use the same separator. If exim4 expects 
colons, the 
config script could sed s/;/:/ that line before writing it in the 
update-exim4.conf.conf 
file. 

The attached update-exim4.conf.conf was generated using a semicolon separated 
list at the 
debconf prompt.

Thanks for your time and work. 

-- Package-specific info:
Exim version 4.63 #1 built 10-Oct-2006 16:53:10
Copyright (c) University of Cambridge 2006
Berkeley DB: Sleepycat Software: Berkeley DB 4.3.29: (September  6, 2005)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dsearch nis 
nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /var/lib/exim4/config.autogenerated
# /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'

dc_eximconfig_configtype='smarthost'
dc_other_hostnames=''fayauffre.org;merlin;merlin.fayauffre.org'
dc_local_interfaces='127.0.0.1;192.168.74.101'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets='192.168.74.0/24'
dc_smarthost='smtp.free.fr'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
mailname:fayauffre.org

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-686
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages exim4-config depends on:
ii  adduser   3.95   Add and remove users and groups
ii  debconf [debconf-2.0] 1.5.2  Debian configuration management sy

exim4-config recommends no packages.

-- debconf-show failed


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-13 Thread Marc Haber
tags #392831 confirmed
thanks

On Fri, Oct 13, 2006 at 09:34:50PM +0200, Alexandre Fayolle wrote:
> Severity: grave
> Justification: renders package unusable

I don't think the package gets entirely unuseable, but I'll leave the
severits as-is.

> I'm having to reinstall my mail server (HD died on the previous one),
> and the debconf questions in exim4-config caused me to fill in wrong
> values, which broke the mail server.

No, you didn't fill in wrong values, the post-processing of the values
went wrong.

>  * "Other destinations for which mail is accepted" says in the help:
> "Please enter a semicolon-separated list of recipient domains"
> 
> This does not work:

It is nevertheless correct; it's program code that is wrong.

> An easy patch is to change the wording of the debconf template and the
> translations.

Unacceptable for inconsistence.

>  But it is probably better to have both lists use the same separator.
>  If exim4 expects colons, the config script could sed s/;/:/ that line
>  before writing it in the update-exim4.conf.conf file. 

The actual fix will be a little harder, since older installs might
actually still use a colon-separated list. We need to detect whether
semicolons or colons were used as separator and generate the
appropriately correct replacement value.

Unfortuantely, dc_other_hostnames gets special handling in
update-exim4.conf, and that special handling goes badly wrong.

I'll fix that first thing tomorrow.

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Marc Haber
severity #392831 important
# a workaround is available: use a colon-separated list
thanks

On Fri, Oct 13, 2006 at 11:42:48PM +0200, Marc Haber wrote:
> On Fri, Oct 13, 2006 at 09:34:50PM +0200, Alexandre Fayolle wrote:
> >  But it is probably better to have both lists use the same separator.
> >  If exim4 expects colons, the config script could sed s/;/:/ that line
> >  before writing it in the update-exim4.conf.conf file. 
> 
> The actual fix will be a little harder, since older installs might
> actually still use a colon-separated list. We need to detect whether
> semicolons or colons were used as separator and generate the
> appropriately correct replacement value.

Actually, your suggested fix is fine. Domain names can neither contain
colons nor semicolons, so we can safely replace and pass colon
separated lists to exim regardless of what is entered. It's the most
easy way.

Sorry for not seeing this last night.

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Marc Haber
On Sat, Oct 14, 2006 at 10:09:42AM +0200, Andreas Metzler wrote:
> Domain *names* cannot, exim domain *lists* can.
> dc_other_hostnames='dsearch; CONFDIR/vdom:m26s25.vlinux.de'

That never worked since we are prepending "@:localhost:"

So our documentation is wrong.

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Andreas Metzler
On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
[...]
> On Fri, Oct 13, 2006 at 11:42:48PM +0200, Marc Haber wrote:
> > On Fri, Oct 13, 2006 at 09:34:50PM +0200, Alexandre Fayolle wrote:
> > >  But it is probably better to have both lists use the same separator.
> > >  If exim4 expects colons, the config script could sed s/;/:/ that line
> > >  before writing it in the update-exim4.conf.conf file. 

> > The actual fix will be a little harder, since older installs might
> > actually still use a colon-separated list. We need to detect whether
> > semicolons or colons were used as separator and generate the
> > appropriately correct replacement value.

> Actually, your suggested fix is fine. Domain names can neither contain
> colons nor semicolons, so we can safely replace and pass colon
> separated lists to exim regardless of what is entered. It's the most
> easy way.

Domain *names* cannot, exim domain *lists* can.
dc_other_hostnames='dsearch; CONFDIR/vdom:m26s25.vlinux.de'

cu andreas
-- 
The 'Galactic Cleaning' policy undertaken by Emperor Zhark is a personal
vision of the emperor's, and its inclusion in this work does not constitute
tacit approval by the author or the publisher for any such projects,
howsoever undertaken.(c) Jasper Ffforde


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Marc Haber
On Sat, Oct 14, 2006 at 10:37:26AM +0200, Andreas Metzler wrote:
> On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> > On Sat, Oct 14, 2006 at 10:09:42AM +0200, Andreas Metzler wrote:
> > > Domain *names* cannot, exim domain *lists* can.
> > > dc_other_hostnames='dsearch; CONFDIR/vdom:m26s25.vlinux.de'
> 
> > That never worked since we are prepending "@:localhost:"
> [...]
> 
> @:localhost: dsearch; CONFDIR/vdom:m26s25.vlinux.de
> is a valid domainlist, containing four items:
> @
> localhost
> dsearch; CONFDIR/vdom
> m26s25.vlinux.de

That works? Ouch!

Will "localhost:@:<;foo;bar;baz" work as well? Probably not, right?

I am currently inclined to remove the possibility of using constructs
that complex via debconf, documenting that only plain lists, semicolon
separated, are allowed and that people wanting to do more complex
things via Exim macros.

What do you think?

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Andreas Metzler
On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> On Sat, Oct 14, 2006 at 10:09:42AM +0200, Andreas Metzler wrote:
> > Domain *names* cannot, exim domain *lists* can.
> > dc_other_hostnames='dsearch; CONFDIR/vdom:m26s25.vlinux.de'

> That never worked since we are prepending "@:localhost:"
[...]

@:localhost: dsearch; CONFDIR/vdom:m26s25.vlinux.de
is a valid domainlist, containing four items:
@
localhost
dsearch; CONFDIR/vdom
m26s25.vlinux.de

There seems to be something I am missing.

cu andreas
-- 
The 'Galactic Cleaning' policy undertaken by Emperor Zhark is a personal
vision of the emperor's, and its inclusion in this work does not constitute
tacit approval by the author or the publisher for any such projects,
howsoever undertaken.(c) Jasper Ffforde


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Andreas Metzler
On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> On Sat, Oct 14, 2006 at 10:37:26AM +0200, Andreas Metzler wrote:
> > On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> > > On Sat, Oct 14, 2006 at 10:09:42AM +0200, Andreas Metzler wrote:
> > > > Domain *names* cannot, exim domain *lists* can.
> > > > dc_other_hostnames='dsearch; CONFDIR/vdom:m26s25.vlinux.de'
> > 
> > > That never worked since we are prepending "@:localhost:"
> > [...]
> > 
> > @:localhost: dsearch; CONFDIR/vdom:m26s25.vlinux.de
> > is a valid domainlist, containing four items:
> > @
> > localhost
> > dsearch; CONFDIR/vdom
> > m26s25.vlinux.de

> That works? Ouch!

Hello,
why the ouch? It is a simple colon-delimited list without any funky
characters. ;-)

> Will "localhost:@:<;foo;bar;baz" work as well? Probably not, right?

No, that is invalid syntax.

[EMAIL PROTECTED]:/tmp$ cat tesme
domainlist xxx = localhost:@:<;foo;bar;baz
[EMAIL PROTECTED]:/tmp$ /usr/sbin/exim4 -C tesme \
-be '${if match_domain{baz}{+xxx}{yes}{no}}'
2006-10-14 10:56:06 unknown lookup type "<"

> I am currently inclined to remove the possibility of using constructs
> that complex via debconf, documenting that only plain lists, semicolon
> separated, are allowed and that people wanting to do more complex
> things via Exim macros.

> What do you think?

I would prefer if things continued to work. afaict this has worked
since 2002 and I currently fail to see a compelling reason to remove
it.

There might be compelling reasons the at some point in the future,
e.g. if retaining this feature would block implementation of a more
important feature.

My personal opinion might be biased though, I am used to the whole
thing.
cu andreas
-- 
The 'Galactic Cleaning' policy undertaken by Emperor Zhark is a personal
vision of the emperor's, and its inclusion in this work does not constitute
tacit approval by the author or the publisher for any such projects,
howsoever undertaken.(c) Jasper Ffforde


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Marc Haber
On Sat, Oct 14, 2006 at 11:05:09AM +0200, Andreas Metzler wrote:
> On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> > I am currently inclined to remove the possibility of using constructs
> > that complex via debconf, documenting that only plain lists, semicolon
> > separated, are allowed and that people wanting to do more complex
> > things via Exim macros.
> 
> > What do you think?
> 
> I would prefer if things continued to work. afaict this has worked
> since 2002 and I currently fail to see a compelling reason to remove
> it.

Consistency.

To spare people from doubling the colons in IP address lists, exim now
allows selection of other separator characters. The semicolon as
separator for IP address lists was introduced a few months ago. I
think it is a good idea to be consistent here and to have all lists
semicolon separated now.

The change would screw advanced uses who would know to look in
NEWS.Debian and find the explanation.

I'd prefer screwing advanced users over confusing newbies. The former
can cope, the latter will produce hard-to-debug issues.

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Andreas Metzler
On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> On Sat, Oct 14, 2006 at 11:05:09AM +0200, Andreas Metzler wrote:
>> On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
>>> I am currently inclined to remove the possibility of using constructs
>>> that complex via debconf, documenting that only plain lists, semicolon
>>> separated, are allowed and that people wanting to do more complex
>>> things via Exim macros.
[...] 
>> I would prefer if things continued to work. afaict this has worked
>> since 2002 and I currently fail to see a compelling reason to remove
>> it.

> Consistency.

> To spare people from doubling the colons in IP address lists, exim now
> allows selection of other separator characters. The semicolon as
> separator for IP address lists was introduced a few months ago. I
> think it is a good idea to be consistent here and to have all lists
> semicolon separated now.

I just disagree that this is important enough to break working setups.
In hindsight ";" was a bad choice as new default. :-(

> The change would screw advanced uses who would know to look in
> NEWS.Debian and find the explanation.

> I'd prefer screwing advanced users over confusing newbies. The former
> can cope, the latter will produce hard-to-debug issues.

I used to be able to simply extend the Debian setup, now I would
suddenly have to actively work around it by using some dummy value in
update-exim4.conf.conf and setting a MAIN_LOCAL_DOMAINS manually.

cu andreas
-- 
The 'Galactic Cleaning' policy undertaken by Emperor Zhark is a personal
vision of the emperor's, and its inclusion in this work does not constitute
tacit approval by the author or the publisher for any such projects,
howsoever undertaken.(c) Jasper Ffforde


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Andreas Barth
* Andreas Metzler ([EMAIL PROTECTED]) [061014 02:57]:
> > To spare people from doubling the colons in IP address lists, exim now
> > allows selection of other separator characters. The semicolon as
> > separator for IP address lists was introduced a few months ago. I
> > think it is a good idea to be consistent here and to have all lists
> > semicolon separated now.
> 
> I just disagree that this is important enough to break working setups.
> In hindsight ";" was a bad choice as new default. :-(

Yep, but now we just have a few bad choices where we have to pick one:
1. Having inconsistent user interface between the two different debconf
fields;
2. Breaking usage of debconf very specialised setups for
well-experienced users

Actually, though I think it is nice to allow expert usage in debconf as
well, I agree to having a consistent interface is in this case more
important.


Cheers,
Andi
-- 
  http://home.arcor.de/andreas-barth/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-14 Thread Marc Haber
On Sat, Oct 14, 2006 at 11:57:17AM +0200, Andreas Metzler wrote:
> On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> > On Sat, Oct 14, 2006 at 11:05:09AM +0200, Andreas Metzler wrote:
> >> On 2006-10-14 Marc Haber <[EMAIL PROTECTED]> wrote:
> >>> I am currently inclined to remove the possibility of using constructs
> >>> that complex via debconf, documenting that only plain lists, semicolon
> >>> separated, are allowed and that people wanting to do more complex
> >>> things via Exim macros.
> [...] 
> >> I would prefer if things continued to work. afaict this has worked
> >> since 2002 and I currently fail to see a compelling reason to remove
> >> it.
> 
> > Consistency.
> 
> > To spare people from doubling the colons in IP address lists, exim now
> > allows selection of other separator characters. The semicolon as
> > separator for IP address lists was introduced a few months ago. I
> > think it is a good idea to be consistent here and to have all lists
> > semicolon separated now.
> 
> I just disagree that this is important enough to break working setups.
> In hindsight ";" was a bad choice as new default. :-(

What would you have chosen?

> > The change would screw advanced uses who would know to look in
> > NEWS.Debian and find the explanation.
> 
> > I'd prefer screwing advanced users over confusing newbies. The former
> > can cope, the latter will produce hard-to-debug issues.
> 
> I used to be able to simply extend the Debian setup, now I would
> suddenly have to actively work around it by using some dummy value in
> update-exim4.conf.conf and setting a MAIN_LOCAL_DOMAINS manually.

I suspect that you're the only one around who knows exim4-config good
enough to come up with an idea as mad as this.

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-10-31 Thread Binzberger Viktor

Marc,

Your 'fix' just caused us a few hours of clueless debugging. Using 
lsearch;/etc/mail/domains in dc_other_domains  is a very common method 
of implementing simple virtual domains. Now, with your update, our 
existing setup broke, and it just simply didn't occur to us, that the 
update script could be so stupid as to REPLACE the semicolons, instead 
of HALTING WITH AN ERROR (or a warning), which would be a reasonable 
behaviour in such situations.


Viktor





--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Bug#392831: exim4-config: colons or semi colons as separators (debconf templates issue)

2006-11-01 Thread Marc Haber
On Tue, Oct 31, 2006 at 11:48:13PM +0100, Binzberger Viktor wrote:
> Your 'fix' just caused us a few hours of clueless debugging.

Sorry about that.

>  Using lsearch;/etc/mail/domains in dc_other_domains is a very common
>  method of implementing simple virtual domains.

It was never supported. The value has always only be documented as a
list of domains.

We actually documented that in NEWS.Debian for exim4 4.62-7, so your
debugging session would have been significantly shorter if you had
actually read the docs before installing the software.

>  Now, with your update, our existing setup broke, and it just simply
>  didn't occur to us, that the update script could be so stupid as to
>  REPLACE the semicolons, instead of HALTING WITH AN ERROR (or a
>  warning), which would be a reasonable behaviour in such situations.

Halting with an error if semicolons are found in an input field that
is supposed to be a semicolon-separated list is kind of a non-option,
don't you agree?

If you disagree with the maintainer's decision, please take this to
debian-devel, and/or to the tech ctte.

Greetings
Marc

-- 
-
Marc Haber | "I don't trust Computers. They | Mailadresse im Header
Mannheim, Germany  |  lose things."Winona Ryder | Fon: *49 621 72739834
Nordisch by Nature |  How to make an American Quilt | Fax: *49 621 72739835


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]