Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package talloc for openSUSE:Factory checked 
in at 2023-10-05 20:02:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/talloc (Old)
 and      /work/SRC/openSUSE:Factory/.talloc.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "talloc"

Thu Oct  5 20:02:30 2023 rev:45 rq:1114971 version:2.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/talloc/talloc-man.changes        2023-03-25 
18:54:48.042489651 +0100
+++ /work/SRC/openSUSE:Factory/.talloc.new.28202/talloc-man.changes     
2023-10-05 20:02:34.137446791 +0200
@@ -1,0 +2,8 @@
+Tue Sep 26 09:32:01 UTC 2023 - Noel Power <nopo...@suse.com>
+
+-  Update to 2.4.1
+    * Remove remaining, but broken python2 support
+    * Spelling fixes
+    * Remove unneeded va_copy()
+   
+-------------------------------------------------------------------
talloc.changes: same change

Old:
----
  talloc-2.4.0.tar.asc
  talloc-2.4.0.tar.gz

New:
----
  talloc-2.4.1.tar.asc
  talloc-2.4.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ talloc-man.spec ++++++
--- /var/tmp/diff_new_pack.rxXMkk/_old  2023-10-05 20:02:35.877509654 +0200
+++ /var/tmp/diff_new_pack.rxXMkk/_new  2023-10-05 20:02:35.877509654 +0200
@@ -35,7 +35,7 @@
 #!BuildIgnore:  python
 %endif # build_man
 URL:            http://talloc.samba.org/
-Version:        2.4.0
+Version:        2.4.1
 Release:        0
 Summary:        Samba talloc Library
 License:        LGPL-3.0-or-later

++++++ talloc.spec ++++++
--- /var/tmp/diff_new_pack.rxXMkk/_old  2023-10-05 20:02:35.905510666 +0200
+++ /var/tmp/diff_new_pack.rxXMkk/_new  2023-10-05 20:02:35.905510666 +0200
@@ -35,7 +35,7 @@
 #!BuildIgnore:  python
 %endif # build_man
 URL:            http://talloc.samba.org/
-Version:        2.4.0
+Version:        2.4.1
 Release:        0
 Summary:        Samba talloc Library
 License:        LGPL-3.0-or-later

++++++ talloc-2.4.0.tar.gz -> talloc-2.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/ABI/pytalloc-util-2.4.1.sigs 
new/talloc-2.4.1/ABI/pytalloc-util-2.4.1.sigs
--- old/talloc-2.4.0/ABI/pytalloc-util-2.4.1.sigs       1970-01-01 
01:00:00.000000000 +0100
+++ new/talloc-2.4.1/ABI/pytalloc-util-2.4.1.sigs       2023-07-18 
15:16:05.179537800 +0200
@@ -0,0 +1,16 @@
+_pytalloc_check_type: int (PyObject *, const char *)
+_pytalloc_get_mem_ctx: TALLOC_CTX *(PyObject *)
+_pytalloc_get_name: const char *(PyObject *)
+_pytalloc_get_ptr: void *(PyObject *)
+_pytalloc_get_type: void *(PyObject *, const char *)
+pytalloc_BaseObject_PyType_Ready: int (PyTypeObject *)
+pytalloc_BaseObject_check: int (PyObject *)
+pytalloc_BaseObject_size: size_t (void)
+pytalloc_Check: int (PyObject *)
+pytalloc_GenericObject_reference_ex: PyObject *(TALLOC_CTX *, void *)
+pytalloc_GenericObject_steal_ex: PyObject *(TALLOC_CTX *, void *)
+pytalloc_GetBaseObjectType: PyTypeObject *(void)
+pytalloc_GetObjectType: PyTypeObject *(void)
+pytalloc_reference_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
+pytalloc_steal: PyObject *(PyTypeObject *, void *)
+pytalloc_steal_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/ABI/talloc-2.4.1.sigs 
new/talloc-2.4.1/ABI/talloc-2.4.1.sigs
--- old/talloc-2.4.0/ABI/talloc-2.4.1.sigs      1970-01-01 01:00:00.000000000 
+0100
+++ new/talloc-2.4.1/ABI/talloc-2.4.1.sigs      2023-07-18 15:16:05.179537800 
+0200
@@ -0,0 +1,66 @@
+_talloc: void *(const void *, size_t)
+_talloc_array: void *(const void *, size_t, unsigned int, const char *)
+_talloc_free: int (void *, const char *)
+_talloc_get_type_abort: void *(const void *, const char *, const char *)
+_talloc_memdup: void *(const void *, const void *, size_t, const char *)
+_talloc_move: void *(const void *, const void *)
+_talloc_pooled_object: void *(const void *, size_t, const char *, unsigned 
int, size_t)
+_talloc_realloc: void *(const void *, void *, size_t, const char *)
+_talloc_realloc_array: void *(const void *, void *, size_t, unsigned int, 
const char *)
+_talloc_reference_loc: void *(const void *, const void *, const char *)
+_talloc_set_destructor: void (const void *, int (*)(void *))
+_talloc_steal_loc: void *(const void *, const void *, const char *)
+_talloc_zero: void *(const void *, size_t, const char *)
+_talloc_zero_array: void *(const void *, size_t, unsigned int, const char *)
+talloc_asprintf: char *(const void *, const char *, ...)
+talloc_asprintf_addbuf: void (char **, const char *, ...)
+talloc_asprintf_append: char *(char *, const char *, ...)
+talloc_asprintf_append_buffer: char *(char *, const char *, ...)
+talloc_autofree_context: void *(void)
+talloc_check_name: void *(const void *, const char *)
+talloc_disable_null_tracking: void (void)
+talloc_enable_leak_report: void (void)
+talloc_enable_leak_report_full: void (void)
+talloc_enable_null_tracking: void (void)
+talloc_enable_null_tracking_no_autofree: void (void)
+talloc_find_parent_byname: void *(const void *, const char *)
+talloc_free_children: void (void *)
+talloc_get_name: const char *(const void *)
+talloc_get_size: size_t (const void *)
+talloc_increase_ref_count: int (const void *)
+talloc_init: void *(const char *, ...)
+talloc_is_parent: int (const void *, const void *)
+talloc_named: void *(const void *, size_t, const char *, ...)
+talloc_named_const: void *(const void *, size_t, const char *)
+talloc_parent: void *(const void *)
+talloc_parent_name: const char *(const void *)
+talloc_pool: void *(const void *, size_t)
+talloc_realloc_fn: void *(const void *, void *, size_t)
+talloc_reference_count: size_t (const void *)
+talloc_reparent: void *(const void *, const void *, const void *)
+talloc_report: void (const void *, FILE *)
+talloc_report_depth_cb: void (const void *, int, int, void (*)(const void *, 
int, int, int, void *), void *)
+talloc_report_depth_file: void (const void *, int, int, FILE *)
+talloc_report_full: void (const void *, FILE *)
+talloc_set_abort_fn: void (void (*)(const char *))
+talloc_set_log_fn: void (void (*)(const char *))
+talloc_set_log_stderr: void (void)
+talloc_set_memlimit: int (const void *, size_t)
+talloc_set_name: const char *(const void *, const char *, ...)
+talloc_set_name_const: void (const void *, const char *)
+talloc_show_parents: void (const void *, FILE *)
+talloc_strdup: char *(const void *, const char *)
+talloc_strdup_append: char *(char *, const char *)
+talloc_strdup_append_buffer: char *(char *, const char *)
+talloc_strndup: char *(const void *, const char *, size_t)
+talloc_strndup_append: char *(char *, const char *, size_t)
+talloc_strndup_append_buffer: char *(char *, const char *, size_t)
+talloc_test_get_magic: int (void)
+talloc_total_blocks: size_t (const void *)
+talloc_total_size: size_t (const void *)
+talloc_unlink: int (const void *, void *)
+talloc_vasprintf: char *(const void *, const char *, va_list)
+talloc_vasprintf_append: char *(char *, const char *, va_list)
+talloc_vasprintf_append_buffer: char *(char *, const char *, va_list)
+talloc_version_major: int (void)
+talloc_version_minor: int (void)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/Makefile new/talloc-2.4.1/Makefile
--- old/talloc-2.4.0/Makefile   2022-03-02 12:26:09.144422800 +0100
+++ new/talloc-2.4.1/Makefile   2023-02-03 11:04:15.024082200 +0100
@@ -60,9 +60,6 @@
 ctags:
        $(WAF) ctags
 
