OVH Community, votre nouvel espace communautaire.

Mise en garde en cas de mise à jour courier-authlib avec IMAP sur OVH-R2


e-boy
28/11/2009, 17h30
Pour la petite histoire, je vais quand même raconter comment faire pour remettre courier-authlib-0.58 sans ebuild puisqu'il ne marche pas sur Gentoo OVH 2. Ça servira pitêtre à quelqu'un. La pratique est un peu barbare. Mais elle fonctionne. Elle constite principalement à copier directement certains fichiers à partir d'une release clean. Mais avant, il faut désinstaller courier-authlib : "emerge --unmerge courier-authlib".

Pour avoir une liste plus complète, vous tapez "locate courier-authlib" sur le serveur ayant la version courier-authlib-0.58. Il y aura alors juste trois fichiers et un lien manquants dans la liste.
En attendant, dans l'urgence, voici ce qui devrait suffir :
/etc/courier/authlib/authdaemonrc
/etc/init.d/courier-authlib
/etc/init.d/courier-imapd
/usr/lib64/courier-authlib (dossier)
/usr/lib64/courier/courier-authlib (dossier)
/usr/sbin/courierlogger
/var/lib/init.d/started/courier-authlib

Puis, il faut recréer deux liens symboliques :
sf /etc/init.d/courier-authlib /var/lib/init.d/started/courier-authlib
sf /etc/init.d/courier-imapd /var/lib/init.d/started/courier-imapd

Enfin, il n'y aura plus qu'à démarrer :
/etc/init.d/courier-authlib start
/etc/init.d/courier-imapd start

Voilà, j'espère ne rien avoir oublié.
Ça marche aussi en cas qu'un "emerge --update courier-imapd".

e-boy
26/11/2009, 10h26
Citation Envoyé par tarak
Merci ca marche.... Mais, je n'ai toujours pas trouvé comment générer le authmysql.so !!! c'est ca qui me bloquait dès le début...


ce que j'ai essayé:

modifier l'ebuild du 0.58 en ajoutant dans la conf authmysql en option => rien

fait la meme manip que diji ai dit avec authmysql en option ==> rien !
Tu as réussi à résoudre ça ? J'ai le même problème.

Quelqu'un aurait svp le bon courier-authlib-0.58.ebuild ?

tarak
04/04/2009, 20h38
Bonjours, en fait voila, j'ai un petit soucis bizare. chaque jours pratiquement, j'ai (lors des authentifications sur roundcube en imap) dans mes logs, l'erreur:
Citation:
vmysql: sql error[3]: MySQL server has gone away
et donc, après un:
Citation:
/etc/init.d/courier-authlib restart
Tout refonctionne normalement. Mais le lendemain, je retrouve la même erreur ca devien embèttant... Par contre en pop3 pas de soucis !!

tarak
19/03/2009, 04h37
Merci ca marche.... Mais, je n'ai toujours pas trouvé comment générer le authmysql.so !!! c'est ca qui me bloquait dès le début...


ce que j'ai essayé:

modifier l'ebuild du 0.58 en ajoutant dans la conf authmysql en option => rien

fait la meme manip que diji ai dit avec authmysql en option ==> rien !


Geoffroy
18/03/2009, 22h05
Code:
mkdir -p /usr/portage/local/tarak/
cd /usr/portage/local/tarak/
wget http://demo.ovh.com/download/0837df37ad168c1bf17276b96f80dbbf/courierAuthlib.tar.gz
tar -xvzf courierAuthlib.tar.gz
rm -f courierAuthlib.tar.gz
echo 'PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/portage/local/tarak/"' >> /etc/make.conf
echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask
emerge --ask --verbose courier-authlib

Geoffroy
18/03/2009, 21h23
J'allais le dire. Je termine cette histoire de 0.58 ce soir si j'ai le temps.

Emprint
18/03/2009, 18h50
Ok, le problème de Maildir ce règle comme ça :
Dans /etc/courier-imap/imapd
Code:
MAILDIR=Maildir
MAILDIRPATH=homedir
puis restart imapd.

Emprint
18/03/2009, 17h20
Non, mais j'ai dit que j'avais réussi a recompiler authlib, avec ces options
Code:
./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap \
--without-authmysql --disable-root-check --with-ssl --with-authchangepwdir=/usr/local/libexec/authlib
qui sont sur le lien d'origine de diji.

Le seul soucis que j'ai maintenant, c'est que quand je me log en IMAP, j'ai ça :
Code:
* BYE [ALERT] Fatal error: .maildir: No such file or directory
Connection closed by foreign host.

tarak
18/03/2009, 17h15
mwè... Tas raison, zoré pa du jouer avec la release ! mais bon, pour ton pas a pas,

C'est louche, ca me fait:

