Sorry if my description has not been clear. In chronological order, here are the events:
1. Courier was installed strictly using rpms. I did not do the make/install/configure process at all. 2. After running rpm to install, authentication was working and I used authtest and perftest1 to check out the install. No problems noticed. I did not touch the original authdaemonrc file created and placed by the rpm install. 3. After working my way through your install documentation, to the best of my abilities, it appeared everything was working OK. 4. I then began trying to set up filters using the the WebAdmin interface. During this time, I kept monitoring /var/log/maillog and noticed all email began to be rejected due to the 550 user unknown error. I stopped courier and began browsing through the maillog file. I found these entries: Feb 15 20:52:01 mail authdaemond: stopping authdaemond children Feb 15 20:52:01 mail authdaemond: modules="(none)", daemons=0 Feb 15 20:52:01 mail authdaemond: Configuration error - missing 'daemons' setting, using 1 Searching the courier-users mail archives indicated this was a problem with the authdaemonrc file. 5. Checking the authdaemonrc file revealed it was zero byte. 6. I looked at the authdaemonrc.dist file and it seemed to be a valid file so I copied it to authdaemonrc and restarted courier-authlib and courier. I made absolutely no changes to the file at this point. Authtest worked and email was no longer being rejected. 7. I went back to trying to set up some filters and the same symptoms started occuring again immediately. I copied the authdaemonrc.dist file to authdaemonrc again, restarted and tested to see what happened when I enabled filters through WebAdmin. I discovered changing this setting, either selecting or deselecting, would blow out the authdaemonrc file every time. 8. I set the WebAdmin interface to enable filters and copied the authdaemonrc.dist again since I want filters enabled. 9. I also noticed the following in maillog: Feb 15 21:44:52 mail authdaemond: libauthpipe.so: cannot open shared object file: No such file or directory Since I do not use authpipe and also do not use authpgsql, authmysql or authcustom, I figured I would remove these from authdaemon. The _one_and_only_ line I modified in authdaemonrc was the line starting with authdaemonlist. I _did_not_ modify the line authdaemonlistorig. 10. I then started trying to create some rules through the WebMail interface and was never able to get them to save. I hope this is clear. I will certainly do whatever it takes to clarify anything. Should I just run the whole rpmbuild -ta / rpm -i process again. Will I need to blow out the current files and directories if I do that? Here is the complete version of what I currently have for authdaemonrc. Again, I only changed the one line in the file. ##VERSION: $Id: authdaemonrc.in,v 1.13 2005/10/05 00:07:32 mrsam Exp $ # # Copyright 2000-2005 Double Precision, Inc. See COPYING for # distribution information. # # authdaemonrc created from authdaemonrc.dist by sysconftool # # Do not alter lines that begin with ##, they are used when upgrading # this configuration. # # This file configures authdaemond, the resident authentication daemon. # # Comments in this file are ignored. Although this file is intended to # be sourced as a shell script, authdaemond parses it manually, so # the acceptable syntax is a bit limited. Multiline variable contents, # with the \ continuation character, are not allowed. Everything must # fit on one line. Do not use any additional whitespace for indentation, # or anything else. ##NAME: authmodulelist:2 # # The authentication modules that are linked into authdaemond. The # default list is installed. You may selectively disable modules simply # by removing them from the following list. The available modules you # can use are: authuserdb authpam authpgsql authldap authmysql authcustom authpipe authmodulelist="authuserdb authpam" ##NAME: authmodulelistorig:3 # # This setting is used by Courier's webadmin module, and should be left # alone authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe" ##NAME: daemons:0 # # The number of daemon processes that are started. authdaemon is typically # installed where authentication modules are relatively expensive: such # as authldap, or authmysql, so it's better to have a number of them running. # PLEASE NOTE: Some platforms may experience a problem if there's more than # one daemon. Specifically, SystemV derived platforms that use TLI with # socket emulation. I'm suspicious of TLI's ability to handle multiple # processes accepting connections on the same filesystem domain socket. # # You may need to increase daemons if as your system load increases. Symptoms # include sporadic authentication failures. If you start getting # authentication failures, increase daemons. However, the default of 5 # SHOULD be sufficient. Bumping up daemon count is only a short-term # solution. The permanent solution is to add more resources: RAM, faster # disks, faster CPUs... daemons=5 ##NAME: authdaemonvar:2 # # authdaemonvar is here, but is not used directly by authdaemond. It's # used by various configuration and build scripts, so don't touch it! authdaemonvar=/var/spool/authdaemon ##NAME: DEBUG_LOGIN:0 # # Dump additional diagnostics to syslog # # DEBUG_LOGIN=0 - turn off debugging # DEBUG_LOGIN=1 - turn on debugging # DEBUG_LOGIN=2 - turn on debugging + log passwords too # # ** YES ** - DEBUG_LOGIN=2 places passwords into syslog. # # Note that most information is sent to syslog at level 'debug', so # you may need to modify your /etc/syslog.conf to be able to see it. DEBUG_LOGIN=0 ##NAME: DEFAULTOPTIONS:0 # # A comma-separated list of option=value pairs. Each option is applied # to an account if the account does not have its own specific value for # that option. So for example, you can set # DEFAULTOPTIONS="disablewebmail=1,disableimap=1" # and then enable webmail and/or imap on individual accounts by setting # disablewebmail=0 and/or disableimap=0 on the account. DEFAULTOPTIONS="" ##NAME: LOGGEROPTS:0 # # courierlogger(1) options, e.g. to set syslog facility # LOGGEROPTS="" ##NAME: LDAP_TLS_OPTIONS:0 # # Options documented in ldap.conf(5) can be set here, prefixed with 'LDAP'. # Examples: # #LDAPTLS_CACERT=/path/to/cacert.pem #LDAPTLS_REQCERT=demand #LDAPTLS_CERT=/path/to/clientcert.pem #LDAPTLS_KEY=/path/to/clientkey.pem Sam Varshavchik writes: > Stan Minify writes: > >> You are correct. I should say I used what I think is a "proper" file but >> maybe that is erroneous. What I did was copy the >> /etc/authlib/authdaemonrc.dist file to /etc/authlib/authdaemonrc. I did >> change the file by removing "authpgsql authmysql authcustom authpipe" >> from the "authmodulelist=" variable setting. Since I do not use these >> authentication methods I did not think I needed them. However, I modified >> the file _after_ I figured out the problem seemed to stem from the file >> being zeroed out. >> >> This was the only change I made by hand to the file. >> >> Is the .dist form of the file not valid for this purpose? > > May be, may be not. What you should've done is run 'make > install-configure'. This is the correct process for installing each > configuration file from its .dist version. This is documented in INSTALL. > > ALso, there are two settings in authdaemonrc: authmodulelist, and > authmodulelistorig. You should not done anything to authmodulelistorig. > >> I do not know what the file looked like before the first time I changed >> the WebAdmin setting. It was whatever the rpm process created and put >> there. > > If you used rpms, your configuration files should've been automatically > installed, based on their .dist versions, by the rpm. > > You should not have had to copy any files, if you installed the rpms. > >> One more symptom I just noticed: >> >> When looking in WebAdmin at Password Authentication Modules, the list box >> is completely empty. >> >> Clicking the box to add modules is also empty. >> >> The number of authentication processes is also empty. > > This suggests that authmodulelistorig setting has been modified, and/or > authdaemonrc has been modified, so webadmin cannot parse it. There is an > informative comment at the beginning of the configuration file: > > # Do not alter lines that begin with ##, they are used when upgrading > # this configuration. > # > # This file configures authdaemond, the resident authentication daemon. > # > # Comments in this file are ignored. Although this file is intended to > # be sourced as a shell script, authdaemond parses it manually, so > # the acceptable syntax is a bit limited. Multiline variable contents, > # with the \ continuation character, are not allowed. Everything must > # fit on one line. Do not use any additional whitespace for indentation, > # or anything else. > > So, although it's fine to make manual changes to authdaemonrc, the changes > should be limited to the actual configuration changes, in place. > > Since it's not really clear to me exactly what you've done -- whether you > built and installed the packages yourself, in which case you should've > followed the documented INSTALL procedure of running make > install-configure; or whether you installed RPMs; and also the exact > nature of your changes to authdaemonrc, it's not possible to offer any > advice. > ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ courier-users mailing list [email protected] Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users
