Liens connexes

Dépêche modérée par

Dépêche éditée par

: Sendmail X : vers une réécriture majeure

Posté par patrick_g (page perso, ). Modéré le 25 novembre 2004.
0
Sendmail (actuellement en version 8.13.1) est un programme libre de transfert de mail (Mail Transfert Agent ou MTA)*.
Le projet Sendmail a été lancé en 1979 par Eric Allman. Il a longtemps constitué le serveur SMTP de référence du monde du libre et continue à être extrêmement répandu. Pourtant plusieurs problèmes demeurent :
- C'est l'archétype du logiciel gros et complexe ;
- Il a connu de nombreuses failles de sécurité critiques ;
- Son fichier de configuration est difficilement compréhensible ;
- Ses performances ne sont pas optimales.

Pour remédier à ces faiblesses, une réécriture majeure est prévue - au point que l'on peut se demander si il est opportun de conserver le nom du programme.
L'idée générale est de fragmenter au maximum le programme (qui est actuellement assez monolithique) pour se diriger vers une architecture légère et modulaire regroupant plusieurs processus coopérants. Le fichier de configuration utilisera une syntaxe proche du C.

> Lire la suite (56 commentaires, moyenne: 3,2).   [dépêche : 1945 caractères]

Le design général de SendmailX :
- Le queue manager est le coeur de SendmailX : son rôle est de gérer les messages et de les déplacer dans le système, de prendre les décisions de délivrance, etc.
- Le SMTP server accepte les mails entrants venant du réseau et les envoie vers le queue manager
- Le SMTP client passe les mails aux autres systèmes pour réception.
- Le address resolver est chargé de comprendre et de réécrire l'adresse du destinataire ; il s'occupe également du filtrage général et des listes noires
- Le master control program contrôle tous les autres processus et gère les redémarrages et les contrôles après erreurs (il est dérivé du programme inetd utilisé dans les systèmes BSD)

Une documentation complète est disponible sur le site et il existe également un descriptif extrêmement détaillé du futur logiciel (60 pages pour l'architecture et 100 pages pour la description fonctionnelle).
Une version pré-alpha de SendmailX est téléchargeable sur le site.

(*) Un MTA est un logiciel différent de ceux utilisés pour lire le courrier (comme Evolution, Kmail ou Thunderbird) : ces programmes sont des Mail User Agent (MUA).

Commentaires :
Parmi les divers commentaires postés sur Linux Weekly News beaucoup insistent sur les alternatives à Sendmail qui sont déjà sécurisés et modulaires (Postfix ou Qmail).
D'autres sont en désaccord avec le fait d'utiliser le C pour coder le programme et préféreraient un langage de plus haut niveau (comme Postmaster qui utilise Haskell).
Le sentiment général qui se dégage est que cette réécriture arrive beaucoup trop tard et qu'un grand nombre de gens utilise déjà un MTA plus moderne et plus efficace que Sendmail.

PS : la licence de SendmailX va également changer par rapport à celle de Sendmail 8 mais elle reste libre.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

1/4 de siecle

Posté par Jiel (page perso, ) le 25/11/2004 à 23:01. (lien). Évalué à 10.

Ca fait plaisir de voir que des projets aussi vieux continuent d'evoluer 25 ans apres :)

prototype ?

Posté par Christophe Fergeau () le 25/11/2004 à 23:30. (lien). Évalué à 10.

> C'est le prototype du logiciel gros et complexe

c'est pas plutôt archétype ?

qmail ?

Posté par Rolland Dudemaine () le 25/11/2004 à 23:54. (lien). Évalué à 5.

L'idée générale est de fragmenter au maximum le programme (qui est actuellement assez monolithique) pour se diriger vers une architecture légère et modulaire regroupant plusieurs processus coopérants.

Hmm, ca me fait vaguement penser a un des principaux concurrents de sendmail, qmail, qui est architecture comme ca depuis le depart et eprouve ...

Améliorer plutôt les alternatives

Posté par Fnor () le 26/11/2004 à 00:02. (lien). Évalué à 6.

Le sentiment général qui se dégage est que cette réécriture arrive beaucoup trop tard et qu'un grand nombre de gens utilise déjà un MTA plus moderne et plus efficace que Sendmail.

Tout à fait d'accord. Si c'est pour réécrire Postfix, je vois vraiment pas l'intérêt. Mieux voudrait utiliser le temps et les idées des (re)développeur de Sendmail pour encore améliorer Postfix et Qmail.

Il faut reconnaître que Sendmail a eu son heure de gloire et qu'il ne l'a pas volé. Merci Sendmail, tu as bien mérité ta retraire !! :-)

