Accéder au contenu.
Menu Sympa

fr - perl 5.600, wwsympa et fastcgi

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Laurent Moineau <adresse@cachée>
  • To: adresse@cachée
  • Cc: adresse@cachée
  • Subject: perl 5.600, wwsympa et fastcgi
  • Date: Wed, 08 Nov 2000 13:24:01 +0100

Bonjour,
je viens d'avoir un problème assez ennuyeux avec perl, wwsympa et
fastcgi :
l'abonnement à une liste ne fonctionnait pas, un message d'erreur http
peu parlant était généré lors du clic sur le bouton "Je m'abonne à ...".
Voici le contexte :

Système : linux
Noyau : 2.2.9-19mdk
Distribution : Mandrake 6.1
Version de perl : perl-5.600-5mdk + modules qui vont bien (packages RPMS
récupérés il y a quelques temps sur Mandrake Cooker)
Fastcgi : 0.52
mod_fastcgi : 2.2.8
apache : 1.3.12
sendmail : sendmail-8.9.3 (config kit-jussieu)
sympa : 2.7.3

Voici les messages d'erreur http :

error_log:[Wed Oct 11 17:54:07 2000] [error] [client 64.12.97.12]
FastCGI: server "/home/sympa/bin/wwsympa.fcgi" stderr: Can't locate
object method "OPEN" via package "FCGI::Stream" at
/home/sympa/bin/smtp.pm line 99.
error_log:[Wed Oct 11 17:54:11 2000] [error] [client 64.12.97.12]
FastCGI: server "/home/sympa/bin/wwsympa.fcgi" stderr: Can't locate
object method "OPEN" via package "FCGI::Stream" at
/home/sympa/bin/smtp.pm line 99.

Voici la ligne 99 du fichier /home/sympa/bin/smtp.pm

open(STDIN, "<&IN");

J'ai bien sûr regardé la FAQ de sympa. Le problème est répertorié mais
la solution peu évidente : on parle de "tainted variables".
Cela a trait à la sécurité mais je n'étais pas plus avancé.
Je me suis donc connecté sur le site fastcgi.com pour voir les archives
de la mailing list.
Voici ce que j'ai trouvé (Thread "Big trouble with FastCgiSuexec and
SUID") :

Auteur : Sven Verdoolaege
On Wed, Aug 02, 2000 at 01:58:28PM +0200, Michel Bouissou wrote:
> [Wed Aug 2 13:09:06 2000] [error] [client x.y.z.t]
FastCGI: server
> "/home/sympa/bin/wwsympa.fcgi" stderr: Can't locate
object method "OPEN" via
> package "FCGI::Stream" at /home/sympa/bin/smtp.pm line
99.

You shouldn't be calling open on a file handle tied to a
fastcgi stream.
It doesn't make sense.

If you're using STDERR to send error messages to the
server, then
temporarily detach when you want to use it for something
else.
Otherwise, pass in a different handle to the Request
method.

Note : je n'utilise ni suexec ni fastcgisuexec.
sympa et wwsympa tournent en sympa, apache en nobody.
(Pour les archives, j'ai un crontab qui change les droits et qui exécute
archived.pl tous les jours.
Ca marche très bien.)

Heureusement, toujours sur cette mailing list, quelqu'un a indiqué que
ce problème ne se posait pas avec les versions de perl 5.005.
J'ai donc d'abord regardé si la ligne 99 de smtp.pm avait été changée
dans la 3.0alpha : niet !

Je me suis donc résolu à désinstaller perl 5.600 et à installer la
version 5.00503 (package update redhat-6.2).
Puis à aller à la pêche aux modules sur CPAN.

Maintenant la fonction d'abonnement fonctionne correctement.

Ma question est très simple :

wwsympa est-il vraiment compatible avec fastcgi et les versions récentes
de perl ?

Merci d'éclairer ma lanterne et encore bravo aux auteurs de sympa et
wwsympa.

Laurent Moineau

Administrateur système
UFR Math-Info
Université Paris V



Archives gérées par MHonArc 2.6.19+.

Haut de le page