Re: FreeBSD port for the experimental release [was Re: post-install, IPv6-only: could not find any active network interfaces (again)]

2012-01-04 Thread Wietse Venema
Sahil Tandon:
> I do not usually announce FreeBSD port version bumps here, but in this
> case, I felt it appropriate.  Sorry to those for whom this is not
> relevant.
> 
> I have updated the development port to Postfix 2.9 Snapshot 20120102 and
> removed the erroneous conf/post-install patch that was discussed earlier
> in the thread, thus preserving Wietse's safety net for incompatible
> changes in IPv6 defaults.

Thanks!

> PS: if anyone on this list is a FreeBSD user with interest in the
> maintenance of the Postfix ports, please get in touch off-list.

Thanks for keeping the FreeBSD port close to the bleeding edge.

Wietse


Re: FreeBSD port for the experimental release [was Re: post-install, IPv6-only: could not find any active network interfaces (again)]

2012-01-04 Thread Jerry
On Tue, 3 Jan 2012 21:12:29 -0500
Sahil Tandon articulated:

> I do not usually announce FreeBSD port version bumps here, but in this
> case, I felt it appropriate.  Sorry to those for whom this is not
> relevant.
> 
> I have updated the development port to Postfix 2.9 Snapshot 20120102
> and removed the erroneous conf/post-install patch that was discussed
> earlier in the thread, thus preserving Wietse's safety net for
> incompatible changes in IPv6 defaults.
> 
> PS: if anyone on this list is a FreeBSD user with interest in the
> maintenance of the Postfix ports, please get in touch off-list.

Sahil, thanks for you excellent work on maintaining the port on
FreeBSD. I know what a chore it can be getting anything to work
correctly on that OS. With that said, I hope you are not considering
abandoning the port.

-- 
Jerry ✌
postfix-u...@seibercom.net
_
TO REPORT A PROBLEM see http://www.postfix.org/DEBUG_README.html#mail
TO (UN)SUBSCRIBE see http://www.postfix.org/lists.html


FreeBSD port for the experimental release [was Re: post-install, IPv6-only: could not find any active network interfaces (again)]

2012-01-03 Thread Sahil Tandon
I do not usually announce FreeBSD port version bumps here, but in this
case, I felt it appropriate.  Sorry to those for whom this is not
relevant.

I have updated the development port to Postfix 2.9 Snapshot 20120102 and
removed the erroneous conf/post-install patch that was discussed earlier
in the thread, thus preserving Wietse's safety net for incompatible
changes in IPv6 defaults.

PS: if anyone on this list is a FreeBSD user with interest in the
maintenance of the Postfix ports, please get in touch off-list.

-- 
Sahil Tandon


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-29 Thread Wietse Venema
Mark Martinec:
> Sahil Tandon wrote:
>  > I do not believe Mark should have to jump through extra hoops, or that
>  > you should revert the change.  This is a FreeBSD port-specific problem
>  > created by me that I will address as soon as I can.
> 
> Wietse Venema wrote:
>  > Considering the short time left before the next stable release I
>  > am considering the following schedule:
>  > - Revert to Postfix 2.8 behavior, and complete the 2.9 release cycle.
>  > - In the 2.10 development cycle, make Postfix build on hosts that
>  >have no network interfaces. That would eliminate problems like
>  >Mark's hosts without IPv4, FreeBSD "port" builds on hosts with
>  >dysfunctional IPv6, and other weird environments.
>  > - In the 2.10 development cycle, (re)start the first phase of the
>  >IPv6-on-by-default transition, and do this early enough that there
>  >is time to make sure that all maintainers are on board.
> 
> That would be sad news, considering how long it takes for
> "distributions" to jump on each new major version.

This problem has an excellent solution. Change the built-in default
now for long-term future compatibility, and edit main.cf at install
time now for short-term historical compatibility.

> As long as main.cf gets adjusted if necessary during install
> to maintain backward compatibility, the builtin default does not
> matter, as long as the package can be build and installed.

The built-in default matters big time for the majority of sites that
use Postfix on IPv4-only networks. They will see an unexpected drop
in performance as Postfix makes useless  DNS lookups and useless
IPv6 connection attempts. This is why I must require that both parts
of the above solution are implemented, or none at all.

There is not much time left for me to work on the 2.9 stable release,
and I don't want to be distracted by open problems with ports
maintainers.

Wietse


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-29 Thread Mark Martinec

Sahil Tandon wrote:
> I do not believe Mark should have to jump through extra hoops, or that
> you should revert the change.  This is a FreeBSD port-specific problem
> created by me that I will address as soon as I can.

Wietse Venema wrote:
> Considering the short time left before the next stable release I
> am considering the following schedule:
> - Revert to Postfix 2.8 behavior, and complete the 2.9 release cycle.
> - In the 2.10 development cycle, make Postfix build on hosts that
>have no network interfaces. That would eliminate problems like
>Mark's hosts without IPv4, FreeBSD "port" builds on hosts with
>dysfunctional IPv6, and other weird environments.
> - In the 2.10 development cycle, (re)start the first phase of the
>IPv6-on-by-default transition, and do this early enough that there
>is time to make sure that all maintainers are on board.

