#!/bin/sh

kysec_tmp=/etc/kysec/tmp
kysec_whlist_db=/etc/kysec/db/whlist.db
kysec_init=/usr/sbin/kysec-init

relabel_system_for_whlist()
{
	[ -z "$(find $kysec_tmp -name "scan_*")" ] && return 0

	task_count=$(nproc)
	task_count=$(($task_count - 2))
	[ $task_count -le 0 ] && task_count=1

	echo "正在分析扫描结果..."
	ls $kysec_tmp/scan_* | xargs -i -P $task_count ${kysec_init} -o $kysec_tmp --scan {}

	echo "正在初始化白名单..."
	sqlite3 "$kysec_whlist_db" 'delete from objects_list;'
	cat $kysec_tmp/list_* > $kysec_tmp/list_all
	${kysec_init} --init-whlist $kysec_tmp/list_all 2>/dev/null
	rm -rf $kysec_tmp/*
	sync
	echo "白名单初始化完成"
}

relabel_flag=$(sqlite3 $kysec_whlist_db "select * from relabel_status;")
if [ "x$relabel_flag" = "x0" ]; then
	relabel_system_for_whlist
fi
