--- /dev/null
+From 03ecd34e0137b3f0bf0d2fc3ab7f7d8b3682785e Mon Sep 17 00:00:00 2001
+From: Yousong Zhou <yszhou4tech@gmail.com>
+Date: Thu, 14 Dec 2017 18:03:35 +0800
+Subject: [PATCH] Fix compilation with libp11 version >= 0.4.7
+
+libp11 0.4.7 renamed then dropped macro definition in commits
+
+ 4f0fce4: Error reporting fixes
+ e4c641b: PKCS11 errors separated into P11 and CKR
+
+This change assumes that libp11 will restore compatibility by bringing
+back old forms of macro definition
+
+Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
+---
+ openssl-pkcs11.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/openssl-pkcs11.c b/openssl-pkcs11.c
+index 61da123..ba7e491 100644
+--- a/openssl-pkcs11.c
++++ b/openssl-pkcs11.c
+@@ -30,6 +30,24 @@
+ #include <libp11.h>
+ #include <p11-kit/pkcs11.h>
+
++#ifndef ERR_LIB_PKCS11
++# if defined(ERR_LIB_CKR)
++# define ERR_LIB_PKCS11 ERR_LIB_CKR
++# elif defined(ERR_LIB_USER)
++# define ERR_LIB_PKCS11 ERR_LIB_USER
++# else
++# error undefined macro ERR_LIB_PKCS11
++# endif
++#endif
++
++#ifndef PKCS11_F_PKCS11_LOGIN
++# if defined(CKR_F_PKCS11_LOGIN)
++# define PKCS11_F_PKCS11_LOGIN CKR_F_PKCS11_LOGIN
++# else
++# error undefined macro PKCS11_F_PKCS11_LOGIN
++# endif
++#endif
++
+ static PKCS11_CTX *pkcs11_ctx(struct openconnect_info *vpninfo)
+ {
+ PKCS11_CTX *ctx;
+--
+1.8.3.1
+