That would be sad news, considering how long it takes for
"distributions" to jump on each new major version.

As long as main.cf gets adjusted if necessary during install
to maintain backward compatibility, the builtin default does not
matter, as long as the package can be build and installed.

  Mark



Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Sahil Tandon
On Wed, 2011-12-28 at 19:48:48 -0500, Wietse Venema wrote:

> Sahil Tandon:
> > I do not believe Mark should have to jump through extra hoops, or that
> > you should revert the change.  This is a FreeBSD port-specific problem
> > created by me that I will address as soon as I can.
> 
> Considering the short time left before the next stable release I
> am considering the following schedule:
> 
> - Revert to Postfix 2.8 behavior, and complete the 2.9 release cycle.
> 
> - In the 2.10 development cycle, make Postfix build on hosts that
>   have no network interfaces. That would eliminate problems like
>   Mark's hosts without IPv4, FreeBSD "port" builds on hosts with
>   dysfunctional IPv6, and other weird environments.
> 
> - In the 2.10 development cycle, (re)start the first phase of the
>   IPv6-on-by-default transition, and do this early enough that there
>   is time to make sure that all maintainers are on board.

Shall follow along this new route, or I can modify the Postfix
development port so that (happy to modify this as you deem appropriate):

1) fresh installs without existing main.cf use the new default
   inet_protocols setting.

2) sites with an existing main.cf WITHOUT inet_protocols defined have
   the ipv4 line added as you currently do via post-install.

3) sites with an existing main.cf WITH inet_protocols defined just keep 
   their inet_protocols as is.

Again, I'm already working on making the port work within the context of
how you're currenting shipping development snapshots, but am on board
with whichever path you choose from here.  Won't make any changes until
your decision is final so as to minimize further hassles.

-- 
Sahil Tandon


pgpnJTskeyC6H.pgp
Description: PGP signature


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Wietse Venema
Sahil Tandon:
> I do not believe Mark should have to jump through extra hoops, or that
> you should revert the change.  This is a FreeBSD port-specific problem
> created by me that I will address as soon as I can.

Considering the short time left before the next stable release I
am considering the following schedule:

- Revert to Postfix 2.8 behavior, and complete the 2.9 release cycle.

- In the 2.10 development cycle, make Postfix build on hosts that
  have no network interfaces. That would eliminate problems like
  Mark's hosts without IPv4, FreeBSD "port" builds on hosts with
  dysfunctional IPv6, and other weird environments.

- In the 2.10 development cycle, (re)start the first phase of the
  IPv6-on-by-default transition, and do this early enough that there
  is time to make sure that all maintainers are on board.

Wietse
-


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Sahil Tandon
On Wed, 2011-12-28 at 18:34:45 -0500, Wietse Venema wrote:

> ... 
> Sites that use Postfix 2.8 without IPv6 have no inet_protocols
> setting in main.cf. They have never needed one because that was the
> default. Having to add "inet_protocols = whatever" for Postfix
> 2.9 is an unnecessary compatibility break that can be avoided.
> 
> Sites that currently rely on the default (no IPv6) must not experience
> a compatibility break just because the built-in default was changed.
> 
> It is a major mistake at this time to turn on IPv6 in Postfix by
> default, because it will suck performance for the far majority of
> sites with useless DNS lookups and useless connection attempts.
> 
> This is harmful for Postfix market share.

This point is not lost on me, and believe it or not: I'm actually an
advocate of Postfix, so a loss of market share is counter to my own
interests.

> Unlike some open source products, I plan incompatible changes very
> carefully. Where this is possible, this goes as follows:
> 
> 1) First I change the built-in default; at the same time post-install
> is changed to make a compatibility update to main.cf that restores
> the old default, for sites that have relied on the old default.
> 
> 2) Several years later, I remove the post-install code.
> 
> If you cannot respect my effort to avoid incompatible changes, then
> I will revert the change of the inet_protocols default value and
> go back to Postfix 2.8 behavior. This means that people such as
> Mark Martinec wil have to jump some extra hoops when they wish to
> compile in an ipv4-less build environment. That is still better
> than having Postfix ruined by a maintainer who does not respect my
> attempts to phase in a major change with a great deal of care.

In my reply to your initial message, I explicitly noted that I
mishandled this situation, and should have considered another solution
to address the ports-specific side effect caused by the inet_protocols
change.  Furthermore, I stated that I intend to align the port's
behavior with how you correctly designed the inet_protocols change to be
phased in.  Where in all this do you construe a lack of respect for your
efforts?  If someome makes a mistake, they are not signaling a lack of
respect for your work. In fact, in the context of this thread, your
accusing of *me* for lacking respect towards *you* is disappointingly
ironic.

