Стоит взглянутьисправление или функция, которая может пригодитьсяПроверены оба non-merge commit от 2.4.17188 до 2.4.17189: две additions и две deletions без version bookkeeping. superseded_by отсутствует; upstream head совпадает с raw payload head.
Срок жизни script engine сохраняет полный диапазон минут
Однострочное исправление арифметики предотвращает переполнение больших значений TThreadSafeManager.EngineExpireTimeOutMinutes при переводе в миллисекунды. Windows SChannel server также включает системную ошибку в exception, когда сертификат не удаётся выбрать из store. Pools с очень долгим сроком жизни script engine следует обновить; TLS change влияет только на диагностику.
Коротко
- Переходите на upstream head 5a1509b805bcdc7f239c683bd0e68ab9700c1247, build 2.4.17189.
- EngineExpireTimeOutMinutes теперь переводит минуты в миллисекунды через Int64, исключая 32-bit overflow для больших значений.
- При сбое поиска SChannel certificate ESChannel теперь содержит текст и код Windows error вместо общего сообщения.
Рекомендации по обновлению
Обновитесь до build 2.4.17189 в head 5a1509b805bcdc7f239c683bd0e68ab9700c1247, если EngineExpireTimeOutMinutes может выйти за 32-bit диапазон миллисекунд. Миграция не нужна: public property сохраняет cardinal minutes, меняется только арифметика setter. В Windows SChannel расширенный ESChannel помогает диагностировать сбои certificate store.
2 из 2 записей · 2 коммитов в апстриме
1
Средний
Большие сроки жизни script engine больше не переполняются
TThreadSafeManager.SetEngineExpireTimeOutMinutes в mormot.script.core теперь приводит Value к Int64 до умножения на MilliSecsPerMin. Результат по-прежнему хранится в существующем Int64 поле fEngineExpireTimeOutTix.
Исправления
mormot.script.core
5a1509b8+3-3
script: fixed TThreadSafeManager.EngineExpireTimeOutMinutes
Влияние
Delphi/FPC backends с большими значениями минут теперь сохраняют заданный срок жизни engine вместо переполненного millisecond interval. Обычные значения вроде 240 минут не меняются; source migration не нужна.
Рекомендуется обновиться
Обновитесь, если EngineExpireTimeOutMinutes может превышать примерно 49,7 дня, затем проверьте recycling на заданной границе.
Публичный API
TThreadSafeManager.EngineExpireTimeOutMinutesbehaviour-changed — Большие cardinal значения минут теперь переводятся через 64-bit multiplication.
Модули
2
Низкий
Сбой поиска SChannel certificate показывает Windows error
TSChannelNetTls.AfterBind в mormot.net.sock.windows заменяет общий ESChannel.Create после nil от CertFindCertificateInStore на RaiseLastError. Класс exception остаётся ESChannel и получает имя операции, Windows error text и числовой код.
Обслуживание
mormot.net.sock.windows
258c48f4+3-3
net: try to identify SChannel TLS issue on PRISM
Влияние
Windows Delphi/FPC SChannel servers по-прежнему не выполняют bind без подходящего certificate; меняется только диагностика. Успешный TLS setup и non-Windows backends не затронуты.