-pydoctor:
-       $(WAF) pydoctor
-
 bin/%:: FORCE
        $(WAF) --targets=`basename $@`
 FORCE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/examples/run_on_target.py 
new/talloc-2.4.1/buildtools/examples/run_on_target.py
--- old/talloc-2.4.0/buildtools/examples/run_on_target.py       2022-03-02 
12:26:08.936421600 +0100
+++ new/talloc-2.4.1/buildtools/examples/run_on_target.py       2023-04-04 
16:54:16.532374000 +0200
@@ -38,7 +38,7 @@
 import subprocess
 from optparse import OptionParser
 
-# those are defaults, but can be overidden using command line
+# these are defaults, but can be overridden using command line
 SSH = 'ssh'
 USER = None
 HOST = 'localhost'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/configure_file.py 
new/talloc-2.4.1/buildtools/wafsamba/configure_file.py
--- old/talloc-2.4.0/buildtools/wafsamba/configure_file.py      2022-03-02 
12:26:08.936421600 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/configure_file.py      2023-01-23 
06:37:57.747581200 +0100
@@ -13,10 +13,10 @@
     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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/pkgconfig.py 
new/talloc-2.4.1/buildtools/wafsamba/pkgconfig.py
--- old/talloc-2.4.0/buildtools/wafsamba/pkgconfig.py   2022-03-02 
12:26:08.936421600 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/pkgconfig.py   2023-01-23 
06:37:57.751581200 +0100
@@ -9,12 +9,12 @@
 
     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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_abi.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_abi.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_abi.py   2022-03-02 
13:27:53.318182000 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_abi.py   2023-05-15 
12:15:14.013386500 +0200
@@ -21,16 +21,16 @@
 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,8 +41,9 @@
 
 def normalise_varargs(sig):
     '''cope with older versions of gdb'''
-    sig = re.sub(',\s\.\.\.', '', sig)
-    return sig
+    sig = re.sub(r',\s\.\.\.', '', sig)
+    # Make sure we compare bytes and not strings
+    return bytes(sig, encoding='utf-8').decode('unicode_escape')
 
 
 def parse_sigs(sigs, abi_match):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_autoconf.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_autoconf.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_autoconf.py      2023-01-18 
16:27:05.360657700 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_autoconf.py      2023-05-19 
10:55:21.091587500 +0200
@@ -364,7 +364,7 @@
     return False
 
 @conf
-def CHECK_VALUEOF(conf, v, headers=None, define=None):
+def CHECK_VALUEOF(conf, v, headers=None, define=None, lib=None):
     '''check the value of a variable/define'''
     ret = True
     v_define = define
@@ -376,6 +376,7 @@
                   execute=True,
                   define_ret=True,
                   quote=False,
+                  lib=lib,
                   headers=headers,
                   local_include=False,
                   msg="Checking value of %s" % v):
@@ -830,8 +831,10 @@
     if (Options.options.address_sanitizer or
         Options.options.undefined_sanitizer):
         conf.ADD_CFLAGS('-g -O1', testflags=True)
-    if Options.options.address_sanitizer:
+    if (Options.options.address_sanitizer
+       or Options.options.memory_sanitizer):
         conf.ADD_CFLAGS('-fno-omit-frame-pointer', testflags=True)
+    if Options.options.address_sanitizer:
         conf.ADD_CFLAGS('-fsanitize=address', testflags=True)
         conf.ADD_LDFLAGS('-fsanitize=address', testflags=True)
         conf.env['ADDRESS_SANITIZER'] = True
@@ -842,6 +845,13 @@
         conf.ADD_LDFLAGS('-fsanitize=undefined', testflags=True)
         conf.env['UNDEFINED_SANITIZER'] = True
 
+    # MemorySanitizer is only available if you build with clang
+    if Options.options.memory_sanitizer:
+        conf.ADD_CFLAGS('-g -O2', testflags=True)
+        conf.ADD_CFLAGS('-fsanitize=memory', testflags=True)
+        conf.ADD_CFLAGS('-fsanitize-memory-track-origins=2', testflags=True)
+        conf.ADD_LDFLAGS('-fsanitize=memory')
+        conf.env['MEMORY_SANITIZER'] = True
 
     # Let people pass an additional ADDITIONAL_{CFLAGS,LDFLAGS}
     # environment variables which are only used the for final build.
@@ -883,10 +893,12 @@
             conf.env[name] = conf.env['PREFIX'] + default
 
 @conf
-def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=[]):
+def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=None):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
+    if prereq_flags is None:
+        prereq_flags = []
     prereq_flags = TO_LIST(prereq_flags)
     if testflags:
         ok_flags=[]
@@ -899,10 +911,12 @@
     conf.env[name].extend(TO_LIST(flags))
 
 @conf