I do not believe Mark should have to jump through extra hoops, or that
you should revert the change.  This is a FreeBSD port-specific problem
created by me that I will address as soon as I can.

-- 
Sahil Tandon


pgpAExDgZOayr.pgp
Description: PGP signature


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Wietse Venema
Sahil Tandon:
> > Sahil Tandon:
> > > FWIW, the FreeBSD Postfix port is patched so that post-install does not
> > > add "inet_protocols=ipv4" to main.cf during upgrades. Instead, users are
> > > notified[1] about the recent change of defaults, and asked to append the
> > > ipv4 line to their main.cf, if necessary.  
> > 
> > Sorry, THAT IS A MISTAKE.
> > 
> > Sites that already Postfix have already chosen what protocols
> > they use. They must not be forced to take action when upgrading.
> > FORCING SITES TO CHANGE CONFIGURATION AFTER UPGRADE IS A MISTAKE.
> 
> The distinction is mostly semantic and tangential to the main
> discussion, but for completeness: users are supposed to consult
> ports/UPDATING before (not after) upgrading.

Sites that use Postfix 2.8 without IPv6 have no inet_protocols
setting in main.cf. They have never needed one because that was the
default. Having to add "inet_protocols = whatever" for Postfix
2.9 is an unnecessary compatibility break that can be avoided.

Sites that currently rely on the default (no IPv6) must not experience
a compatibility break just because the built-in default was changed.

It is a major mistake at this time to turn on IPv6 in Postfix by
default, because it will suck performance for the far majority of
sites with useless DNS lookups and useless connection attempts.

This is harmful for Postfix market share.

Unlike some open source products, I plan incompatible changes very
carefully. Where this is possible, this goes as follows:

1) First I change the built-in default; at the same time post-install
is changed to make a compatibility update to main.cf that restores
the old default, for sites that have relied on the old default.

2) Several years later, I remove the post-install code.

If you cannot respect my effort to avoid incompatible changes, then
I will revert the change of the inet_protocols default value and
go back to Postfix 2.8 behavior. This means that people such as
Mark Martinec wil have to jump some extra hoops when they wish to
compile in an ipv4-less build environment. That is still better
than having Postfix ruined by a maintainer who does not respect my
attempts to phase in a major change with a great deal of care.

Wietse


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Reindl Harald


Am 29.12.2011 00:16, schrieb Jeroen Geilman:
> On 2011-12-28 23:58, Reindl Harald wrote:
>>
>> Am 28.12.2011 23:30, schrieb Stan Hoeppner:
>>> On 12/28/2011 2:41 PM, Reindl Harald wrote:
 this world would be a better one if more developers would have your
 attitude instead permanently throwing things away and replace them
 with half-baken replacement and shortly before they become bugfree
 and useable the next one creeps in with his new "better" replacement
>>> Don't jump to conclusions.  We haven't yet seen Sahil's response with
>>> his reasoning behind his changes.
>> i speak not for postfix only
> 
> You don't speak for postfix *at all*.

replace the word "for" with "about" and feel
happy that your english is better than mine

>> what i meant was generally the attitude of developers/packagers
>> over the last year in many distributions and for many packages
> 
> Name names; provide concrete, verifiable examples; the above is so vague as 
> to be laughable.
> Without concrete examples, you're merely pandering to what you perceive to be 
> a desirable opinion.

did you live under a stone the last 5 years or why did you not
take notice of KDE3->KDE4, GNOME2->GNOME3, transition to
systemd in a way too early state not well enough prepared
in current distributions?

>>> Attacking someone before knowing all of the facts is referred to as
>>> "lynch mob" mentality here in the USA.  Google and read the history of
>>> the "lynch mob".  It's something I doubt you want to be associated with.
>> i do not attack anybody directly
> 
> Oh, so it was by accident that you made these remarks /in this thread/?
> Quelle coincidence.

i made my remarks for "When people have Postfix already installed, the next
release should work as before if possible, instead of forcing yet another
learning experience onto people who have better things to do with their
time"

so what is your fucking problem?
are you one of these braindead developers out there breaking
compatibility of configurations with every update or why are you
so pissed off here?

> What you're doing smells like flinging poo, to me 
> and you have no business doing that on this list

if will NOT request YOU before answer somebody that i like his
attitude, not now and not in the future - who do you think you are?



signature.asc
Description: OpenPGP digital signature


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Jeroen Geilman

On 2011-12-28 23:58, Reindl Harald wrote:


Am 28.12.2011 23:30, schrieb Stan Hoeppner:

On 12/28/2011 2:41 PM, Reindl Harald wrote:

this world would be a better one if more developers would have your
attitude instead permanently throwing things away and replace them
with half-baken replacement and shortly before they become bugfree
and useable the next one creeps in with his new "better" replacement

Don't jump to conclusions.  We haven't yet seen Sahil's response with
his reasoning behind his changes.

i speak not for postfix only


You don't speak for postfix *at all*.


what i meant was generally the attitude of developers/packagers
over the last year in many distributions and for many packages


