Files
portal/bots
Дмитрий ee198802d2 fix безопасность: звонка не было — значит на диске пусто; уборка ячеек обрела хозяина
Беду нашёл посторонний глаз, и она моя. Дверь просьбы я поставил раньше записи на диск
только у просьбы о ЗВОНКЕ. У просьбы о ВХОДЕ она встала позже — а к тому мигу имя живого
человека и телефон менеджера уже лежали в общей папке робота.

Дальше по дороге у набора девять выходов «звонка не было», и ни один не убирал за собой.
Данные лежали до часа в папке, открытой на чтение всем, под звонок, которого не случилось.
Портал получал честное «звонка не было» и повторял попытку — повтор клал те же данные
снова, под новой меткой. При негодном тайном слове станции число ячеек росло с каждой
попыткой.

Лечение не в том, чтобы дописать уборку к девяти выходам: десятый завели бы молча.
У записи и у отказа теперь ОДИН хозяин: вся работа ушла внутрь, а снаружи остались метка
и одно правило — исход «звонка не было» снимает ячейки. Другого пути наружу у набора нет.

Убираем только при «не было». При «не знаю» звонок мог состояться, и мост придёт за
именем — там ячейки берегутся. Общий запасной файл уборка не трогает: он не наш.

Сторож ловит СВЯЗКУ, а не перечень девяти выходов, и считает всю папку целиком:
  «звонка не было»   — в папке не прибавилось ни одного файла
  «звонил/не знаю»   — ячейки на месте, мосту будет что взять
плюс охват по исходам, чтобы связка не проверялась вхолостую.

Заодно починен недосмотр того же класса в самих сторожах: они судили дверь по
возвращённой причине, а собирает просьбу другое место, и оно обязано РОНЯТЬ.

Проба приёмника: 297 -> 324, красных 0.
2026-08-08 16:58:20 +03:00
..