Hi nicolas,
I've added -d for its start, but i didn't saw nothing relevant.
the test with:
testsaslauthd -f /var/spool/postfix/var/run/saslauthd -r -s smtp -u <user> -p 
<pass>
always return no auth even with a normal username.
How can i debug more this?


  ----- Original Message ----- 
  From: Nicolas 
  To: cyrus-sasl@lists.andrew.cmu.edu 
  Sent: Monday, May 28, 2007 11:35 AM
  Subject: Re: Problem with email as username



  Jorge Bastos wrote: 
    Hi,
    I've been using sasl for 2 years, with standard usernames, but i'd like to 
use usernames in the format of emails like:

    [EMAIL PROTECTED]

    but, when i insert this it doesn't authenticate, i went to mysql logs and 
checked that:

    ---
    55 Query       select password from smtp_auth_users where username='jorge' 
    and status='true'
    ---

    It makes everything including the "@" away.

    Any reason for this?

    Jorge


  I posted a similar problem some time ago on this list. Here's my outcome:


Relevant stuff in the pam_mysql README:


verbose (0)

    If set to 1, produces logs with detailed messages that describes what
    PAM-MySQL is doing. May be useful for debugging.


crypt (plain)

    The method to encrypt the user's password:

       0 (or "plain") = No encryption.  Passwords stored in plaintext.
                        HIGHLY DISCOURAGED.

       1 (or "Y")     = Use crypt(3) function.

       2 (or "mysql") = Use MySQL PASSWORD() function. It is possible
                        that the encryption function used by PAM-MySQL
                        is different from that of the MySQL server, as
                        PAM-MySQL uses the function defined in MySQL's
                        C-client API instead of using PASSWORD() SQL
function
                        in the query.
                       
       3 (or "md5")   = Use plain hex MD5



So I modified /etc/pam.d/smtp to use verbose=1 and, finally, crypt=2,
since this seemed to be the problem.

auth required pam_mysql.so user=<[EMAIL PROTECTED]> passwd=<pass>
host=127.0.0.1 db=mail table=postfix_users usercolumn=email
passwdcolumn=clear crypt=2 verbose=1

account sufficient pam_mysql.so user=<[EMAIL PROTECTED]> passwd=<pass>
host=127.0.0.1 db=mail table=postfix_users usercolumn=email
passwdcolumn=clear crypt=2 verbose=1


Start saslauthd from
> commandline with the settings you want to gave in /etc/default/saslauthd AND
> add "-d" to keep saslauthd attached to the screen in debug mode.
>
>   

So that would be

# /usr/sbin/saslauthd -d -a pam &
[1] 3654
saslauthd[3654] :main            : num_procs  : 5
igloo:/home/nicolas# saslauthd[3654] :main            : mech_option: NULL
saslauthd[3654] :main            : run_path   : /var/run/saslauthd
saslauthd[3654] :main            : auth_mech  : pam
saslauthd[3654] :ipc_init        : using accept lock file:
/var/run/saslauthd/mux.accept
saslauthd[3654] :detach_tty      : master pid is: 0
saslauthd[3654] :ipc_init        : listening on socket:
/var/run/saslauthd/mux
saslauthd[3654] :main            : using process model
saslauthd[3655] :get_accept_lock : acquired accept lock
saslauthd[3654] :have_baby       : forked child: 3655
saslauthd[3654] :have_baby       : forked child: 3656
saslauthd[3654] :have_baby       : forked child: 3657
saslauthd[3654] :have_baby       : forked child: 3658


> Then use testsaslauthd with at least the following options:
>
> $ testsaslauthd -f /var/spool/postfix/var/run/saslauthd -r -s smtp -u <user> 
> -p <pass>
>   
  ... and there you go # testsaslauthd -s smtp -u <[EMAIL PROTECTED]> -p <pass> 
saslauthd[3756] :rel_accept_lock : released accept lock saslauthd[3757] 
:get_accept_lock : acquired accept lock saslauthd[3756] :do_auth : auth 
success: [user=<[EMAIL PROTECTED]>] [service=smtp] [realm=] [mech=pam] 
saslauthd[3756] :do_request : response: OK 0: OK "Success." 

Reply via email to