diff --git a/filter-requires-samba.sh b/filter-requires-samba.sh deleted file mode 100755 index 1ec1679..0000000 --- a/filter-requires-samba.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -/usr/lib/rpm/perl.req $* | grep -E -v '(Net::LDAP|Crypt::SmbHash|CGI|Unicode::MapUTF8|smbldap_tools|Carp|Convert::ASN1|Getopt::Long|Getopt::Std|IO::Socket|POSIX|Time::Local|strict)' diff --git a/samba-4.14-gcc11-fixes.patch b/samba-4.14-gcc11-fixes.patch new file mode 100644 index 0000000..ca7f673 --- /dev/null +++ b/samba-4.14-gcc11-fixes.patch @@ -0,0 +1,408 @@ +From 661e76cbc5f87040877d361d801a52cff355d603 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=BCnther=20Deschner?= +Date: Mon, 3 May 2021 21:27:43 +0200 +Subject: [PATCH 1/3] Fix gcc11 compiler issue "-Werror=maybe-uninitialized" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=14699 + +../../source4/dsdb/common/util_links.c: In function ‘ndr_guid_compare’: +../../source4/dsdb/common/util_links.c:38:29: error: ‘v1_data’ may be used uninitialized [-Werror=maybe-uninitialized] + 38 | struct ldb_val v1 = data_blob_const(v1_data, sizeof(v1_data)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source4/../lib/util/samba_util.h:48, + from ../../source4/include/includes.h:62, + from ../../source4/dsdb/common/util_links.c:22: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../source4/dsdb/common/util_links.c:37:17: note: ‘v1_data’ declared here + 37 | uint8_t v1_data[16]; + | ^~~~~~~ +cc1: all warnings being treated as errors + +../../libcli/auth/smbencrypt.c: In function ‘decode_wkssvc_join_password_buffer’: +../../libcli/auth/smbencrypt.c:1045:32: error: ‘_confounder’ may be used uninitialized [-Werror=maybe-uninitialized] + 1045 | DATA_BLOB confounder = data_blob_const(_confounder, 8); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source4/../lib/util/samba_util.h:48, + from ../../source4/include/includes.h:62, + from ../../libcli/auth/smbencrypt.c:24: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../libcli/auth/smbencrypt.c:1044:17: note: ‘_confounder’ declared here + 1044 | uint8_t _confounder[8]; + | ^~~~~~~~~~~ +cc1: all warnings being treated as errors + +[2624/3991] Compiling source4/torture/rpc/samr.c +../../source3/rpc_client/cli_samr.c: In function ‘dcerpc_samr_chgpasswd_user2’: +../../source3/rpc_client/cli_samr.c:158:33: error: ‘old_nt_hash’ may be used uninitialized [-Werror=maybe-uninitialized] + 158 | DATA_BLOB session_key = data_blob_const(old_nt_hash, 16); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source3/../lib/util/samba_util.h:48, + from ../../source3/include/includes.h:256, + from ../../source3/rpc_client/cli_samr.c:24: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../source3/rpc_client/cli_samr.c:152:17: note: ‘old_nt_hash’ declared here + 152 | uint8_t old_nt_hash[16]; + | ^~~~~~~~~~~ +../../source3/rpc_client/cli_samr.c: In function ‘dcerpc_samr_chgpasswd_user3’: +../../source3/rpc_client/cli_samr.c:365:33: error: ‘old_nt_hash’ may be used uninitialized [-Werror=maybe-uninitialized] + 365 | DATA_BLOB session_key = data_blob_const(old_nt_hash, 16); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source3/../lib/util/samba_util.h:48, + from ../../source3/include/includes.h:256, + from ../../source3/rpc_client/cli_samr.c:24: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../source3/rpc_client/cli_samr.c:358:17: note: ‘old_nt_hash’ declared here + 358 | uint8_t old_nt_hash[16]; + | ^~~~~~~~~~~ +cc1: all warnings being treated as errors + +[3399/3991] Compiling source3/rpcclient/cmd_spotlight.c +../../source3/rpcclient/cmd_spotlight.c: In function ‘cmd_mdssvc_fetch_properties’: +../../source3/rpcclient/cmd_spotlight.c:60:18: error: ‘share_path’ may be used uninitialized [-Werror=maybe-uninitialized] + 60 | status = dcerpc_mdssvc_open(b, mem_ctx, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 61 | &device_id, + | ~~~~~~~~~~~ + 62 | &unkn1, + | ~~~~~~~ + 63 | &unkn2, + | ~~~~~~~ + 64 | argv[2], + | ~~~~~~~~ + 65 | argv[1], + | ~~~~~~~~ + 66 | share_path, + | ~~~~~~~~~~~ + 67 | &share_handle); + | ~~~~~~~~~~~~~~ +In file included from ../../source3/rpcclient/cmd_spotlight.c:24: +source3/../librpc/gen_ndr/ndr_mdssvc_c.h:26:10: note: by argument 8 of type ‘const char *’ to ‘dcerpc_mdssvc_open’ declared here + 26 | NTSTATUS dcerpc_mdssvc_open(struct dcerpc_binding_handle *h, + | ^~~~~~~~~~~~~~~~~~ +../../source3/rpcclient/cmd_spotlight.c:40:14: note: ‘share_path’ declared here + 40 | char share_path[1025]; + | ^~~~~~~~~~ +cc1: all warnings being treated as errors + +../../source4/torture/rpc/samr.c: In function ‘test_ChangePasswordUser2’: +../../source4/torture/rpc/samr.c:2266:19: error: ‘old_nt_hash’ may be used uninitialized [-Werror=maybe-uninitialized] + 2266 | = data_blob_const(old_nt_hash, sizeof(old_nt_hash)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source4/../lib/util/samba_util.h:48, + from ../../source4/include/includes.h:62, + from ../../source4/torture/rpc/samr.c:24: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../source4/torture/rpc/samr.c:2263:17: note: ‘old_nt_hash’ declared here + 2263 | uint8_t old_nt_hash[16], new_nt_hash[16]; + | ^~~~~~~~~~~ +../../source4/torture/rpc/samr.c: In function ‘test_ChangePasswordUser2_ntstatus’: +../../source4/torture/rpc/samr.c:2371:19: error: ‘old_nt_hash’ may be used uninitialized [-Werror=maybe-uninitialized] + 2371 | = data_blob_const(old_nt_hash, sizeof(old_nt_hash)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source4/../lib/util/samba_util.h:48, + from ../../source4/include/includes.h:62, + from ../../source4/torture/rpc/samr.c:24: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../source4/torture/rpc/samr.c:2368:17: note: ‘old_nt_hash’ declared here + 2368 | uint8_t old_nt_hash[16], new_nt_hash[16]; + | ^~~~~~~~~~~ +../../source4/torture/rpc/samr.c: In function ‘test_ChangePasswordUser3’: +../../source4/torture/rpc/samr.c:2478:38: error: ‘old_nt_hash’ may be used uninitialized [-Werror=maybe-uninitialized] + 2478 | DATA_BLOB old_nt_hash_blob = data_blob_const(old_nt_hash, 16); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source4/../lib/util/samba_util.h:48, + from ../../source4/include/includes.h:62, + from ../../source4/torture/rpc/samr.c:24: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../source4/torture/rpc/samr.c:2473:17: note: ‘old_nt_hash’ declared here + 2473 | uint8_t old_nt_hash[16], new_nt_hash[16]; + | ^~~~~~~~~~~ +../../source4/torture/rpc/samr.c: In function ‘test_ChangePasswordRandomBytes’: +../../source4/torture/rpc/samr.c:2794:19: error: ‘old_nt_hash’ may be used uninitialized [-Werror=maybe-uninitialized] + 2794 | = data_blob_const(old_nt_hash, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 2795 | sizeof(old_nt_hash)); + | ~~~~~~~~~~~~~~~~~~~~ +In file included from ../../source4/../lib/util/samba_util.h:48, + from ../../source4/include/includes.h:62, + from ../../source4/torture/rpc/samr.c:24: +../../lib/util/data_blob.h:116:20: note: by argument 1 of type ‘const void *’ to ‘data_blob_const’ declared here + 116 | _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length); + | ^~~~~~~~~~~~~~~ +../../source4/torture/rpc/samr.c:2792:17: note: ‘old_nt_hash’ declared here + 2792 | uint8_t old_nt_hash[16], new_nt_hash[16]; + | ^~~~~~~~~~~ +cc1: all warnings being treated as errors + +Guenther + +Signed-off-by: Guenther Deschner +Reviewed-by: Andreas Schneider +(cherry picked from commit 0e1695df7fe8952b5c503cf7ab1ff31784736988) +--- + libcli/auth/smbencrypt.c | 2 +- + source3/rpc_client/cli_samr.c | 4 ++-- + source3/rpcclient/cmd_spotlight.c | 2 +- + source4/dsdb/common/util_links.c | 2 +- + source4/torture/rpc/samr.c | 8 ++++---- + 5 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/libcli/auth/smbencrypt.c b/libcli/auth/smbencrypt.c +index 337e89ef559..468374699f7 100644 +--- a/libcli/auth/smbencrypt.c ++++ b/libcli/auth/smbencrypt.c +@@ -1041,7 +1041,7 @@ WERROR decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx, + DATA_BLOB *session_key, + char **pwd) + { +- uint8_t _confounder[8]; ++ uint8_t _confounder[8] = { 0 }; + DATA_BLOB confounder = data_blob_const(_confounder, 8); + uint8_t pwbuf[516] = {0}; + DATA_BLOB decrypt_pwbuf = data_blob_const(pwbuf, 516); +diff --git a/source3/rpc_client/cli_samr.c b/source3/rpc_client/cli_samr.c +index acd96480a20..25b54298b32 100644 +--- a/source3/rpc_client/cli_samr.c ++++ b/source3/rpc_client/cli_samr.c +@@ -149,7 +149,7 @@ NTSTATUS dcerpc_samr_chgpasswd_user2(struct dcerpc_binding_handle *h, + struct samr_Password old_nt_hash_enc; + struct samr_Password old_lanman_hash_enc; + +- uint8_t old_nt_hash[16]; ++ uint8_t old_nt_hash[16] = { 0 }; + uint8_t old_lanman_hash[16]; + uint8_t new_nt_hash[16]; + uint8_t new_lanman_hash[16]; +@@ -355,7 +355,7 @@ NTSTATUS dcerpc_samr_chgpasswd_user3(struct dcerpc_binding_handle *h, + struct samr_Password old_nt_hash_enc; + struct samr_Password old_lanman_hash_enc; + +- uint8_t old_nt_hash[16]; ++ uint8_t old_nt_hash[16] = { 0 }; + uint8_t old_lanman_hash[16]; + uint8_t new_nt_hash[16]; + uint8_t new_lanman_hash[16]; +diff --git a/source3/rpcclient/cmd_spotlight.c b/source3/rpcclient/cmd_spotlight.c +index 661ada7efb8..24db9893df6 100644 +--- a/source3/rpcclient/cmd_spotlight.c ++++ b/source3/rpcclient/cmd_spotlight.c +@@ -37,7 +37,7 @@ static NTSTATUS cmd_mdssvc_fetch_properties( + uint32_t unkn1 = 23; + uint32_t unkn2 = 0; + struct policy_handle share_handle; +- char share_path[1025]; ++ char share_path[1025] = { 0 }; + uint32_t mds_status; + uint32_t flags; /* server always returns 0x6b000001 ? */ + uint32_t unkn3; /* server always returns 0 ? */ +diff --git a/source4/dsdb/common/util_links.c b/source4/dsdb/common/util_links.c +index 9e9e2b0161a..08fc2d657bb 100644 +--- a/source4/dsdb/common/util_links.c ++++ b/source4/dsdb/common/util_links.c +@@ -34,7 +34,7 @@ + */ + int ndr_guid_compare(const struct GUID *guid1, const struct GUID *guid2) + { +- uint8_t v1_data[16]; ++ uint8_t v1_data[16] = { 0 }; + struct ldb_val v1 = data_blob_const(v1_data, sizeof(v1_data)); + uint8_t v2_data[16]; + struct ldb_val v2 = data_blob_const(v2_data, sizeof(v2_data)); +diff --git a/source4/torture/rpc/samr.c b/source4/torture/rpc/samr.c +index 5863a6d1ee6..6c901c3c2ab 100644 +--- a/source4/torture/rpc/samr.c ++++ b/source4/torture/rpc/samr.c +@@ -2260,7 +2260,7 @@ static bool test_ChangePasswordUser2(struct dcerpc_pipe *p, struct torture_conte + struct samr_Password nt_verifier, lm_verifier; + char *oldpass; + struct dcerpc_binding_handle *b = p->binding_handle; +- uint8_t old_nt_hash[16], new_nt_hash[16]; ++ uint8_t old_nt_hash[16] = { 0 }, new_nt_hash[16]; + uint8_t old_lm_hash[16], new_lm_hash[16]; + DATA_BLOB old_nt_hash_blob + = data_blob_const(old_nt_hash, sizeof(old_nt_hash)); +@@ -2365,7 +2365,7 @@ static bool test_ChangePasswordUser2_ntstatus(struct dcerpc_pipe *p, struct tort + struct samr_Password nt_verifier, lm_verifier; + const char *oldpass; + struct dcerpc_binding_handle *b = p->binding_handle; +- uint8_t old_nt_hash[16], new_nt_hash[16]; ++ uint8_t old_nt_hash[16] = { 0 }, new_nt_hash[16]; + uint8_t old_lm_hash[16], new_lm_hash[16]; + DATA_BLOB old_nt_hash_blob + = data_blob_const(old_nt_hash, sizeof(old_nt_hash)); +@@ -2470,7 +2470,7 @@ bool test_ChangePasswordUser3(struct dcerpc_pipe *p, struct torture_context *tct + struct samr_Password nt_verifier, lm_verifier; + char *oldpass; + struct dcerpc_binding_handle *b = p->binding_handle; +- uint8_t old_nt_hash[16], new_nt_hash[16]; ++ uint8_t old_nt_hash[16] = { 0 }, new_nt_hash[16]; + uint8_t old_lm_hash[16], new_lm_hash[16]; + NTTIME t; + struct samr_DomInfo1 *dominfo = NULL; +@@ -2789,7 +2789,7 @@ bool test_ChangePasswordRandomBytes(struct dcerpc_pipe *p, struct torture_contex + char *newpass; + char *oldpass; + struct dcerpc_binding_handle *b = p->binding_handle; +- uint8_t old_nt_hash[16], new_nt_hash[16]; ++ uint8_t old_nt_hash[16] = { 0 }, new_nt_hash[16]; + DATA_BLOB old_nt_hash_blob + = data_blob_const(old_nt_hash, + sizeof(old_nt_hash)); +-- +2.31.1 + + +From 7f7777d63085d0a1a030ef1dd1a921a3c4f75c32 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=BCnther=20Deschner?= +Date: Mon, 3 May 2021 21:27:58 +0200 +Subject: [PATCH 2/3] Fix gcc11 compiler issue "-Werror=stringop-overflow=" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=14699 + +[3548/3991] Compiling source3/winbindd/winbindd_pam.c +../../source3/winbindd/winbindd_pam.c: In function ‘winbindd_dual_pam_auth_cached’: +../../source3/winbindd/winbindd_pam.c:1069:18: error: ‘winbindd_get_creds’ accessing 128 bytes in a region of size 8 [-Werror=stringop-overflow=] + 1069 | result = winbindd_get_creds(domain, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ + 1070 | state->mem_ctx, + | ~~~~~~~~~~~~~~~ + 1071 | &sid, + | ~~~~~ + 1072 | &my_info3, + | ~~~~~~~~~~ + 1073 | &cached_nt_pass, + | ~~~~~~~~~~~~~~~~ + 1074 | &cached_salt); + | ~~~~~~~~~~~~~ +../../source3/winbindd/winbindd_pam.c:1069:18: note: referencing argument 5 of type ‘const uint8_t **’ {aka ‘const unsigned char **’} +../../source3/winbindd/winbindd_pam.c:1069:18: error: ‘winbindd_get_creds’ accessing 128 bytes in a region of size 8 [-Werror=stringop-overflow=] +../../source3/winbindd/winbindd_pam.c:1069:18: note: referencing argument 6 of type ‘const uint8_t **’ {aka ‘const unsigned char **’} +In file included from ../../source3/winbindd/winbindd.h:359, + from ../../source3/winbindd/winbindd_pam.c:26: +../../source3/winbindd/winbindd_proto.h:251:10: note: in a call to function ‘winbindd_get_creds’ + 251 | NTSTATUS winbindd_get_creds(struct winbindd_domain *domain, + | ^~~~~~~~~~~~~~~~~~ +cc1: all warnings being treated as errors + +Guenther + +Signed-off-by: Guenther Deschner +Reviewed-by: Andreas Schneider +(cherry picked from commit 17ae9974f36ce8929f0c50c357dd4f88fbf37d7c) +--- + source3/winbindd/winbindd_creds.c | 4 ++-- + source3/winbindd/winbindd_proto.h | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/source3/winbindd/winbindd_creds.c b/source3/winbindd/winbindd_creds.c +index 2d7aacf36a9..97262bbf87b 100644 +--- a/source3/winbindd/winbindd_creds.c ++++ b/source3/winbindd/winbindd_creds.c +@@ -33,8 +33,8 @@ NTSTATUS winbindd_get_creds(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const struct dom_sid *sid, + struct netr_SamInfo3 **info3, +- const uint8_t *cached_nt_pass[NT_HASH_LEN], +- const uint8_t *cred_salt[NT_HASH_LEN]) ++ const uint8_t **cached_nt_pass, ++ const uint8_t **cred_salt) + { + struct netr_SamInfo3 *info; + NTSTATUS status; +diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h +index 8923bb3124f..12a113ed636 100644 +--- a/source3/winbindd/winbindd_proto.h ++++ b/source3/winbindd/winbindd_proto.h +@@ -252,8 +252,8 @@ NTSTATUS winbindd_get_creds(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const struct dom_sid *sid, + struct netr_SamInfo3 **info3, +- const uint8_t *cached_nt_pass[NT_HASH_LEN], +- const uint8_t *cred_salt[NT_HASH_LEN]); ++ const uint8_t **cached_nt_pass, ++ const uint8_t **cred_salt); + NTSTATUS winbindd_store_creds(struct winbindd_domain *domain, + const char *user, + const char *pass, +-- +2.31.1 + + +From 0f06f48c2ce23047527ddc8127845777beeb92c1 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Thu, 6 May 2021 19:07:04 +0200 +Subject: [PATCH 3/3] lib:replace: Do not build strndup test with gcc 11 or + newer +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +BUG: https://bugzilla.samba.org/show_bug.cgi?id=14699 + +gcc11 with -O3 detects that the size is incorrect: + +lib/replace/tests/testsuite.c:286:13: error: ‘strndup’ specified bound 10 exceeds source size 4 [-Werror=stringop-overread] + 286 | x = strndup("bla", 10); + | ^~~~~~~~~~~~~~~~~~ + +Signed-off-by: Andreas Schneider +Reviewed-by: Guenther Deschner +(cherry picked from commit 8f12793ca5e7c9aa7c23a17400986878ae110e70) +--- + lib/replace/tests/testsuite.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/lib/replace/tests/testsuite.c b/lib/replace/tests/testsuite.c +index 2ece95332d2..17ce022c178 100644 +--- a/lib/replace/tests/testsuite.c ++++ b/lib/replace/tests/testsuite.c +@@ -272,6 +272,16 @@ static int test_strndup(void) + return false; + } + free(x); ++ ++#ifdef __GNUC__ ++# if __GNUC__ < 11 ++ /* ++ * This code will not compile with gcc11 -O3 anymore. ++ * ++ * error: ‘strndup’ specified bound 10 exceeds source size 4 [-Werror=stringop-overread] ++ * x = strndup("bla", 10); ++ * ^~~~~~~~~~~~~~~~~~ ++ */ + x = strndup("bla", 10); + if (strcmp(x, "bla") != 0) { + printf("failure: strndup [\ninvalid\n]\n"); +@@ -279,6 +289,9 @@ static int test_strndup(void) + return false; + } + free(x); ++# endif ++#endif /* __GNUC__ */ ++ + printf("success: strndup\n"); + return true; + } +-- +2.31.1 + diff --git a/samba.spec b/samba.spec index 679ae1e..af9d4da 100644 --- a/samba.spec +++ b/samba.spec @@ -103,12 +103,12 @@ %else %bcond_with vfs_io_uring -#endif fedora +#endif fedora || rhel >= 8 %endif %define samba_requires_eq() %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") -%global main_release 5 +%global baserelease 6 %global samba_version 4.14.4 %global talloc_version 2.3.2 @@ -118,9 +118,9 @@ # This should be rc1 or nil %global pre_release %nil -%global samba_release %{main_release} +%global samba_release %{baserelease} %if "x%{?pre_release}" != "x" -%global samba_release 0.%{main_release}.%{pre_release} +%global samba_release 0.%{baserelease}.%{pre_release} %endif # This is a network daemon, do a hardened build @@ -176,6 +176,8 @@ Source13: pam_winbind.conf Source14: samba.pamd Source201: README.downgrade + +Patch0: samba-4.14-gcc11-fixes.patch Patch1: samba-s4u.patch Requires(pre): /usr/sbin/groupadd @@ -238,6 +240,7 @@ BuildRequires: libattr-devel BuildRequires: libcap-devel BuildRequires: libicu-devel BuildRequires: libcmocka-devel +BuildRequires: libtirpc-devel BuildRequires: libuuid-devel BuildRequires: libxslt BuildRequires: lmdb @@ -395,6 +398,23 @@ Obsoletes: samba-dc-libs < %{samba_depver} Obsoletes: samba-dc-bind-dlz < %{samba_depver} %endif +# If only build glusterfs for RHGS and Fedora, so obsolete it on other version +# of the distro +%if %{without vfs_glusterfs} +Obsoletes: samba-vfs-glusterfs < %{samba_depver} +# endif without vfs_glusterfs +%endif + +# ctdb-tests package has been dropped if we do not build the testsuite +%if %{with clustering} +%if %{without testsuite} +Obsoletes: ctdb-tests < %{samba_depver} +Obsoletes: ctdb-tests-debuginfo < %{samba_depver} +# endif without testsuite +%endif +# endif with clustering +%endif + Provides: bundled(libreplace) %description common @@ -928,7 +948,7 @@ projects to store temporary data. If an application is already using TDB for temporary data it is very easy to convert that application to be cluster aware and use CTDB instead. -#endif with selftest +#endif with testsuite %endif #endif with clustering %endif @@ -3876,6 +3896,9 @@ fi %endif %changelog +* Thu May 20 2021 Andreas Schneider - 4.14.4-6 +- related: rhbz#1954531 - Fix build issues with gcc + * Mon May 03 2021 Andreas Schneider - 4.14.4-5 * related: rhbz#1954531 - Add rpminspect.yaml