Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Arno Töll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello,

what should we do here? I conclude that neither Olaf nor I are
particularly thrilled from your idea. On the other hand I can also see
how you have some valid points - despite of a very specific use case you
have.

Hence I guess its decision time. Any proposals?

- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOitXYAAoJEMcrUe6dgPNtjhQP/RIUrqa3lNHapfXbB8sycpv+
t+28EuF+SUMlz5HrA3UWQWLSdDmor86C0btBDa/fp3GWjqMLADVBErqc1IPRympE
Xoiwkr7vFHs5a2q91I5OJKgUo6anjDHxW++VqJTK4bSdFFlm5mzBR+gKJtORbbzN
Lf2LL2eWVAVaMU9HcYcLWtGqWVmFTgI6SlLAY07ZWG4VvSGCA82g8hF1liCr5WtK
ZTpsixop1na9mLIMqthGgQnKLPFYYFnz8RHAk/9JwVmfRVudYxKdFdR9SxtFgIsg
26hVysv7CaqM2bBZv9dwRZXrwCUkFq3V8LyBwFMaAQW4VODrAE7a86+fYyg/fy1o
YxT4yhajTyus84qEVe/+Qpg7jAq+nRB0UCmq6oUThXs+i3hMSC3CKPuBWTBlP6wY
0MevRdET1YuljPY3W3Qc+/893okwKDH1yaYLQbiC2alehLr8szl2yf2TGAHde3TO
occKyAxg3fYyDuMKgkQOwY+h0AVlYVFpOrLorT84ZKmN4nf3cH/9U6EfHX9Gb1ML
E2h+RrS9xr4hj7xKcNj59kLeLblTKzR/MVLudUOu8WGIqUWPhHvhRPDAuHWTZBeP
hQHWVouG3utrcmKh7/2Y+TxStvxnYBTZZSeSdCHAf0Ul9/haf8L5NYcpEzn/QJLe
qqeBEf+YlyLakRvvS1+T
=xf4Y
-END PGP SIGNATURE-



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Adam Nielsen

what should we do here? I conclude that neither Olaf nor I are
particularly thrilled from your idea. On the other hand I can also see
how you have some valid points - despite of a very specific use case you
have.

Hence I guess its decision time. Any proposals?


Hmm, do you have anything specifically against breaking out those handful of 
directives into debian.conf/platform.conf, that would outweigh the benefits of 
making automated configuration management easier to handle?


Yes, it might make it more difficult to find specific directives if they're 
spread across two files instead, but at least in this case the files will both 
be small enough that it shouldn't really be a problem in practice.


Thanks,
Adam.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Olaf van der Spek
On Tue, Oct 4, 2011 at 1:08 PM, Adam Nielsen a.niel...@shikadi.net wrote:
 but at least in this case the files will
 both be small enough that it shouldn't really be a problem in practice.

Shouldn't? Really? Those qualifications indicate potential problems.

Splitting lighttpd.conf makes things harder for the majority of users.
For some, it might make things a little bit easier.

The only conclusion I can draw is that it should not be split.

Olaf



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Adam Nielsen

but at least in this case the files will
both be small enough that it shouldn't really be a problem in practice.


Shouldn't? Really? Those qualifications indicate potential problems.


Not really, it just means that there will be some small number of users who 
will need to do things differently, e.g. those who refuse to put logs in 
/var/log or similar.  I would say more than 99.9% of users wouldn't notice.



Splitting lighttpd.conf makes things harder for the majority of users.
For some, it might make things a little bit easier.

The only conclusion I can draw is that it should not be split.


If you're really that much against the idea then I won't try to persuade you 
otherwise.  All I can say is that it would make life much easier for anyone 
who uses tools to manage the config files, and I would be surprised if anyone 
else had any problems with it at all.


