Apache HTTPd Devs considéré comme nuisible

[PROJET] Dernière mise à jour par Joe Schaefer sur ven., 26 avr. 2024    source
 

goudronné et plumé.

Arrière-plan

Au cours des 25 dernières années, j’ai été le développeur principal de apreq sous-projet au sein du Serveur Apache HTTPd Projet parent. L’idée originale de libapreq, en tant que coffre-fort/performant Soumission de formulaire HTML et Biscuit.

C’était ma vision à l’époque de transformer la bibliothèque en une bibliothèque générique, non liée à Perl. C bibliothèque qui prendrait en charge les liaisons de langage d’autres langages de programmation, c’est pourquoi j’ai poussé pour que le projet soit maison sous le parapluie HTTPd au lieu de Apache-Perl.

Avec l’avènement de HTTPD-2. X, un tout nouveau Filtre d'E/S L’architecture a émergé de httpd ainsi que la séparation complète des APR du cœur lui-même en tant qu’exécution de portabilité POSIX à usage plus général pour C projets comme Subversion. En fait, libapreq2 est plus proche de la Apache APR projet dans cet esprit, et son API Perl reflète cela dans son APR : : Demande création. Il dispose d’un mode CGI intégré pour un fonctionnement autonome, en dehors du httpd

Pourtant, la composante clé de apreq2 a toujours été le mod_apreq2 Le module Apache, conçu pour la première fois par Bill Wrowe au début des années 2000. Ce qu’il a conçu, lors d’une séance de brainstorming avec moi (en personne), était une bibliothèque d’analyseurs unique interne à httpd

J’ai expliqué les objectifs de conception à plusieurs reprises au fil des ans, même en 2012 sur dev@httpd.

Rassemblement de nuages orageux

Bien que cette vision ait connu un franc succès, les liaisons linguistiques sont disponibles pour plusieurs langues telles que Perle, PHP, TCL, RR, etc., depuis environ 2010, il s’est avéré tragique pour le communauté d’utilisateurs existante comprenant tous, pas seulement les membres de la Perle

Que t’est-il arrivé ? Philip Gollucci, un de mes collègues Perl/FreeBSD à l’époque, a commencé à s’agiter pour que nous promouvions le projet à libérer de l’intérieur du serveur HTTPd lui-même. Quoi Philippe ne savait pas très bien à l’époque à quel point Poissons, vapeurs et territoires Cette équipe était devenue, ce qui aurait signifié avoir à collaborer directement avec eux sur décisions orientées utilisateur.

En 2012, Philip a obtenu ce qu’il voulait et j’ai cessé de résister, alors il a fourche le projet existant et copié le C

Chute

En 2018.

En 2020 environ, l’équipe de sécurité de Google a profité d’une version alpha de httpd 2.5 en brouillant sa copie de 8 ans de apreq2

Au lieu d’avoir la courtoisie de tendre la main à Philippe, Issac Goldstand, Max Kellermann (@MaxKellermann), moi-même (@joesuf4), ou toute autre personne impliquée dans le développement de libapreq2

Mais le coup de grâce a été la sortie en 2022 de 2,17, dans lequel le développeur rookie introduit intentionnellement un bug fatal dans la base de code, rupture Un test de régression de dix-neuf ans.

Postmortem

Si vous demandez comment quelque chose avec un test de régression cassé se termine sur CPAN, vous devrez examiner comment RELENG.

Longue histoire courte, Ils ont commenté le test et l’a expédié de toute façon, et l’a appelé une version de sécurité qui a corrigé une vulnérabilité chaque fois qu’une version antérieure était susceptible de.

Logo Superman.

Pourquoi je m’en soucie maintenant ? Parce que je suis le suceur les utilisateurs contactent pour obtenir des réponses.

Cela craint, mais je suis désolé de vous dire que mes jours de port de la cape Superman à Apache se sont terminés il y a environ une décennie.

Lien permanent  #apache   #httpd   #libapreq2   #mod_apreq2   #mod_perl  

 

   

Commentaires  

...constitués de tous... par Joe Schaefer le  

Gardez à l’esprit que la plupart de la communauté d’utilisateurs existante déploie mod_apreq2 dans un cluster de niveau intermédiaire derrière des passerelles HTTPS. Par conséquent, les statistiques signalées par https://webtechsurvey.com/technology/mod_apreq2 ne représentent qu’une fraction de la base d’utilisateurs déployée totale.


 



Index

Heyoka



NonFunctional Tests


 

  • Listes de diffusion — Ces adresses temporaires sont anathèmes à ezmlm-idxles systèmes d’abonnement et de modération … jeu., 02 mai 2024

 


 

  • Git et non-répudiation — Il y a une distinction claire entre l’histoire “commit” et l’histoire “upload”. … jeu., 02 mai 2024

 

  • La joie de DTrace — Mesurez deux fois, coupez une fois, avant de vous lancer dans un effort d’optimisation de code … mer., 17 avr. 2024

 


COVID-19 mars 2020

  • Croissance exponentielle et COVID-19 — Prenez votre temps avec la section mathématiques — Il est important d’être un consommateur averti de statistiques pertinentes pour la pandémie actuelle … lun., 30 janv. 2023

 

  • Sur le problème du spam… — Le meilleur plugin pour qpsmtpd, bien qu’il soit difficile de comprendre pourquoi … dim., 29 janv. 2023

Nid d'abeille hyperbolique


 

  • Fun avec htop — Fonctionnalités htop avancées sur les plates-formes Unix populaires … jeu., 19 janv. 2023

Architecture des informations

  • Architecture des informations — Toute la gamme de technologies pertinentes pour la conception, la présentation, les relations et les contraintes architecturales qui couvrent chaque URL que vous servez … lun., 11 mars 2024

Dépendances de la langue anglaise


 

  • Le mouvement DevOps — La grande idée derrière le “mouvement” n’est pas simplement de donner aux développeurs plus de corde … ven., 26 avr. 2024

 

  • Performances des applications — De nombreux développeurs tombent dans le piège de penser que l’optimisation des performances consiste à rendre chaque ligne de code aussi efficace que possible. … ven., 26 avr. 2024