mORMot2 DailyLecture quotidienne des commits upstream

Les limites de redirection s'uniformisent et l'attente POSIX revient sans délai

Les clients HTTP appliquent désormais RedirectMax de façon cohérente dans WinHTTP et libcurl, avec une politique WinHTTP plus stricte contre les rétrogradations et TLS 1.3 activé sur les versions Windows compatibles. RunRedirect sous POSIX n'attend plus tout son délai de sondage après la fermeture de stdout par l'enfant. Les utilisateurs ARM doivent aussi prendre le correctif de normalisation de DoubleToAscii.

En bref

  • Utilisez le build 2.4.17538 pour inclure tous les correctifs de redirection, TLS et DoubleToAscii.
  • TWinHttp et TCurlHttp appliquent désormais RedirectMax au lieu de l'utiliser comme simple interrupteur.
  • RunRedirect sous POSIX revient à la fin du processus enfant sans attendre le délai de lecture configuré.
  • WinHTTP propose TLS 1.3 sous Windows 11 et Windows Server 2022 ou ultérieur.

Conseil de mise à jour

Passez au build 2.4.17538. Retestez les limites de redirection et le rejet HTTPS-vers-HTTP dans WinHTTP et libcurl, le lancement de processus avec RunRedirect sous POSIX et le formatage des Double sur ARM. Les déploiements Windows 11 et Server 2022 peuvent aussi vérifier la négociation TLS 1.3 via TWinHttp.

Build2.4.17531 → 2.4.17538
Commits9
Lignes+153 -75
Lecture2 min

7 sur 7 entrées · 9 commits upstream

Sujets
# Entrée Catégorie Unités
1 Élevée Le formatage des Double ARM lit le bon mot de normalisation d2a_diy_fp_multiply dans mormot.core.text teste désormais PQWordRec(@result.f)^.h après mul64x64 au lieu d'indexer l'élément 1 de PQWordArray. Le nouvel accès désigne directement les 32 bits hauts du résultat 64 bits. Correctifs mormot.core.text 415d148c+1-1

core: fixed DoubleToAscii() normalization after mul64x64()

Impact

Les builds Delphi et FPC ARM n'utilisent plus le mauvais mot pour normaliser l'état Grisu, évitant une sortie DoubleToAscii incorrecte introduite par l'optimisation ARM précédente.

zen010101 · 05:06 UTC · voir le commit sur GitHub →

2 Moyenne RunRedirect sous POSIX revient dès que l'enfant ferme son pipe WaitReadPending traite désormais EINTR comme une absence de données et documente les résultats négatifs pour HUP, ERR ou NVAL sans octets lisibles. RedirectOutput de RunRedirect quitte immédiatement sur ce résultat, avec des cas POSIX pour la sortie, le shell et les codes de retour. Correctifs mormot.core.os+1 f2b61cbc+43-2

core: RunRedirect() on POSIX returns again as soon as the child exits

Impact

Les backends POSIX lançant des commandes courtes n'attendent plus l'expiration de waitfordelayms après la fin de l'enfant. Les signaux interrompant poll sont repris par la boucle au lieu d'être confondus avec un pipe fermé.

zen010101 · 10:21 UTC · voir le commit sur GitHub →

3 Moyenne WinHTTP impose le nombre de redirections et bloque les rétrogradations HTTPS TWinHttp.InternalSendRequest règle WINHTTP_OPTION_REDIRECT_POLICY sur NEVER lorsque RedirectMax vaut zéro et sur DISALLOW_HTTPS_TO_HTTP sinon. Il transmet aussi RedirectMax à WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS et lève une erreur si une option échoue. Correctifs mormot.net.client e37c4af5+16-9

net: honor RedirectMax and check redirect policy in TWinHttp

Impact

TWinHttp ne suit plus davantage de redirections que configuré et rejette les rétrogradations HTTPS-vers-HTTP. Les backends qui dépendaient de ces rétrogradations ou ignoraient les échecs d'option peuvent voir des erreurs de requête.

À regarder

Retestez les appels TWinHttp avec redirections, surtout les chaînes proches de RedirectMax et les endpoints passant de HTTPS à HTTP.

Arnaud Bouchez · 11:01 UTC · voir le commit sur GitHub →

4 Moyenne libcurl ne suit pas plus de redirections que RedirectMax TCurlHttp.InternalCreateRequest continue de piloter coFollowLocation avec RedirectMax, mais règle aussi coMaxRedirs de libcurl sur la valeur positive configurée. Correctifs mormot.net.client 5297eabb+6-3