-def ADD_CFLAGS(conf, flags, testflags=False, prereq_flags=[]):
+def ADD_CFLAGS(conf, flags, testflags=False, prereq_flags=None):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
+    if prereq_flags is None:
+        prereq_flags = []
     ADD_NAMED_CFLAGS(conf, 'EXTRA_CFLAGS', flags, testflags=testflags,
                      prereq_flags=prereq_flags)
 
@@ -969,7 +983,7 @@
     '''enable/disable cache of configure results'''
     if enable:
         # when -C is chosen, we will use a private cache and will
-        # not look into system includes. This roughtly matches what
+        # not look into system includes. This roughly matches what
         # autoconf does with -C
         cache_path = os.path.join(conf.bldnode.abspath(), '.confcache')
         mkdir_p(cache_path)
@@ -986,7 +1000,9 @@
 
 @conf
 def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf):
-    if Options.options.address_sanitizer or Options.options.enable_libfuzzer:
+    if (Options.options.address_sanitizer
+       or Options.options.memory_sanitizer
+       or Options.options.enable_libfuzzer):
         # Sanitizers can rely on symbols undefined at library link time and the
         # symbols used for fuzzers are only defined by compiler wrappers.
         return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_bundled.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_bundled.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_bundled.py       2022-03-02 
13:27:53.318182000 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_bundled.py       2023-04-04 
16:54:16.532374000 +0200
@@ -57,7 +57,7 @@
 
 
 def minimum_library_version(conf, libname, default):
-    '''allow override of mininum system library version'''
+    '''allow override of minimum system library version'''
 
     minlist = Options.options.MINIMUM_LIBRARY_VERSION
     if not minlist:
@@ -104,12 +104,14 @@
 
 @conf
 def CHECK_BUNDLED_SYSTEM_PKG(conf, libname, minversion='0.0.0',
-        maxversion=None, version_blacklist=[],
+        maxversion=None, version_blacklist=None,
         onlyif=None, implied_deps=None, pkg=None):
     '''check if a library is available as a system library.
 
     This only tries using pkg-config
     '''
+    if version_blacklist is None:
+        version_blacklist = []
     return conf.CHECK_BUNDLED_SYSTEM(libname,
                                      minversion=minversion,
                                      maxversion=maxversion,
@@ -120,7 +122,7 @@
 
 @conf
 def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
-                         maxversion=None, version_blacklist=[],
+                         maxversion=None, version_blacklist=None,
                          checkfunctions=None, headers=None, checkcode=None,
                          onlyif=None, implied_deps=None,
                          require_headers=True, pkg=None, set_target=True):
@@ -129,6 +131,8 @@
     tries by testing for a specified function in the specified lib
     '''
     # We always do a logic validation of 'onlyif' first
+    if version_blacklist is None:
+        version_blacklist = []
     missing = []
     if onlyif:
         for l in samba_utils.TO_LIST(onlyif):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_conftests.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_conftests.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_conftests.py     2022-11-15 
16:59:09.743139700 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_conftests.py     2023-04-04 
16:54:16.532374000 +0200
@@ -36,7 +36,7 @@
                  if d:
                      additional_dirs.append(d)
 
-    # we add the additional dirs twice: once for the test data, and again if 
the compilation test suceeds below
+    # we add the additional dirs twice: once for the test data, and again if 
the compilation test succeeds below
     def add_options_dir(dirs, env):
         for x in dirs:
              if not x in env.CPPPATH:
@@ -398,7 +398,7 @@
 
     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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_git.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_git.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_git.py   2022-03-02 
12:26:08.940421600 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_git.py   2023-05-15 
12:15:14.013386500 +0200
@@ -43,6 +43,7 @@
         cwd=path)
     (stdout, stderr) = p.communicate(None)
     for l in stdout.splitlines():
+        l = l.decode('utf-8')
         l = l.rstrip()
         status = l[0]
         l = l[1:]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_headers.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_headers.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_headers.py       2022-03-02 
12:26:08.940421600 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_headers.py       2023-04-04 
16:54:16.532374000 +0200
@@ -19,7 +19,7 @@
     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 = {}
@@ -132,7 +132,7 @@
     bld.SET_BUILD_GROUP('final')
 
     if not bld.env.build_public_headers:
-        # in this case no header munging neeeded. Used for tdb, talloc etc
+        # in this case no header munging needed. Used for tdb, talloc etc
         public_headers_simple(bld, public_headers, header_path=header_path,
                               public_headers_install=public_headers_install)
         return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/talloc-2.4.0/buildtools/wafsamba/samba_third_party.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_third_party.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_third_party.py   2023-01-18 
16:27:05.360657700 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_third_party.py   2023-06-30 
17:47:25.508677000 +0200
@@ -24,12 +24,12 @@
 
 @conf
 def CHECK_SOCKET_WRAPPER(conf):
-    return conf.CHECK_BUNDLED_SYSTEM_PKG('socket_wrapper', minversion='1.3.4')
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('socket_wrapper', minversion='1.4.2')
 Build.BuildContext.CHECK_SOCKET_WRAPPER = CHECK_SOCKET_WRAPPER
 
 @conf
 def CHECK_NSS_WRAPPER(conf):
-    return conf.CHECK_BUNDLED_SYSTEM_PKG('nss_wrapper', minversion='1.1.13')
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('nss_wrapper', minversion='1.1.15')
 Build.BuildContext.CHECK_NSS_WRAPPER = CHECK_NSS_WRAPPER
 
 @conf
@@ -39,7 +39,7 @@
 
 @conf
 def CHECK_UID_WRAPPER(conf):
-    return conf.CHECK_BUNDLED_SYSTEM_PKG('uid_wrapper', minversion='1.2.7')
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('uid_wrapper', minversion='1.3.0')
 Build.BuildContext.CHECK_UID_WRAPPER = CHECK_UID_WRAPPER
 
 @conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_utils.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_utils.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_utils.py 2022-03-02 
14:24:35.089488300 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_utils.py 2023-04-04 
16:54:16.532374000 +0200
@@ -237,10 +237,10 @@
 
 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)))
@@ -327,7 +327,7 @@
 
     env = ConfigSet.ConfigSet()
     ret = varstr
-    # substitute on user supplied dict if avaiilable
+    # substitute on user supplied dict if available
     if vars is not None:
         for v in vars.keys():
             env[v] = vars[v]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_version.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_version.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_version.py       2022-03-02 
12:26:08.940421600 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_version.py       2023-04-04 
16:54:16.532374000 +0200
@@ -235,22 +235,22 @@
 def samba_version_file(version_file, path, env=None, is_install=True):
     '''Parse the version information from a VERSION file'''
 
-    f = open(version_file, 'r')
-    version_dict = {}
-    for line in f:
-        line = line.strip()
-        if line == '':
-            continue
-        if line.startswith("#"):
-            continue
-        try:
-            split_line = line.split("=")
-            if split_line[1] != "":
-                value = split_line[1].strip('"')
-                version_dict[split_line[0]] = value
-        except:
-            print("Failed to parse line %s from %s" % (line, version_file))
-            raise
+    with open(version_file, 'r') as f:
+        version_dict = {}
+        for line in f:
+            line = line.strip()
+            if line == '':
+                continue
+            if line.startswith("#"):
+                continue
+            try:
+                split_line = line.split("=")
+                if split_line[1] != "":
+                    value = split_line[1].strip('"')
+                    version_dict[split_line[0]] = value
+            except:
+                print("Failed to parse line %s from %s" % (line, version_file))
+                raise
 
     return SambaVersion(version_dict, path, env=env, is_install=is_install)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/samba_waf18.py 
new/talloc-2.4.1/buildtools/wafsamba/samba_waf18.py
--- old/talloc-2.4.0/buildtools/wafsamba/samba_waf18.py 2023-01-18 
16:27:05.360657700 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/samba_waf18.py 2023-04-04 
16:54:16.532374000 +0200
@@ -148,7 +148,7 @@
 def check(self, *k, **kw):
     '''Override the waf defaults to inject --with-directory options'''
 
-    # match the configuration test with speficic options, for example:
+    # match the configuration test with specific options, for example:
     # --with-libiconv -> Options.options.iconv_open -> "Checking for library 
iconv"
     self.validate_c(kw)
 
@@ -161,7 +161,7 @@
                  if d:
                      additional_dirs.append(d)
 
-    # we add the additional dirs twice: once for the test data, and again if 
the compilation test suceeds below
+    # we add the additional dirs twice: once for the test data, and again if 
the compilation test succeeds below
     def add_options_dir(dirs, env):
         for x in dirs:
              if not x in env.CPPPATH:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/symbols.py 
new/talloc-2.4.1/buildtools/wafsamba/symbols.py
--- old/talloc-2.4.0/buildtools/wafsamba/symbols.py     2022-03-02 
13:27:53.322182200 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/symbols.py     2023-04-04 
16:54:16.532374000 +0200
@@ -119,9 +119,9 @@
 
 
 # some regular expressions for parsing readelf output
-re_sharedlib = re.compile(b'Shared library: \[(.*)\]')
+re_sharedlib = re.compile(rb'Shared library: \[(.*)\]')
 # output from readelf could be `Library rpath` or `Libray runpath`
-re_rpath     = re.compile(b'Library (rpath|runpath): \[(.*)\]')
+re_rpath     = re.compile(rb'Library (rpath|runpath): \[(.*)\]')
 
 def get_libs(bld, binname):
     '''find the list of linked libraries for any binary or library
