Столкнулись с тем, что osec останавливает работу, если не может прочитать какой-то отдельный файл. Почему не может? Это могут быть какие-то проделки SELinux, а может быть просто дисковый сбой, сетевой сбой, да мало ли что. Хочется, чтобы в этой ситуации он просто выводил ошибку и шёл дальше — проверять остальные файлы. Конечно, информация о том файле, который прочитать не удалось, не попадёт в новую базу и поэтому такой файл будет считаться удалённым. Ну и пусть, ничего страшного, я считаю.
Начал разбираться по коду, что для этого нужно сделать. Игнорировать ошибки в функции create_cdb() довольно просто. Но проблема в том, что те функции, которые она вызывает — например, osec_digest(), имеют пустой результат, а в случае ошибки сразу завершают процесс по exit(). Что будет делать?
Это очень хлопотно сделать. У меня была такая мысль, но нужно менять код очень основательно поэтому отложил в долгий ящик. В некоторых местах код просто не рассчитан на возврат ошибки. Я попробую сделать ещё один подход к этой проблеме.
Исправлено в 1.3.0-alt1