localhost courier-authlib # ebuild courier-authlib-0.58.ebuild digest
Appending /usr/portage/local/tarak to PORTDIR_OVERLAY...
/usr/portage/local/tarak/net-libs/courier-authlib/courier-authlib-0.58.ebuild: l: command not found
/usr/portage/local/tarak/net-libs/courier-authlib/courier-authlib-0.58.ebuild: l: command not found
*
* ERROR: net-libs/courier-authlib-0.58 failed.
* Call stack:
* ebuild.sh, line 1867: Called source '/usr/portage/local/tarak/net-libs/courier-authlib/courier-authlib-0.58.ebuild'
* courier-authlib-0.58.ebuild, line 8: Called inherit 'eutils' 'flag-o-ma'ic' 'autotools
* ebuild.sh, line 1201: Called die
* The specific snippet of code:
* [ ! -e "$location" ] && die "${1}.eclass could not be found by inherit()"
* The die message:
.eclass could not be found by inherit()
*
* If you need support, post the topmost build error, and the call stack if relevant.
* This ebuild is from an overlay: '/usr/portage/local/tarak/'

Geoffroy
18/03/2009, 17h10
Citation Envoyé par tarak
il faut la version 0.55 ! et portage est a 0.60
Autant pour moi, j'avais gardé la bonne version dans un overlay local.

Bon bon bon. J'ai bien envie de vous dire :"Ca vous apprendra à jouer avec la Release", mais a priori ça ne vous aidera pas trop.

Donc :
Code:
mkdir -p /usr/portage/local/tarak/net-libs/courier-authlib/
cd /usr/portage/local/tarak/net-libs/courier-authlib/
wget http://pastebin.com/pastebin.php?dl=f4f586caf -O courier-authlib-0.58.ebuild
ebuild courier-authlib-0.58.ebuild digest
echo '$PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/portage/local/tarak/"' >> /etc/make.conf
echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask
emerge --ask --verbose courier-authlib
Avec un peu de bol, je n'ai pas écrit de bêtise et ça suffira.
Enjoy.

edit : et bien non, ça ne suffira pas. L'ebuild a besoin d'un patch que je n'ai pas gardé. Il faudrait aller fouiller dans un snapshot de portage un peu daté. Il faudrait...

tarak
18/03/2009, 17h00
j'ai fait:

./configure --with-authvchkpw --with-libauthmysql --disable-root-check

quand je fait le make && make conf, j'ai une partie comme ca:


Compiling authmysqllib.c
authmysqllib.c: In function 'do_connect':
authmysqllib.c:144: warning: value computed is not used
authmysqllib.c: In function 'auth_mysql_getuserinfo':
authmysqllib.c:752: warning: value computed is not used
authmysqllib.c:757: warning: value computed is not used
authmysqllib.c:762: warning: value computed is not used
authmysqllib.c:773: warning: value computed is not used
authmysqllib.c:795: warning: value computed is not used
authmysqllib.c:812: warning: value computed is not used
authmysqllib.c:820: warning: value computed is not used
authmysqllib.c:828: warning: value computed is not used
authmysqllib.c:843: warning: value computed is not used
authmysqllib.c:850: warning: value computed is not used
authmysqllib.c: In function 'auth_mysql_setpass':
authmysqllib.c:989: warning: value computed is not used
authmysqllib.c:992: warning: value computed is not used
authmysqllib.c: In function 'auth_mysql_enumerate':
authmysqllib.c:1101: warning: value computed is not used
authmysqllib.c:1105: warning: value computed is not used
authmysqllib.c:1109: warning: value computed is not used
authmysqllib.c:1122: warning: value computed is not used

et donc le fichier .so ne se crée pas qqn pourai m'envoyer le sien et c'est tout ?

tarak
18/03/2009, 16h52
il faut la version 0.55 ! et portage est a 0.60

Geoffroy
18/03/2009, 16h49
/home/tmp/qmailrocks/
?
Vous le compilez à la main ? Pourquoi ne pas passer par emerge ?
Code:
echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask
emerge --ask --verbose net-libs/courier-authlib
Et si, mais uniquement dans ce cas là, l'emerge s'arrête sur le linkage avec mysql, alors tentez quelque chose dans ce gout là :
Code:
echo "net-libs/courier-authlib -mysql" >> /etc/portage/package.use
emerge --ask --verbose net-libs/courier-authlib

tarak
18/03/2009, 16h46
./configure --with-authvchkpw --disable-root-check
# make && make check
# cp .libs/libauthvchkpw.so /usr/lib/courier-authlib/