Name names; provide concrete, verifiable examples; the above is so vague 
as to be laughable.
Without concrete examples, you're merely pandering to what you perceive 
to be a desirable opinion.



Attacking someone before knowing all of the facts is referred to as
"lynch mob" mentality here in the USA.  Google and read the history of
the "lynch mob".  It's something I doubt you want to be associated with.

i do not attack anybody directly


Oh, so it was by accident that you made these remarks /in this thread/?
Quelle coincidence.


this was simply a gratulation for the attitude of Wietse how he
is developing software and a general blame for mostly all developers
out there in the last yeas breaking permanently compatibility and
upgrade-path's, wasting ressources with not well thought software
and wondering why modern computers not much faster for the enduser
as ten years before


What you're doing smells like flinging poo, to me - and you have no 
business doing that on this list.


--
J.



Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Reindl Harald


Am 28.12.2011 23:30, schrieb Stan Hoeppner:
> On 12/28/2011 2:41 PM, Reindl Harald wrote:
>> this world would be a better one if more developers would have your
>> attitude instead permanently throwing things away and replace them
>> with half-baken replacement and shortly before they become bugfree
>> and useable the next one creeps in with his new "better" replacement
> 
> Don't jump to conclusions.  We haven't yet seen Sahil's response with
> his reasoning behind his changes.

i speak not for postfix only

what i meant was generally the attitude of developers/packagers
over the last year in many distributions and for many packages

> Attacking someone before knowing all of the facts is referred to as
> "lynch mob" mentality here in the USA.  Google and read the history of
> the "lynch mob".  It's something I doubt you want to be associated with.

i do not attack anybody directly

this was simply a gratulation for the attitude of Wietse how he
is developing software and a general blame for mostly all developers
out there in the last yeas breaking permanently compatibility and
upgrade-path's, wasting ressources with not well thought software
and wondering why modern computers not much faster for the enduser
as ten years before






signature.asc
Description: OpenPGP digital signature


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Sahil Tandon
On Wed, 2011-12-28 at 10:08:05 -0500, Wietse Venema wrote:

> Sahil Tandon:
> > FWIW, the FreeBSD Postfix port is patched so that post-install does not
> > add "inet_protocols=ipv4" to main.cf during upgrades. Instead, users are
> > notified[1] about the recent change of defaults, and asked to append the
> > ipv4 line to their main.cf, if necessary.  
> 
> Sorry, THAT IS A MISTAKE.
> 
> Sites that already Postfix have already chosen what protocols
> they use. They must not be forced to take action when upgrading.
> FORCING SITES TO CHANGE CONFIGURATION AFTER UPGRADE IS A MISTAKE.

The distinction is mostly semantic and tangential to the main
discussion, but for completeness: users are supposed to consult
ports/UPDATING before (not after) upgrading.

> * If the site used IPv4 only before 2.9 then they must not have to
> change their configuration when upgrading to 2.9. YOUR CHANGE BREAKS
> THIS TRANSITION.
> 
> * If the site used IPv4 and IPv6 before 2.9 then they already have
> an inet_protocols setting in main.cf. It you require that these
> sites make a change THEN YOUR CHANGE BREAKS THIS TRANSITION.

Sites that have already chosen what protocol(s) to use with an explicit
declaration of inet_protocols in main.cf are not required to do anything
whatsoever.

> People who have been around for a while know that in the past 15
> years, Postfix default settings have changed over time, and each
> time, the Postfix upgrade procedure made those transitions painless.
> CHANGES IN POSTFIX DEFAULTS MUST NOT REQUIRE USERS TO CHANGE
> CONFIGURATIONS WHEN UPGRADING.

Sure, and I make every effort to avoid POLA violations in the FreeBSD
ports/packages context, while at the same time trying to harmonize the
Postfix port experience with how it's intended to be delivered by
upstream (that is to say, you).

> PLEASE DO NOT BE LIKE OTHER IDIOT POSTFIX MAINTAINERS THAT
> BREAK POSTFIX WITH THEIR IMPROVEMENTS.

My change did not break anything for people who abide by standard port
upgrade procedures; this is in part evidenced by the absence of problem
reports.  However, I fully appreciate your sentiment, and concern that
unexpected behavior due to foolish maintainer modifications often leads
to clamoring for help on this mailing list.  It is not my intention to
override your intentions, or "improve" anything by patching files just
for the heck of it.  Having said that, I should have handled this
better; I will revise the approach once you've incorporated your recent
postfix-install patch into the -current snapshot, and I have had the
time to test the impact on the port in a few different scenarios[1].
Meanwhile, I'll try my very best not be an idiot.

> ...

[1] Another reason for handling the inet_protocols default change the
way I did has to do with a side-effect that is local to how the
port is generally setup; but that discussion is off-topic for this
list and clearly of no interest to the members of this thread.

-- 
Sahil Tandon


