[SCM] Samba Shared Repository - branch v4-19-test updated

Stefan Metzmacher metze at samba.org
Tue Aug 6 11:44:02 UTC 2024


The branch, v4-19-test has been updated
       via  ab535a64d26 wafsamba: Fix ABI symbol name generation
      from  4419ccc5778 libcli:security: allow spaces after BAD:

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-19-test


- Log -----------------------------------------------------------------
commit ab535a64d26f17dac1befb8b6470c901003f5186
Author: Andreas Schneider <asn at samba.org>
Date:   Mon Aug 5 14:51:01 2024 +0200

    wafsamba: Fix ABI symbol name generation
    
    Commit 0bc5b6f29307ce758774c1b2f48ce62315fdc7f9 changed the script
    for generating the ABI symbol version. It broke the ABI by changing all
    dots to underscores.
    
    This reverts the commit partially to preserve the dots in the version
    part.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15673
    
    Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: Günther Deschner <gd at samba.org>
    
    Autobuild-User(master): Douglas Bagnall <dbagnall at samba.org>
    Autobuild-Date(master): Tue Aug  6 00:42:56 UTC 2024 on atb-devel-224
    
    (cherry picked from commit 46215ab1b34aa79c4c831ea1c12f73eacf1e8a12)
    
    Autobuild-User(v4-19-test): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(v4-19-test): Tue Aug  6 11:44:00 UTC 2024 on atb-devel-224

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/samba_abi.py |  6 +++---
 script/autobuild.py              | 11 +++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_abi.py b/buildtools/wafsamba/samba_abi.py
index 22c25b8da35..155559973a0 100644
--- a/buildtools/wafsamba/samba_abi.py
+++ b/buildtools/wafsamba/samba_abi.py
@@ -286,7 +286,7 @@ def abi_build_vscript(task):
         f.close()
 
 def VSCRIPT_MAP_PRIVATE(bld, libname, orig_vscript, version, private_vscript):
-    version = re.sub(r'\W', '_', version).upper()
+    version = re.sub(r'[^.\w]', '_', version).upper()
     t = bld.SAMBA_GENERATOR(private_vscript,
                             rule=abi_build_vscript,
                             source=orig_vscript,
@@ -314,8 +314,8 @@ def ABI_VSCRIPT(bld, libname, abi_directory, version, vscript, abi_match=None, p
 
     libname = os.path.basename(libname)
     version = os.path.basename(version)
-    libname = re.sub(r'\W', '_', libname).upper()
-    version = re.sub(r'\W', '_', version).upper()
+    libname = re.sub(r'[^.\w]', '_', libname).upper()
+    version = re.sub(r'[^.\w]', '_', version).upper()
 
     t = bld.SAMBA_GENERATOR(vscript,
                             rule=abi_build_vscript,
diff --git a/script/autobuild.py b/script/autobuild.py
index 2408bb38db6..2aeb5a6f83c 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -138,6 +138,13 @@ def check_symbols(sofile, expected_symbols=""):
     return "objdump --dynamic-syms " + sofile + " | " + \
            "awk \'$0 !~ /" + expected_symbols + "/ {if ($2 == \"g\" && $3 ~ /D(F|O)/ && $4 ~ /(.bss|.text)/ && $7 !~ /(__gcov_|mangle_path)/) exit 1}\'"
 
+def check_versioned_symbol(sofile, symvol, version):
+    return "objdump --dynamic-syms " + sofile + " | " + \
+           "awk \'$7 == \"" + symvol + "\" { " + \
+                "if ($2 == \"g\" && $3 ~ /D(F|O)/ && $4 ~ /(.bss|.text)/ && " + \
+                     "$6 == \"" + version + "\") print $0 }\'" + \
+                "| wc -l | grep -q \'^1$\'"
+
 if args:
     # If we are only running specific test,
     # do not sleep randomly to wait for it to start
@@ -906,12 +913,16 @@ tasks = {
                 check_symbols("./bin/plugins/libnss_wins.so.2", "_nss_wins_")),
             ("nondevel-no-public-libwbclient",
                 check_symbols("./bin/shared/libwbclient.so.0", "wbc")),
+            ("nondevel-libwbclient-wbcCtxPingDc2 at WBCLIENT_0.12",
+                check_versioned_symbol("./bin/shared/libwbclient.so.0", "wbcCtxPingDc2", "WBCLIENT_0.12")),
             ("nondevel-no-public-pam_winbind",
                 check_symbols("./bin/plugins/pam_winbind.so", "pam_sm_")),
             ("nondevel-no-public-winbind_krb5_locator",
                 check_symbols("./bin/plugins/winbind_krb5_locator.so", "service_locator")),
             ("nondevel-no-public-async_dns_krb5_locator",
                 check_symbols("./bin/plugins/async_dns_krb5_locator.so", "service_locator")),
+            ("nondevel-libndr-krb5pac-ndr_pull_PAC_DATA at NDR_KRB5PAC_0.0.1",
+                check_versioned_symbol("./bin/shared/libndr-krb5pac.so.0", "ndr_pull_PAC_DATA", "NDR_KRB5PAC_0.0.1")),
             ("nondevel-install", "make -j install"),
             ("nondevel-dist", "make dist"),
 


-- 
Samba Shared Repository



More information about the samba-cvs mailing list