Some older system kernel header packages don't necessarily include hash_info.h. Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxx> --- 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 36652427a8ec..9bbff5034ef4 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 54532ca5b847..5f7a97fb3117 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 <d.kasatkin@xxxxxxxxxxx> + * + * 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 -- 2.7.5