net: honor RedirectMax in TCurlHttp

Impact

TCurlHttp arrête désormais les chaînes à la limite du framework plutôt qu'à la valeur par défaut de libcurl, ce qui uniformise l'option entre backends HTTP.

À regarder

Retestez les requêtes TCurlHttp riches en redirections si RedirectMax diffère de la limite par défaut de libcurl.

Arnaud Bouchez · 10:49 UTC · voir le commit sur GitHub →

5 Moyenne WinHTTP active TLS 1.3 sur les versions Windows compatibles WindowsSpecs gagne wsTls13 pour Windows 11 et Windows Server 2022 ou ultérieur. TWinHttp.InternalGetProtocols ajoute WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 lorsque cette capacité existe, et SChannel réutilise le même test. Nouveautés mormot.core.os+3 fe064e35+16-13

net: TWinHttp enable TLS 1.3 on Windows 11 or Server 2022

Impact

Les connexions TWinHttp sur les systèmes Windows compatibles peuvent négocier TLS 1.3 sans changement applicatif. Les anciennes versions conservent les protocoles TLS existants.

À regarder

Vérifiez la négociation TLS et la compatibilité des proxys sous Windows 11 ou Server 2022 si les versions de transport sont contraintes.

API publique

  • TWindowsSpec.wsTls13added — Signale le support officiel de TLS 1.3 sous Windows 11 et Windows Server 2022 ou ultérieur.

Arnaud Bouchez · 10:58 UTC · voir le commit sur GitHub →

6 Faible La configuration des redirections WinHTTP est nettoyée et un test fusionné retiré TWinHttp.InternalSendRequest place l'affectation de la longueur de aData dans une instruction séparée après l'option RedirectMax. La méthode de régression RunRedirect temporaire issue de la contribution fusionnée est retirée de test.core.base. Sous le capot mormot.net.client e84e07fc+5-37

net: some refactoring after previous commits

Impact

Aucun changement d'API publique ni de comportement prévu. Le code WinHTTP devient plus lisible, mais la couverture de régression POSIX temporaire disparaît de la suite de tests.

Arnaud Bouchez · 14:17 UTC · voir le commit sur GitHub →

7 Faible La documentation actualise les contributeurs et les compilateurs couverts CONTRIBUTORS.md ajoute les contributeurs récents. README.md remplace la mention d'une version Delphi précise par la dernière révision, ajoute la validation Delphi 13.2 et précise le support préliminaire des compilateurs LLVM. Documentation d17dfbfe+22-7

doc: refined main markdown files - especially the latest contributors! Thanks guys!

Impact

Aucun changement pour les applications ou l'exécution. La matrice documentée inclut maintenant Delphi 13.2 et décrit plus précisément l'état multiplateforme de Delphi.

Arnaud Bouchez · 14:31 UTC · voir le commit sur GitHub →

Activité upstream commits par jour · 60 derniers jours
Commits977
Jours actifs44/60
Plus chargé2026-09-30
Pic60
2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 26 commits2026-08-28: 11 commits2026-08-29: 10 commits2026-08-30: 1 commit2026-08-31: 23 commits2026-09-01: 0 commits2026-09-02: 20 commits2026-09-03: 29 commits2026-09-04: 35 commits2026-09-05: 13 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 23 commits2026-09-09: 10 commits2026-09-10: 17 commits2026-09-11: 23 commits2026-09-12: 14 commits2026-09-13: 9 commits2026-09-14: 7 commits2026-09-15: 4 commits2026-09-16: 24 commits2026-09-17: 26 commits2026-09-18: 21 commits2026-09-19: 59 commits2026-09-20: 13 commits2026-09-21: 5 commits2026-09-22: 34 commits2026-09-23: 17 commits2026-09-24: 57 commits2026-09-25: 22 commits2026-09-26: 26 commits2026-09-27: 0 commits2026-09-28: 2 commits2026-09-29: 19 commits2026-09-30: 60 commits2026-10-01: 26 commits2026-10-02: 30 commits2026-10-03: 32 commits2026-10-04: 15 commits2026-10-05: 1 commit2026-10-06: 26 commits2026-10-07: 37 commits2026-10-08: 27 commits2026-10-09: 35 commits2026-10-10: 33 commits2026-10-11: 9 commits2026-10-12: 11 commits2026-10-13: 35 commits
2026-08-152026-10-13