diff --git a/.gitignore b/.gitignore
index d994771..c99cd47 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/talloc-2.3.1.tar.gz
+SOURCES/talloc-2.3.2.tar.gz
diff --git a/.libtalloc.metadata b/.libtalloc.metadata
index a4b60a6..e7f6934 100644
--- a/.libtalloc.metadata
+++ b/.libtalloc.metadata
@@ -1 +1 @@
-1ff430a62264b29efac39a3fa26290586c019800 SOURCES/talloc-2.3.1.tar.gz
+3f2ce471d68d0806dd0910cbe97d9fea2f967288 SOURCES/talloc-2.3.2.tar.gz
diff --git a/SOURCES/0003-wafsamba-Fix-few-SyntaxWarnings-caused-by-regular-ex.patch b/SOURCES/0003-wafsamba-Fix-few-SyntaxWarnings-caused-by-regular-ex.patch
new file mode 100644
index 0000000..7fdf0c1
--- /dev/null
+++ b/SOURCES/0003-wafsamba-Fix-few-SyntaxWarnings-caused-by-regular-ex.patch
@@ -0,0 +1,195 @@
+From 87dfb0ce329447625050771fd83dae1841ece1b8 Mon Sep 17 00:00:00 2001
+From: Lukas Slebodnik <lslebodn@fedoraproject.org>
+Date: Wed, 12 Jun 2019 13:38:17 +0200
+Subject: [PATCH] wafsamba: Fix few SyntaxWarnings caused by regular
+ expressions
+
+./buildtools/wafsamba/samba_utils.py:258: SyntaxWarning: invalid escape sequence \$
+  lst = re.split('(\$\{\w+\})', string)
+./buildtools/wafsamba/samba_utils.py:261: SyntaxWarning: invalid escape sequence \$
+  if re.match('\$\{\w+\}', v):
+./buildtools/wafsamba/samba_cross.py:80: SyntaxWarning: invalid escape sequence \(
+  m = re.match('\(\s*(-?\d+)\s*,\s*\"(.*)\"\s*\)', ans)
+./buildtools/wafsamba/samba_conftests.py:400: SyntaxWarning: invalid escape sequence \s
+  m = re.search('MAN%sEXT\s+=\s+(\w+)' % section, man)
+./buildtools/wafsamba/samba_abi.py:24: SyntaxWarning: invalid escape sequence \$
+  sig = re.sub('^\$[0-9]+\s=\s\{(.+)\}$', r'\1', sig)
+./buildtools/wafsamba/samba_abi.py:25: SyntaxWarning: invalid escape sequence \$
+  sig = re.sub('^\$[0-9]+\s=\s\{(.+)\}(\s0x[0-9a-f]+\s<\w+>)+$', r'\1', sig)
+./buildtools/wafsamba/samba_abi.py:26: SyntaxWarning: invalid escape sequence \$
+  sig = re.sub('^\$[0-9]+\s=\s(0x[0-9a-f]+)\s?(<\w+>)?$', r'\1', sig)
+./buildtools/wafsamba/samba_abi.py:33: SyntaxWarning: invalid escape sequence \*
+  m = m.replace('*', '\*')
+./buildtools/wafsamba/samba_abi.py:44: SyntaxWarning: invalid escape sequence \s
+  sig = re.sub(',\s\.\.\.', '', sig)
+./buildtools/wafsamba/samba_headers.py:22: SyntaxWarning: invalid escape sequence \s
+  re_header = re.compile('^\s*#\s*include[ \t]*"([^"]+)"', re.I | re.M)
+./buildtools/wafsamba/symbols.py:122: SyntaxWarning: invalid escape sequence \[
+  re_sharedlib = re.compile(b'Shared library: \[(.*)\]')
+./buildtools/wafsamba/symbols.py:124: SyntaxWarning: invalid escape sequence \[
+  re_rpath     = re.compile(b'Library (rpath|runpath): \[(.*)\]')
+./buildtools/wafsamba/pkgconfig.py:12: SyntaxWarning: invalid escape sequence \w
+  a = re.split('(@\w+@)', s)
+./buildtools/wafsamba/pkgconfig.py:17: SyntaxWarning: invalid escape sequence \w
+  if re.match('@\w+@', v):
+./buildtools/wafsamba/configure_file.py:16: SyntaxWarning: invalid escape sequence \w
+  a = re.split('(@\w+@)', s)
+./buildtools/wafsamba/configure_file.py:19: SyntaxWarning: invalid escape sequence \w
+  if re.match('@\w+@', v):
+---
+ buildtools/wafsamba/configure_file.py  |  4 ++--
+ buildtools/wafsamba/pkgconfig.py       |  4 ++--
+ buildtools/wafsamba/samba_abi.py       | 12 ++++++------
+ buildtools/wafsamba/samba_conftests.py |  2 +-
+ buildtools/wafsamba/samba_cross.py     |  2 +-
+ buildtools/wafsamba/samba_headers.py   |  2 +-
+ buildtools/wafsamba/samba_utils.py     |  4 ++--
+ buildtools/wafsamba/symbols.py         |  4 ++--
+ 8 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/buildtools/wafsamba/configure_file.py b/buildtools/wafsamba/configure_file.py
+index 6ad43546249fba7b4c0a037035e8574e7a9d2753..98a58a4604513e3633317e73299c1c9280c250d2 100644
+--- a/buildtools/wafsamba/configure_file.py
++++ b/buildtools/wafsamba/configure_file.py
+@@ -13,10 +13,10 @@ def subst_at_vars(task):
+     s = task.inputs[0].read()
+ 
+     # split on the vars
+-    a = re.split('(@\w+@)', s)
++    a = re.split(r'(@\w+@)', s)
+     out = []
+     for v in a:
+-        if re.match('@\w+@', v):
++        if re.match(r'@\w+@', v):
+             vname = v[1:-1]
+             if not vname in task.env and vname.upper() in task.env:
+                 vname = vname.upper()
+diff --git a/buildtools/wafsamba/pkgconfig.py b/buildtools/wafsamba/pkgconfig.py
+index b83d5f382a58352bb3318b594aa2b45fc02d87d5..b77bd618c8903789c7ba9e64a6972a4e080f1821 100644
+--- a/buildtools/wafsamba/pkgconfig.py
++++ b/buildtools/wafsamba/pkgconfig.py
+@@ -9,12 +9,12 @@ def subst_at_vars(task):
+ 
+     s = task.inputs[0].read()
+     # split on the vars
+-    a = re.split('(@\w+@)', s)
++    a = re.split(r'(@\w+@)', s)
+     out = []
+     done_var = {}
+     back_sub = [ ('PREFIX', '${prefix}'), ('EXEC_PREFIX', '${exec_prefix}')]
+     for v in a:
+-        if re.match('@\w+@', v):
++        if re.match(r'@\w+@', v):
+             vname = v[1:-1]
+             if not vname in task.env and vname.upper() in task.env:
+                 vname = vname.upper()
+diff --git a/buildtools/wafsamba/samba_abi.py b/buildtools/wafsamba/samba_abi.py
+index 5e7686da3d68b1ebcd842b8a319a5997fa9cf600..761667fcfe1f3937be22c8261b45dcb3979ae4cd 100644
+--- a/buildtools/wafsamba/samba_abi.py
++++ b/buildtools/wafsamba/samba_abi.py
+@@ -21,16 +21,16 @@ version_key = lambda x: list(map(int, x.split(".")))
+ def normalise_signature(sig):
+     '''normalise a signature from gdb'''
+     sig = sig.strip()
+-    sig = re.sub('^\$[0-9]+\s=\s\{(.+)\}$', r'\1', sig)
+-    sig = re.sub('^\$[0-9]+\s=\s\{(.+)\}(\s0x[0-9a-f]+\s<\w+>)+$', r'\1', sig)
+-    sig = re.sub('^\$[0-9]+\s=\s(0x[0-9a-f]+)\s?(<\w+>)?$', r'\1', sig)
+-    sig = re.sub('0x[0-9a-f]+', '0xXXXX', sig)
++    sig = re.sub(r'^\$[0-9]+\s=\s\{(.+)\}$', r'\1', sig)
++    sig = re.sub(r'^\$[0-9]+\s=\s\{(.+)\}(\s0x[0-9a-f]+\s<\w+>)+$', r'\1', sig)
++    sig = re.sub(r'^\$[0-9]+\s=\s(0x[0-9a-f]+)\s?(<\w+>)?$', r'\1', sig)
++    sig = re.sub(r'0x[0-9a-f]+', '0xXXXX', sig)
+     sig = re.sub('", <incomplete sequence (\\\\[a-z0-9]+)>', r'\1"', sig)
+ 
+     for t in abi_type_maps:
+         # we need to cope with non-word characters in mapped types
+         m = t
+-        m = m.replace('*', '\*')
++        m = m.replace('*', r'\*')
+         if m[-1].isalnum() or m[-1] == '_':
+             m += '\\b'
+         if m[0].isalnum() or m[0] == '_':
+@@ -41,7 +41,7 @@ def normalise_signature(sig):
+ 
+ def normalise_varargs(sig):
+     '''cope with older versions of gdb'''
+-    sig = re.sub(',\s\.\.\.', '', sig)
++    sig = re.sub(r',\s\.\.\.', '', sig)
+     return sig
+ 
+ 
+diff --git a/buildtools/wafsamba/samba_conftests.py b/buildtools/wafsamba/samba_conftests.py
+index ef632ba903369e4211991f17a3b204bcd96c3a2f..63e50567860ff890b00b0ce6c7607c917b7329d1 100644
+--- a/buildtools/wafsamba/samba_conftests.py
++++ b/buildtools/wafsamba/samba_conftests.py
+@@ -397,7 +397,7 @@ WriteMakefile(
+ 
+     if section:
+         man = Utils.readf(os.path.join(bdir,'Makefile'))
+-        m = re.search('MAN%sEXT\s+=\s+(\w+)' % section, man)
++        m = re.search(r'MAN%sEXT\s+=\s+(\w+)' % section, man)
+         if not m:
+             conf.end_msg('not found', color='YELLOW')
+             return
+diff --git a/buildtools/wafsamba/samba_cross.py b/buildtools/wafsamba/samba_cross.py
+index 8863c2c53e7d7dd9317c9233f0085ffd0eea6b2f..34793902fba884cf2d8358bf4315dc98027266b6 100644
+--- a/buildtools/wafsamba/samba_cross.py
++++ b/buildtools/wafsamba/samba_cross.py
+@@ -77,7 +77,7 @@ def cross_answer(ca_file, msg):
+                 f.close()
+                 return (0, ans.strip("'"))
+             else:
+-                m = re.match('\(\s*(-?\d+)\s*,\s*\"(.*)\"\s*\)', ans)
++                m = re.match(r'\(\s*(-?\d+)\s*,\s*\"(.*)\"\s*\)', ans)
+                 if m:
+                     f.close()
+                     return (int(m.group(1)), m.group(2))
+diff --git a/buildtools/wafsamba/samba_headers.py b/buildtools/wafsamba/samba_headers.py
+index a268c011c5d8e406e0d763554c55668cfb5388bc..c8bee19010978a04460b0637fcc8fd484a699ea8 100644
+--- a/buildtools/wafsamba/samba_headers.py
++++ b/buildtools/wafsamba/samba_headers.py
+@@ -19,7 +19,7 @@ def header_install_path(header, header_path):
+     return ''
+ 
+ 
+-re_header = re.compile('^\s*#\s*include[ \t]*"([^"]+)"', re.I | re.M)
++re_header = re.compile(r'^\s*#\s*include[ \t]*"([^"]+)"', re.I | re.M)
+ 
+ # a dictionary mapping source header paths to public header paths
+ header_map = {}
+diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
+index ad97de1859ba24c4afd5106b4f9694b0dc855643..75c9794ec40f327ef8ccf9aa33fafd6ed6181e3b 100644
+--- a/buildtools/wafsamba/samba_utils.py
++++ b/buildtools/wafsamba/samba_utils.py
+@@ -255,10 +255,10 @@ def TO_LIST(str, delimiter=None):
+ 
+ def subst_vars_error(string, env):
+     '''substitute vars, throw an error if a variable is not defined'''
+-    lst = re.split('(\$\{\w+\})', string)
++    lst = re.split(r'(\$\{\w+\})', string)
+     out = []
+     for v in lst:
+-        if re.match('\$\{\w+\}', v):
++        if re.match(r'\$\{\w+\}', v):
+             vname = v[2:-1]
+             if not vname in env:
+                 raise KeyError("Failed to find variable %s in %s in env %s <%s>" % (vname, string, env.__class__, str(env)))
+diff --git a/buildtools/wafsamba/symbols.py b/buildtools/wafsamba/symbols.py
+index 3eca3d46bd71cf0780b3c8e36a26b96bd3aa3b83..73e8ca8ce53ef5d956ac58e14a2403dd49f01109 100644
+--- a/buildtools/wafsamba/symbols.py
++++ b/buildtools/wafsamba/symbols.py
+@@ -119,9 +119,9 @@ def find_ldd_path(bld, libname, binary):
+ 
+ 
+ # some regular expressions for parsing readelf output
+-re_sharedlib = re.compile(b'Shared library: \[(.*)\]')
++re_sharedlib = re.compile(r'Shared library: \[(.*)\]')
+ # output from readelf could be `Library rpath` or `Libray runpath`
+-re_rpath     = re.compile(b'Library (rpath|runpath): \[(.*)\]')
++re_rpath     = re.compile(r'Library (rpath|runpath): \[(.*)\]')
+ 
+ def get_libs(bld, binname):
+     '''find the list of linked libraries for any binary or library
+-- 
+2.22.0
+
diff --git a/SOURCES/talloc-2.3.2.tar.asc b/SOURCES/talloc-2.3.2.tar.asc
new file mode 100644
index 0000000..5ab2b1c
--- /dev/null
+++ b/SOURCES/talloc-2.3.2.tar.asc
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQFJBAABCgAzFiEEkUejOXGVGO6QEby1R5ORYRMIQCUFAmAOg6kVHHNhbWJhLWJ1
+Z3NAc2FtYmEub3JnAAoJEEeTkWETCEAl5FEH/A6GJFC43RTOfoPtZjGkQ1z18aMq
+VMdg+D+KWKC19BDpt4ypXb2NlaRl0lMiVAawoGqQdz5xX+LIlSu80dHE6mmQJk4a
+YuRLJmKw536JXbldKgcPVymBl8+i6VEIF33NWY253N4baYSDhPmU2mUKvEctF6Ec
+G4W4NNZDOpAsVHG8mxCI7I2mnlt4e5R+kK4A+cbnOuCtXEHhJ5vxC/pHTr2iy9uA
+k8IBYaAYOJzTTQla0ns7zsJRNCpneMMTjhv70lkAfrB7KiQ8duSkC4k3+lEVMjLh
+spdUHKmD0F4OCNmOKG6nMUa/NoIYjViAU1IfJ2ClAFM9DhMiZ36NjYCPstw=
+=W8Ti
+-----END PGP SIGNATURE-----
diff --git a/SOURCES/talloc.keyring b/SOURCES/talloc.keyring
new file mode 100644
index 0000000..dc6f26b
Binary files /dev/null and b/SOURCES/talloc.keyring differ
diff --git a/SPECS/libtalloc.spec b/SPECS/libtalloc.spec
index 521a264..6627c47 100644
--- a/SPECS/libtalloc.spec
+++ b/SPECS/libtalloc.spec
@@ -1,38 +1,49 @@
+%if 0%{?fedora} || 0%{?rhel} > 7
+%bcond_without python3
+%else
+%bcond_with python3
+%endif
+
 Name: libtalloc
-Version: 2.3.1
-Release: 2%{?dist}
-Group: System Environment/Daemons
+Version: 2.3.2
+Release: 1%{?dist}
 Summary: The talloc library
 License: LGPLv3+
 URL: https://talloc.samba.org/
-Source: https://www.samba.org/ftp/talloc/talloc-%{version}.tar.gz
 
+Source0: https://www.samba.org/ftp/talloc/talloc-%{version}.tar.gz
+Source1: https://www.samba.org/ftp/talloc/talloc-%{version}.tar.asc
+Source2: https://download.samba.org/pub/samba/samba-pubkey.asc#/talloc.keyring
+
+# Patches
+Patch0001: 0003-wafsamba-Fix-few-SyntaxWarnings-caused-by-regular-ex.patch
+
+BuildRequires: make
 BuildRequires: gcc
 BuildRequires: libxslt
 BuildRequires: docbook-style-xsl
+%if %{with python3}
 BuildRequires: python3-devel
+%endif
 BuildRequires: doxygen
+BuildRequires: gnupg2
 
 Provides: bundled(libreplace)
 Obsoletes: python2-talloc < %{version}-%{release}
 Obsoletes: python2-talloc-devel < %{version}-%{release}
-Obsoletes: python2-talloc-debuginfo < %{version}-%{release}
-
-# Patches
 
 %description
 A library that implements a hierarchical allocator with destructors.
 
 %package devel
-Group: Development/Libraries
 Summary: Developer tools for the Talloc library
 Requires: libtalloc = %{version}-%{release}
 
 %description devel
 Header files needed to develop programs that link against the Talloc library.
 
+%if %{with python3}
 %package -n python3-talloc
-Group: Development/Libraries
 Summary: Python bindings for the Talloc library
 Requires: libtalloc = %{version}-%{release}
 %{?python_provide:%python_provide python3-talloc}
@@ -41,19 +52,19 @@ Requires: libtalloc = %{version}-%{release}
 Python 3 libraries for creating bindings using talloc
 
 %package -n python3-talloc-devel
-Group: Development/Libraries
 Summary: Development libraries for python3-talloc
 Requires: python3-talloc = %{version}-%{release}
 %{?python_provide:%python_provide python3-talloc-devel}
 
 %description -n python3-talloc-devel
 Development libraries for python3-talloc
+%endif
 
 %prep
+zcat %{SOURCE0} | gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} -
 %autosetup -n talloc-%{version} -p1
 
 %build
-
 # workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1217376
 export python_LDFLAGS=""
 
@@ -61,27 +72,19 @@ export python_LDFLAGS=""
            --disable-rpath-install \
            --bundled-libraries=NONE \
            --builtin-libraries=replace \
-           --disable-silent-rules \
-           $PY3_CONFIG_FLAGS
+           --disable-silent-rules
 
-make %{?_smp_mflags} V=1
+%make_build
 doxygen doxy.config
 
 %check
-make %{?_smp_mflags} check
+%make_build check
 
 %install
-make install DESTDIR=$RPM_BUILD_ROOT
-
-# Shared libraries need to be marked executable for
-# rpmbuild to strip them and include them in debuginfo
-find $RPM_BUILD_ROOT -name "*.so*" -exec chmod -c +x {} \;
-
-rm -f $RPM_BUILD_ROOT%{_libdir}/libtalloc.a
-rm -f $RPM_BUILD_ROOT/usr/share/swig/*/talloc.i
+%make_install
 
 # Install API docs
-cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir}
+cp -a doc/man/man3 %{buildroot}%{_mandir}
 
 %files
 %{_libdir}/libtalloc.so.*
@@ -90,9 +93,10 @@ cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir}
 %{_includedir}/talloc.h
 %{_libdir}/libtalloc.so
 %{_libdir}/pkgconfig/talloc.pc
-%{_mandir}/man3/talloc*.3.gz
-%{_mandir}/man3/libtalloc*.3.gz
+%{_mandir}/man3/talloc*.3*
+%{_mandir}/man3/libtalloc*.3*
 
+%if %{with python3}
 %files -n python3-talloc
 %{_libdir}/libpytalloc-util.cpython*.so.*
 %{python3_sitearch}/talloc.cpython*.so
@@ -101,12 +105,18 @@ cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir}
 %{_includedir}/pytalloc.h
 %{_libdir}/pkgconfig/pytalloc-util.cpython-*.pc
 %{_libdir}/libpytalloc-util.cpython*.so
+%endif
 
 %ldconfig_scriptlets
 
+%if %{with python3}
 %ldconfig_scriptlets -n python3-talloc
+%endif
 
 %changelog
+* Tue May 11 2021 Andreas Schneider <asn@redhat.com> - 2.3.2-1
+- resolves: rhbz#1945014 - Update to version 2.3.2
+
 * Tue Jun 2 2020 Isaac Boukris <iboukris@redhat.com> - 2.3.1-2
 - resolves: rhbz#1817560 - Update to version 2.3.1