@@ -436,7 +436,7 @@
 
 
 def check_dependencies(bld, t):
-    '''check for depenencies that should be changed'''
+    '''check for dependencies that should be changed'''
 
     if bld.get_tgen_by_name(t.sname + ".objlist"):
         return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/wafsamba.py 
new/talloc-2.4.1/buildtools/wafsamba/wafsamba.py
--- old/talloc-2.4.0/buildtools/wafsamba/wafsamba.py    2023-01-18 
16:27:05.360657700 +0100
+++ new/talloc-2.4.1/buildtools/wafsamba/wafsamba.py    2023-04-04 
16:54:16.532374000 +0200
@@ -899,10 +899,12 @@
                     private_headers=None,
                     header_path=None,
                     vars=None,
-                    dep_vars=[],
+                    dep_vars=None,
                     always=False):
     '''A generic source generator target'''
 
+    if dep_vars is None:
+        dep_vars = []
     if not SET_TARGET_TYPE(bld, name, 'GENERATOR'):
         return
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/buildtools/wafsamba/wscript 
new/talloc-2.4.1/buildtools/wafsamba/wscript
--- old/talloc-2.4.0/buildtools/wafsamba/wscript        2022-04-25 
09:21:25.953240600 +0200
+++ new/talloc-2.4.1/buildtools/wafsamba/wscript        2023-04-04 
16:54:16.532374000 +0200
@@ -118,7 +118,7 @@
                    action="store_true", dest='disable_rpath_private_install', 
default=False)
     gr.add_option('--nonshared-binary',
                    help=(
-f'''Disable use of shared libaries internal to {Context.g_module.APPNAME} for 
the listed binaries.
+f'''Disable use of shared libraries internal to {Context.g_module.APPNAME} for 
the listed binaries.
 
 The resulting binaries are 'statically linked' with regard to components 
provided by
 {Context.g_module.APPNAME}, but remain dynamically linked to (eg) libc.so and 
libgnutls.so
@@ -189,6 +189,11 @@
         action="store_true",
         dest='undefined_sanitizer',
         default=False)
+    gr.add_option('--memory-sanitizer',
+        help=("Enable memory behaviour sanitizer compile and linker flags"),
+        action="store_true",
+        dest='memory_sanitizer',
+        default=False)
     gr.add_option('--enable-libfuzzer',
                   help=("Build fuzzing binaries (use ADDITIONAL_CFLAGS to 
specify compiler options for libFuzzer or use CC=honggfuzz/hfuzz-cc)"),
                   action="store_true", dest='enable_libfuzzer', default=False)
@@ -373,7 +378,7 @@
     conf.CHECK_CODE('printf("hello world")',
                     define='HAVE_SIMPLE_C_PROG',
                     mandatory=True,
-                    execute=True,
+                    execute=not conf.env.CROSS_COMPILE,
                     headers='stdio.h',
                     msg='Checking simple C program')
 
@@ -523,7 +528,8 @@
             strict=True,
             msg='Checking for __attribute__')
 
-    # Solaris by defauls uses draft versions of some functions unless you set 
_POSIX_PTHREAD_SEMANTICS
+    # Solaris by default uses draft versions of some functions unless you set
+    # _POSIX_PTHREAD_SEMANTICS
     if sys.platform.startswith('sunos'):
         conf.DEFINE('_POSIX_PTHREAD_SEMANTICS', 1)
 
@@ -705,11 +711,6 @@
                     define="HAVE_VA_COPY",
                     msg="Checking for va_copy")
 
-    conf.CHECK_CODE('''
-                    #define eprintf(...) fprintf(stderr, __VA_ARGS__)
-                    eprintf("bla", "bar")
-                    ''', define='HAVE__VA_ARGS__MACRO')
-
     conf.env.enable_fuzzing = False
 
     conf.env.enable_libfuzzer = Options.options.enable_libfuzzer
