Salut,
j'essaye de configurer cyrus-imap avec l'authentification mysql.
voici mon fichier /etc/imap.conf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 configdirectory: /var/lib/imap partition-default: /var/spool/imap allowplaintext: yes unixhierarchysep: yes sievedir: /var/lib/imap/sieve sendmail: /usr/sbin/sendmail hashimapspool: true autocreatequota: 1024 admins: cyradm oxadmin virtdomains: yes defaultdomain: domaine1.com tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt ################### sasl_pwcheck_method: auxprop sasl_auxprop_plugin: sql sasl_mech_list: plain login sasl_password_format: crypt sasl_log_level: 5 sasl_sql_hostnames: localhost sasl_sql_engine: mysql sasl_sql_database: database22_15 sasl_sql_user: openexchange sasl_sql_passwd: xxxxxx sasl_sql_select: SELECT database22_15.user.userPassword FROM database22_15.login2user LEFT JOIN database22_15.user ON database22_15.login2user.id=database22_15.user.id AND database22_15.login2user.cid=database22_15.user.cid WHERE database22_15.login2user.uid = '%u' AND database22_15.user.cid IN (SELECT configdb.login2context.cid FROM configdb.login2context WHERE configdb.login2context.login_info='%r')
le problème est le suivant: cyrus ne parvient pas a s'authentifier car les mots de passe dans la base de données sont cryptés avec {CRYPT}, et cyrus utilise le text claire pour le mot de passe (plaintext) ie:
si je faiy ceci
par contre si je fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [root@red etc]# telnet 127.0.0.1 143 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. * OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID STARTTLS] red.domaine1.com Cyrus IMAP4 v2.3.7-Invoca-RPM-2.3.7-2.el5 server ready 01 login test@domaine1.com secret (le mot de passe en calire) 01 login failed
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 [root@red etc]# telnet 127.0.0.1 143 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. * OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID STARTTLS] red.domaine1.com Cyrus IMAP4 v2.3.7-Invoca-RPM-2.3.7-2.el5 server ready 01 login test@domaine1.com jklm254sdpe (le meme mot de passe mais crypté tiré de la base de données) 01 login OK
y a t'il un moyen pour forcer cyrus-sasl à crypter le mot de passe avec l'algorithme {CRYPT} avant de faire la comparaison avec le resultat du select?
merci d'avance
Partager