Capillotractage

Posté par Olivier G. (page perso, ) le 26/11/2004 à 07:43. (lien). Évalué à 0.

Attention, le verbe "pallier" est transitif: "pallier à ces faiblesses".
De plus, "pallier" signifie "atténuer un défaut" et non y remédier... À moins qu'il ne soit prévu que Sendmail ne reste ce programme "usé, vieilli, fatigué" (comme disait Lionel J) que l'on connait ;)

Mes 0,02 EUR

ça sent mauvais dès le début.

Posté par patrick_g (page perso, ) le 26/11/2004 à 08:23. (lien). Évalué à 4.

à noter un truc pas trop cool (voir carrément pourri) c'est que la documentation complète n'est pas en accès libre !!!

Currently access to the sendmail X design document is restricted to those who are really willing to provide feedback.


ç'est un peu limite quand on veut tenter d'attirer des devs je trouve....

Langage de configuration en C

Posté par Philippe Fremy (page perso, ) le 26/11/2004 à 09:53. (lien). Évalué à 9.

Je veux pas etre mechant, mais utiliser le C comme langage de configuration et pretendre qu'on va simplifier la config me paraissent deux concepts qui n'ont rien a faire ensemble.

Pourquoi ne pas ecrire la configuration en assembleur ? Emacs a prouve aussi qu'avec sa config en lisp, c'est _difficile_ de modifier des options et de changer des trucs pour les debutants. Evidemment, c'est un regal pour les experts.

Je vois pas en quoi le C se prete bien a un langage de configuration. Ca veut dire qu'ils vont embarquer un mini-compilateur ?

A mon sens, il ne doit y avoir que deux types de langages de configuration:
- pas trop complexe : paires de cle / valeurs, eventuellement organisees en section (.ini sous windows, .desktop sous linux, fichiers de config sous KDE, lilo.conf, ....)
- complexe : xml

xml est assez lourd me se prete bien justement a des configurations complexes. Il est bien maitrise par tout le monde, c'est facile d'ecrire un frontend, de generer des config, de les verifier. Mais il ne faut l'utiliser que quand ca devient critique, avec plus de 100 cles et des hierarchies de config qui peuvent se customiser ou se surcharger.

Numérotation

Posté par Jllc () le 26/11/2004 à 16:23. (lien). Évalué à 2.

Y'a un truc bizarre, même si c'est anecdotique, c'est que Sendmail passe de la version 8 (8.13.1 dans la news) à la version 10 (X). Ils ne savent pas compter, ou le chiffre 9 ne plait pas ?

J'ai déjà remarqué la même chose avec Bind, qui (je crois) a sauté quelques numéros de versions.

A moins que ce ne soit des branches de développement tombées à l'eau ?

[+] c'est postfix

Posté par billy (page perso, ) le 29/11/2004 à 00:24. (lien). Évalué à -1.

queue manager
master process
smtpd
smtp

bienvenue dans postfix, pourquoi réecrire sendmail.

Mon commentaire

Posté par Thibaut Maquet (page perso, ) le 30/11/2004 à 11:57. (lien). Évalué à 2.

Bonjour,

>qu'un grand nombre de gens utilise déjà un MTA plus moderne et plus efficace que Sendmail.

J'apporte un démenti à ce que vous dites. Il y a de cela un an (certes), j'ai écris un petit programme en C qui tire au hasard des adresses IP, vérifie si la machine héberge un serveur SMTP et tente d'identifier le MTA.

Le résultat est sans appel, c'est là:
http://www.pagasa.net/mail/sondage/stat.html(...)

Cordialement
Thibaut Maquet

Fragmenté...

Posté par Sidoine de Wispelaere (page perso, ) le 03/12/2004 à 09:53. (lien). Évalué à 2.

C'est peut-être bien pour les gros systèmes qui ont à gérer plein de courrier, mais j'aimerais bien savoir si il n'existe pas l'inverse, c'est à dire un programme centralisé qui fait tout, comme Exchange sous Windows, et pas seulement SMTP mais aussi POP et IMAP avec gestion de plusieurs domaines. Parce que là sur mon site j'ai qmail+patchs+vpopmachin+jesaisplusquoi et c'est l'enfer à maintenir. Un utilisateur différent pour chaque programme, autant de groupes, des répertoires, des fichiers de configuration... tout ça pour une dizaine d'adresses, ça me semble beaucoup de peine.

Revenir en haut de page