clamscanから返されたエラーと警告メッセージのリストはありますか?

clamscanから返されたエラーと警告メッセージのリストはありますか?

私はclamscan実行可能ファイルのシステムコール用のJavaラッパーを作成しています。

私はclamscanによって提供されたエラーと警告メッセージのリストを見つけようとしましたが、成功しませんでした。

たとえば、次のようなclamscan問題の警告を見たことがあります。

「警告:***ウイルスデータベースが7日以上経過しました!」

...そして次のエラー

"LibClamAV エラー: cli_load(): /var/lib/clamav/bytecode.cvd ファイルを開けません。"

可能なすべての警告とエラーのリストを取得する方法はありますか?

答え1

ハードコードされた警告またはエラーメッセージのリストはどこにもありません。メッセージは基本的に印刷ステートメントです。表示できるメッセージのリスト(およびその内容)はバージョンによって異なり、ClamAVの設定方法によって異なります。

本当にリストを作成するには、コードからまたはを検索することでcli_warnmsg始めることができますcli_errmsg。たとえば、https://github.com/Cisco-Talos/clamav-devel/search?q=cli_errmsg&unscoped_q=cli_errmsg

stderrclamscan取ることができるもう1つのアプローチは、コードをそのメッセージの内容と緊密にリンクするのではなく、実行後に確認し、それに基づいてアクションを取ることです。freshclam同様のことをしました(参照:https://github.com/Cisco-Talos/clamav-devel/blob/5087673200af439707dab8ae44c7b567cdabc567/freshclam/manager.c#L1426)。

エラーが発生したことを確認する最も信頼できる方法は、戻り値を確認することですclamscan。ただし、マニュアルページを読むと、3つの可能な戻りコードがあります(0:ウイルスが見つからない、1:ウイルスが見つかり、2:エラーが発生します)。おそらくこれを上記のアプローチと組み合わせると、ラッパーはスキャンが成功したかどうかを示し、警告/エラーを提供して、ユーザーが何が間違っているかを確認できるようにするのに十分です。

関連情報