diff --git a/gnutls-3.8.3.tar.xz b/gnutls-3.8.3.tar.xz
deleted file mode 100644
index e8cb6d8..0000000
--- a/gnutls-3.8.3.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e
-size 6463720
diff --git a/gnutls-3.8.3.tar.xz.sig b/gnutls-3.8.3.tar.xz.sig
deleted file mode 100644
index 0531c45..0000000
Binary files a/gnutls-3.8.3.tar.xz.sig and /dev/null differ
diff --git a/gnutls-3.8.4.tar.xz b/gnutls-3.8.4.tar.xz
new file mode 100644
index 0000000..4194b4e
--- /dev/null
+++ b/gnutls-3.8.4.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2bea4e154794f3f00180fa2a5c51fe8b005ac7a31cd58bd44cdfa7f36ebc3a9b
+size 6487520
diff --git a/gnutls-3.8.4.tar.xz.sig b/gnutls-3.8.4.tar.xz.sig
new file mode 100644
index 0000000..203aae4
Binary files /dev/null and b/gnutls-3.8.4.tar.xz.sig differ
diff --git a/gnutls-FIPS-140-3-references.patch b/gnutls-FIPS-140-3-references.patch
index 526e342..c32f32e 100644
--- a/gnutls-FIPS-140-3-references.patch
+++ b/gnutls-FIPS-140-3-references.patch
@@ -1,7 +1,7 @@
-Index: gnutls-3.8.3/configure.ac
+Index: gnutls-3.8.4/configure.ac
===================================================================
---- gnutls-3.8.3.orig/configure.ac
-+++ gnutls-3.8.3/configure.ac
+--- gnutls-3.8.4.orig/configure.ac
++++ gnutls-3.8.4/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.3/configure.ac
AC_ARG_WITH(fips140-module-name, AS_HELP_STRING([--with-fips140-module-name],
[specify the FIPS140 module name]),
-Index: gnutls-3.8.3/doc/cha-gtls-app.texi
+Index: gnutls-3.8.4/doc/cha-gtls-app.texi
===================================================================
---- gnutls-3.8.3.orig/doc/cha-gtls-app.texi
-+++ gnutls-3.8.3/doc/cha-gtls-app.texi
+--- gnutls-3.8.4.orig/doc/cha-gtls-app.texi
++++ gnutls-3.8.4/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.3/doc/cha-gtls-app.texi
if set to one it will force the FIPS mode enablement.
@end multitable
-Index: gnutls-3.8.3/doc/cha-internals.texi
+Index: gnutls-3.8.4/doc/cha-internals.texi
===================================================================
---- gnutls-3.8.3.orig/doc/cha-internals.texi
-+++ gnutls-3.8.3/doc/cha-internals.texi
+--- gnutls-3.8.4.orig/doc/cha-internals.texi
++++ gnutls-3.8.4/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.3/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.3/doc/enums.texi
+Index: gnutls-3.8.4/doc/enums.texi
===================================================================
---- gnutls-3.8.3.orig/doc/enums.texi
-+++ gnutls-3.8.3/doc/enums.texi
-@@ -1188,7 +1188,7 @@ application traffic secret is installed
+--- gnutls-3.8.4.orig/doc/enums.texi
++++ gnutls-3.8.4/doc/enums.texi
+@@ -1190,7 +1190,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.3/doc/enums.texi
@item GNUTLS_@-FIPS140_@-STRICT
The default mode; all forbidden operations will cause an
operation failure via error code.
-@@ -1196,8 +1196,8 @@ operation failure via error code.
+@@ -1198,8 +1198,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.3/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.3/doc/functions/gnutls_fips140_set_mode
+Index: gnutls-3.8.4/doc/functions/gnutls_fips140_set_mode
===================================================================
---- gnutls-3.8.3.orig/doc/functions/gnutls_fips140_set_mode
-+++ gnutls-3.8.3/doc/functions/gnutls_fips140_set_mode
+--- gnutls-3.8.4.orig/doc/functions/gnutls_fips140_set_mode
++++ gnutls-3.8.4/doc/functions/gnutls_fips140_set_mode
@@ -3,7 +3,7 @@
@@ -215,10 +215,10 @@ Index: gnutls-3.8.3/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.3/doc/gnutls.html
+Index: gnutls-3.8.4/doc/gnutls.html
===================================================================
---- gnutls-3.8.3.orig/doc/gnutls.html
-+++ gnutls-3.8.3/doc/gnutls.html
+--- gnutls-3.8.4.orig/doc/gnutls.html
++++ gnutls-3.8.4/doc/gnutls.html
@@ -484,7 +484,7 @@ Documentation License”.
11.4 TLS Extension Handling
11.5 Cryptographic Backend
@@ -228,7 +228,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
Appendix A Upgrading from previous versions
Appendix B Support
-@@ -9035,7 +9035,7 @@ CPU. The currently available options are
+@@ -9041,7 +9041,7 @@ CPU. The currently available options are
0x200000: Enable VIA PHE
0x400000: Enable VIA PHE SHA512
@@ -237,7 +237,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
if set to one it will force the FIPS mode enablement.
-@@ -18446,7 +18446,7 @@ None:
+@@ -18452,7 +18452,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.3/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
-@@ -19468,7 +19468,7 @@ happens inside the black box.
+@@ -19474,7 +19474,7 @@ happens inside the black box.
TLS Extension Handling
Cryptographic Backend
Random Number Generators
@@ -255,7 +255,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
@@ -302,7 +302,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
as follows.
-@@ -20166,12 +20166,12 @@ as follows.
+@@ -20172,12 +20172,12 @@ as follows.
- Algorithm self-tests are run on library load
@@ -318,7 +318,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
Any cryptographic operation will be refused if any of the self-tests failed
-@@ -20180,7 +20180,7 @@ modified as follows.
+@@ -20186,7 +20186,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.3/doc/gnutls.html
mode, while ’0’ will disable it.
The integrity checks for the dependent libraries and GnuTLS are performed
-@@ -20188,13 +20188,13 @@ using ’.hmac’ files which ar
+@@ -20194,13 +20194,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.3/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.
-@@ -20203,7 +20203,7 @@ which can switch to alternative modes as
+@@ -20209,7 +20209,7 @@ which can switch to alternative modes as
GNUTLS_FIPS140_DISABLED
@@ -353,7 +353,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
GNUTLS_FIPS140_STRICT
The default mode; all forbidden operations will cause an
-@@ -20214,8 +20214,8 @@ operation failure via error code.
+@@ -20220,8 +20220,8 @@ operation failure via error code.
cannot be set or seen by applications.
GNUTLS_FIPS140_LAX
@@ -364,7 +364,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
application is aware of the followed security policy, and needs
to utilize disallowed operations for other reasons (e.g., compatibility).
-@@ -20227,7 +20227,7 @@ to a message to the audit callback funct
+@@ -20233,7 +20233,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.3/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.
-@@ -20256,9 +20256,9 @@ if (gnutls_fips140_mode_enabled())
+@@ -20262,9 +20262,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.3/doc/gnutls.html
gnutls_fips140_set_mode(GNUTLS_FIPS140_LAX, 0);
-@@ -20281,7 +20281,7 @@ performed within a given context.
+@@ -20287,7 +20287,7 @@ performed within a given context.
int gnutls_fips140_pop_context ( void)
@@ -394,7 +394,7 @@ Index: gnutls-3.8.3/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
-@@ -20654,8 +20654,8 @@ Previous:
@@ -405,7 +405,7 @@ Index: gnutls-3.8.3/doc/gnutls.html
-@@ -24569,7 +24569,7 @@ unusable. This function is not thread-s
+@@ -24576,7 +24576,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.3/doc/gnutls.html
flags: should be zero or GNUTLS_FIPS140_SET_MODE_THREAD
-@@ -24578,13 +24578,13 @@ unusable. This function is not thread-s
+@@ -24585,13 +24585,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.3/doc/gnutls.html
values for mode
or to GNUTLS_FIPS140_SELFTESTS
mode, the library
switches to GNUTLS_FIPS140_STRICT
mode.
-@@ -46927,7 +46927,7 @@ Next: | gnutls_fingerprint : | | Core TLS API |
| gnutls_fips140_context_deinit : | | Core TLS API |
| gnutls_fips140_context_init : | | Core TLS API |
@@ -439,10 +439,10 @@ Index: gnutls-3.8.3/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.3/doc/gnutls.info-3
+Index: gnutls-3.8.4/doc/gnutls.info-3
===================================================================
---- gnutls-3.8.3.orig/doc/gnutls.info-3
-+++ gnutls-3.8.3/doc/gnutls.info-3
+--- gnutls-3.8.4.orig/doc/gnutls.info-3
++++ gnutls-3.8.4/doc/gnutls.info-3
@@ -2247,7 +2247,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
@@ -512,7 +512,7 @@ Index: gnutls-3.8.3/doc/gnutls.info-3
File: gnutls.info, Node: Error codes, Next: Supported ciphersuites, Prev: Support, Up: Top
-@@ -9151,7 +9151,7 @@ gnutls_fips140_set_mode
+@@ -9152,7 +9152,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.3/doc/gnutls.info-3
FLAGS: should be zero or ‘GNUTLS_FIPS140_SET_MODE_THREAD’
-Index: gnutls-3.8.3/doc/invoke-gnutls-cli.texi
+Index: gnutls-3.8.4/doc/invoke-gnutls-cli.texi
===================================================================
---- gnutls-3.8.3.orig/doc/invoke-gnutls-cli.texi
-+++ gnutls-3.8.3/doc/invoke-gnutls-cli.texi
+--- gnutls-3.8.4.orig/doc/invoke-gnutls-cli.texi
++++ gnutls-3.8.4/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.3/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.3/doc/manpages/gnutls-cli.1
+Index: gnutls-3.8.4/doc/manpages/gnutls-cli.1
===================================================================
---- gnutls-3.8.3.orig/doc/manpages/gnutls-cli.1
-+++ gnutls-3.8.3/doc/manpages/gnutls-cli.1
+--- gnutls-3.8.4.orig/doc/manpages/gnutls-cli.1
++++ gnutls-3.8.4/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.3/doc/manpages/gnutls-cli.1
.sp
.TP
.NOP \f\*[B-Font]\-\-list\-config\f[]
-Index: gnutls-3.8.3/doc/reference/html/gnutls-gnutls.html
+Index: gnutls-3.8.4/doc/reference/html/gnutls-gnutls.html
===================================================================
---- gnutls-3.8.3.orig/doc/reference/html/gnutls-gnutls.html
-+++ gnutls-3.8.3/doc/reference/html/gnutls-gnutls.html
+--- gnutls-3.8.4.orig/doc/reference/html/gnutls-gnutls.html
++++ gnutls-3.8.4/doc/reference/html/gnutls-gnutls.html
@@ -20866,12 +20866,12 @@ gnutls_fips140_set_mode (
-@@ -25904,7 +25904,7 @@ encryption
+@@ -25911,7 +25911,7 @@ encryption
enum gnutls_fips_mode_t
@@ -584,7 +584,7 @@ Index: gnutls-3.8.3/doc/reference/html/gnutls-gnutls.html