Nicholas Harring wrote:
Please, please, please don't spread FUD by even implicitly blaming the
vpopmail developers for this. ;-)
I've seen *one* patch for this and, IIRC, it didn't apply cleanly to
the current version of vpopmail. I worked on it a bit, and liked the
results, but delaying pushing it into the mainstream release.
Gee, wonder who's patch that was. And of course it didn't, I maintain that
patch internally to my organization, but wasn't willing to do so publicly when
it was made quite clear it was going nowhere fast with the vpopmail devs.
Besides, I seem to recall this being a 10-15 line patch for the makefile only,
which I cooked up in about 20 minutes one afternoon while bored, so don't act
like this is some monster task.
One problem is that some programs (including qmailadmin) actually make
use of information in the header files to conditionally compile its
code. To truly move to a dynamic lib, we need to have any program
that links to libvpopmail do so without using vpopmail's config file.
It's not as simple as just making the lib dynamic.
That qmailadmin needs the static libraries is hardly vpopmail's concern,
especially for those of us without need for qmailadmin. qmail+chkuser and
courier don't need any of this info, and the shared lib just works for both of
What if we wrote an external program that chkuser could run instead of
having to link to libvpopmail? Would that be a good solution.
No, it'd actually be horrible. You'd be adding an interface which would need a
good bit of sanity checking to avoid opening a security hole, you'd be adding
system overhead of fork+exec (admittedly minor, but its potentially done a
couple hundred thousand times a day on a moderately busy server), and you'd be
adding components for the sake of adding components.
I have rebuilt everything after a vpopmail upgrade/downgrade several
times in the last few months. It takes less than five minutes to
recompile qmail-smtpd for chkuser. That is because I have to wait for
qmail to finish. I sorry but this just doesn't take up a major part of
my work week. I don't see the lack of a shared lib as cause for so much
Some people would still build static linked binarys for
performance/stability even if a shared lib was available. Me ;^)
Anybody who thinks linking statically gets them performance needs to re-evaluate their psychoactive drug regimen.
I'm trying to find the email I sent to the list to combat exactly this myth, and while performance wasn't spectacularly better with the shared lib, it was better.
I can't imagine how "stability" could be impacted either, its not like this is experimental new technology or anything. Besides, I doubt you really, genuinely build statically linked binaries, but instead build binaries linked statically against libvpopmail.
Thanks for pointing that out to me. I always love the friendly and
helpful advice I get from maillists. I certainly appreciate the people
who never address me in a condescending or derogatory manner. Thanks so
much for simply correcting my misinformation instead of lowering
yourself to becoming rude and insulting.