From 590966cb7f9d5713ec4aaecc46f660dba8d98f13 Mon Sep 17 00:00:00 2001 From: Mimi Zohar Date: Thu, 2 Jul 2020 11:07:33 -0400 Subject: [PATCH] ima-evm-utils: define a basic hash_info.h file Some older system kernel header packages don't necessarily include hash_info.h. Signed-off-by: Mimi Zohar --- src/Makefile.am | 2 +- src/hash_info.gen | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 3665242..9bbff50 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -34,5 +34,5 @@ endif AM_CPPFLAGS = -I$(top_srcdir) -include config.h -CLEANFILES = hash_info.h +CLEANFILES = hash_info.h tmp_hash_info.h DISTCLEANFILES = @DISTCLEANFILES@ diff --git a/src/hash_info.gen b/src/hash_info.gen index 54532ca..5f7a97f 100755 --- a/src/hash_info.gen +++ b/src/hash_info.gen @@ -18,11 +18,54 @@ KERNEL_HEADERS=$1 HASH_INFO_H=uapi/linux/hash_info.h HASH_INFO=$KERNEL_HEADERS/include/$HASH_INFO_H +TMPHASHINFO="./tmp_hash_info.h" +gen_hashinfo() { +cat << __EOF__ >$TMPHASHINFO +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Hash Info: Hash algorithms information + * + * Copyright (c) 2013 Dmitry Kasatkin + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + */ + +enum hash_algo { + HASH_ALGO_MD4, + HASH_ALGO_MD5, + HASH_ALGO_SHA1, + HASH_ALGO_RIPE_MD_160, + HASH_ALGO_SHA256, + HASH_ALGO_SHA384, + HASH_ALGO_SHA512, + HASH_ALGO_SHA224, + HASH_ALGO_RIPE_MD_128, + HASH_ALGO_RIPE_MD_256, + HASH_ALGO_RIPE_MD_320, + HASH_ALGO_WP_256, + HASH_ALGO_WP_384, + HASH_ALGO_WP_512, + HASH_ALGO_TGR_128, + HASH_ALGO_TGR_160, + HASH_ALGO_TGR_192, + HASH_ALGO_SM3_256, + HASH_ALGO__LAST +}; +__EOF__ +} + # Allow to specify kernel-headers past include/ if [ ! -e $HASH_INFO ]; then HASH_INFO2=$KERNEL_HEADERS/$HASH_INFO_H if [ -e $HASH_INFO2 ]; then HASH_INFO=$HASH_INFO2 + else + gen_hashinfo + HASH_INFO="$TMPHASHINFO" fi fi