À regarderun correctif ou une fonctionnalité utile
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.
7 sur 7 entrées · 9 commits upstream
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.
Mise à jour recommandée
Mettez à niveau les builds ARM et relancez les tests de sérialisation flottante, surtout près des limites de normalisation Grisu.
Unités
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é.
Mise à jour recommandée
Mettez à niveau les services POSIX utilisant RunRedirect avec un long waitfordelayms et vérifiez la sortie ainsi que les codes de retour.
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.
Unités
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.
Unités
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.
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.
Unités
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.