For the record, most other packages for server apps have their Debian-specific 
settings elsewhere - either in separate config files or in /etc/default/* so 
the idea isn't anything unusual.  In fact I've been able to configure my whole 
server through Puppet and only lighttpd and squid required Debian-specific 
paths to be hard-coded (luckily for Squid it was one path in /var/log which is 
the same everywhere so it wasn't a problem.)


But, if you really dislike the idea that much, I will treat lighttpd as a 
special case and duplicate all the Debian paths and options in my config 
repository :-(


Cheers,
Adam.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Stefan Bühler

On 10/04/2011 01:34 PM, Olaf van der Spek wrote:

On Tue, Oct 4, 2011 at 1:08 PM, Adam Nielsena.niel...@shikadi.net  wrote:

but at least in this case the files will
both be small enough that it shouldn't really be a problem in practice.


Shouldn't? Really? Those qualifications indicate potential problems.

Splitting lighttpd.conf makes things harder for the majority of users.
For some, it might make things a little bit easier.

The only conclusion I can draw is that it should not be split.


I disagree. The proposed settings in platform.conf should only
be changed by the package maintainers or very experienced users
who know that they'll have to change many other things like logrotate, 
init scripts and so on, so it is ok to put them into a separate file.


Oh, and btw: the config is already splitted anyway, so why do you care 
about another extra file?



Otoh it is true that probably not all platforms would provide a similar 
config, so i'm not sure how useful this is for puppet users.
perhaps it would be better to extract those settings from the current 
config (lighttpd -p -f /etc/lighttpd/lighttpd.conf | grep ...  
new-puppet-plaform.conf) in a puppet run.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Adam Nielsen

Otoh it is true that probably not all platforms would provide a similar
config, so i'm not sure how useful this is for puppet users.
perhaps it would be better to extract those settings from the current config
(lighttpd -p -f /etc/lighttpd/lighttpd.conf | grep ... 
new-puppet-plaform.conf) in a puppet run.


My hope is that eventually all platforms would do it this way, but someone has 
to be first!  Perhaps, as Arno suggested previously, upstream would be willing 
to provide a split config like this so that other distros could follow the lead?


Interesting idea about extracting the config options.  I'd be a little worried 
though about extracting the options, appending my own, then writing it back to 
lighttpd.conf.  If anything ever went wrong it would be very easy to severely 
break the config file on subsequent runs.  There's no /etc/default/lighttpd 
either that you could change to point lighttpd at a different config file 
either, to preserve the original.


Cheers,
Adam.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Olaf van der Spek
On Tue, Oct 4, 2011 at 1:52 PM, Stefan Bühler stbueh...@lighttpd.net wrote:
 On 10/04/2011 01:34 PM, Olaf van der Spek wrote:

 On Tue, Oct 4, 2011 at 1:08 PM, Adam Nielsena.niel...@shikadi.net
  wrote:

 but at least in this case the files will
 both be small enough that it shouldn't really be a problem in practice.

 Shouldn't? Really? Those qualifications indicate potential problems.

 Splitting lighttpd.conf makes things harder for the majority of users.
 For some, it might make things a little bit easier.

 The only conclusion I can draw is that it should not be split.

 I disagree. The proposed settings in platform.conf should only
 be changed by the package maintainers or very experienced users
 who know that they'll have to change many other things like logrotate, init
 scripts and so on, so it is ok to put them into a separate file.

I'm not sure why that would make it ok to move them to another file.

 Oh, and btw: the config is already splitted anyway, so why do you care about
 another extra file?

No extra conf files are enabled by default.
And the extra conf files are all module specific.

-- 
Olaf



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Olaf van der Spek
On Tue, Oct 4, 2011 at 2:07 PM, Adam Nielsen a.niel...@shikadi.net wrote:
 Interesting idea about extracting the config options.  I'd be a little
 worried though about extracting the options, appending my own, then writing
 it back to lighttpd.conf.  If anything ever went wrong it would be very easy
 to severely break the config file on subsequent runs.  There's no
 /etc/default/lighttpd either that you could change to point lighttpd at a
 different config file either, to preserve the original.

Grep hackery should be avoided, especially with a complex conf format
like Lighttpd's.
-- 
Olaf



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-10-04 Thread Arno Töll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 04.10.2011 13:56, Adam Nielsen wrote:
 If you're really that much against the idea then I won't try to persuade
 you otherwise.  All I can say is that it would make life much easier for
 anyone who uses tools to manage the config files, and I would be
 surprised if anyone else had any problems with it at all.

Well, you're the first to complain at least :)

 For the record, most other packages for server apps have their
 Debian-specific settings elsewhere - either in separate config files or
 in /etc/default/* so the idea isn't anything unusual.  

Please note, /etc/default is not for Debian specific configuration
settings, but for environment variables and startup configuration the
init script parses to start a given daemon in a sensible way.

You will not find any configuration file in it.

 But, if you really dislike the idea that much, I will treat lighttpd as
 a special case and duplicate all the Debian paths and options in my
 config repository :-(

I discussed your bug with some other people earlier today, and they all
agreed that the bug is more likely a limitation in Puppet than in
Lighttpd (some claimed you could do, what you want in Puppet - I don't
know). There was a clear tendency towards wontfix.

Anyway, what would you think about a /etc/lighttpd.conf.local setting we
would reference in the default configuration where you could add
additional core settings.

Please note, it would not quite solve your problem as you can't override
certain settings and/or undo some conditionals like we do for IPv6, but
at least you could add site local configuration settings as you like.

I guess, we would fill anything in a .local file though, so you could
safely put anything in there without having problems with merge
conflicts on update.


- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOi5oXAAoJEMcrUe6dgPNtS54QAM7r/ykqm+eQxN0jEUd2BfYl
OX4GYeRSdEj9oDkjUpMmJcJr77vkv2LNXKL7kXlP9ejgcMSf7ma9G1pe4N7Ar/Fe
LtPviRNAxmue1oBe1z1Sp2dTRVkhsGph/p/NaAyVhuOM+JqCiFUQ5cu4TNEa7OTr
QrEe+Z14zeVbkfT0PDWsIQOgiTEyOQ8HuqxGPE/G8QGi71USpxbJ6M8d21TGvUY8
DAa+VWNYvIjgeQICd5OS+ygdmOw1e+8qdjBimResQgbrbj5DhATxVLDIn76A6PQo
MLnRk7CSb5ebl6wE87m07M3gZ0u2yWkHnPB8/5EbArIiwsDvGUYB3Ufw4hXnZdBX
qB6xg/MIaKgm/4c8t4/Pzv7vncG7M9Qe7Sngt1vZ6sj35fPWYqu9wCJeWRTXD6ZB
I9d+7r1rkKajxa/diQyHfjqaecp8nJnmQ5oXyT3Orc56sjrAXFKniiy/ezIcwolL
UViBCGMA1ZIKDBPyvFOxk3+kcTvtdKAnM2llPrjpcZPQmtaKfKiN0gHEfz2ssAoy
HBbGzENf/fwH3+j+2d9uzUR3rduKACWZeqYrtu+ARxymYio/dI1Z632j2Ny85vGN
iGGxEY6tvgRl7E1nHVT2KSV9ZqB23nJUFEZjUOFJGjdnslcSHNgPQ8DmJCympKSa
p2fLIEoEt39BGpK60Hn+
=iErU
-END PGP SIGNATURE-



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Adam Nielsen

I get your point, but I consider every setting in /etc specific to
Debian, but yet allowed and suggested to be changed by the user.

Note, we don't distinguish between settings supposed to be changed by
users and those considered a distribution specific detail. Of course it
does not make too much sense to change things like the pidfile setup,
but on the other hand, that's totally left to the user and we should
support that.


I have no problem with supporting it, but likewise I think segregating 
it would be useful too without introducing any limitations.  For 
example, while unlikely, if Debian decides that all pidfiles should now 
go into /tmp instead, all users will have to examine lighttpd.conf and 
merge in the change.  Those people using a configuration management 
system like Puppet won't get to see dpkg's nice output, and will have to 
merge the changes by hand in their repos and push them out to all their 
machines.


But if the options were in debian.conf instead, 99% of users won't have 
modified it so it will be updated automatically, even for Puppet users. 
 Those who have changed these options are the ones who need to examine 
the change, and that will happen as expected if they've modified that 
.conf file.



Also I am pretty sure, whatever we choose, some other users will
disagree and fine some other partitioning more useful.


That's true, but my argument is that you shouldn't impede progress just 
in case someone might come along with a better idea one day :-)  I 
realise you don't want to keep changing things, but to be honest, if 
each change is backwards compatible then you are incrementally improving 
things, which is always good.



Well, you realize you still have to have something like include
debian.conf in the main lighttpd.conf which would hardly be the same on
all Linux distributions?


It would if you called it platform.conf instead :-)  But to be honest 
the issue is not about distro-specific tweaks, the problem is when you 
have to duplicate options that may be changed with a package upgrade.  I 
can put in my Puppet config if distro is debian, include debian.conf 
and then forget about it, and it doesn't matter if Debian move the 
pidfile path or some other platform-level change.  As long as the 
package manager will overwrite my unmodified debian.conf as needed, I 
don't need to care about the change.



So, to summarize: you want:

/etc/ligttpd/lighttpd.conf:
   + include debian.conf
   + include default.conf
   + include_the_conf_enabled_stuff

debian.conf: distribution specific settings (pidfile, user name?)
default.conf: everything else


Yes, exactly.  Ideally (perhaps except for the document-root) you should 
be able to move default.conf unchanged between Debian and other distros 
and have it just work.


Cheers,
Adam.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Olaf van der Spek
On Fri, Sep 30, 2011 at 9:23 AM, Adam Nielsen a.niel...@shikadi.net wrote:
 I have no problem with supporting it, but likewise I think segregating it
 would be useful too without introducing any limitations.  For example, while
 unlikely, if Debian decides that all pidfiles should now go into /tmp
 instead, all users will have to examine lighttpd.conf and merge in the
 change.  Those people using a configuration management system like Puppet
 won't get to see dpkg's nice output, and will have to merge the changes by
 hand in their repos and push them out to all their machines.

Isn't that a limitation of Puppet?

 That's true, but my argument is that you shouldn't impede progress just in
 case someone might come along with a better idea one day :-)  I realise you
 don't want to keep changing things, but to be honest, if each change is
 backwards compatible then you are incrementally improving things, which is
 always good.

The point is that it's not a perfect improvement. Having conf bits in
more files means it's harder for a normal user to find/read/update all
bits.

We do agree that (in principle) it would be nice to support stuff like
Puppet better.
So let's say we've got lighttpd.conf and platform.conf. Where would
the ipv6 include go? I'd say platform.conf.
Since you wanted to disable the ipv6 include, you'd have to modify
platform.conf and you'd have the same problem as you do now, right?

-- 
Olaf



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Olaf van der Spek
On Fri, Sep 30, 2011 at 11:55 AM, Adam Nielsen a.niel...@shikadi.net wrote:
 It is a limitation I think of any/every configuration control system.

Why can't it show the diff / update like dpkg does?

 The point is that it's not a perfect improvement. Having conf bits in
 more files means it's harder for a normal user to find/read/update all
 bits.

 That's true, but then in this case the user already has to find/read/update
 the bits in the conf-available directory so one more split shouldn't come as
 a surprise.

By default no confs are enabled there.

 We do agree that (in principle) it would be nice to support stuff like
 Puppet better.
 So let's say we've got lighttpd.conf and platform.conf. Where would
 the ipv6 include go? I'd say platform.conf.
 Since you wanted to disable the ipv6 include, you'd have to modify
 platform.conf and you'd have the same problem as you do now, right?

 Not quite.  Since enabling IPv6 support works the same on any distro, it
 shouldn't go in the platform-specific section.  I would say, as a rough

Does it? The IPv6 code is Debian specific (AFAIK).

 guide, anything you *must* change from the upstream lighttpd.conf to make it
 fit into Debian (user/group, pidfile, etc.) would go into platform.conf, and
 anything you change just to make it nicer (like IPv6 or the default module
 list) can go into some other file.  For example, I would only expect these
 options to be in platform.conf:

 server.upload-dirs          = ( /var/cache/lighttpd/uploads )
 server.errorlog             = /var/log/lighttpd/error.log
 server.pid-file             = /var/run/lighttpd.pid
 server.username             = www-data
 server.groupname            = www-data
 compress.cache-dir          = /var/cache/lighttpd/compress/

Those are quite unlikely to change, so what benefit do you get from
moving them to another file?

Note that the main lighttpd.conf has already been minimized.

 With a new daemon version yes, but with a security update or similar where
 the version is unchanged it may not be necessary.  Say for example you had
 accidentally set the lighttpd user to root and the default document-root to
 /.  The web server would still work and when the mistake is realised the
 platform.conf could be easily updated to correct the mistake, without
 requiring any config merging.

Security (and stable) updates are unlikely to contain updated conf files.

BTW, I've requested upstream to enable IPv6 by default or to provide a
better/easier way to enable it. Unfortunately they didn't want to do
this for 1.4.

Olaf



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Arno Töll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello,

On 30.09.2011 09:23, Adam Nielsen wrote:

 if Debian decides that all pidfiles should now go into /tmp instead, 
 all users will have to examine lighttpd.conf and merge in the change

You always need to check major upgrades for changes and
incompatibilities anyway. In particular there is no guarantee your old
configuration file will work with the new daemon version.


 I realise you don't want to keep changing things, but to be honest, if
 each change is backwards compatible then you are incrementally improving
 things, which is always good.

that's only partly true. :)
I just hate splitted configuration files personally because I prefer one
single file where I can see all things I need to know at one sight.
Sometimes it makes sense to split files, e.g. for actual configuration
vs site/vhost configuration but most of the time settings spread
randomly throughout different files are hard to read, to understand and
to configure in my opinion.

This does not mean, I won't do what you suggest but you need to convince
me, why your layout is much better than mine (well - or you convince
Olaf).

 Yes, exactly.  Ideally (perhaps except for the document-root) you should
 be able to move default.conf unchanged between Debian and other distros
 and have it just work.

I'm afraid, but we have no influence at all what other distributions
choose as configuration layout and/or which files they ship. Eventually
Suse (or whatever) still continues to ship a lighttpd.conf happily
specifying their own pidfile stuff there.

If you want to introduce such a change among all Linux distributions,
you better get upstream to split their configuration files out of the
box to make sure distributions will follow more likely.



- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOhYV/AAoJEMcrUe6dgPNtHXsQANBhHutWDcpzJlmTBoWeekyn
hKtBxHBPmVy1goJyIO0YpwBcSbmvLnhOPmpmPMMuWI02mTAqKNPY/xF1QSJj7FH5
+O48H2qaXV749wmb81+wUxfc8KCmraga4gmYpLTKO/n0KCTMMWcjHwzyt9HFe/ec
V7owi+DKQn6J8/BMR4+0x26qy1wd2jhaGwEe1hCOSv7KDlTqXUNAYs4Xg9v2RX8l
rJqI2SURlpSUeXRmjTv0urxeIIMCD8vjEHdDBAG+OmPuyXr64QDUiOdl3bPud8+0
K5Co+Z6XbJFzXyco0LEYKlcsLaqwWmxPi7rm+y7H0/NzGIut/DA5rL1RwGYBvq8d
hv94cdl93kQ+GhhCVBiovrEizS6vJkLKjMioxkbMSnb8bTPassvcb0XrUOXbhQUF
wKCWzTOLBF891GuU/t6QEVlCb0oET5cKcBFNWocCIDZeTtpAmvYlC35NVo4L/MyE
KuKEW6L8tW+cMF8yTQyEHPfWb1McgBPpKJGXNQMRsnagONNv/3b8W9leGvE3qI5d
fc24Hs92RVOC+5861C92riq/pg4FXQYHLSWc+D69d2CLv2/4toUajOXa8FExVtxZ
463rTNVIM0DbQ19iNMBJrf7cYDNkYnbSNtYgHYVjiiMdJ4dh+T87oP8yZCVxjwKu
2HIRQQIL3Yd/Vm7roDSP
=Csz4
-END PGP SIGNATURE-



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Olaf van der Spek
On Fri, Sep 30, 2011 at 12:35 PM, Adam Nielsen a.niel...@shikadi.net wrote:
 It is a limitation I think of any/every configuration control system.

 Why can't it show the diff / update like dpkg does?

 It could, but because it's designed to control large numbers of machines it
 would need some careful planning to avoid showing the same/similar diff
 dozens of times.  It's also distribution neutral, so it would have to be
 able to parse output from many versions of dpkg (not just the latest), as
 well as 'emerge' on Gentoo and countless others.  Since Puppet runs as a
 daemon (syncing changes every 15 minutes or so) there would need to be some
 way of notifying a user, e.g. via e-mail and having them respond.  It would
 certainly be doable, but it's a huge job, so I don't think it's a surprise
 nobody has done it yet.

So how does it handle updated conf files?

 Not quite.  Since enabling IPv6 support works the same on any distro, it
 shouldn't go in the platform-specific section.  I would say, as a rough

 Does it? The IPv6 code is Debian specific (AFAIK).

 The code is Debian specific but the resulting lighttpd options aren't.  If
 you're using Puppet to configure lighttpd you are unlikely to want to
 autoconfigure IPv6,

Why? Are IPv6 and Puppets no friends?

 so you would hard-code the IPv6 stuff in the config file
 if you wanted it on, and not use the Debian script.  If you did want to
 autoconfigure it you'd include your own script (or copy the Debian one...)
 so it worked on any distro.

 The benefit is simply that you don't have to maintain those options in your
 configuration repository, keeping it as distribution-neutral as possible.

Right

 Security (and stable) updates are unlikely to contain updated conf files.

 BTW, I've requested upstream to enable IPv6 by default or to provide a
 better/easier way to enable it. Unfortunately they didn't want to do
 this for 1.4.

 I think the way you have done it is fine for anyone editing the
 configuration by hand, it just unfortunately doesn't make it as clean when
 using an automated tool.  I think this was the original reason behind the
 general move to conf.d style directories - so automated tools could add and
 remove configuration options without having to modify individual files.

Split configs also avoid conflicts when automated tools aren't used.

Olaf



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Adam Nielsen

It is a limitation I think of any/every configuration control system.


Why can't it show the diff / update like dpkg does?


It could, but because it's designed to control large numbers of machines it 
would need some careful planning to avoid showing the same/similar diff dozens 
of times.  It's also distribution neutral, so it would have to be able to 
parse output from many versions of dpkg (not just the latest), as well as 
'emerge' on Gentoo and countless others.  Since Puppet runs as a daemon 
(syncing changes every 15 minutes or so) there would need to be some way of 
notifying a user, e.g. via e-mail and having them respond.  It would certainly 
be doable, but it's a huge job, so I don't think it's a surprise nobody has 
done it yet.



Not quite.  Since enabling IPv6 support works the same on any distro, it
shouldn't go in the platform-specific section.  I would say, as a rough


Does it? The IPv6 code is Debian specific (AFAIK).


The code is Debian specific but the resulting lighttpd options aren't.  If 
you're using Puppet to configure lighttpd you are unlikely to want to 
autoconfigure IPv6, so you would hard-code the IPv6 stuff in the config file 
if you wanted it on, and not use the Debian script.  If you did want to 
autoconfigure it you'd include your own script (or copy the Debian one...) so 
it worked on any distro.



Those are quite unlikely to change, so what benefit do you get from
moving them to another file?

Note that the main lighttpd.conf has already been minimized.


The benefit is simply that you don't have to maintain those options in your 
configuration repository, keeping it as distribution-neutral as possible.



Security (and stable) updates are unlikely to contain updated conf files.

BTW, I've requested upstream to enable IPv6 by default or to provide a
better/easier way to enable it. Unfortunately they didn't want to do
this for 1.4.


I think the way you have done it is fine for anyone editing the configuration 
by hand, it just unfortunately doesn't make it as clean when using an 
automated tool.  I think this was the original reason behind the general move 
to conf.d style directories - so automated tools could add and remove 
configuration options without having to modify individual files.


Cheers,
Adam.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Adam Nielsen

Thanks both for your replies, I have responded to both below.


From: Olaf van der Spek olafvds...@gmail.com

Those people using a configuration management system like Puppet
won't get to see dpkg's nice output, and will have to merge the changes by
hand in their repos and push them out to all their machines.


Isn't that a limitation of Puppet?


It is a limitation I think of any/every configuration control system.


The point is that it's not a perfect improvement. Having conf bits in
more files means it's harder for a normal user to find/read/update all
bits.


That's true, but then in this case the user already has to find/read/update 
the bits in the conf-available directory so one more split shouldn't come as a 
surprise.



We do agree that (in principle) it would be nice to support stuff like
Puppet better.
So let's say we've got lighttpd.conf and platform.conf. Where would
the ipv6 include go? I'd say platform.conf.
Since you wanted to disable the ipv6 include, you'd have to modify
platform.conf and you'd have the same problem as you do now, right?


Not quite.  Since enabling IPv6 support works the same on any distro, it 
shouldn't go in the platform-specific section.  I would say, as a rough guide, 
anything you *must* change from the upstream lighttpd.conf to make it fit into 
Debian (user/group, pidfile, etc.) would go into platform.conf, and anything 
you change just to make it nicer (like IPv6 or the default module list) can go 
into some other file.  For example, I would only expect these options to be in 
platform.conf:


server.upload-dirs  = ( /var/cache/lighttpd/uploads )
server.errorlog = /var/log/lighttpd/error.log
server.pid-file = /var/run/lighttpd.pid
server.username = www-data
server.groupname= www-data
compress.cache-dir  = /var/cache/lighttpd/compress/


From: Arno Töll deb...@toell.net
You always need to check major upgrades for changes and
incompatibilities anyway. In particular there is no guarantee your old
configuration file will work with the new daemon version.


With a new daemon version yes, but with a security update or similar where the 
version is unchanged it may not be necessary.  Say for example you had 
accidentally set the lighttpd user to root and the default document-root to 
/.  The web server would still work and when the mistake is realised the 
platform.conf could be easily updated to correct the mistake, without 
requiring any config merging.



I just hate splitted configuration files personally because I prefer one
single file where I can see all things I need to know at one sight.
Sometimes it makes sense to split files, e.g. for actual configuration
vs site/vhost configuration but most of the time settings spread
randomly throughout different files are hard to read, to understand and
to configure in my opinion.


That is a valid point, and unfortunately not one I can counter argue.  If you 
are editing by hand then yes, a single file is nice, but if you are editing 
by machine then separate files are easier to handle.  Perhaps, if you have a 
large enough file, it will also be difficult to find the section you want. But 
with nicely-named separate files, it can be made easy to locate the section 
you are interested in.



I'm afraid, but we have no influence at all what other distributions
choose as configuration layout and/or which files they ship. Eventually
Suse (or whatever) still continues to ship a lighttpd.conf happily
specifying their own pidfile stuff there.


One more reason not to use Suse then, if they make it difficult :-)  Also you 
say you have no influence over other distros, but I don't think you give 
yourself enough credit.  There are many distributions that are based on Debian!



If you want to introduce such a change among all Linux distributions,
you better get upstream to split their configuration files out of the
box to make sure distributions will follow more likely.


This is an interesting idea, but upon closer investigation, probably not 
practical.  The upstream config file has defaults like storing the log files 
next to the document-root, which the Debian package has overridden and changed 
to /var/log.  So in upstream, there would be no need to split that option out, 
but in Debian there is because of the change.  So I would argue that since you 
are changing the option anyway, you may as well change it in a separate file :-)


Thanks again for being so willing to discuss this, you have given me plenty to 
think about!


Cheers,
Adam.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-30 Thread Adam Nielsen

Why can't it show the diff / update like dpkg does?


nobody has done it yet.


So how does it handle updated conf files?


I'm not entirely sure.  It runs dpkg in non-interactive mode, which means it 
would either overwrite configs without asking (and then overwrite them again 
with what's in the Puppet repo) or flag it as an upgrade failure and require 
manual intervention.


Personally I have configured Puppet not to upgrade anything automatically so I 
can do distro upgrades by hand, as I only have a small number of servers to 
maintain.  People with large numbers of servers may automatically upgrade one 
or two, test them, fix any problems by updating the config repo, then upgrade 
the rest with the fixed config.



The code is Debian specific but the resulting lighttpd options aren't.  If
you're using Puppet to configure lighttpd you are unlikely to want to
autoconfigure IPv6,


Why? Are IPv6 and Puppets no friends?


Sorry, let me rephrase - if you are using Puppet to configure lighttpd, you 
almost certainly don't want IPv6 support left as 'autodetect'.  You will 
either enable it or disable it.  The Debian script only enables IPv6 if it is 
available, which is great for having it 'just work' on a newly installed 
machine which may or may not have IPv6 available.  However people going to the 
effort of using Puppet to manage their configuration generally want to know 
exactly how each machine is configured, and setting things to autodetect 
introduces some unpredictability into the mix.


For example if you want to deploy an IPv6 capable web server and for some 
reason the machine doesn't have IPv6 support, the Debian script would happily 
start lighttpd in IPv4-only mode, and you would not realise the mistake until 
someone reported that they could not connect to the server over IPv6.  But if 
you forced IPv6 on in the lighttpd config, it should fail to start without 
IPv6.  Your other monitoring tools would then pick up that lighttpd wasn't 
running and alert an admin for an immediate fix.


Cheers,
Adam.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-29 Thread Arno Töll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello Adam,

On 29.09.2011 07:25, Adam Nielsen wrote:
 That's a fair point, and to explain my reasoning in a bit more detail,
 my problem is that I want to leave the Debian-specific parts of the
 configuration alone.  At the moment there is one config file that sets
 everything, from Debian-specific options like log and pidfile paths to
 generic options like index-file names, as well as user-configurable
 options like listening port numbers.

I get your point, but I consider every setting in /etc specific to
Debian, but yet allowed and suggested to be changed by the user.

Note, we don't distinguish between settings supposed to be changed by
users and those considered a distribution specific detail. Of course it
does not make too much sense to change things like the pidfile setup,
but on the other hand, that's totally left to the user and we should
support that.

Also I am pretty sure, whatever we choose, some other users will
disagree and fine some other partitioning more useful.

 My personal opinion is that it would work best splitting lighttpd.conf
 into a couple of files, outside the conf-available directory.
 
 One of these could be named debian.conf (or platform.conf) and contains
 all the log/pidfile paths and other options that should not normally
 change if you're doing things the Debian way, and it would be maintained
 by the package manager so it could potentially be updated if something
 specific to Debian changes.

Well, you realize you still have to have something like include
debian.conf in the main lighttpd.conf which would hardly be the same on
all Linux distributions?

Note, we do upgrade configuration files anyway. Whenever you update
Lighttpd to a new version, your configuration file will be replaced by
our new configuration (presuming you didn't change it). If you changed
it, you are being prompted what dpkg shall do and differences are shown
to you. See [1] for details on how conffiles (lighttpd.conf is such an
example) are handled in Debian.

 At any rate, lighttpd.conf would then include these files and the
 conf-enabled ones so that people such as myself could simply replace the
 default.conf as needed, and not have to worry about keeping any of the
 platform-specific options up to date.

So, to summarize: you want:

/etc/ligttpd/lighttpd.conf:
  + include debian.conf
  + include default.conf
  + include_the_conf_enabled_stuff

debian.conf: distribution specific settings (pidfile, user name?)
default.conf: everything else


[1] http://www.debian.org/doc/debian-policy/ap-pkg-conffiles.html

- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOhQJhAAoJEMcrUe6dgPNt9tMP+QEBNpmeTYnKLRkGolx+Au/X
sNopq1zh3HtJntArtDz4HsFnAIbal6KD+2oTYPXUJ+N8gnxo9dHA7e1tFST7bJ2p
umRPwmiNfCLyF8QG5JjcNqrQY/sKXfZlCrTDlSD1zZP72vUo+5HbyW+zOJ0VlsX8
RLkLLcSuFzf4Tf2NHNzpb6XUgyhCOZPj3ChKdsd/H8XTzmldMV5DKHJy6xtzM/ma
XZE/a/QakPVz4EoYHXuwwxVUUwFA0J9a1TPy6SoblU6hSL1jqAqBvzODVswU0XBo
NtdU0WZ6weGFO5WHERRaTjkiMm7QpWY9aujmT7ZlJ9fkYQqQtZxDb8pDqhhjj2x8
TFAz+2PQI7dLUKQRUZOj1np6CKNLxFkavv2jc+FRr6wayMw9n0klTk3pCT17n9Ky
9x1C3UQK3Exhn6pSe7Q11iK+y1ALBX/xBk51KLOkiTHOcYa3illaWHWXwa7wL7Zf
aj35OSLlWv45ZTxOWZa62Wu/J+Nx3NMiIp1LIhOh+n8gExFeixjUkmB521f/NDnE
ZwNYN4vkwmXXI9BiQdsZLuZozddFnwrfs+Gl7tBsIObbEuTyEcyHZKppgcq8aADw
xN/Ct+CdjJ9A4A0cXPqtYwpzf3r6USFUNg80QDAQsG9En827f3QHePZ/yxcyTLSb
JUtck1IqIG37v5l9Qmyt
=ViA9
-END PGP SIGNATURE-



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-28 Thread Arno Töll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello Adam,

On 25.09.2011 02:23, Adam Nielsen wrote:
 Thanks for the quick reply!  That would be fine - removing a symlink is
 no problem, as it doesn't require touching anything else.

I discussed your bug report with Olaf and we came to the conclusion that
having core settings like server and socket setup in
conf-available/-enabled is the wrong approach. This setup is merely for
module setup and configuration for our own and other package
maintainer's modules.

We just can't move out every single bit of possible configuration to
such separate files, especially not core settings. Where should that
end? Especially since IPv6 is/was a Squeeze release goal and has thus to
be enabled anyway.

I see your point is legit for your personal use case, but I'm sorry, we
just can't satisfy everyone with our default configuration and
configuration files are there to be changed by the user. This is why we
are especially careful when changing them in Debian.

Do you have another idea how we could meet both of our point of views:
yours and ours (note: Lighttpd has no machine readable/writable
configuration file, e.g. like Postfix)?

- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOg2PBAAoJEMcrUe6dgPNtgd0P/1vX6EUS7dXb1+SUFQZ/9T3t
qNMy7D5f07iXZwMPrH+dUVgpQ2GD6ppAsoRK+uWURVKk4fiNwt/FjeRa2LzOFZlM
EBmqd/j5JJHFnyDGKhR+JglW8qZ9U7pY+E+/b7QaHE6opyXQ69m+PgXaaXLNHpeB
mDpMaHjiHv6RoDmGx9ygYDXfaK/kRrkf22UTsmgbdwjKPqFX9ugcM6Q6rAKVhw/j
CWHmen/6DFFv/jUHFOzDWyeXsldcjzHYSOCKRQ2jr+o+KIt4CTYJAN8f+G6tzarG
tj1exES2Ip74vTxQ2yl83Wz0rQeQck+PHftMHCUONcHImswo7cBlJPrmf2UdF4lg
nbaKRZ1L1ZrruFU/p47eNAipSZuQef2gs7+39HQkcZfy0cSwTXafDIyOt60bK10A
v5H5R5Tpwrm/8ZW74zusZXi4Vd7pKcPNNVnLHLqaNH6hnmCGsIFruYIKeaqmd9II
XQTaFEzrCFjbT5slJ1GKb/dB5p3GsXTd5UpHOsrkkplz2GZL5Q17OfAVi98qTBfG
bfdEIwYwwwcjgaqXqGRxYYcHlInrnBCRq1bzckn4PS+/4W/NxqAgodyQmH5r6Zgd
HQgow4aOBJL4s/Q8jVZweI9dOaNTAfDnqEvUxSHw55awEmfzRFup6mDwgXbMQKs8
amWp1aoX81782nfkLVpC
=i4Dt
-END PGP SIGNATURE-



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-28 Thread Adam Nielsen

I discussed your bug report with Olaf and we came to the conclusion that
having core settings like server and socket setup in
conf-available/-enabled is the wrong approach. This setup is merely for
module setup and configuration for our own and other package
maintainer's modules.

We just can't move out every single bit of possible configuration to
such separate files, especially not core settings. Where should that
end? Especially since IPv6 is/was a Squeeze release goal and has thus to
be enabled anyway.


That's a fair point, and to explain my reasoning in a bit more detail, 
my problem is that I want to leave the Debian-specific parts of the 
configuration alone.  At the moment there is one config file that sets 
everything, from Debian-specific options like log and pidfile paths to 
generic options like index-file names, as well as user-configurable 
options like listening port numbers.


The problem is then when someone wants to change a non-Debian option 
(like the IPv6 port) in a tool like Puppet which works at the 
file-level, they are required to duplicate all the Debian-specific 
options in their config repo as well because they're in the file you 
want to overwrite.  Since Puppet is designed to work with different 
distributions, ideally you only want to include configuration options 
common to all distros - things like pidfile paths should be left to the 
package manager.


My personal opinion is that it would work best splitting lighttpd.conf 
into a couple of files, outside the conf-available directory.


One of these could be named debian.conf (or platform.conf) and contains 
all the log/pidfile paths and other options that should not normally 
change if you're doing things the Debian way, and it would be maintained 
by the package manager so it could potentially be updated if something 
specific to Debian changes.


The rest of the options could go into default.conf which would include 
IPv6 support and be similar to the example config that ships with other 
packages.  It would be nice if some of these options (like index-file, 
which changes rarely) was split out into core.conf, but then of course 
you're back debating what's core and what's user-configurable.


At any rate, lighttpd.conf would then include these files and the 
conf-enabled ones so that people such as myself could simply replace the 
default.conf as needed, and not have to worry about keeping any of the 
platform-specific options up to date.



Do you have another idea how we could meet both of our point of views:
yours and ours (note: Lighttpd has no machine readable/writable
configuration file, e.g. like Postfix)?


I think the debian.conf approach would be a small enough change that it 
could work.  Certainly it would solve my problem.  Hopefully you don't 
find the idea too repulsive :-)


Cheers,
Adam.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-24 Thread Adam Nielsen

Package: lighttpd
Version: 1.4.28-2

lighttpd ships with a line in the default config which calls 
/usr/share/lighttpd/use-ipv6.pl, the idea being to bind to port 80 on any 
IPv6 interface, if present.


Unfortunately this has two drawbacks:

 1) You are forced to have IPv6 on, even when server.use-ipv6 is set to 
disabled


 2) You are forced to listen on port 80 on the IPv6 interface, whether you 
want to or not (for the record I don't want to, as squid is listening there 
instead)


Having to edit lighttpd.conf to remove that one line is a problem for those of 
us using an automated configuration tool like Puppet, as it means we have to 
duplicate the default config file in our repos, minus this one line.


Could I please request that this line be moved into its own script in 
/etc/lighttpd/conf-available/ instead, so that enabling or disabling IPv6 
support can be toggled on and off with a symlink, like the other options? 
This way the default config file would not have to be altered to change IPv6 
options.


Many thanks,
Adam.



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-24 Thread Olaf van der Spek
On Sat, Sep 24, 2011 at 1:29 PM, Adam Nielsen a.niel...@shikadi.net wrote:
  1) You are forced to have IPv6 on, even when server.use-ipv6 is set to
 disabled

server.use-ipv6 is deprecated (and might be broken)

  2) You are forced to listen on port 80 on the IPv6 interface, whether you
 want to or not (for the record I don't want to, as squid is listening there
 instead)

 Having to edit lighttpd.conf to remove that one line is a problem for those
 of us using an automated configuration tool like Puppet, as it means we have
 to duplicate the default config file in our repos, minus this one line.

 Could I please request that this line be moved into its own script in
 /etc/lighttpd/conf-available/ instead, so that enabling or disabling IPv6
 support can be toggled on and off with a symlink, like the other options?
 This way the default config file would not have to be altered to change IPv6
 options.

Moving it into conf-available would be ok, but it'd still need to be
enabled by default.

Olaf



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#642604: [pkg-lighttpd] Bug#642604: lighttpd always binds to IPv6 on TCP port 80

2011-09-24 Thread Adam Nielsen

Could I please request that this line be moved into its own script in
/etc/lighttpd/conf-available/ instead, so that enabling or disabling IPv6
support can be toggled on and off with a symlink, like the other options?
This way the default config file would not have to be altered to change IPv6
options.


Moving it into conf-available would be ok, but it'd still need to be
enabled by default.


Thanks for the quick reply!  That would be fine - removing a symlink is no 
problem, as it doesn't require touching anything else.


Cheers,
Adam.




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org