• txt2pkt - race condition

    From Michael Dukelsky@2:5020/1042 to Nil A on Sat Nov 6 21:22:04 2021
    Привет, Nil!

    06 November 2021 20:24, Nil A послал(а) письмо к All:

    При вызове txt2pkt, не безопасно указать имя каталога, например,
    inbound, из которого сразу тоссер сможет начать читать .pkt файл. -d "<path>" - output directory

    Race condition - txt2pkt ещё не завершил запись .pkt, а тоссер уже
    начал его обрабатывать. txt2pkt не использует блокировки.

    Сам hpt такой проблеме не подвержен, он пользуется createTempPktFileName(), который создаёт .pkt в tempOutbound, а потом переименовывает в рабочий.

    Также, binkd такой проблеме не подвержен, он создаёт принимаемые файлы
    в каталоге temp-inbound, и потом уже переименовывает в рабочий.

    Пиши pull request.

    Желаю успехов, Nil!
    За сим откланиваюсь, Michael.

    ... node (at) f1042 (dot) ru
    --- GoldED+/LNX 1.1.5-b20180707
    * Origin: ==<<.f1042.ru.>>== (2:5020/1042)
  • From Alexey Vissarionov@2:5020/545 to Nil A on Sun Nov 7 02:52:52 2021
    Доброго времени суток, Nil!
    06 Nov 2021 20:24:02, ты -> All:

    При вызове txt2pkt, не безопасно указать имя каталога, например,
    inbound, из которого сразу тоссер сможет начать читать .pkt файл.
    -d "<path>" - output directory
    Race condition - txt2pkt ещё не завершил запись .pkt, а тоссер уже
    начал его обрабатывать. txt2pkt не использует блокировки.

    И не должен.

    man mktemp
    man mv


    --
    Alexey V. Vissarionov aka Gremlin from Kremlin
    gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

    ... Опубликовано на правах антонима к ворочанью мешков
    --- /bin/vi
    * Origin: ::1 (2:5020/545)