@@ -719,11 +720,6 @@
         conf.DEFINE('FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION', 1)
         conf.env.FUZZ_TARGET_LDFLAGS = Options.options.FUZZ_TARGET_LDFLAGS
 
-    # Create a symlink of the compile db for clangd
-    symlink(os.path.join(conf.bldnode.abspath(), 
'default/compile_commands.json'),
-            os.path.join(conf.srcnode.abspath(), 'compile_commands.json'),
-            force=True)
-
     conf.SAMBA_BUILD_ENV()
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/inet_ntop.c 
new/talloc-2.4.1/lib/replace/inet_ntop.c
--- old/talloc-2.4.0/lib/replace/inet_ntop.c    2022-03-02 12:26:09.136422600 
+0100
+++ new/talloc-2.4.1/lib/replace/inet_ntop.c    2023-04-12 16:52:20.881123800 
+0200
@@ -65,20 +65,22 @@
  *     format an IPv4 address
  * return:
  *     `dst' (as a const)
- * notes:
- *     (1) uses no statics
- *     (2) takes a unsigned char* not an in_addr as input
  * author:
  *     Paul Vixie, 1996.
  */
 static const char *
 inet_ntop4(const unsigned char *src, char *dst, socklen_t size)
 {
-       static const char *fmt = "%u.%u.%u.%u";
-       char tmp[sizeof "255.255.255.255"];
+       char tmp[sizeof("255.255.255.255")];
        size_t len;
 
-       len = snprintf(tmp, sizeof tmp, fmt, src[0], src[1], src[2], src[3]);
+       len = snprintf(tmp,
+                      sizeof(tmp),
+                      "%hhu.%hhu.%hhu.%hhu",
+                      src[0],
+                      src[1],
+                      src[2],
+                      src[3]);
        if (len >= size) {
                errno = ENOSPC;
                return (NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/replace.h 
new/talloc-2.4.1/lib/replace/replace.h
--- old/talloc-2.4.0/lib/replace/replace.h      2023-01-18 16:27:05.368657800 
+0100
+++ new/talloc-2.4.1/lib/replace/replace.h      2023-04-04 16:54:16.552373600 
+0200
@@ -886,6 +886,21 @@
 if((i)<((n)-1)){memmove(&((a)[(i)]),&((a)[(i)+1]),(sizeof(*(a))*((n)-(i)-1)));}
 
 /**
+ * Insert an array element by moving the rest one up
+ *
+ */
+#define ARRAY_INSERT_ELEMENT(__array,__old_last_idx,__new_elem,__new_idx) do { 
\
+       if ((__new_idx) < (__old_last_idx)) { \
+               const void *__src = &((__array)[(__new_idx)]); \
+               void *__dst = &((__array)[(__new_idx)+1]); \
+               size_t __num = (__old_last_idx)-(__new_idx); \
+               size_t __len = sizeof(*(__array)) * __num; \
+               memmove(__dst, __src, __len); \
+       } \
+       (__array)[(__new_idx)] = (__new_elem); \
+} while(0)
+
+/**
  * Pointer difference macro
  */
 #define PTR_DIFF(p1,p2) ((ptrdiff_t)(((const char *)(p1)) - (const char 
*)(p2)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/snprintf.c 
new/talloc-2.4.1/lib/replace/snprintf.c
--- old/talloc-2.4.0/lib/replace/snprintf.c     2022-11-15 16:59:09.747140000 
+0100
+++ new/talloc-2.4.1/lib/replace/snprintf.c     2023-04-12 16:52:20.881123800 
+0200
@@ -20,7 +20,7 @@
  * for string length.  This covers a nasty loophole.
  *
  * The other functions are there to prevent NULL pointers from
- * causing nast effects.
+ * causing nasty effects.
  *
  * More Recently:
  *  Brandon Long <bl...@fiction.net> 9/15/96 for mutt 0.43
@@ -77,7 +77,7 @@
  * Fix incorrect zpadlen handling in fmtfp.
  * Thanks to Ollie Oldham <ollie.old...@metro-optix.com> for spotting it.
  * few mods to make it easier to compile the tests.
- * addedd the "Ollie" test to the floating point ones.
+ * added the "Ollie" test to the floating point ones.
  *
  * Martin Pool (m...@samba.org) April 2003
  *    Remove NO_CONFIG_H so that the test case can be built within a source
@@ -550,7 +550,7 @@
                }
                for (i = 1; i < clist[pnum].num; i++) {
                        if (clist[pnum].chunks[0]->type != 
clist[pnum].chunks[i]->type) {
-                               /* nooo noo no!
+                               /* nooo no no!
                                 * all the references to a parameter
                                 * must be of the same type
                                 */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/strptime.c 
new/talloc-2.4.1/lib/replace/strptime.c
--- old/talloc-2.4.0/lib/replace/strptime.c     2022-03-02 12:26:09.136422600 
+0100
+++ new/talloc-2.4.1/lib/replace/strptime.c     2023-04-12 16:52:20.881123800 
+0200
@@ -287,7 +287,7 @@
        }
 
       /* Any character but `%' must be matched by the same character
-        in the iput string.  */
+        in the input string.  */
       if (*fmt != '%')
        {
          match_char (*fmt++, *rp++);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/system/network.h 
new/talloc-2.4.1/lib/replace/system/network.h
--- old/talloc-2.4.0/lib/replace/system/network.h       2022-03-02 
12:26:09.136422600 +0100
+++ new/talloc-2.4.1/lib/replace/system/network.h       2023-02-02 
09:26:34.277398800 +0100
@@ -91,6 +91,8 @@
 #include <stropts.h>
 #endif
 
+#include <limits.h>
+
 #ifndef HAVE_SOCKLEN_T
 #define HAVE_SOCKLEN_T
 typedef int socklen_t;
@@ -342,6 +344,16 @@
 # endif
 #endif
 
+#ifndef PIPE_BUF
+# ifdef __GNU__
+  /*
+   * GNU/Hurd does not have such hardcoded limitations. But it has to support
+   * the minimum POSIX value anyway.
+   */
+#  define PIPE_BUF 512
+# endif
+#endif
+
 #ifndef HAVE_STRUCT_ADDRINFO
 #define HAVE_STRUCT_ADDRINFO
 struct addrinfo {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/system/select.h 
new/talloc-2.4.1/lib/replace/system/select.h
--- old/talloc-2.4.0/lib/replace/system/select.h        2022-03-02 
12:26:09.136422600 +0100
+++ new/talloc-2.4.1/lib/replace/system/select.h        2023-02-02 
09:26:34.309399100 +0100
@@ -34,10 +34,6 @@
 #include <sys/epoll.h>
 #endif
 
-#ifdef HAVE_SOLARIS_PORTS
-#include <port.h>
-#endif
-
 #ifndef SELECT_CAST
 #define SELECT_CAST
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/system/wscript_configure 
new/talloc-2.4.1/lib/replace/system/wscript_configure
--- old/talloc-2.4.0/lib/replace/system/wscript_configure       2022-03-02 
12:26:09.136422600 +0100
+++ new/talloc-2.4.1/lib/replace/system/wscript_configure       2023-04-12 
16:52:20.885124000 +0200
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# solaris varients of getXXent_r
+# solaris variants of getXXent_r
 conf.CHECK_C_PROTOTYPE('getpwent_r',
                        'struct passwd *getpwent_r(struct passwd *src, char 
*buf, int buflen)',
                        define='SOLARIS_GETPWENT_R', headers='pwd.h')
@@ -8,7 +8,7 @@
                        'struct group *getgrent_r(struct group *src, char *buf, 
int buflen)',
                        define='SOLARIS_GETGRENT_R', headers='grp.h')
 
