]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
compat: Provide consttime_memequal if not in libc
authorRoy Marples <roy@marples.name>
Fri, 19 Apr 2019 20:42:07 +0000 (21:42 +0100)
committerRoy Marples <roy@marples.name>
Fri, 19 Apr 2019 20:42:07 +0000 (21:42 +0100)
Public domain version by Matthias Drochner <drochner@netbsd.org>

configure

index 570e65f214f3d585289d95383b612614d0ae0e7f..4f58f0f394dea4530b84c3f1f44f1da6d89f66d7 100755 (executable)
--- a/configure
+++ b/configure
@@ -13,6 +13,7 @@ IPV4LL=
 INET6=
 ARC4RANDOM=
 CLOSEFROM=
+CONSTTIME_MEMEQUAL=
 STRLCPY=
 UDEV=
 OS=
@@ -846,6 +847,27 @@ if [ "$STRTOI" = no ]; then
        echo "#include                  \"compat/strtoi.h\"" >>$CONFIG_H
 fi
 
+if [ -z "$CONSTTIME_MEMEQUAL" ]; then
+       printf "Testing for consttime_memequal ... "
+       cat <<EOF >_consttime_memequal.c
+#include <string.h>
+int main(void) {
+       return consttime_memequal("deadbeef", "deadbeef", 8);
+}
+EOF
+       if $XCC _consttime_memequal.c -o _consttime_memequal 2>&3; then
+               CONSTTIME_MEMEQUAL=yes
+       else
+               CONSTTIME_MEMEQUAL=no
+       fi
+       echo "$CONSTTIME_MEMEQUAL"
+       rm -f _consttime_memequal.c _consttime_memequal
+fi
+if [ "$CONSTTIME_MEMEQUAL" = no ]; then
+       echo "#include                  \"compat/consttime_memequal.h\"" \
+           >>$CONFIG_H
+fi
+
 if [ -z "$DPRINTF" ]; then
        printf "Testing for dprintf ... "
        cat <<EOF >_dprintf.c