pgp7EYkzN2xnv.pgp
Description: PGP signature


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Stan Hoeppner
On 12/28/2011 2:41 PM, Reindl Harald wrote:
> 
> 
> Am 28.12.2011 21:12, schrieb Wietse Venema:
>> Jerry:
>> [request to preserve a backwards-compatibility migration feature]
Wietse
>>>
>>> +1
>>
>> FWIW, I get no joy from making requests like this. It just annoys
>> me that Sahil, who is otherwise a sensible maintainer, works against
>> my efforts to make Postfix upgrades as painless as possible.
>>
>> When people have Postfix already installed, the next release should
>> work as before if possible, instead of forcing yet another learning
>> experience onto people who have better things to do with their time.
> 
> this world would be a better one if more developers would have your
> attitude instead permanently throwing things away and replace them
> with half-baken replacement and shortly before they become bugfree
> and useable the next one creeps in with his new "better" replacement

Don't jump to conclusions.  We haven't yet seen Sahil's response with
his reasoning behind his changes.  I'd guess his motivation wasn't to
provide a "better replacement".  It was likely to work around some other
FreeBSD specific problem.  Just because Wietse jumps on someone for
making an error doesn't mean the entire list should be pig piling.

Attacking someone before knowing all of the facts is referred to as
"lynch mob" mentality here in the USA.  Google and read the history of
the "lynch mob".  It's something I doubt you want to be associated with.

-- 
Stan




Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Reindl Harald


Am 28.12.2011 21:12, schrieb Wietse Venema:
> Jerry:
> [request to preserve a backwards-compatibility migration feature]
>>> Wietse
>>
>> +1
> 
> FWIW, I get no joy from making requests like this. It just annoys
> me that Sahil, who is otherwise a sensible maintainer, works against
> my efforts to make Postfix upgrades as painless as possible.
> 
> When people have Postfix already installed, the next release should
> work as before if possible, instead of forcing yet another learning
> experience onto people who have better things to do with their time.

this world would be a better one if more developers would have your
attitude instead permanently throwing things away and replace them
with half-baken replacement and shortly before they become bugfree
and useable the next one creeps in with his new "better" replacement



signature.asc
Description: OpenPGP digital signature


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Wietse Venema
Jerry:
[request to preserve a backwards-compatibility migration feature]
> > Wietse
> 
> +1

FWIW, I get no joy from making requests like this. It just annoys
me that Sahil, who is otherwise a sensible maintainer, works against
my efforts to make Postfix upgrades as painless as possible.

When people have Postfix already installed, the next release should
work as before if possible, instead of forcing yet another learning
experience onto people who have better things to do with their time.

Wietse


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Jerry
On Wed, 28 Dec 2011 10:08:05 -0500 (EST)
Wietse Venema articulated:

> Sahil Tandon:
> > FWIW, the FreeBSD Postfix port is patched so that post-install does
> > not add "inet_protocols=ipv4" to main.cf during upgrades. Instead,
> > users are notified[1] about the recent change of defaults, and
> > asked to append the ipv4 line to their main.cf, if necessary.  
> 
> Sorry, THAT IS A MISTAKE.
> 
> Sites that already Postfix have already chosen what protocols
> they use. They must not be forced to take action when upgrading.
> FORCING SITES TO CHANGE CONFIGURATION AFTER UPGRADE IS A MISTAKE.
> 
> * If the site used IPv4 only before 2.9 then they must not have to
> change their configuration when upgrading to 2.9. YOUR CHANGE BREAKS
> THIS TRANSITION.
> 
> * If the site used IPv4 and IPv6 before 2.9 then they already have
> an inet_protocols setting in main.cf. It you require that these
> sites make a change THEN YOUR CHANGE BREAKS THIS TRANSITION.
> 
> People who have been around for a while know that in the past 15
> years, Postfix default settings have changed over time, and each
> time, the Postfix upgrade procedure made those transitions painless.
> CHANGES IN POSTFIX DEFAULTS MUST NOT REQUIRE USERS TO CHANGE
> CONFIGURATIONS WHEN UPGRADING.
> 
> PLEASE DO NOT BE LIKE OTHER IDIOT POSTFIX MAINTAINERS THAT
> BREAK POSTFIX WITH THEIR IMPROVEMENTS.
> 
> Thank you for your attention.
> 
>   Wietse

+1


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-28 Thread Wietse Venema
Sahil Tandon:
> FWIW, the FreeBSD Postfix port is patched so that post-install does not
> add "inet_protocols=ipv4" to main.cf during upgrades. Instead, users are
> notified[1] about the recent change of defaults, and asked to append the
> ipv4 line to their main.cf, if necessary.  

Sorry, THAT IS A MISTAKE.

Sites that already Postfix have already chosen what protocols
they use. They must not be forced to take action when upgrading.
FORCING SITES TO CHANGE CONFIGURATION AFTER UPGRADE IS A MISTAKE.

* If the site used IPv4 only before 2.9 then they must not have to
change their configuration when upgrading to 2.9. YOUR CHANGE BREAKS
THIS TRANSITION.

