• [^] # Re: Et l'exemple qmail ?

    Posté par . En réponse à la dépêche Exec Shield: protection contre les débordements de tampons. Évalué à 2.

    > de gerer le timestamp et la ligne a ecrire.

    Le timestamp, n'est pas nécessaire pour logrotate. Et logrotate peut même te gérer des fichiers binaires au format "stupide".

    > Ainsi peu importe ce qu'il se passera note deamon n'auras _jamais_ le probleme du manque de plus de place sur le disque, ou de gerer un eventuel SIGHUP, ou de bien tout fermer en redamarrant completement.

    J'ai rien contre les nouveaux systèmes, mais l'actuel est correct. S'il était "tout pourri" et devait être "bannit", il ne serait plus là depuis un moment.

    > 'rotatelogs' au final complique la vie du programmeur.

    Suffit de trouver un moyen pour ouvrir et fermer les fichiers logs pour les processus qui sont "résidants". Pas plus.

    Je n'ai pas dit que logrotate était génial. J'ai seulement dit que j'aime bien.Le probleme ce n'est pas ca.

    > Ce n'est pas non plus sa reentracy c'est que le random associe est completement pourri. Du man:

    > BUGS
    > Never use this function. Use mkstemp(3) instead.

    C'est les pages infos qui font références. Je voulais dire que tmpnam() n'est pas un problème de sécurité si c'est bien utilisé (attention à l'umask entre autre). Je l'ai utilisé à une époque où il n'y avait pas le choi. mkstemp est meilleur, c'est claire.
    Mais le mieux est d'utiliser tmpfile(). Avoir des noms de fichier, c'est pour le communiquer à d'autre processus.

    > un const char * comme argument. Entre deux appels le fichier decrit par le parametre peut etre devenu un lien symbolique ou hard sur autrechose...
    Il faut donc toujours travailler avec des fd.

    Juste.

    Plus globalement, je ne nie pas qu'il y a de meilleurs solutions. Mais tu critiques syslog, parles d'apache alors qu'apache n'utilise pas syslog etc... De plus apache utilise plusieurs fichiers de log (access, error, referer, ssl, etc...) (Et le format n'est pas dicté par syslog ou logrotate!). Tu critique l'utilisatation de /var/run/httpd.pid, alors que c'est aussi là pour avoir plusieurs serveurs web sur une même machine (dont un en chroot par exemple). Désolé mais tu fais dans le FUD (bannir syslog, tmpnam, etc...) pour caser des solutions plus innovantes et ça me gonfle.

    Longue vie aux daemontools etc... qui font peut-être parti de l'avenir d'Unix/Linux. Mais c'est pour pour autant que l'existant est de la "merde" et n'a pas certains bénéfices. Je sais, je suis dure.

    Bon, on va pas se facher. C'est beaucoup une histoire de "goûts et couleurs" et d'habitude.