ca me fait:
cp .libs/libauthvchkpw.so /usr/lib/courier-authlib
cp: ne peut évaluer `.libs/libauthvchkpw.so': Aucun fichier ou répertoire de ce type



Emprint
18/03/2009, 15h30
Euh, moi je veux bien utiliser authmysql, mais je suis en release et j'ai pas trop envie de péter tous les comptes emails en changeant. Si on me donne une solution/tuto claire et où je suis sur de ne pas perdre de comptes ni de mails pour passer à authmysql je suis preneur

Bon, pour mon libauthvchkpw.so, j'ai refait config avec d'autre options et ça fonctionne, par contre quand j'essaye de me connecter en imap, ça dis que le MAILDIR est introuvable.

TBC_Ly0n
18/03/2009, 15h03
Vous avez eu un premier averto et vous continuez gaiement à faire tourner des outils obsolètes en contournant le problème... et maintenant, vous êtes dans la merde !

La solution, elle est connue : Faire en sorte d'utiliser vpopmail avec Mysql. Une fois que les comptes ont été migrés (vconvert), il suffit de demander à courier-authlib une authentification Mysql ! Vous conservez un vpopmail + qmail obsolète, mais en utilisant un stockage des comptes modernes (Mysql) et vous pouvez faire évoluer courier-imap tranquillement !

En faisant ça, je ne suis même pas sur qu'on sorte du cadre de la release !

Soit dit en passant, si tu désactives l'authentification mysql pour le courier-authlib 0.55, ça évitera qu'il s'arrête dessus !

Emprint
18/03/2009, 14h24
Je pensais que ce sujet me sauverai, enfin, il m'avait sauvé à l'époque, mais là, depuis mon dernier emerge, il y a quelque chose qui a du sauter parce que j'ai plus d'authentification imap, donc, j'ai repris ton message, mais quand je tente de compiler courier-authlib, j'obtiens ça :
Code:
[...]
make[2]: entrant dans le répertoire « /home/tmp/qmailrocks/courier-authlib-0.55 »
Linking libauthmysql.la
/usr/lib/gcc/i686-pc-linux-gnu/3.4.6/../../../../i686-pc-linux-gnu/bin/ld: bad -rpath option
collect2: ld returned 1 exit status
Du coup impossible de récupérer le libauthvchkpw.so

Est-ce qu'il serait possible a quelqu'un qui l'a de me le fournir ? Je sais pas si ça fonctionnera mais je vois que ça....

diji
15/01/2009, 14h55
Vivi
Mais là le post concerne bien les version >0.58 (je suis en 0.60.6 avec donc un module authvchkpw de la 0.55 et tout fonctionne)

TBC_Ly0n
14/01/2009, 16h43
courier-authlib-0.55 < 0.58 ==> Ca marchera sans problème.
c'est à partir de la 0.58 que le problème a été inséré.

diji
14/01/2009, 16h39
Autre workaround (un peu rock'n'roll) : utiliser le libauthvchkpw.so d'une vielle version
1) Télécharger qmail
2) Compiler l'authlib et copier le libauthvchkpw.so
Code:
# tar jxvf courier-authlib-0.55.tar.bz2
# cd courier-authlib-0.55
# ./configure --with-authvchkpw --disable-root-check
# make && make check
# cp .libs/libauthvchkpw.so /usr/lib/courier-authlib/
3) Ajouter authvchkpw dans la authmodulelist de /etc/courier/authlib/authdaemonrc
4) Installer le module
Code:
# /usr/lib/courier/courier-authlib/authdaemond
5) Relancer le daemon
Code:
# /etc/init.d/courier-authlib restart
6) L'envie de meurtre après les échecs d'auth en IMAP disparait (ouf)

via

TBC_Ly0n
15/07/2008, 22h01
Conclusion : il faut utiliser des outils avec des mecs qui les font vivre !

Un serveur Courier intégral marche pas mal du tout ! Ca s'interface avec un peu n'importe quoi : mysql, base dbm, ldap...

Emprint
15/07/2008, 15h07
Mince, c'est ballot, je viens de faire la mise à jour.

Comment je fais pour réinstaller une ancienne version d'authlib ?

Edit : Ok, avec ta ligne et un nouveau emerge il me prends bien la bonne version

Merci.

Geoffroy
21/06/2008, 02h32
A tout les administrateurs de serveur mail en Release 2 OVH :

  • Si vous utilisez courier-imapd avec l'installation par défaut de la Release 2 OVH, et le module d'authentification authvchkpw (voir dans /etc/courier/authlib/authdaemonrc), ne mettez pas à jour net-libs/courier-authlib vers une version supérieure (strictement) à net-libs/courier-authlib-0.58 si vous souhaitez conserver ce mode d'authentification. Les versions supérieurs ne supportent plus l'authentification vpopmail.
  • Citation Envoyé par emerge --update courier-authlib
    * Messages for package net-libs/courier-authlib-0.60.2-r1:

    *
    * vpopmail support has been removed, it's unmaintained upstream and will be
    * removed with the next release.
    *
    * Please remove vpopmail USE-flag.
  • Workaround
    Pour masquer les versions en question :
    Code:
    echo ">net-libs/courier-authlib-0.58" >> /etc/portage/package.mask