Sortie d'ejabberd 1.1.0

Posté par (page perso) . Modéré par Jaimé Ragnagna.
0
26
avr.
2006
XMPP
ejabberd est un serveur de messagerie instantanée distribué et tolérant aux pannes. Il est basé sur le protocole Jabber. Plus précisément, ejabber est un serveur XMPP extrêmement complet qui implémente de nombreuses extensions Jabber (connues sous le terme JEPs, pour Jabber Enhancements Proposals). Depuis le mois de février 2006, jabber.org utilise ejabberd.

Cette nouvelle version met l'emphase sur l'amélioration des performances, la montée en charge et l'implémentation des standards ouverts.

Ainsi au menu des nouveautés, nous trouvons :
  • le support de trois JEP (Jabber Enhancement Proposals) :
    • JEP-0050: Ad-Hoc Commands ;
    • JEP-0138: Stream Compression ;
    • JEP-0175: SASL anonymous.
  • le support natif de MySQL
  • l'amélioration des fonctionnalités "multichat" aka conference avec en particulier la gestion des historiques (logs)
  • l'amélioration des performances pour les systèmes distribués

Aller plus loin

  • # Très actif !

    Posté par (page perso) . Évalué à 6.

    Ah ça fait plaisir de voir que Jabber, notemment les serveurs, sont très actifs !
    Quels clients supportent les JEPs ajoutées dans cette release ? Je suis notemment assez intéressé par la gestion des historiques pour le multichat ! (J'utilise PSI pour le moment, plus exactement la version patchée psi-pedrito).
    • [^] # Re: Très actif !

      Posté par (page perso) . Évalué à 5.

      La gestion des logs de conversation ressemble à ça :
      http://ejabberd.jabber.ru/mod_muc_log

      En gros, génération de pages HTML (a priori valides) reprenant le détail de la conférence. Cette fonctionnalité n'existait pas jusqu'à maintenant sous forme "intégrée", il fallait utiliser un "bot".
    • [^] # Re: Très actif !

      Posté par (page perso) . Évalué à 7.

      Psi est en train d'en implementer :

      "Psi 0.11-beta2 released, beta testers welcome!

      Summary of changes:

      * Privacy Lists (Required for XMPP / aka RFC 3921)
      * Ad-Hoc Commands (JEP-0050)
      * Remote Control (JEP-0145)
      * PEP (JEP-0163)"

      Donc il y a Ad-Hoc Commands en commun :).
  • # Une librairie portable pour l'utiliser ?

    Posté par . Évalué à 5.

    Quelqu'un a l'expérience d'une librairie ***cross-plateforme*** (Linux, MacOsX, Windows) et ***fiable*** qui permettrait d'utiliser ejabberd pour faire communiquer des applications ?
  • # Et si on n'aime pas MySQL ?

    Posté par . Évalué à -2.

    le support natif de MySQL

    Devons-nous en déduire que ce serveur n'utilise pas de couche d'abstraction pour accéder à une base de données ? Et donc que si je tiens à utiliser tel ou tel SGBDR pourtant très répandu, je devrais en coder moi-même le support (ou chercher s'il existe déjà un patch, probablement buggé jusqu'à la moëlle) ?
    J'aurais espéré que ce genre de pratiques ne survive pas au XXème siècle...
    • [^] # Re: Et si on n'aime pas MySQL ?

      Posté par (page perso) . Évalué à 8.

      ejabberd utilise par défaut la base Mnesia, clusterisable et distribuée.

      Si tu veux utiliser une base relationnelle, tu peux utiliser ODBC. C'est une couche d'abstraction, mais comme toute couche d'abstraction son utilisation à un coût, même au XXIème siècle.
      C'est pour cela qu'il est possible d'utiliser PostgreSQL et MySQL en mode natif: Pour améliorer les performances sur de gros déploiements.

      Mickaël

      • [^] # Re: Et si on n'aime pas MySQL ?

        Posté par . Évalué à -2.

        Si tu veux utiliser une base relationnelle, tu peux utiliser ODBC.
        Ah ok, ça me rassure.

        C'est une couche d'abstraction, mais comme toute couche d'abstraction son utilisation à un coût
        Ouais enfin bon, des millions de sites web (et autres applications) pro utilisent une couche d'abstraction (ODBC ou JDBC pour la plupart) pour accéder à leur base de données, et l'overhead ne justifie pas un développement spécifique, à part dans des cas très pointus (genre Google, j'imagine).
        Donc bon, est ce qu'ils ne se compliqueraient pas la vie pour rien ?
        Et d'ailleurs, ils doivent bien utiliser une couche d'abstraction en interne... l'irrésistible envie de toujours réinventer la roue ?
  • # Ldaps

    Posté par . Évalué à 4.

    La dernière fois que j'ai regardé, ejabberd ne supportait pas l'authentification ldap+tls ou ldaps.

    Quelqu'un aurait-il un retour d'experience inverse ?

    • [^] # Re: Ldaps

      Posté par (page perso) . Évalué à 2.

      Je confirme. Cette fonctionnalité n'a pour le moment pas été développée.
      Il s'agit surtout du fait que nous avons assez peu de demande pour le moment sur ce type de fonctionnalités, donc elle n'était pas prioritaire.

      Maintenant, si cette fonctionnalité intéresse beaucoup de monde on peut la mettre dans la roadmap à plus court terme.

      Mickaël

      • [^] # Re: Ldaps

        Posté par . Évalué à 2.

        Ben moi c'est ce qui me bloque pour passer les serveurs jabber de ma boite à ejabberd :-)

        J'ai bien essayé d'aller trafiquer un peu le code mais l'erlang c'est trop différent de ce que je connais pour etre patché en 2 minutes ;-)

        Je pourrais regler ça à coup de stunnel mais en tant qu'admin sys grincheux, je veux pas, na!
        • [^] # Re: Ldaps

          Posté par (page perso) . Évalué à 1.

          Ben, faut pas faire la tête.
          Tu devrais essayer avec stunnel et voir si cela marche déjà. Si cela ne marche pas on peut en rediscuter...

          Mickaël

          • [^] # Re: Ldaps

            Posté par . Évalué à 1.

            Ça marchera forcement avec, mais c'est pas *propre* :-)
          • [^] # Re: Ldaps

            Posté par (page perso) . Évalué à 1.

            Ça marche très bien avec stunnel, ya aucun soucis. Bon, d'aucun diront que c'est pas totalement satisfaisant, mais ça marche bien quand même.

            Une autre fonctionnalité conviviale à rapprocher de l'authentification sur un annuaire LDAP serait la possibilité de renseigner des "méta-données" utilisateur à partir de champ du LDAP. Je crois qu'il y a une approche avec les vcards ...
            Tu saurais nous en dire un peu plus ?
            Ce genre de fonctionnalité est vraiment géniale pour un organisme qui a déjà un LDAP et qui veut mettre en place un serveur jabber (mon cas :).
            • [^] # Re: Ldaps

              Posté par . Évalué à -1.

              Je suis d'accord avec Serge.
            • [^] # Re: Ldaps

              Posté par (page perso) . Évalué à 3.

              Il y a effectivement un module dans ejabberd pour brancher la gestion des vcards sur LDAP. C'est encore expérimental cependant.

              Ceci dit, moi je cherche plutôt personnellement l'inverse, utiliser l'annuaire Jabber et supprimer LDAP ;-)

              Mickaël

              • [^] # Re: Ldaps

                Posté par . Évalué à 2.

                Ceci dit, moi je cherche plutôt personnellement l'inverse, utiliser l'annuaire Jabber et supprimer LDAP ;-)

                Avec tout le respect que j'ai pour le travail effectué par ton équipe et toi, je pense que tu vas un poil trop loin là. Le jour ou tu envisagera de faire de l'IPC en passant par ejabberd ca sera un signe.
                On sera obligé de te soigner à coupde stage de programmation d'access par visual basic, et c'est pas beau à voir.
              • [^] # Re: Ldaps

                Posté par (page perso) . Évalué à 3.

                Ceci dit, moi je cherche plutôt personnellement l'inverse, utiliser l'annuaire Jabber et supprimer LDAP ;-)


                C'est original. Pourquoi cette volonté ?
                (remarque, c'est peut-être juste un private-joke)
                A moins que l'idée soit de faire en sorte que l'annuaire Jabber offre une interface LDAP au reste du monde.
                • [^] # Re: Ldaps

                  Posté par (page perso) . Évalué à 4.

                  En fait, le mécanisme de Jabber User Directory définit par le protocole permet de faire une gestion d'annuaire tous comme LDAP. L'avantage et l'inconvénient du protocole Jabber User Directory est d'être complément défini. LDAP est un framework, complétement souple (comme une base de données) et suivant le niveau de personnalisation du schéma LDAP utilisé, son intégration est plus ou moins facile.

                  Mickaël

                  • [^] # Re: Ldaps

                    Posté par . Évalué à 3.

                    >LDAP est un framework, complétement souple

                    et d'une laideur sans nom, quelqu'un aurait-il un lien vers une explication simple de LDAP?

                    Je ne comprends rien a ces dn,un, etc..
    • [^] # Re: Ldaps

      Posté par (page perso) . Évalué à 4.

      J'ajouterai le support de l'authentification avec pam. C'est ce qui me freine pour ma part.
  • # Secu. et Jabber

    Posté par (page perso) . Évalué à 6.

    En parlant de ejabberd.

    Deux semaines j'ai remonte un bug au dev principal qui permet a n'importe qui ayant un compte sur un serveur ejabberd d'occuper presque 100% de la memoire, qui peut etre envisageable comme un DoS contre des serveurs.

    La reponse m'a un peu sidere, il m'a en effet propose un contournement via le fichier de conf qui n'a que pour effet un contournement du probleme, sans reellement apporte une solution sur le vrai probleme de fond, il est tres propable d'avoir des exploits beaucoup plus avance.

    J'ai ete confronte au meme genre de probleme plus recemment avec les developeurs de Psi, en parlant de l'encodage de certain charactere. En effet la norme xmpp ne prevoient pas certains cas et les implementations different, tout ca pour dire que je pouvais faire des planter d'autre clients, un peu comme l'interpretation de \00 ou de %25252541 pour un URI, qui sont des vecteurs pour le XSS/SQL injection ou autre HTML smuggling et splitting. (Pour ceux qui doutent encore des effets du XSS il est possible de lancer un Ddos via un browser web ! )

    Juste pour dire que les deux problemes ont juste ete rejete parce que je ne fais pas partie de la communaute de dev de ces 2 projets. Il est cependant vrai que je n'ai pas envoye directement de mail pour souligner le probleme afin d'eviter les 0day exploit et en pv avec les personnes concernnees, ce qui est bien dommage. Je vais travailler un peu plus sur celui de ejabberd et d'apprendre l'Erlan.

    Sinon pour ceux qui font du dev jabber des XML Schema sont disponibles : http://www.xmpp.org/schemas/ . Il est plus que recomande de les utiliser pour verifier les donnees en entree et en sortie.

    http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

    • [^] # Re: Secu. et Jabber

      Posté par (page perso) . Évalué à 6.

      Cela m'intéresse d'en savoir plus sur le problème remonté car Alexey, ne m'en a pas parlé (c'est un collègue direct).
      Ceci dit, je suis sûr que ta demande n'a pas été rejettée pour les raisons que tu évoques.
      Maitenant, nous avons intégré des éléments pour limiter ce type d'impact, justement, dans la version 1.1.0. Les paquets XMPP sont maintenant limités en taille, lors du parsing.
      Envoie moi l'information en direct. Je m'occupe notamment du maintien de la roadmap, donc j'analyserai le problème pour le prioriser si nécessaire.

      Mickaël

      • [^] # Re: Secu. et Jabber

        Posté par (page perso) . Évalué à 5.

        Donc, après discussion, je confirme que le problème est bien corrigé justement dans la version qui vient d'être publié.

        ejabberd marque donc un point ;-)

        Mickaël

      • [^] # Re: Secu. et Jabber

        Posté par (page perso) . Évalué à 4.

        J'offre m'a tournée de + à Mickaël ;)

        un seul mot Ejabberd ca Rox ;)

        NB par contre vous devriez penser au coup des schemas. Faut vraiment que je me mette au Erlan pour offrir des patches.

        http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

        • [^] # Re: Secu. et Jabber

          Posté par (page perso) . Évalué à 3.

          En allant faire un tour sur http://www.erlang-projects.org ou sur http://www.erlang-fr.org on trouve suffisamment de quoi lire et si on préfère le papier et le français, Mickaël Rémond a publié aux éditions Eyrolles "Erlang programmation".

          Bref, le seul truc qui manque, c'est l'idée du programme à réaliser pour se rendre réellement compte des possibilités de ce langage. Perso, j'crois que je vais me laisser tenter par un serveur IRC ^_^

          /me retourne à son arbre de supervision
  • # Installeur graphique pour MacOSX

    Posté par (page perso) . Évalué à 3.

    Un installeur graphique pour MacOSX vient juste d'être publié. Il s'intègre dans le panneau de préférences du système.
    Il vient compléter l'installeur graphique pour Linux et Windows.

    Il est téléchargeable sur la page de téléchargement d'ejabberd: http://www.process-one.net/en/projects/ejabberd/download.htm(...)

    Mickaël

  • # Version 1.1.1

    Posté par (page perso) . Évalué à 3.

    Une version 1.1.1 vient de sortir et corrige un bug découvert après la sortie de la version 1.1.0:

    http://www.process-one.net/en/projects/ejabberd/releases/rel(...)

    Mickaël

  • # Google Summer of code et ejabberd

    Posté par (page perso) . Évalué à 2.

    Si cela intéresse des étudiants, Process-one va tenter de devenir mentor de projets sur ejabberd (dans le cadre de la Jabber Software Foundation):

    http://www.3pblog.net/index.php?entry=entry060501-171640

    Mickaël

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.