* If the site used IPv4 and IPv6 before 2.9 then they already have
an inet_protocols setting in main.cf. It you require that these
sites make a change THEN YOUR CHANGE BREAKS THIS TRANSITION.

People who have been around for a while know that in the past 15
years, Postfix default settings have changed over time, and each
time, the Postfix upgrade procedure made those transitions painless.
CHANGES IN POSTFIX DEFAULTS MUST NOT REQUIRE USERS TO CHANGE
CONFIGURATIONS WHEN UPGRADING.

PLEASE DO NOT BE LIKE OTHER IDIOT POSTFIX MAINTAINERS THAT
BREAK POSTFIX WITH THEIR IMPROVEMENTS.

Thank you for your attention.

Wietse



Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Wietse Venema
Wietse Venema:
> After I made "inet_protocols=all" the default on your request, I
> received notice that Postfix no longer would build on freebsd.org
> "build" systems, and that it would be removed from ports. These
> build environments have IPv6 in the kernel but they have no IPv6
> interfaces.  Basically, these are IPv4-only boxes with can IPv6
> configuration that violates the RFCs.

Attached is a postfix-install patch that works with conf/main.cf
as distributed, on systems without IPv4 support.

This adds one new question to the install dialog, so people
who run automated builds may want to take notice.

To install Postfix from scratch, answer with "ipv6" or "all" to the
question for "inet_protocols". For best performance specify "ipv6"
as this eliminates useless IPv4 DNS lookups and useless connection
attempts.

Wietse

*** postfix-install Sat Nov 19 18:09:16 2011
--- /tmp/postfix-installTue Dec 27 17:48:43 2011
***
*** 147,152 
--- 147,155 
  # .IP readme_directory
  # The destination directory for the Postfix README files.
  # This parameter setting is recorded in the installed main.cf file.
+ # .IP inet_protocols
+ # The supported Internet protocols: "ipv4", "ipv6" or all".
+ # This parameter setting is recorded in the installed main.cf file.
  # SEE ALSO
  # post-install(1) post-installation procedure
  # FILES
***
*** 359,364 
--- 362,372 
  html_directory_prompt="the destination directory for the Postfix
  HTML files. Specify \"no\" if you do not want to install these files."
  
+ inet_protocols_prompt="the Internet protocols that Postfix will
+ support.  Specify \"ipv4\", \"ipv6\", or \"all\". Specify \"all\"
+ only if you have both IPv4 and IPv6 connectivity, otherwise mail
+ delivery performance will suffer."
+ 
  # Default settings, just to get started.
  
  : ${install_root=/}
***
*** 422,428 
  
  CONFIG_PARAMS="command_directory daemon_directory data_directory \
  html_directory mail_owner mailq_path  manpage_directory newaliases_path \
! queue_directory readme_directory sendmail_path setgid_group"
  
  # Extract parameter settings from the installed main.cf file.
  
--- 430,436 
  
  CONFIG_PARAMS="command_directory daemon_directory data_directory \
  html_directory mail_owner mailq_path  manpage_directory newaliases_path \
! queue_directory readme_directory sendmail_path setgid_group inet_protocols"
  
  # Extract parameter settings from the installed main.cf file.
  
***
*** 520,525 
--- 528,543 
  }
  done
  
+ case "$inet_protocols" in
+  ipv4|ipv6|all)
+ ;;
+  *) (echo $0: Error: the inet_protocols parameter requires a value \"ipv4\",
+  echo \"ipv6\", or \"all\". Try again with \"inet_protocols=name\" on
+  echo the command line or execute \"make install\" and specify
+  echo inet_protocols interactively.) | ${FMT} 1>&2
+  exit 1;;
+ esac
+ 
  test -d $tempdir || mkdir -p $tempdir || exit 1
  
  trap "rm -f $tempdir/junk" 0 1 2 3 15
***
*** 738,743 
--- 756,762 
  "manpage_directory = $manpage_directory" \
  "sample_directory = $sample_directory" \
  "readme_directory = $readme_directory" \
+ "inet_protocols = $inet_protocols" \
  || exit 1
  
  # If Postfix is being installed locally from source code, do the


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Sahil Tandon
On Tue, 2011-12-27 at 17:24:57 -0500, Wietse Venema wrote:

> ... 
> After I made "inet_protocols=all" the default on your request, I
> received notice that Postfix no longer would build on freebsd.org
> "build" systems, and that it would be removed from ports. These
> build environments have IPv6 in the kernel but they have no IPv6
> interfaces.  Basically, these are IPv4-only boxes with can IPv6
> configuration that violates the RFCs.
> 
> These changes were made to avoid being kicked out of the ports:
> 
> 2017
> 
> Workaround: don't use IPv6 at build time. File: conf/main.cf.
> 
> Workaround: don't abort when IPv6 is present but busted.
> File: util/inet_proto.c.
> 
> Now, I can easily remove the first workaround. But that won't
> prevent the post-install script from adding "inet_protocols=ipv4"
> to main.cf when you upgrade Postfix.
> ...