-# the irix varients
+# the irix variants
 conf.CHECK_C_PROTOTYPE('getpwent_r',
                        'struct passwd *getpwent_r(struct passwd *src, char 
*buf, size_t buflen)',
                        define='SOLARIS_GETPWENT_R', headers='pwd.h')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/wscript 
new/talloc-2.4.1/lib/replace/wscript
--- old/talloc-2.4.0/lib/replace/wscript        2023-01-18 16:27:05.368657800 
+0100
+++ new/talloc-2.4.1/lib/replace/wscript        2023-07-20 12:46:15.122290600 
+0200
@@ -44,7 +44,6 @@
     conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
     conf.CHECK_HEADERS('shadow.h sys/acl.h')
     conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h 
sys/dir.h sys/epoll.h')
-    conf.CHECK_HEADERS('port.h')
     conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
     conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h 
sys/ndir.h sys/priv.h')
     conf.CHECK_HEADERS('sys/resource.h sys/security.h sys/shm.h sys/statfs.h 
sys/statvfs.h sys/termio.h')
@@ -115,7 +114,7 @@
     conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
 
     conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
-    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+    conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h 
valgrind/callgrind.h')
     conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
     conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
     conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
@@ -132,6 +131,9 @@
     if conf.CHECK_CFLAGS('-Wno-strict-overflow'):
         conf.define('HAVE_WNO_STRICT_OVERFLOW', '1')
 
+    if conf.CHECK_CFLAGS('-Wno-unused-but-set-variable'):
+        conf.define('HAVE_WNO_UNUSED_BUT_SET_VARIABLE', '1')
+
     if conf.CHECK_CFLAGS('-Wuse-after-free=1'):
         conf.define('HAVE_WUSE_AFTER_FREE_1', '1')
 
@@ -182,6 +184,10 @@
     conf.CHECK_TYPE('blkcnt_t', 'long', headers='sys/types.h sys/stat.h 
unistd.h')
 
     conf.CHECK_SIZEOF('bool char int "long long" long short size_t ssize_t')
+    sizeof_int = conf.env["SIZEOF_INT"]
+    if sizeof_int < 4:
+        conf.fatal(f"Samba won't work with int of size {sizeof_int} (requires 
>= 4)")
+
     conf.CHECK_SIZEOF('int8_t uint8_t int16_t uint16_t int32_t uint32_t 
int64_t uint64_t')
     conf.CHECK_SIZEOF('void*', define='SIZEOF_VOID_P')
     conf.CHECK_SIZEOF('off_t dev_t ino_t time_t')
@@ -482,7 +488,6 @@
     conf.CHECK_FUNCS('timegm getifaddrs freeifaddrs mmap setgroups syscall 
setsid')
     conf.CHECK_FUNCS('getgrent_r getgrgid_r getgrnam_r getgrouplist 
getpagesize')
     conf.CHECK_FUNCS('getpwent_r getpwnam_r getpwuid_r epoll_create')
-    conf.CHECK_FUNCS('port_create')
     conf.CHECK_FUNCS('getprogname')
     if not conf.CHECK_FUNCS('copy_file_range'):
         conf.CHECK_CODE('''
@@ -708,9 +713,6 @@
     if conf.CONFIG_SET('HAVE_EPOLL_CREATE') and 
conf.CONFIG_SET('HAVE_SYS_EPOLL_H'):
         conf.DEFINE('HAVE_EPOLL', 1)
 
-    if conf.CONFIG_SET('HAVE_PORT_CREATE') and conf.CONFIG_SET('HAVE_PORT_H'):
-        conf.DEFINE('HAVE_SOLARIS_PORTS', 1)
-
     if conf.CHECK_FUNCS('eventfd', headers='sys/eventfd.h'):
         conf.DEFINE('HAVE_EVENTFD', 1)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/lib/replace/xattr.c 
new/talloc-2.4.1/lib/replace/xattr.c
--- old/talloc-2.4.0/lib/replace/xattr.c        2023-01-18 16:27:05.372657800 
+0100
+++ new/talloc-2.4.1/lib/replace/xattr.c        2023-04-21 10:29:11.356781200 
+0200
@@ -1,4 +1,4 @@
-/* 
+/*
    Unix SMB/CIFS implementation.
    replacement routines for xattr implementations
    Copyright (C) Jeremy Allison  1998-2005
@@ -10,7 +10,7 @@
      ** NOTE! The following LGPL license applies to the replace
      ** library. This does NOT imply that all of Samba is released
      ** under the LGPL
-   
+
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
@@ -42,7 +42,7 @@
 #endif
 
 /**************************************************************************
- Wrappers for extented attribute calls. Based on the Linux package with
+ Wrappers for extended attribute calls. Based on the Linux package with
  support for IRIX and (Net|Free)BSD also. Expand as other systems have them.
 ****************************************************************************/
 
@@ -196,7 +196,7 @@
         int space;
        const char *name;
        size_t len;
-} 
+}
 extattr[] = {
        { EXTATTR_NAMESPACE_SYSTEM, EXTATTR_PREFIX("system.") },
         { EXTATTR_NAMESPACE_USER, EXTATTR_PREFIX("user.") },
@@ -233,7 +233,7 @@
                                errno = ENOSYS;
                                return -1;
                }
-               /* Some error happend. Errno should be set by the previous call 
*/
+               /* Some error happened. Errno should be set by the previous 
call */
                if(list_size < 0)
                        return -1;
                /* No attributes */
@@ -245,7 +245,7 @@
                   problem with the emulation.
                */
                if(list == NULL) {
-                       /* Take the worse case of one char attribute names - 
+                       /* Take the worse case of one char attribute names -
                           two bytes per name plus one more for sanity.
                        */
                        total_size += list_size + (list_size/2 + 
1)*extattr[t].len;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/pytalloc.c new/talloc-2.4.1/pytalloc.c
--- old/talloc-2.4.0/pytalloc.c 2022-03-02 12:26:09.144422800 +0100
+++ new/talloc-2.4.1/pytalloc.c 2023-04-04 16:54:16.552373600 +0200
@@ -101,9 +101,9 @@
 }
 
 /**
- * Default (but only slightly more useful than the default) implementation of 
cmp.
+ * Default objects do not support ordered comparisons, but talloc
+ * objects do, sorting by pointers clustered by type.
  */
-#if PY_MAJOR_VERSION >= 3
 static PyObject *pytalloc_default_richcmp(PyObject *obj1, PyObject *obj2, int 
op)
 {
        void *ptr1;
@@ -131,17 +131,6 @@
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
 }
-#else
-static int pytalloc_default_cmp(PyObject *_obj1, PyObject *_obj2)
-{
-       pytalloc_Object *obj1 = (pytalloc_Object *)_obj1,
-                                        *obj2 = (pytalloc_Object *)_obj2;
-       if (obj1->ob_type != obj2->ob_type)
-               return ((char *)obj1->ob_type - (char *)obj2->ob_type);
-
-       return ((char *)pytalloc_get_ptr(obj1) - (char 
*)pytalloc_get_ptr(obj2));
-}
-#endif
 
 static PyTypeObject TallocObject_Type = {
        .tp_name = "talloc.Object",
@@ -150,11 +139,7 @@
        .tp_dealloc = (destructor)pytalloc_dealloc,
        .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
        .tp_repr = pytalloc_default_repr,
-#if PY_MAJOR_VERSION >= 3
        .tp_richcompare = pytalloc_default_richcmp,
-#else
-       .tp_compare = pytalloc_default_cmp,
-#endif
 };
 
 /**
@@ -181,9 +166,9 @@
 }
 
 /**
- * Default (but only slightly more useful than the default) implementation of 
cmp.
+ * Default objects do not support ordered comparisons, but talloc
+ * objects do, sorting by pointers clustered by type.
  */
-#if PY_MAJOR_VERSION >= 3
 static PyObject *pytalloc_base_default_richcmp(PyObject *obj1, PyObject *obj2, 
int op)
 {
        void *ptr1;
@@ -211,17 +196,6 @@
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
 }
-#else
-static int pytalloc_base_default_cmp(PyObject *_obj1, PyObject *_obj2)
-{
-       pytalloc_BaseObject *obj1 = (pytalloc_BaseObject *)_obj1,
-                                        *obj2 = (pytalloc_BaseObject *)_obj2;
-       if (obj1->ob_type != obj2->ob_type)
-               return ((char *)obj1->ob_type - (char *)obj2->ob_type);
-
-       return ((char *)pytalloc_get_ptr(obj1) - (char 
*)pytalloc_get_ptr(obj2));
-}
-#endif
 
 static PyTypeObject TallocBaseObject_Type = {
        .tp_name = "talloc.BaseObject",
@@ -230,11 +204,7 @@
        .tp_dealloc = (destructor)pytalloc_base_dealloc,
        .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
        .tp_repr = pytalloc_base_default_repr,
-#if PY_MAJOR_VERSION >= 3
        .tp_richcompare = pytalloc_base_default_richcmp,
-#else
-       .tp_compare = pytalloc_base_default_cmp,
-#endif
 };
 
 static PyTypeObject TallocGenericObject_Type = {
@@ -247,7 +217,6 @@
 
 #define MODULE_DOC PyDoc_STR("Python wrapping of talloc-maintained objects.")
 
-#if PY_MAJOR_VERSION >= 3
 static struct PyModuleDef moduledef = {
     PyModuleDef_HEAD_INIT,
     .m_name = "talloc",
@@ -255,7 +224,6 @@
     .m_size = -1,
     .m_methods = talloc_methods,
 };
-#endif
 
 static PyObject *module_init(void);
 static PyObject *module_init(void)
@@ -271,11 +239,7 @@
        if (PyType_Ready(&TallocGenericObject_Type) < 0)
                return NULL;
 
-#if PY_MAJOR_VERSION >= 3
        m = PyModule_Create(&moduledef);
-#else
-       m = Py_InitModule3("talloc", talloc_methods, MODULE_DOC);
-#endif
        if (m == NULL)
                return NULL;
 
@@ -298,16 +262,8 @@
        return NULL;
 }
 
-#if PY_MAJOR_VERSION >= 3
 PyMODINIT_FUNC PyInit_talloc(void);
 PyMODINIT_FUNC PyInit_talloc(void)
 {
        return module_init();
 }
-#else
-void inittalloc(void);
-void inittalloc(void)
-{
-       module_init();
-}
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/pytalloc_guide.txt 
new/talloc-2.4.1/pytalloc_guide.txt
--- old/talloc-2.4.0/pytalloc_guide.txt 2022-03-02 12:26:09.144422800 +0100
+++ new/talloc-2.4.1/pytalloc_guide.txt 2023-04-21 10:29:11.360781200 +0200
@@ -215,7 +215,7 @@
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 DEPRECATED! PyObject *pytalloc_CObject_FromTallocPtr(void *);
 
-Create a new pytalloc_Object for an abitrary talloc-maintained C pointer. This 
will
+Create a new pytalloc_Object for an arbitrary talloc-maintained C pointer. 
This will
 use a generic VoidPtr Python type, which just provides an opaque object in
 Python. The caller is responsible for incrementing the talloc reference count 
before calling
 this function - it will dereference the talloc pointer when it is garbage 
collected.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/pytalloc_util.c 
new/talloc-2.4.1/pytalloc_util.c
--- old/talloc-2.4.0/pytalloc_util.c    2022-03-02 12:26:09.144422800 +0100
+++ new/talloc-2.4.1/pytalloc_util.c    2023-04-21 10:29:11.360781200 +0200
@@ -116,7 +116,7 @@
 
 
 /**
- * Internal function that either steals or referecences the talloc
+ * Internal function that either steals or references the talloc
  * pointer into a new talloc context.
  */
 static PyObject *pytalloc_steal_or_reference(PyTypeObject *py_type,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/talloc.c new/talloc-2.4.1/talloc.c
--- old/talloc-2.4.0/talloc.c   2023-01-18 16:27:05.372657800 +0100
+++ new/talloc-2.4.1/talloc.c   2023-04-21 10:29:11.360781200 +0200
@@ -146,7 +146,7 @@
 } while (0)
 
 #if defined(DEVELOPER) && defined(VALGRIND_MAKE_MEM_NOACCESS)
-/* Mark the whole chunk as not accessable */
+/* Mark the whole chunk as not accessible */
 #define TC_INVALIDATE_FULL_VALGRIND_CHUNK(_tc) do { \
        size_t _flen = TC_HDR_SIZE + (_tc)->size; \
        char *_fptr = (char *)(_tc); \
@@ -171,7 +171,7 @@
 } while (0)
 
 #if defined(DEVELOPER) && defined(VALGRIND_MAKE_MEM_NOACCESS)
-/* Mark the unused bytes not accessable */
+/* Mark the unused bytes not accessible */
 #define TC_INVALIDATE_SHRINK_VALGRIND_CHUNK(_tc, _new_size) do { \
        size_t _flen = (_tc)->size - (_new_size); \
        char *_fptr = (char *)TC_PTR_FROM_CHUNK(_tc); \
@@ -661,7 +661,7 @@
        return tc_next_chunk(tc);
 }
 
-/* Mark the whole remaining pool as not accessable */
+/* Mark the whole remaining pool as not accessible */
 static inline void tc_invalidate_pool(struct talloc_pool_hdr *pool_hdr)
 {
        size_t flen = tc_pool_space_left(pool_hdr);
@@ -2598,7 +2598,6 @@
        struct talloc_chunk *tc = NULL;
        char buf[1024];
 
-       /* this call looks strange, but it makes it work on older solaris boxes 
*/
        va_copy(ap2, ap);
        vlen = vsnprintf(buf, sizeof(buf), fmt, ap2);
        va_end(ap2);
@@ -2662,6 +2661,7 @@
        char c;
 
        va_copy(ap2, ap);
+       /* this call looks strange, but it makes it work on older solaris boxes 
*/
        alen = vsnprintf(&c, 1, fmt, ap2);
        va_end(ap2);
 
@@ -2678,9 +2678,7 @@
        s = talloc_realloc(NULL, s, char, slen + alen + 1);
        if (!s) return NULL;
 
-       va_copy(ap2, ap);
-       vsnprintf(s + slen, alen + 1, fmt, ap2);
-       va_end(ap2);
+       vsnprintf(s + slen, alen + 1, fmt, ap);
 
        _tc_set_name_const(talloc_chunk_from_ptr(s), s);
        return s;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/talloc.h new/talloc-2.4.1/talloc.h
--- old/talloc-2.4.0/talloc.h   2023-01-18 18:28:36.203718000 +0100
+++ new/talloc-2.4.1/talloc.h   2023-04-04 16:54:16.552373600 +0200
@@ -666,6 +666,19 @@
 _PUBLIC_ const char *talloc_parent_name(const void *ptr);
 
 /**
+ * @brief Get the size of a talloc chunk.
+ *
+ * This function lets you know the amount of memory allocated so far by
+ * this context. It does NOT account for subcontext memory.
+ * This can be used to calculate the size of an array.
+ *
+ * @param[in]  ctx      The talloc chunk.
+ *
+ * @return              The size of the talloc chunk.
+ */
+_PUBLIC_ size_t talloc_get_size(const void *ctx);
+
+/**
  * @brief Get the total size of a talloc chunk including its children.
  *
  * The function returns the total size in bytes used by this pointer and all
@@ -1071,19 +1084,6 @@
 _PUBLIC_ void *talloc_autofree_context(void) _DEPRECATED_;
 
 /**
- * @brief Get the size of a talloc chunk.
- *
- * This function lets you know the amount of memory allocated so far by
- * this context. It does NOT account for subcontext memory.
- * This can be used to calculate the size of an array.
- *
- * @param[in]  ctx      The talloc chunk.
- *
- * @return              The size of the talloc chunk.
- */
-_PUBLIC_ size_t talloc_get_size(const void *ctx);
-
-/**
  * @brief Show the parentage of a context.
  *
  * @param[in]  context            The talloc context to look at.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/test_pytalloc.c 
new/talloc-2.4.1/test_pytalloc.c
--- old/talloc-2.4.0/test_pytalloc.c    2022-03-02 12:26:09.148422700 +0100
+++ new/talloc-2.4.1/test_pytalloc.c    2023-04-04 16:54:16.552373600 +0200
@@ -181,7 +181,6 @@
 
 #define MODULE_DOC PyDoc_STR("Test utility module for pytalloc")
 
-#if PY_MAJOR_VERSION >= 3
 static struct PyModuleDef moduledef = {
     PyModuleDef_HEAD_INIT,
     .m_name = "_test_pytalloc",
@@ -189,7 +188,6 @@
     .m_size = -1,
     .m_methods = test_talloc_methods,
 };
-#endif
 
 static PyObject *module_init(void);
 static PyObject *module_init(void)
@@ -207,11 +205,7 @@
                return NULL;
        }
 
-#if PY_MAJOR_VERSION >= 3
        m = PyModule_Create(&moduledef);
-#else
-       m = Py_InitModule3("_test_pytalloc", test_talloc_methods, MODULE_DOC);
-#endif
 
        if (m == NULL) {
                return NULL;
@@ -229,16 +223,8 @@
 }
 
 
-#if PY_MAJOR_VERSION >= 3
 PyMODINIT_FUNC PyInit__test_pytalloc(void);
 PyMODINIT_FUNC PyInit__test_pytalloc(void)
 {
        return module_init();
 }
-#else
-void init_test_pytalloc(void);
-void init_test_pytalloc(void)
-{
-       module_init();
-}
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.4.0/wscript new/talloc-2.4.1/wscript
--- old/talloc-2.4.0/wscript    2023-01-18 18:28:36.203718000 +0100
+++ new/talloc-2.4.1/wscript    2023-07-18 15:16:05.179537800 +0200
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 APPNAME = 'talloc'
-VERSION = '2.4.0'
+VERSION = '2.4.1'
 
 import os
 import sys
@@ -190,10 +190,3 @@
 def reconfigure(ctx):
     '''reconfigure if config scripts have changed'''
     samba_utils.reconfigure(ctx)
-
-
-def pydoctor(ctx):
-    '''build python apidocs'''
-    cmd='PYTHONPATH=bin/python pydoctor --project-name=talloc 
--project-url=http://talloc.samba.org/ --make-html --docformat=restructuredtext 
--introspect-c-modules --add-module bin/python/talloc.*'
-    print("Running: %s" % cmd)
-    os.system(cmd)

Reply via email to