Monday March 29 2021 04:17, from Nil Alexandrov -> Eugene Palenock:
EP>> Прошло почти 3 года с багрепорта! EP>> Текущая версия HPT EP>> (husky-all-1.9-w32msvc6dll-perl510-hptzip-20210213.zip) по EP>> прежнему парализует ноду, получив пару битых бандлов от EP>> какого-либо из линков.
Можно поинтересоваться, а зачем ты tossingExt в конфиге выключил? Если ничего не трогать, то дефолт будет ".tos". В мане на TossingExt сказано "That may be used for preventing of permanent tossing fault because of bad file in inbound". Так что ты зря сначало это выключил, а потом тут кричишь про атаку ;-) И даже просто tossingExt не достаточно. Надо сначала "засрать" все возможные 255 бэды! Ну ты приколист конечно!
Всем мои шаги по поиску ниже. fidoconf/src/common.c: changeFileSuffix() вот тут for(i = 1; fexist(newFileName) && (i < 255); i++) в цикле перебираются 255 возможных расширений - .bad, .b1 до .bff
Поэтому с этими знаниями мы можем попробовать воспроизвести вот так: $ for i in {1..255}; do n=$(printf %x $i); touch 2770de01.b$n; done; touch 2770de01.su{0,1,2,3,4,5} и атаки не случилось :-(
A 23:43:37 Renaming pkt/arc to .bad f 23:43:37 src/common.c:899: old: '/home/nil/fido/inbound/2770de01.t3' new: '/home/nil/fido/inbound/2770de01.bf' A 23:43:37 Could not change suffix for /home/nil/fido/inbound/2770de01.t3. File is already there and the 255 files after it U 23:43:37 src/toss.c::processDir() returns 6 U 23:43:37 src/toss.c::processDir() begin ...
Повторно не будет тосситься, потому что файл .tos $ ls -l *su* ls: cannot access '*su*': No such file or directory $ ls -l *tos* -rw-rw-r-- 1 nil nil 0 Mar 28 23:43 2770de01.tos
Будет происходить следующее. Будет создано 255 "плохих" файлов и потом просто всё будет переименовываться в один единственный .tos, т.е. следующие бандлы просто будут пропадать.
Так-так-так, а может быть ты выключил tossingExt? Пробуем.. точно, оно в цикл входит!