Merci pour ta réponse pydubreucq ! Et bienvenu à toi ici !
]>sieveshell localhost --user=cyrus
connecting to localhost
Please enter your password:
Bon c'est tout con, mais fallait le savoir
]>le test :
telnet localhost sieve
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.1.18-IPv6-Debian-2.1.18-5.1"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress relational regex"
"STARTTLS"
OK
logout
OK "Logout Complete"
après : apt-get install sasl2-modules <--- la solution est là !
telnet localhost sieve
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.1.18-IPv6-Debian-2.1.18-5.1"
"SASL" "PLAIN LOGIN"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress relational regex"
"STARTTLS"
OK
logout
OK "Logout Complete"
la ligne SASL est importante !
et sieveshelle fonctionne.
Pour commencer, le fichier services est juste une liste de ports et services associé, ça ne signifie en aucun cas que le service tourne sur la machine.
Ensuite, ton testsaslautd test...l'authentification SASL et non le mécanisme SIEVE (àmha).
Le vrai test à faire était bien le netstat pour vérifier que le port 127.0.0.1:2000 était en écoute.
Ensuite, pour la partie du code, il faut pas que tu supprime ce test, mais plutôt que tu remonte dans les ligne précédet ce test à la recherche de l'initialisation de $obj. Une fois que tu aura compris ce qu'est cet $obj, je pense que tu aura pas mal avancé dans ton pb...
++
]>après avoir enlevé le test qui pose problème :
if (!defined $obj) {
die "unable to connect to server";
}
j'ai cru, un bref moment que cela pouvait fonctionner....
DEBIAN:/var/log# sieveshell --user=cyrus localhost
connecting to localhost
Cannot find termcap: Can't find a valid termcap file at /usr/share/perl/5.8/Term/ReadLine.pm line 337
>
> list
Erreur de segmentation
DEBIAN:/var/log#
je commence à me dir que c'est mal partit ...
]>je vous tiendrais au courant au fur et mesure de la suite !
merci du coup de main !
]>Tes logs sont étranges par contre... En gros, il n'y a pas de problème, tout s'arrête calmement .
]>SGW:/var/log# netstat -ntap | grep 2000
tcp 0 0 127.0.0.1:2000 0.0.0.0:* LISTEN 31558/cyrmaster
mais rien de plus
J'ai vérifié et aucun firewall à l'horizon ...
concernant les logs voici ce que j'ai de nouveau dans mon /etc/log/syslog :
DEBIAN:/var/log# sieveshell --user=cyrus localhost:2000
connecting to localhost:2000
unable to connect to server at /usr/bin/sieveshell line 179.
DEBIAN:/var/log# cat syslog
Jul 10 14:30:07 localhost last message repeated 5 times
Jul 10 14:30:07 localhost master[32084]: about to exec /usr/lib/cyrus/bin/timsieved
Jul 10 14:30:07 localhost cyrus/sieve[32084]: executed
Jul 10 14:30:07 localhost cyrus/sieve[32084]: accepted connection
Jul 10 14:30:07 localhost master[31558]: process 32084 exited, status 0
Jul 10 14:30:09 localhost kernel: VFS: busy inodes on changed media.
DEBIAN:/var/log#
et pas beaucoup plus dans mon /etc/log/mail/log :
DEBIAN:/var/log# sieveshell --user=cyrus localhost:2000
connecting to localhost:2000
unable to connect to server at /usr/bin/sieveshell line 179.
DEBIAN:/var/log# cat mail.log
Jul 10 14:35:28 localhost master[32098]: about to exec /usr/lib/cyrus/bin/timsieved
Jul 10 14:35:28 localhost cyrus/sieve[32098]: executed
Jul 10 14:35:28 localhost cyrus/sieve[32098]: accepted connection
Jul 10 14:35:28 localhost master[31558]: process 32098 exited, status 0
DEBIAN:/var/log#
pour info, voici ce qu'il existe à la fameuse ligne 179 du fichier /usr/bin/sieveshell
if (!defined $obj) {
die "unable to connect to server";
}
Si vous avez d'autres idées je suis preneur
merci de votre aide en tout cas!
]>+1 ledub pour le firewall.
]>Effectivement, mon sieveshell ne se trouve pas dans /usr/lib/cyrus/bin/
Il se trouve dans /usr/bin/
J'ai donc fait une copie du fichier /usr/bin/sieveshell vers /usr/lib/cyrus/bin/
mais pourquoi avoir fait cela ? C'était inutile !!
As-tu un pare-feu ?
Dans ce cas as-tu testé sans lui ?
LeDub qui ne sait pas ce qu'est un filtre sieves !!
]>Il se trouve dans /usr/bin/
J'ai donc fait une copie du fichier /usr/bin/sieveshell vers /usr/lib/cyrus/bin/
mais j'ai toujours le même résultat :
DEBIAN:/usr/lib/cyrus/bin# ./sieveshell localhost
connecting to localhost
unable to connect to server at ./sieveshell line 179.
et même en spécifiant le port...
DEBIAN:/usr/lib/cyrus/bin# ./sieveshell localhost:2000
connecting to localhost:2000
unable to connect to server at ./sieveshell line 179.
y aurait il autre chose a faire?
merci pour les conseils.
]>j'ai un gros problème : j'ai mon serveur cyrus-imap2.2 qui fonctionne parfaitement sur ma debian etch
mais par contre, impossible de faire fonctionner les filtres sieves
lorsque je test la connexion à sieve voici ce que j'ai comme erreur...
DEBIAN:/usr/lib/cyrus/bin# sieveshell --user=cyrus localhost
connecting to localhost
unable to connect to server at /usr/bin/sieveshell line 179.
j'ai vérifié dans mes services et sieve sy trouve bien...
DEBIAN:/usr/lib/cyrus/bin# cat /etc/services | grep sieve
sieve 2000/tcp # Sieve mail filter daemon
j'ai aussi essayé de me connecter au sieveshell en spécifiant le port mais rien n'y fait...
DEBIAN:/usr/lib/cyrus/bin# sieveshell --user=cyrus localhost:sieve
connecting to localhost:sieve
connect: Connexion refusée
unable to connect to server at /usr/bin/sieveshell line 179.
Ps : mon authentification avec saslauth fonctionne parfaitement...
DEBIAN:/usr/lib/cyrus/bin# testsaslauthd -u cyrus -p password
0: OK "Success."
j'avoue ne plus comprendre grand chose...
voici la conf de mon /etc/imapd.conf ...
configdirectory: /var/lib/cyrus
defaultpartition: default
partition-default: /var/spool/cyrus/mail
partition-news: /var/spool/cyrus/mail
newsspool: /var/spool/news
virtdomains: yes
defaultdomain: domaine.fr
altnamespace: no
unixhierarchysep: yes
lmtp_downcase_rcpt: yes
admins: cyrus
lmtp_admins: cyrus
imap_admins: cyrus
sieve_admins: cyrus
allowanonymouslogin: no
popminpoll: 0
autocreatequota: 1002400
umask: 077
sieveusehomedir: no
sievedir: /var/spool/sieve
hashimapspool: true
allowplaintext: yes
sasl_mech_list: LOGIN PLAIN
sasl_pwcheck_method: saslauthd
sasl_auto_transition: no
tls_ca_path: /etc/ssl/certs
tls_session_timeout: 1440
tls_cipher_list: TLSv1:SSLv3:SSLv2:!NULL:!EXPORT:!DES:!LOW:@STRENGTH
lmtpsocket: /var/run/cyrus/socket/lmtp
idlesocket: /var/run/cyrus/socket/idle
notifysocket: /var/run/cyrus/socket/notify
quotawarn: 90
et le /etc/cyrus.conf ...
SERVICES {
imap cmd="imapd -U 30" listen="10.100.0.202:imap" prefork=0 maxchild=100
pop3 cmd="pop3d -U 30" listen="10.100.0.202:pop3" prefork=0 maxchild=50
lmtpunix cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
sieve cmd="timsieved" listen="localhost:sieve" prefork=0
notify cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1"
}
EVENTS {
checkpoint cmd="/usr/sbin/ctl_cyrusdb -c" period=30
delprune cmd="/usr/sbin/ctl_deliver -E 3" at=0401
tlsprune cmd="/usr/sbin/tls_prune" at=0401
}
Si quelqu'un peut m'aider ce serait génial !!
merci d'avance
]>