Je t'assurer que du C avec des malloc/realloc dans tous les sens et des vérifications d'erreur de partout est encore 10 à 100 fois plus rapide que du perl ou du python...
Ceci dit, quand la tenue à la charge n'est pas une priorité, ça peut très bien se faire, et même que ça existe. Regarde du côté de pyftpd, par exemple.
Ils se souviennent, au mois de mai,
d'un sang qui coula rouge et noir,
d'une révolution manquée
qui faillit renverser l'Histoire.
J'me souviens surtout d'ces moutons,
effrayés par la Liberté,
s'en allant voter par millions
pour l'ordre et la sécurité.
Vous remplacez « hexagone » par « vieux continent », et rien n'a encore changé.
Alors c'est quoi un tampon qui n'a pas de taille fixe ?
Un tampon dont tu calcules la taille avant de l'allouer.
C'est l'une des règles de base des GNU coding standards : aucune limitation arbitraire. Et un tampon de taille fixée, c'est une limitation arbitraire. Je trouve l'exemple du PATH_MAX assez révélateur.
Sinon, strdup est bien joli, mais il alloue a chaque fois de la RAM, pas tres utilisable.
Quand on fait un serveur, il faut savoir sacrifier certaines choses sur l'autel de la sécurité. Je pense qu'une légère perte de performances est largement compensée par le gain. Qui plus est, les sections qui consomment beaucoup de temps de calcul sont en général assez courtes, et il vaut mieux concentrer les efforts d'optimisation dessus.
Le problème, c'est que Codeweavers contribue beaucoup à Wine, tout en gardant un certain nombre de choses pouvant venir se greffer dessus sous forme propriétaire.
Transgaming a choisi une approche radicalement différente : modifier le code source de Wine pour en faire quelque chose de propriétaire, sans répercuter toutes les modifications. Ils en avaient bien entendu le droit (licence X11), mais tu peux comprendre que ça foute les glandes à Codeweavers.
Rien n'empêche Transgaming d'utiliser la même approche que Codeweavers (d'ailleurs, ils ont des modules propriétaires venant se greffer sur un WineX sous licence Aladdin), en contribuant à la version LGPL au lieu d'abuser de la version X11 ; tout le monde en profiterait, eux les premiers.
Bref, tout ça pour faire remarquer que Codeweavers a changé la licence pour faire quelque chose de libre, alors que Transgaming a choisi une licence non libre. Donc oui, ça fait une grosse différence. Codeweavers n'a abusé de personne.
Vous n'avez toujours pas compris que je n'ai jamais parlé d'allouer de tampons de taille fixe, que ce soit statiquement ou dynamiquement ?
J'ai déjà passé des journées entières à traquer ce genre de saloperies dans le code.
Cela dit, personnellement, j'utilise très peu strcpy et strcat (voire jamais), je préfère strdup qui fait déjà tout le boulot.
Si tu prends par exemple perl ou python, ils ont plein de bibliothèques, ils ont une bonne plate-forme de développement, et ce sont de très bons langages.
Le C est un langage quasiment inutile à l'informatique, les codeurs de noyeaux et autres drivers sont marginaux et devraient utiliser ADA.
Mais c'est qu'il en rajoute...
Je renonce. Objective Caml est certainement un très bon langage pour faire ce que tu fais, mais il y a d'autres choses dans la vie. Si je me restreignais au C pour programmer, ce serait une catastrophe, mais se restreindre à autre chose n'est pas pour autant une meilleure idée.
Tu parles du C comme un langage de dinos pas plus évolué que le Fortran, mais crois-tu une seconde qu'il serait encore utilisé dans le monde du libre (un monde où on a le choix, pas comme dans l'industrie ou les SSII) si c'était le cas ?
Et si tu comprends pas, je lache l'affaire. En tout cas Open Office est loin d'être libre.
Si tu veux faire un fork d'openoffice.org sous licence GPL, personne ne pourra t'en empêcher.
Le fait qu'un logiciel soit libre n'impose pas qu'ils intègrent tes contributions dans leur version du logiciel. La version « officielle » reste sous leur contrôle, mais ça n'en reste pas moins un logiciel parfaitement libre.
Là, je crois vraiment que tu te trompes: la LGPL est la GPL avec des clauses en moins qui la rendent moins restrictive. En particulier les softs LGPL peuvent être modifiés sans que le source de ces modifs ne soient distribuées (ce qui est le cas de StarOffice 6.0 par exemple).
Gni ?
On parle de système GNU quand il est basé sur les outils et bibliothèques GNU (principalement la libc). Par exemple, GNU/Linux (TOUTES les distributions de GNU/Linux), le Hurd, Cygwin.
Ce que tu as dit ne veut rien dire, Mandrake ayant à peu près la même politique que Debian, à savoir n'intégrer que des logiciels libres.
Par contre, OpenBSD est constitué entièrement de logiciels libres (oui, libres selon la FSF), mais n'est pas un système GNU.
De plus, puisque on est d'humeur a parler secu, un petit coup d'oeil sur les sources et on y trouve pletore de "strcpy" et "strcat", souvent nids de stack overflow...
Pourquoi ? S'ils sont effectués sur des tampons alloués dynamiquement, c'est au contraire un bon moyen d'éviter les débordements.
Merci, je sais qu'Ocaml fait des trucs très bien, même si le fonctionnel pur n'est pas un truc qui me tente spécialement, mais il y a plein d'autres langages qui font des trucs très bien, tu sais. Pour moi, le C en fait partie, d'ailleurs.
Le problème n'est pas là. Le problème, ce sont les gens comme toi qui racontent à tort et à travers qu'il ne faut pas faire de C parce que c'est une usine à trous de sécurité. Il n'y a rien de plus faux, et il n'y a pas de raison de penser que quelqu'un qui fait des grouikeries en C ne les fera pas dans un autre langage. Un autre langage peut être une solution aux problèmes du langage, pas aux problèmes humains ; et les débordements de tampon en C ne sont pas un problème du langage mais du programmeur.
Et apprendre le C au lieu de raconter n'importe quoi dessus, ça te dirait ?
Le mec qui fait de l'arithmétique de pointeurs ou des bidouilles sur la pile dans un programme setuid ou un serveur, il ferait mieux de se mettre à un autre boulot. Et ne me raconte pas qu'en utilisant un autre langage ça ira mieux.
Pour ce qui est de courier, il est vraiment très bien, mais je crois qu'il ne marche pas avec les boîtes aux lettres par défaut, il lui faut du maildir.
Sauf que Transgaming ne joue pas le jeu en gardant une partie du code pour faire des trucs plus ou moins propriétaires.
Pourquoi crois-tu que Codeweavers a fait changer la licence pour la LGPL ? Personne n'empêche Transgaming de contribuer à la version libre, mais ils ne le font pas, et jusqu'au changement de licence ça marchait à sens unique. Maintenant, s'ils veulent profiter de la version LGPL, ils doivent jouer le jeu et répercuter leurs modifications.
Openoffice est mi Gnu mi license Sun, ça je l ai pas inventé:
Et alors ? Le fait qu'il soit aussi disponible sous licence SISSL ne change rien.
Rien ne t'oblige à accepter la licence SISSL si tu acceptes la LGPL.
Mandrake n est pas un système Gnu/Linux sinon on dirait GNU/mandrake ...
N'importe quoi...
Commence par trouver un système Linux qui ne soit pas GNU/Linux, qu'on rigole. Alors il faudrait le compiler avec ICC (ça ne fait pas longtemps qu'il peut compiler le noyau, lui), utiliser les utilitaires de base réécrits en perl, et... ah merde, pour faire marcher perl, il faut la glibc.
C'est un pitoyable rattrapage diplomatique. Ils ont énoncé des menaces très claires, et s'ils veulent changer leur licence, qu'ils le fassent. La licence actuelle est assez bien énoncée pour que le développeur sache ce qu'il peut faire avec, à savoir la même chose que pour gs-aladdin.
En plus, ils demandent que la distribution non-free ne soit pas financée par la publicité, ce que rien ne garantit (surtout pour les distributions par CD), c'est déjà une modification de la licence.
[^] # Re: merci :)))
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 1.
Ceci dit, quand la tenue à la charge n'est pas une priorité, ça peut très bien se faire, et même que ça existe. Regarde du côté de pyftpd, par exemple.
# Rien n'a changé
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche L'Europe dit oui à la rétention des données. Évalué à 10.
d'un sang qui coula rouge et noir,
d'une révolution manquée
qui faillit renverser l'Histoire.
J'me souviens surtout d'ces moutons,
effrayés par la Liberté,
s'en allant voter par millions
pour l'ordre et la sécurité.
Vous remplacez « hexagone » par « vieux continent », et rien n'a encore changé.
[^] # Re: merci :)))
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 3.
Un tampon dont tu calcules la taille avant de l'allouer.
C'est l'une des règles de base des GNU coding standards : aucune limitation arbitraire. Et un tampon de taille fixée, c'est une limitation arbitraire. Je trouve l'exemple du PATH_MAX assez révélateur.
Sinon, strdup est bien joli, mais il alloue a chaque fois de la RAM, pas tres utilisable.
Quand on fait un serveur, il faut savoir sacrifier certaines choses sur l'autel de la sécurité. Je pense qu'une légère perte de performances est largement compensée par le gain. Qui plus est, les sections qui consomment beaucoup de temps de calcul sont en général assez courtes, et il vaut mieux concentrer les efforts d'optimisation dessus.
[^] # Re: discussion stérile et stupide.
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Transgaming et Debian. Évalué à 2.
Transgaming a choisi une approche radicalement différente : modifier le code source de Wine pour en faire quelque chose de propriétaire, sans répercuter toutes les modifications. Ils en avaient bien entendu le droit (licence X11), mais tu peux comprendre que ça foute les glandes à Codeweavers.
Rien n'empêche Transgaming d'utiliser la même approche que Codeweavers (d'ailleurs, ils ont des modules propriétaires venant se greffer sur un WineX sous licence Aladdin), en contribuant à la version LGPL au lieu d'abuser de la version X11 ; tout le monde en profiterait, eux les premiers.
Bref, tout ça pour faire remarquer que Codeweavers a changé la licence pour faire quelque chose de libre, alors que Transgaming a choisi une licence non libre. Donc oui, ça fait une grosse différence. Codeweavers n'a abusé de personne.
[^] # Re: merci :)))
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 1.
J'ai déjà passé des journées entières à traquer ce genre de saloperies dans le code.
Cela dit, personnellement, j'utilise très peu strcpy et strcat (voire jamais), je préfère strdup qui fait déjà tout le boulot.
[^] # Re: tampons dynamiques => pas de débordement de buffer : Mort de rire !!!
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 0.
Sauf que ces bugs sont beaucoup plus faciles à détecter, avec un malloc debugger par exemple, car ils sont systématiques.
[^] # Re: Encore un WU-gruyere !
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 1.
On dirait bien qu'ils ont changé leur licence, et il n'y a pas très longtemps.
C'est une très bonne nouvelle, ça !
[^] # Re: Mort de rire
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 1.
Non, ça n'explique pas tout.
[^] # Re: Pardon
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Fin de Star Office 5.2. Évalué à 2.
Par contre, tu peux lier un soft propriétaire à un soft LGPL sans qu'il y ait de contraintes sur sa licence, alors que c'est impossible avec la GPL.
[^] # Re: Encore un WU-gruyere !
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à -3.
(-1, je marche encore dans le troll)
[^] # Re: Mort de rire
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 1.
Mais c'est qu'il en rajoute...
Je renonce. Objective Caml est certainement un très bon langage pour faire ce que tu fais, mais il y a d'autres choses dans la vie. Si je me restreignais au C pour programmer, ce serait une catastrophe, mais se restreindre à autre chose n'est pas pour autant une meilleure idée.
Tu parles du C comme un langage de dinos pas plus évolué que le Fortran, mais crois-tu une seconde qu'il serait encore utilisé dans le monde du libre (un monde où on a le choix, pas comme dans l'industrie ou les SSII) si c'était le cas ?
Sans oublier le problème des bibliothèques...
[^] # Re: petite rectification...
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Fin de Star Office 5.2. Évalué à 3.
Si tu veux faire un fork d'openoffice.org sous licence GPL, personne ne pourra t'en empêcher.
Le fait qu'un logiciel soit libre n'impose pas qu'ils intègrent tes contributions dans leur version du logiciel. La version « officielle » reste sous leur contrôle, mais ça n'en reste pas moins un logiciel parfaitement libre.
[^] # Re: Tsk, Tsk...
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Fin de Star Office 5.2. Évalué à 1.
Ah non pas du tout, efface.
Et relis la LGPL.
[^] # Re: Qu'est-ce que tu racontes ????
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Fin de Star Office 5.2. Évalué à 2.
On parle de système GNU quand il est basé sur les outils et bibliothèques GNU (principalement la libc). Par exemple, GNU/Linux (TOUTES les distributions de GNU/Linux), le Hurd, Cygwin.
Ce que tu as dit ne veut rien dire, Mandrake ayant à peu près la même politique que Debian, à savoir n'intégrer que des logiciels libres.
Par contre, OpenBSD est constitué entièrement de logiciels libres (oui, libres selon la FSF), mais n'est pas un système GNU.
[^] # Re: Encore un WU-gruyere !
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 2.
Pourquoi ? S'ils sont effectués sur des tampons alloués dynamiquement, c'est au contraire un bon moyen d'éviter les débordements.
[^] # Re: Mort de rire
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 3.
Le problème n'est pas là. Le problème, ce sont les gens comme toi qui racontent à tort et à travers qu'il ne faut pas faire de C parce que c'est une usine à trous de sécurité. Il n'y a rien de plus faux, et il n'y a pas de raison de penser que quelqu'un qui fait des grouikeries en C ne les fera pas dans un autre langage. Un autre langage peut être une solution aux problèmes du langage, pas aux problèmes humains ; et les débordements de tampon en C ne sont pas un problème du langage mais du programmeur.
[^] # Re: Dommage, je n'ai plus de [-]
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 0.
[^] # Re: Mort de rire
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 0.
Le mec qui fait de l'arithmétique de pointeurs ou des bidouilles sur la pile dans un programme setuid ou un serveur, il ferait mieux de se mettre à un autre boulot. Et ne me raconte pas qu'en utilisant un autre langage ça ira mieux.
[^] # Re: Encore un WU-gruyere !
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 1.
Pour ce qui est de courier, il est vraiment très bien, mais je crois qu'il ne marche pas avec les boîtes aux lettres par défaut, il lui faut du maildir.
[^] # Re: Ya pas l'feu au lac !
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Fin de Star Office 5.2. Évalué à 5.
[^] # Re: Mort de rire
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à -1.
Ouiiiiiin, je veux un compilateur Python !
[^] # Re: discussion stérile et stupide.
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Transgaming et Debian. Évalué à 8.
Pourquoi crois-tu que Codeweavers a fait changer la licence pour la LGPL ? Personne n'empêche Transgaming de contribuer à la version libre, mais ils ne le font pas, et jusqu'au changement de licence ça marchait à sens unique. Maintenant, s'ils veulent profiter de la version LGPL, ils doivent jouer le jeu et répercuter leurs modifications.
[^] # Re: Qu'est-ce que tu racontes ????
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Fin de Star Office 5.2. Évalué à 3.
Et alors ? Le fait qu'il soit aussi disponible sous licence SISSL ne change rien.
Rien ne t'oblige à accepter la licence SISSL si tu acceptes la LGPL.
Mandrake n est pas un système Gnu/Linux sinon on dirait GNU/mandrake ...
N'importe quoi...
Commence par trouver un système Linux qui ne soit pas GNU/Linux, qu'on rigole. Alors il faudrait le compiler avec ICC (ça ne fait pas longtemps qu'il peut compiler le noyau, lui), utiliser les utilitaires de base réécrits en perl, et... ah merde, pour faire marcher perl, il faut la glibc.
[^] # Re: changement de licences
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche Transgaming et Debian. Évalué à 2.
En plus, ils demandent que la distribution non-free ne soit pas financée par la publicité, ce que rien ne garantit (surtout pour les distributions par CD), c'est déjà une modification de la licence.
[^] # Dommage, je n'ai plus de [-]
Posté par Jar Jar Binks (site web personnel) . En réponse à la dépêche wu-imapd. Évalué à 1.
http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html#IDX62(...)
http://www.gnu.org/prep/standards_22.html#SEC22(...)