FWIW, the FreeBSD Postfix port is patched so that post-install does not
add "inet_protocols=ipv4" to main.cf during upgrades. Instead, users are
notified[1] about the recent change of defaults, and asked to append the
ipv4 line to their main.cf, if necessary.  

[1] This is in ports/UPDATING, a file users consult before upgrading any
port.  I elected to go this route to force users to pay attention to
this particular change.

-- 
Sahil Tandon
--- conf/post-install.orig  2011-10-11 20:39:19.0 -0400
+++ conf/post-install   2011-10-11 20:41:58.0 -0400
@@ -790,18 +790,6 @@
 EOF
 }
 
-# Postfix 2.9.
-# Safety net for incompatible changes in IPv6 defaults.  This
-# requires that the default is "inet_protocols = ipv4" when
-# IPv6 support is not compiled in. See util/sys_defs.h.
-
-test "`$POSTCONF -dh inet_protocols`" = "ipv4" ||
-   test -n "`$POSTCONF -c $config_directory -nh inet_protocols`" || {
-   echo COMPATIBILITY: editing main.cf, setting inet_protocols=ipv4.
-   echo Specify inet_protocols explicitly if you want to enable IPv6.
-   echo In a future release IPv6 will be enabled by default.
-   $POSTCONF -c $config_directory inet_protocols=ipv4 || exit 1
-}
 }
 
 # A reminder if this is the first time Postfix is being installed.


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Wietse Venema
Wietse Venema:
> Wietse Venema:
> > Mark Martinec:
> > > Trying to install postfix-2.9-20111219 from ports on FreeBSD 9.0
> > > (with an inet6-only kernel), the installation fails as before:
> > > 
> > > postfix-current$ make install
> > > ...
> > > Skipping /usr/local/share/doc/postfix/postfix-power.png...
> > > Skipping /usr/local/share/doc/postfix/scache.8.html...
> > > Skipping /usr/local/share/doc/postfix/tlsmgr.8.html...
> > > postfix: fatal: could not find any active network interfaces
> > > *** Error code 1
> > 
> > How do you want to proceed: wait until I have time to reproduce
> > your IPv6-only setup for which I have no specification, or spend
> > all of next year doing blind testing?
> 
> I'm assuming that you have "inet_protocols=ipv6" in main.cf, instead
> of the backwards-compatibility "inet_protocols=ipv4" workaround,
> because that would not work on your machine.

After I made "inet_protocols=all" the default on your request, I
received notice that Postfix no longer would build on freebsd.org
"build" systems, and that it would be removed from ports. These
build environments have IPv6 in the kernel but they have no IPv6
interfaces.  Basically, these are IPv4-only boxes with can IPv6
configuration that violates the RFCs.

These changes were made to avoid being kicked out of the ports:

2017

Workaround: don't use IPv6 at build time. File: conf/main.cf.

Workaround: don't abort when IPv6 is present but busted.
File: util/inet_proto.c.

Now, I can easily remove the first workaround. But that won't
prevent the post-install script from adding "inet_protocols=ipv4"
to main.cf when you upgrade Postfix.

To avoid all this, patch conf/main.cf and s/ipv4/ipv6/. Meanwhile
I'll see what it takes to add a question to the Postfix install
script. I hate to bug people with useless questions.

Wietse


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Wietse Venema
Mark Martinec:
> > I'm assuming that you have "inet_protocols=ipv6" in main.cf, instead
> > of the backwards-compatibility "inet_protocols=ipv4" workaround,
> > because that would not work on your machine.
> 
> No, that was a fresh install attempt, no directory /etc/postfix
> or /usr/local/etc/postfix, no previous main.cf or master.cf files.
> 
> The problem is in the hardwired inet_protocols=ipv4 in the code,
> if I remember correctly.

There is no such hard coding, as we found out when the
Postfix build broke on freebsd.org test machines

Wietse 


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Mark Martinec
> I'm assuming that you have "inet_protocols=ipv6" in main.cf, instead
> of the backwards-compatibility "inet_protocols=ipv4" workaround,
> because that would not work on your machine.

No, that was a fresh install attempt, no directory /etc/postfix
or /usr/local/etc/postfix, no previous main.cf or master.cf files.

The problem is in the hardwired inet_protocols=ipv4 in the code,
if I remember correctly.

  Mark


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Mark Martinec
> > postfix: fatal: could not find any active network interfaces
> > *** Error code 1
> 
> How do you want to proceed: wait until I have time to reproduce
> your IPv6-only setup for which I have no specification, or spend
> all of next year doing blind testing?

No offense and not intending to rush things. I just thought that the
mentioned entry in HISTORY may indicate that you considered it
done.

If you want to test it by yourself, either fetch a pre-built 9.0-RC3
inet6-only installation ISO from:

  http://wiki.freebsd.org/IPv6Only

or re-build a 9.0 kernel by giving it the following KERNCONF file:

  include GENERIC
  ident GENERIC-IPV6ONLY
  makeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT="
  nooptions INET
  nodevice gre

