I know this problem has come up before, but the solutions I have found in the
FAQ and via Google don't seem to address it. Mainly what I'm seeking from this
list is some guidance on how to increase debugging output so I can solve the
problem on my own, rather than expecting someone else to solve it for me. :-)

I have a new installation of Courier-IMAP 4.0.6 and Courier-Authlib 0.58, built
from source, on RHEL 4.0. I want to use authmysql, and have the tables laid out
according to Vexim schema and populated with a test domain and user. For ease
of testing, I'm using only the POP3 service for now, and will add IMAP later.
(I tried also starting IMAP first, in case there was a hidden dependency, but
it didn't change the symptoms.)

When I try to run
$ authtest -s pop3 [EMAIL PROTECTED] (password_here)

or to do a POP3 login from a telnet to port 110, I get the following
failure (passwords and domain name redacted):

DEBUG: LOGIN: ip=[(null)], [EMAIL PROTECTED]
DEBUG: LOGIN: ip=[(null)], password=(password_here)
ERR: authdaemon: s_connect() failed: No such file or directory
Authentication FAILED: No such file or directory

From the debug log after a telnet login:

Dec 16 11:49:24 myhost pop3d: Connection, ip=[::ffff:127.0.0.1]
Dec 16 11:49:32 myhost pop3d: authdaemon: s_connect() failed: No such file or 
directory
Dec 16 11:49:32 myhost pop3d: LOGIN FAILED, [EMAIL PROTECTED], 
ip=[::ffff:127.0.0.1]
Dec 16 11:49:32 myhost pop3d: authentication error: No such file or directory

What puzzles me is that I've got debugging set at level 2, but this is
all the output I get. It never tells me what file path is missing or the
name of the calling module so I can refer easily to the source code.

I've done Courier-IMAP installs before (but not with the new version),
so I checked all the usual suspects...missing Maildir, wrong permissions
on the directory to hold the socket, MySQL authentication, MySQL socket
path, etc. When that yielded no answer, I Googled on the error message
and checked things I found there.

CONFIGURATION DETAILS:

The ./configure commands for the two Courier packages were:

Authlib (as root):

# ./configure --prefix=/usr/local/courier --with-authmysql \
      --without-authvchkpw --without-authshadow --without-authpwd
      --without-authpam --without-authcustom --without-authpipe \
      --with-authdaemonrc=/usr/local/etc/authdaemonrc \
      --with-authdaemonvar=/var/run/courier --with-mailuser=mail \
      --with-mailgroup=mail --sysconfdir=/usr/local/etc --with-redhat

IMAP (as non-root user):

$ export COURIERAUTHCONFIG=/usr/local/courier/bin/courierauthconfig
$ ./configure --prefix=/usr/local/courier --with-mysql --with-redhat \
      --sysconfdir=/usr/local/etc

Configuration files (comments removed and passwords redacted) are:

/usr/local/etc/authdaemonrc:

authmodulelist="authmysql"
authmodulelistorig="authuserdb authpgsql authldap authmysql"
daemons=5
authdaemonvar=/var/run/courier
DEBUG_LOGIN=2
DEFAULTOPTIONS=""
LOGGEROPTS=""

/usr/local/etc/pop3d:

PIDFILE=/var/run/courier/pop3d.pid
MAXDAEMONS=40
MAXPERIP=4
POP3AUTH="PLAIN LOGIN"
POP3AUTH_ORIG="PLAIN LOGIN CRAM-MD5 CRAM-SHA1 CRAM-SHA256"
POP3AUTH_TLS=""
POP3AUTH_TLS_ORIG="LOGIN PLAIN"
POP3_PROXY=0
PORT=110
ADDRESS=127.0.0.1
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=pop3d"
POP3DSTART=NO
MAILDIRPATH=Maildir

(Note...For testing, I have ADDRESS=127.0.0.1 to block remote access. I know
I need to change that for production.)

/usr/local/etc/authlib/authmysqlrc:

MYSQL_SERVER            localhost
MYSQL_USERNAME          courier
MYSQL_PASSWORD          ***REDACTED***
MYSQL_SOCKET            /var/lib/mysql/mysql.sock
MYSQL_PORT              0
MYSQL_OPT               0
MYSQL_DATABASE          vexim
MYSQL_USER_TABLE        users
MYSQL_CRYPT_PWFIELD     crypt
MYSQL_CLEAR_PWFIELD     clear
MYSQL_UID_FIELD         uid
MYSQL_GID_FIELD         gid
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        CONCAT("/home/mail/domains/",SUBSTRING(username FROM 
POSITION('@' IN username)+1))
MYSQL_NAME_FIELD        realname
MYSQL_MAILDIR_FIELD     smtp
MYSQL_QUOTA_FIELD       quota
MYSQL_WHERE_CLAUSE      enabled

I have tested from the command line to assure that
       $ mysql --user=courier --password=***REDACTED*** vexim
works, and that I can do SELECT commands on the tables. Contents of the relevant
row in vexim.users are:

        user_id: 5
      domain_id: 3
      localpart: postmaster
       username: [EMAIL PROTECTED]
          clear: ***REDACTED***
          crypt: $1$8r***REDACTED***
            uid: 8
            gid: 12
           smtp: /home/mail/domains/sandbox.example.org/postmaster/Maildir
            pop: /home/mail/domains/sandbox.example.org/postmaster
           type: local
          admin: 1
      on_avscan: 0
   on_blocklist: 0
 on_complexpass: 0
     on_forward: 0
       on_piped: 0
on_spamassassin: 0
    on_vacation: 0
        enabled: 1
          flags: NULL
        forward: NULL
         unseen: 0
     maxmsgsize: 0
          quota: 0
       realname: Domain Admin
         sa_tag: 0
      sa_refuse: 0
        tagline: NULL
       vacation: NULL

The directory /home/mail/domains/sandbox.example.org/postmaster/Maildir, and
subdirectories new, cur, and tmp, exist and are owned by and writable by user
and group mail.

I can successfully run "/usr/local/courier/libexec/pop3d.rc start", after which
I see the following processes (line breaks added for readability):

# ps -ef | grep cour

root     26266     1  0 Dec15 ?        00:00:00 
/usr/local/courier/sbin/courierlogger
 -pid=/var/run/courier/pop3d.pid -start
 -name=pop3d /usr/local/courier/libexec/couriertcpd -address=127.0.0.1
 -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup 110
 /usr/local/courier/sbin/pop3login /usr/local/courier/bin/pop3d Maildir

root     26267 26266  0 Dec15 ?        00:00:00 
/usr/local/courier/libexec/couriertcpd
 -address=127.0.0.1 -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup 110
 /usr/local/courier/sbin/pop3login /usr/local/courier/bin/pop3d Maildir

Since startup gave no error message, I assume everything here is as it should
be, but I haven't run Courier IMAP 4.x before, so that may be a bad assumption
on my part. (Should I see separate processes for authdaemon as I did in the
old version of Courier IMAP?)

/var/run/courier exists and (for testing, to eliminate one source of problems)
has permissions 777. /var and /var/run have permissions 755. One thing I notice
is that there is no socket in the /var/run/courier directory. pop3d.pid and
pop3d.pid.lock exist, but no socket file.

I notice that there is an "authmksock" program that compiles with the authlib.
Do I need to run that to create the socket for authdaemon?

My specific questions are:

1. How do I find out what file the program is seeking and not finding?

2. Should I see the socket file in /var/run/courier/ any time pop3d is running,
   or is its existence transient and only present during an actual user
   authentication?

2. Is there something wrong with the paths I'm using for the home directory
   vis-a-vis the Maildir directory?

3. In the "pop3d" config file, what does the MAILDIRPATH command do when one
   is theoretically obtaining that info from authmysql? Am I setting this
   value incorrectly?

Thanks for any assistance/advice someone can offer. I've always liked Courier
IMAP, and I'm sure this will turn out to be my config error rather than a code
bug -- but I'm stumped on what I've done wrong.

Kind regards,

Scott

-- 
------------------------------------------------------------------------------
Scott Courtney         | "I don't mind Microsoft making money. I mind them
[EMAIL PROTECTED]          | having a bad operating system."    -- Linus 
Torvalds
http://4th.com/        | ("The Rebel Code," NY Times, 21 February 1999)
                       | PGP Public Key at http://4th.com/keys/scott.pubkey


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
_______________________________________________
Courier-imap mailing list
Courier-imap@lists.sourceforge.net
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap

Reply via email to