diff --git a/gnutls-3.8.5.tar.xz b/gnutls-3.8.5.tar.xz
deleted file mode 100644
index 4dab5d4..0000000
--- a/gnutls-3.8.5.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:66269a2cfe0e1c2dabec87bdbbd8ab656f396edd9a40dd006978e003cfa52bfc
-size 6491504
diff --git a/gnutls-3.8.5.tar.xz.sig b/gnutls-3.8.5.tar.xz.sig
deleted file mode 100644
index ad2c423..0000000
Binary files a/gnutls-3.8.5.tar.xz.sig and /dev/null differ
diff --git a/gnutls-3.8.6.tar.xz b/gnutls-3.8.6.tar.xz
new file mode 100644
index 0000000..5d151c1
--- /dev/null
+++ b/gnutls-3.8.6.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e1588aae53cb32d43937f1f4eca28febd9c0c7aa1734fc5dd61a7e81e0ebcdd
+size 6517476
diff --git a/gnutls-3.8.6.tar.xz.sig b/gnutls-3.8.6.tar.xz.sig
new file mode 100644
index 0000000..6ce9f29
Binary files /dev/null and b/gnutls-3.8.6.tar.xz.sig differ
diff --git a/gnutls-FIPS-140-3-references.patch b/gnutls-FIPS-140-3-references.patch
index b511319..addb659 100644
--- a/gnutls-FIPS-140-3-references.patch
+++ b/gnutls-FIPS-140-3-references.patch
@@ -1,7 +1,7 @@
-Index: gnutls-3.8.5/configure.ac
+Index: gnutls-3.8.6/configure.ac
===================================================================
---- gnutls-3.8.5.orig/configure.ac
-+++ gnutls-3.8.5/configure.ac
+--- gnutls-3.8.6.orig/configure.ac
++++ gnutls-3.8.6/configure.ac
@@ -623,19 +623,19 @@ LT_INIT([disable-static,win32-dll,shared
AC_LIB_HAVE_LINKFLAGS(dl,, [#include ], [dladdr (0, 0);])
@@ -25,10 +25,10 @@ Index: gnutls-3.8.5/configure.ac
AC_ARG_WITH(fips140-module-name, AS_HELP_STRING([--with-fips140-module-name],
[specify the FIPS140 module name]),
-Index: gnutls-3.8.5/doc/cha-gtls-app.texi
+Index: gnutls-3.8.6/doc/cha-gtls-app.texi
===================================================================
---- gnutls-3.8.5.orig/doc/cha-gtls-app.texi
-+++ gnutls-3.8.5/doc/cha-gtls-app.texi
+--- gnutls-3.8.6.orig/doc/cha-gtls-app.texi
++++ gnutls-3.8.6/doc/cha-gtls-app.texi
@@ -222,7 +222,7 @@ CPU. The currently available options are
@end itemize
@@ -38,10 +38,10 @@ Index: gnutls-3.8.5/doc/cha-gtls-app.texi
if set to one it will force the FIPS mode enablement.
@end multitable
-Index: gnutls-3.8.5/doc/cha-internals.texi
+Index: gnutls-3.8.6/doc/cha-internals.texi
===================================================================
---- gnutls-3.8.5.orig/doc/cha-internals.texi
-+++ gnutls-3.8.5/doc/cha-internals.texi
+--- gnutls-3.8.6.orig/doc/cha-internals.texi
++++ gnutls-3.8.6/doc/cha-internals.texi
@@ -14,7 +14,7 @@ happens inside the black box.
* TLS Hello Extension Handling::
* Cryptographic Backend::
@@ -162,11 +162,11 @@ Index: gnutls-3.8.5/doc/cha-internals.texi
operation. It can be attached to the current execution thread with
@funcref{gnutls_fips140_push_context} and its internal state will be
updated until it is detached with
-Index: gnutls-3.8.5/doc/enums.texi
+Index: gnutls-3.8.6/doc/enums.texi
===================================================================
---- gnutls-3.8.5.orig/doc/enums.texi
-+++ gnutls-3.8.5/doc/enums.texi
-@@ -1190,7 +1190,7 @@ application traffic secret is installed
+--- gnutls-3.8.6.orig/doc/enums.texi
++++ gnutls-3.8.6/doc/enums.texi
+@@ -1192,7 +1192,7 @@ application traffic secret is installed
@c gnutls_fips_mode_t
@table @code
@item GNUTLS_@-FIPS140_@-DISABLED
@@ -175,7 +175,7 @@ Index: gnutls-3.8.5/doc/enums.texi
@item GNUTLS_@-FIPS140_@-STRICT
The default mode; all forbidden operations will cause an
operation failure via error code.
-@@ -1198,8 +1198,8 @@ operation failure via error code.
+@@ -1200,8 +1200,8 @@ operation failure via error code.
A transient state during library initialization. That state
cannot be set or seen by applications.
@item GNUTLS_@-FIPS140_@-LAX
@@ -186,10 +186,10 @@ Index: gnutls-3.8.5/doc/enums.texi
application is aware of the followed security policy, and needs
to utilize disallowed operations for other reasons (e.g., compatibility).
@item GNUTLS_@-FIPS140_@-LOG
-Index: gnutls-3.8.5/doc/functions/gnutls_fips140_set_mode
+Index: gnutls-3.8.6/doc/functions/gnutls_fips140_set_mode
===================================================================
---- gnutls-3.8.5.orig/doc/functions/gnutls_fips140_set_mode
-+++ gnutls-3.8.5/doc/functions/gnutls_fips140_set_mode
+--- gnutls-3.8.6.orig/doc/functions/gnutls_fips140_set_mode
++++ gnutls-3.8.6/doc/functions/gnutls_fips140_set_mode
@@ -3,7 +3,7 @@
@@ -215,10 +215,10 @@ Index: gnutls-3.8.5/doc/functions/gnutls_fips140_set_mode
values for @code{mode} or to @code{GNUTLS_FIPS140_SELFTESTS} mode, the library
switches to @code{GNUTLS_FIPS140_STRICT} mode.
-Index: gnutls-3.8.5/doc/gnutls.html
+Index: gnutls-3.8.6/doc/gnutls.html
===================================================================
---- gnutls-3.8.5.orig/doc/gnutls.html
-+++ gnutls-3.8.5/doc/gnutls.html
+--- gnutls-3.8.6.orig/doc/gnutls.html
++++ gnutls-3.8.6/doc/gnutls.html
@@ -485,7 +485,7 @@ Documentation License”.
11.4 TLS Extension Handling
11.5 Cryptographic Backend
@@ -228,7 +228,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
Appendix A Upgrading from previous versions
Appendix B Support
-@@ -9045,7 +9045,7 @@ CPU. The currently available options are
+@@ -9046,7 +9046,7 @@ CPU. The currently available options are
0x200000: Enable VIA PHE
0x400000: Enable VIA PHE SHA512
@@ -237,7 +237,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
if set to one it will force the FIPS mode enablement.
-@@ -18477,7 +18477,7 @@ None:
+@@ -18481,7 +18481,7 @@ None:
--inline-commands-prefix=str Change the default delimiter for inline commands
--provider=file Specify the PKCS #11 provider library
- file must pre-exist
@@ -246,7 +246,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
--list-config Reports the configuration of the library
--logfile=str Redirect informational messages to a specific file
--keymatexport=str Label used for exporting keying material
-@@ -19499,7 +19499,7 @@ happens inside the black box.
+@@ -19503,7 +19503,7 @@ happens inside the black box.
TLS Extension Handling
Cryptographic Backend
Random Number Generators
@@ -255,7 +255,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
@@ -302,7 +302,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
as follows.
-@@ -20197,12 +20197,12 @@ as follows.
+@@ -20201,12 +20201,12 @@ as follows.
- Algorithm self-tests are run on library load
@@ -318,7 +318,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
Any cryptographic operation will be refused if any of the self-tests failed
-@@ -20211,7 +20211,7 @@ modified as follows.
+@@ -20215,7 +20215,7 @@ modified as follows.
environment variable GNUTLS_SKIP_FIPS_INTEGRITY_CHECKS
will disable
the library integrity tests on startup, and the variable
GNUTLS_FORCE_FIPS_MODE
can be set to force a value from
@@ -327,7 +327,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
mode, while ’0’ will disable it.
The integrity checks for the dependent libraries and GnuTLS are performed
-@@ -20219,13 +20219,13 @@ using ’.hmac’ files which ar
+@@ -20223,13 +20223,13 @@ using ’.hmac’ files which ar
key for the operations can be provided on compile-time with the configure
option ’–with-fips140-key’. The MAC algorithm used is HMAC-SHA256.
@@ -344,7 +344,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
the application can relax these requirements via gnutls_fips140_set_mode
which can switch to alternative modes as in Figure 11.5.
-@@ -20234,7 +20234,7 @@ which can switch to alternative modes as
+@@ -20238,7 +20238,7 @@ which can switch to alternative modes as
GNUTLS_FIPS140_DISABLED
@@ -353,7 +353,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
GNUTLS_FIPS140_STRICT
The default mode; all forbidden operations will cause an
-@@ -20245,8 +20245,8 @@ operation failure via error code.
+@@ -20249,8 +20249,8 @@ operation failure via error code.
cannot be set or seen by applications.
GNUTLS_FIPS140_LAX
@@ -364,7 +364,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
application is aware of the followed security policy, and needs
to utilize disallowed operations for other reasons (e.g., compatibility).
-@@ -20258,7 +20258,7 @@ to a message to the audit callback funct
+@@ -20262,7 +20262,7 @@ to a message to the audit callback funct
Figure 11.5: The gnutls_fips_mode_t
enumeration.
The intention of this API is to be used by applications which may run in
@@ -373,7 +373,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
e.g., for non-security related purposes. In these cases applications should
wrap the non-compliant code within blocks like the following.
-@@ -20287,9 +20287,9 @@ if (gnutls_fips140_mode_enabled())
+@@ -20291,9 +20291,9 @@ if (gnutls_fips140_mode_enabled())
The reason of the GNUTLS_FIPS140_SET_MODE_THREAD
flag in the
previous calls is to localize the change in the mode. Note also, that
such a block has no effect when the library is not operating
@@ -385,7 +385,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
gnutls_fips140_set_mode(GNUTLS_FIPS140_LAX, 0);
-@@ -20312,7 +20312,7 @@ performed within a given context.
+@@ -20316,7 +20316,7 @@ performed within a given context.
int gnutls_fips140_pop_context ( void)
@@ -394,7 +394,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
operation. It can be attached to the current execution thread with
gnutls_fips140_push_context and its internal state will be
updated until it is detached with
-@@ -20685,8 +20685,8 @@ Previous:
@@ -405,7 +405,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
-@@ -24602,7 +24602,7 @@ unusable. This function is not thread-s
+@@ -24607,7 +24607,7 @@ unusable. This function is not thread-s
gnutls_fips140_set_mode
- Function:
void
gnutls_fips140_set_mode (gnutls_fips_mode_t mode, unsigned flags)
¶
@@ -414,7 +414,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
flags: should be zero or GNUTLS_FIPS140_SET_MODE_THREAD
-@@ -24611,13 +24611,13 @@ unusable. This function is not thread-s
+@@ -24616,13 +24616,13 @@ unusable. This function is not thread-s
behavior with no flags after threads are created is undefined.
When the flag GNUTLS_FIPS140_SET_MODE_THREAD
is specified
@@ -430,7 +430,7 @@ Index: gnutls-3.8.5/doc/gnutls.html
values for mode
or to GNUTLS_FIPS140_SELFTESTS
mode, the library
switches to GNUTLS_FIPS140_STRICT
mode.
-@@ -46996,7 +46996,7 @@ Next: | gnutls_fingerprint : | | Core TLS API |
| gnutls_fips140_context_deinit : | | Core TLS API |
| gnutls_fips140_context_init : | | Core TLS API |
@@ -439,11 +439,11 @@ Index: gnutls-3.8.5/doc/gnutls.html
| gnutls_fips140_get_operation_state : | | Core TLS API |
| gnutls_fips140_mode_enabled : | | Core TLS API |
| gnutls_fips140_pop_context : | | Core TLS API |
-Index: gnutls-3.8.5/doc/gnutls.info-3
+Index: gnutls-3.8.6/doc/gnutls.info-3
===================================================================
---- gnutls-3.8.5.orig/doc/gnutls.info-3
-+++ gnutls-3.8.5/doc/gnutls.info-3
-@@ -2262,7 +2262,7 @@ to ‘more’. Both will exit with a st
+--- gnutls-3.8.6.orig/doc/gnutls.info-3
++++ gnutls-3.8.6/doc/gnutls.info-3
+@@ -2264,7 +2264,7 @@ to ‘more’. Both will exit with a st
--inline-commands-prefix=str Change the default delimiter for inline commands
--provider=file Specify the PKCS #11 provider library
- file must pre-exist
@@ -452,7 +452,7 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
--list-config Reports the configuration of the library
--logfile=str Redirect informational messages to a specific file
--keymatexport=str Label used for exporting keying material
-@@ -3415,7 +3415,7 @@ to know what happens inside the black bo
+@@ -3417,7 +3417,7 @@ to know what happens inside the black bo
* TLS Hello Extension Handling::
* Cryptographic Backend::
* Random Number Generators-internals::
@@ -461,7 +461,7 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
File: gnutls.info, Node: The TLS Protocol, Next: TLS Handshake Protocol, Up: Internal architecture of GnuTLS
-@@ -3947,7 +3947,7 @@ and abstract key types::.
+@@ -3949,7 +3949,7 @@ and abstract key types::.
kernel implementation of ‘/dev/crypto’.
@@ -470,7 +470,7 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
11.6 Random Number Generators
=============================
-@@ -3957,7 +3957,7 @@ About the generators
+@@ -3959,7 +3959,7 @@ About the generators
GnuTLS provides two random generators. The default, and the AES-DRBG
random generator which is only used when the library is compiled with
@@ -479,7 +479,7 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
The default generator - inner workings
--------------------------------------
-@@ -4189,7 +4189,7 @@ in *note Figure 11.5: gnutls_fips_mode_t
+@@ -4191,7 +4191,7 @@ in *note Figure 11.5: gnutls_fips_mode_t
Figure 11.5: The ‘gnutls_fips_mode_t’ enumeration.
The intention of this API is to be used by applications which may run in
@@ -488,7 +488,7 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
set, e.g., for non-security related purposes. In these cases
applications should wrap the non-compliant code within blocks like the
following.
-@@ -4213,10 +4213,10 @@ are macros to simplify the following seq
+@@ -4215,10 +4215,10 @@ are macros to simplify the following seq
The reason of the ‘GNUTLS_FIPS140_SET_MODE_THREAD’ flag in the previous
calls is to localize the change in the mode. Note also, that such a
@@ -501,7 +501,7 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
gnutls_fips140_set_mode(GNUTLS_FIPS140_LAX, 0);
Service indicator
-@@ -4698,8 +4698,8 @@ There are certifications from national o
+@@ -4700,8 +4700,8 @@ There are certifications from national o
practices, such as unit testing and reliance on well known crypto
primitives.
@@ -512,7 +512,7 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
File: gnutls.info, Node: Error codes, Next: Supported ciphersuites, Prev: Support, Up: Top
-@@ -9169,7 +9169,7 @@ gnutls_fips140_set_mode
+@@ -9172,7 +9172,7 @@ gnutls_fips140_set_mode
-- Function: void gnutls_fips140_set_mode (gnutls_fips_mode_t MODE,
unsigned FLAGS)
@@ -521,10 +521,10 @@ Index: gnutls-3.8.5/doc/gnutls.info-3
FLAGS: should be zero or ‘GNUTLS_FIPS140_SET_MODE_THREAD’
-Index: gnutls-3.8.5/doc/invoke-gnutls-cli.texi
+Index: gnutls-3.8.6/doc/invoke-gnutls-cli.texi
===================================================================
---- gnutls-3.8.5.orig/doc/invoke-gnutls-cli.texi
-+++ gnutls-3.8.5/doc/invoke-gnutls-cli.texi
+--- gnutls-3.8.6.orig/doc/invoke-gnutls-cli.texi
++++ gnutls-3.8.6/doc/invoke-gnutls-cli.texi
@@ -102,7 +102,7 @@ None:
--inline-commands-prefix=str Change the default delimiter for inline commands
--provider=file Specify the PKCS #11 provider library
@@ -534,10 +534,10 @@ Index: gnutls-3.8.5/doc/invoke-gnutls-cli.texi
--list-config Reports the configuration of the library
--logfile=str Redirect informational messages to a specific file
--keymatexport=str Label used for exporting keying material
-Index: gnutls-3.8.5/doc/manpages/gnutls-cli.1
+Index: gnutls-3.8.6/doc/manpages/gnutls-cli.1
===================================================================
---- gnutls-3.8.5.orig/doc/manpages/gnutls-cli.1
-+++ gnutls-3.8.5/doc/manpages/gnutls-cli.1
+--- gnutls-3.8.6.orig/doc/manpages/gnutls-cli.1
++++ gnutls-3.8.6/doc/manpages/gnutls-cli.1
@@ -398,7 +398,7 @@ Specify the PKCS #11 provider library.
This will override the default options in /etc/gnutls/pkcs11.conf
.TP
@@ -547,10 +547,10 @@ Index: gnutls-3.8.5/doc/manpages/gnutls-cli.1
.sp
.TP
.NOP \f\*[B-Font]\-\-list\-config\f[]
-Index: gnutls-3.8.5/doc/reference/html/gnutls-gnutls.html
+Index: gnutls-3.8.6/doc/reference/html/gnutls-gnutls.html
===================================================================
---- gnutls-3.8.5.orig/doc/reference/html/gnutls-gnutls.html
-+++ gnutls-3.8.5/doc/reference/html/gnutls-gnutls.html
+--- gnutls-3.8.6.orig/doc/reference/html/gnutls-gnutls.html
++++ gnutls-3.8.6/doc/reference/html/gnutls-gnutls.html
@@ -20870,12 +20870,12 @@ gnutls_fips140_set_mode (
-@@ -25915,7 +25915,7 @@ encryption
+@@ -25920,7 +25920,7 @@ encryption
enum gnutls_fips_mode_t
@@ -584,7 +584,7 @@ Index: gnutls-3.8.5/doc/reference/html/gnutls-gnutls.html