It is all documented in:

  http://www.freebsd.org/ipv6/ipv6only.html


Or I can make available a small VirtualBox disk image with the
necessary ports already installed, or provide a ssh root access to such.

  Mark


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Wietse Venema
Wietse Venema:
> Mark Martinec:
> > Trying to install postfix-2.9-20111219 from ports on FreeBSD 9.0
> > (with an inet6-only kernel), the installation fails as before:
> > 
> > postfix-current$ make install
> > ...
> > Skipping /usr/local/share/doc/postfix/postfix-power.png...
> > Skipping /usr/local/share/doc/postfix/scache.8.html...
> > Skipping /usr/local/share/doc/postfix/tlsmgr.8.html...
> > postfix: fatal: could not find any active network interfaces
> > *** Error code 1
> 
> How do you want to proceed: wait until I have time to reproduce
> your IPv6-only setup for which I have no specification, or spend
> all of next year doing blind testing?

I'm assuming that you have "inet_protocols=ipv6" in main.cf, instead
of the backwards-compatibility "inet_protocols=ipv4" workaround,
because that would not work on your machine.

Wietse


Re: post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Wietse Venema
Mark Martinec:
> Trying to install postfix-2.9-20111219 from ports on FreeBSD 9.0
> (with an inet6-only kernel), the installation fails as before:
> 
> postfix-current$ make install
> ...
> Skipping /usr/local/share/doc/postfix/postfix-power.png...
> Skipping /usr/local/share/doc/postfix/scache.8.html...
> Skipping /usr/local/share/doc/postfix/tlsmgr.8.html...
> postfix: fatal: could not find any active network interfaces
> *** Error code 1

How do you want to proceed: wait until I have time to reproduce
your IPv6-only setup for which I have no specification, or spend
all of next year doing blind testing?

Wietse


post-install, IPv6-only: could not find any active network interfaces (again)

2011-12-27 Thread Mark Martinec
Reviving an old thread from 2011-09:

Mark Martinec:
> Trying to install postfix on an IPv6-only host
>   FreeBSD 9.0B1, http://wiki.freebsd.org/IPv6Only
>   ports: mail/postfix-current,
> but the installation chokes in the post-install phase.
> Running that failing command manually (in the ports work directory)
> gives:
>   # bin/postfix -v post-install
>   postfix: name_mask: ipv4
>   postfix: name_mask: host
>   postfix: inet_addr_local: configured 0 IPv4 addresses
>   postfix: fatal: could not find any active network interfaces

Wietse Venema wrote:
> The built-in default enables IPv4 only, to avoid headaches with
> systems that have IPv6 support but no external IPv6 connectivity.
> Lookup up  addresses would be wasteful, and trying to connect
> to them would be pointless.
> 
> A workaround is to do the same thing as when local_recipient_maps
> was introduced: the inet_protocols built-in default different from
> the installed configuration.
> 
> In this case, the built-in default would enable IPv6, while the
> post-install installed configuration is IPv4 only (but post-install
> would not change an explicit inet_protocols main.cf setting).

> > I was hoping this approach would make its way into current eventually ...
>It will. I have added the note to the wishlist.


I thought this was implemented in current by:

| HISTORY
| 20110914
|   Incompatibility: the default inet_protocols value is now
| "all" instead of "ipv4", meaning use both IPv4 and IPv6.
| As a compatibility workaround for sites without global IPv6
| connectivity, the commands "make upgrade" and "postfix
| upgrade-configuration" append "inet_protocols = ipv4" to
| main.cf when no explicit setting is present.  This compatibility
| workaround will be phased out in a future release.  Files:
| util/sys_defs.h, conf/post-install, proto/postconf.proto.
|
| Incompatibility: the default smtp_address_preference value
| is now "any" instead of "ipv6", meaning choose randomly
| between IPv6 and IPv4.  With this the Postfix SMTP client
| will have more success delivering mail to sites that have
| problematic IPv6 configurations.  Files: global/mail_params.h,
| proto/postconf.proto.

... but apparently it was not in its entirety.

Trying to install postfix-2.9-20111219 from ports on FreeBSD 9.0
(with an inet6-only kernel), the installation fails as before:

postfix-current$ make install
...
Skipping /usr/local/share/doc/postfix/postfix-power.png...
Skipping /usr/local/share/doc/postfix/scache.8.html...
Skipping /usr/local/share/doc/postfix/tlsmgr.8.html...
postfix: fatal: could not find any active network interfaces
*** Error code 1
Stop in /usr/ports/mail/postfix-current.

or manually in the /usr/ports/mail/postfix-current/work/postfix-2.9-20111219 :
# bin/postfix -v post-install
postfix: name_mask: ipv4
postfix: name_mask: host
postfix: inet_addr_local: configured 0 IPv4 addresses
postfix: fatal: could not find any active network interfaces


> It will. I have added the note to the wishlist.

So ... Dear Santa ...  :)

  Mark