Rechercher

4.13. Langages de programmation dynamiques, serveurs web et de base de données

download PDF

Le flux de modules nodejs:18 est désormais entièrement pris en charge

Le flux du module nodejs:18, précédemment disponible en tant qu'aperçu technologique, est entièrement pris en charge avec la publication de l'avis RHSA-2022:8832. Le flux de modules nodejs:18 fournit désormais Node.js 18.12, qui est une version de support à long terme (LTS).

Node.js 18 inclus dans RHEL 9.1 apporte de nombreuses nouvelles fonctionnalités ainsi que des corrections de bogues et de sécurité sur Node.js 16.

Les changements les plus notables sont les suivants :

  • Le moteur V8 est passé à la version 10.2.
  • Le gestionnaire de paquets npm a été mis à jour vers la version 8.19.2.
  • Node.js propose désormais une nouvelle API expérimentale fetch.
  • Node.js propose désormais un nouveau module expérimental node:test, qui facilite la création de tests dont les résultats sont présentés dans le format Test Anything Protocol (TAP).
  • Node.js préfère désormais les adresses IPv6 aux adresses IPv4.

Pour installer le flux du module nodejs:18, utilisez :

# dnf module install nodejs:18

(BZ#2083072)

Un nouveau flux de modules : php:8.1

RHEL 9.1 ajoute PHP 8.1 en tant que nouveau flux de modules php:8.1.

Avec PHP 8.1, vous pouvez :

  • Définir un type personnalisé limité à une valeur parmi un nombre discret de valeurs possibles à l'aide de la fonctionnalité des énumérations (Enums)
  • Déclarer une propriété avec le modificateur readonly pour empêcher la modification de la propriété après l'initialisation
  • Utiliser des fibres, des fonctions interruptibles à pile complète

Pour installer le flux du module php:8.1, utilisez :

# dnf module install php:8.1

Pour plus d'informations sur l'utilisation de PHP sur RHEL 9, voir Utilisation du langage de script PHP.

(BZ#2070040)

Un nouveau flux de modules : ruby:3.1

RHEL 9.1 introduit Ruby 3.1.2 dans un nouveau flux de modules ruby:3.1. Cette version apporte un certain nombre d'améliorations de performance, de corrections de bogues et de sécurité, ainsi que de nouvelles fonctionnalités par rapport à Ruby 3.0 distribué avec RHEL 9.0.

Parmi les améliorations notables, citons

  • L'utilitaire Interactive Ruby (IRB) propose désormais une fonction d'autocomplétion et une boîte de dialogue de documentation
  • Une nouvelle gemme debug, qui remplace lib/debug.rb, améliore les performances et prend en charge le débogage à distance et le débogage multiprocessus/multithread
  • La gem error_highlight fournit maintenant une localisation fine des erreurs dans le backtrace
  • Les valeurs des types de données littérales de hachage et des arguments de mots clés peuvent désormais être omises
  • L'opérateur d'épinglage (^) accepte désormais une expression dans la recherche de motifs
  • Les parenthèses peuvent désormais être omises dans la recherche de motifs sur une seule ligne
  • YJIT, un nouveau compilateur expérimental Just-in-Time (JIT) in-process, est désormais disponible sur les architectures AMD et Intel 64 bits
  • L'utilitaire TypeProf For IDE a été introduit. Il s'agit d'un outil expérimental d'analyse statique de type pour le code Ruby dans les IDE

Les améliorations suivantes ont été apportées au compilateur Just-in-Time basé sur la méthode (MJIT) :

  • Pour les charges de travail telles que Rails, la valeur maximale par défaut du cache JIT est passée de 100 à 10000
  • Le code compilé à l'aide de JIT n'est plus annulé lorsque l'option TracePoint pour les événements de classe est activée

D'autres changements notables sont à signaler :

  • Le fichier tracer.rb a été supprimé
  • Depuis la version 4.0, l'analyseur YAML de Psych utilise par défaut la méthode safe_load

Pour installer le flux du module ruby:3.1, utilisez :

# dnf module install ruby:3.1

(BZ#2063773)

httpd repassé à la version 2.4.53

Le serveur HTTP Apache a été mis à jour vers la version 2.4.53, qui apporte des corrections de bogues, des améliorations et des correctifs de sécurité par rapport à la version 2.4.51 distribuée avec RHEL 9.0.

Les changements notables apportés aux modules mod_proxy et mod_proxy_connect sont les suivants :

  • mod_proxy: La limite de longueur du nom du contrôleur a été augmentée
  • mod_proxy: Vous pouvez maintenant configurer sélectivement les délais d'attente pour le backend et le frontend
  • mod_proxy: Vous pouvez maintenant désactiver la redirection des connexions TCP en définissant le paramètre SetEnv proxy-nohalfclose
  • mod_proxy et mod_proxy_connect: Il est interdit de modifier un code de statut après l'avoir envoyé à un client

En outre, une nouvelle fonction ldap a été ajoutée à l'API d'expression, ce qui peut aider à prévenir la vulnérabilité de l'injection LDAP.

(BZ#2079939)

Une nouvelle valeur par défaut pour la directive LimitRequestBody dans la configuration de httpd

Pour corriger CVE-2022-29404, la valeur par défaut de la directive LimitRequestBody dans le serveur HTTP Apache a été modifiée de 0 (illimité) à 1 GiB.

Sur les systèmes où la valeur de LimitRequestBody n'est pas explicitement spécifiée dans un fichier de configuration httpd, la mise à jour du paquet httpd fixe LimitRequestBody à la valeur par défaut de 1 GiB. Par conséquent, si la taille totale du corps de la requête HTTP dépasse cette limite par défaut de 1 GiB, httpd renvoie le code d'erreur 413 Request Entity Too Large.

Si la nouvelle taille autorisée par défaut du corps d'un message de requête HTTP est insuffisante pour votre cas d'utilisation, mettez à jour vos fichiers de configuration httpd dans le contexte respectif (serveur, par répertoire, par fichier ou par emplacement) et définissez votre limite préférée en octets. Par exemple, pour définir une nouvelle limite de 2 GiB, utilisez :

LimitRequestBody 2147483648

Les systèmes déjà configurés pour utiliser n'importe quelle valeur explicite pour la directive LimitRequestBody ne sont pas affectés par ce changement.

(BZ#2128016)

Nouveau paquet : httpd-core

À partir de RHEL 9.1, le fichier binaire httpd contenant tous les fichiers essentiels a été déplacé vers le nouveau paquet httpd-core afin de limiter les dépendances du serveur HTTP Apache dans les scénarios où seule la fonctionnalité de base httpd est nécessaire, par exemple, dans les conteneurs.

Le paquet httpd fournit désormais des fichiers liés à systemd, notamment mod_systemd, mod_brotli, et de la documentation.

Avec cette modification, le paquet httpd ne fournit plus la valeur du numéro magique du module (MMN) httpd. C'est le paquet httpd-core qui fournit désormais la valeur httpd-mmn. Par conséquent, il n'est plus possible de récupérer httpd-mmn à partir du paquet httpd.

Pour obtenir la valeur httpd-mmn du binaire httpd installé, vous pouvez utiliser le binaire apxs, qui fait partie du paquetage httpd-devel. Pour obtenir la valeur de httpd-mmn, utilisez la commande suivante :

# apxs -q HTTPD_MMN
20120211

(BZ#2065677)

pcre2 repassé à la version 10.40

Le paquetage pcre2, qui fournit la bibliothèque Perl Compatible Regular Expressions v2, a été mis à jour à la version 10.40.

Avec cette mise à jour, l'utilisation de la séquence d'échappement \K dans les assertions de type "lookaround" est interdite, conformément au changement correspondant dans Perl 5.32. Si vous comptez sur le comportement précédent, vous pouvez utiliser l'option PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK. Notez que lorsque cette option est activée, \K n'est accepté que dans les assertions positives et est ignoré dans les assertions négatives.

(BZ#2086494)

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.