On Sat, May 25, 2002 at 11:38:23PM -0700, Nathan Fiedler wrote:
> This seems too simple: did you 'make uninstall' after the first
> install and before the second/third/fourth configure? That is, did
> you remove the authmysql binaries from the installation directory?
> Clearly the binaries must be sitting somewhere on the disk if the
> processes keep appearing. Find them and remove them.
> 
> n

Aha!  Yes, that was it.  I had not run "make uninstall".

Thank you very much.

After reading your message and checking around, I saw the
"authdaemond.mysql" executable on disk.  But it still seemed odd to
me that it would be invoked, since "authdaemond.plain" was also on
disk ... in other words, I asked myself why would the mere existence
of the "authdaemond.mysql" executable on disk cause it to always be
invoked, even when "authdaemond.plain" was also there, and even when
I had configured using "--without-authmysql"?  But then, I looked at
the "/usr/local/share/courier/libexec/authlib/authdaemond" script
(see below), and it then became clear as to why this occurs.

In my opinion, this is a design flaw, or at least a documentation
flaw, since there is an implied and non-documented priority for the
choice of "authdaemond.*" modules, in case more than one of them
happen to exist simultaneously on disk:

1. authdaemond.pgsql
2. authdaemond.mysql
3. authdaemond.ldap
4. authdaemond.plain

And for that matter, I couldn't find "make uninstall" discussed in
any courier documentation, either.

But anyway, based on this "authdaemond" script, I now realize that I
could also have forced "authdaemond.plain" to be invoked without
having to do a full-blown "make uninstall": I could have simply set
the "version" variable in "authdaemonrc" (in the
"/usr/local/share/courier/etc/authdaemonrc" directory) to
"authdaemond.plain".


Contents of "authdaemond" script:

 #! /bin/sh

 DIR=`dirname $0`

 AUTHDAEMOND=authdaemond.plain

 if test -x $DIR/authdaemond.ldap
 then
         AUTHDAEMOND=authdaemond.ldap
 fi

 if test -x $DIR/authdaemond.mysql
 then
         AUTHDAEMOND=authdaemond.mysql
 fi

 if test -x $DIR/authdaemond.pgsql
 then
         AUTHDAEMOND=authdaemond.pgsql
 fi

 . /usr/local/share/courier/etc/authdaemonrc
 if test "$version" != ""
 then
         AUTHDAEMOND="$version"
 fi

 exec $DIR/$AUTHDAEMOND $1

-- 
 Courier User
 [EMAIL PROTECTED]

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to