[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Mon Sep 7 13:23:02 UTC 2020
The branch, master has been updated
via 0b742ec6a05 s4:smb_server: Use cli_credentials_init_server() for negprot
via 6c94ebf77fd s4:rpc_server: Use cli_credentials_init_server()
via 2c00bea2aef auth:creds: Add cli_credentials_init_server()
via 515cffb1f20 auth:gensec: If Kerberos is required, keep schannel for machine account auth
via a33a40bbc84 auth:gensec: Pass use_kerberos and keep_schannel to gensec_use_kerberos_mechs()
via 2186d4131ad auth:gensec: Make gensec_use_kerberos_mechs() a static function
via 5e3363e0b82 s4:ldap_server: Use samba_server_gensec_start() in ldapsrv_backend_Init()
via b34e8dc8982 auth:gensec: Add gensec_security_sasl_names()
via 5fc3a71d0f5 waf: upgrade to 2.0.20
via 896b7bbcf25 bootstrap: install perl-JSON on on rpm distributions
via e0e51632cf7 bootstrap: document git push -o ci.variable='SAMBA_CI_REBUILD_IMAGES=yes'
via b716dbc9768 python/tests/gpo: this should fix a Popen deadlock
from 6444a743525 s3:libads: Also add a realm entry for the domain name
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 0b742ec6a0558397d5cf01b99a401f8e2bc0e2e0
Author: Andreas Schneider <asn at samba.org>
Date: Mon Sep 7 09:19:43 2020 +0200
s4:smb_server: Use cli_credentials_init_server() for negprot
Signed-off-by: Andreas Schneider <asn at samba.org>
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Mon Sep 7 13:22:26 UTC 2020 on sn-devel-184
commit 6c94ebf77fdb7383be2042f5e20ba2ef598cd4a4
Author: Andreas Schneider <asn at samba.org>
Date: Fri Sep 4 12:21:36 2020 +0200
s4:rpc_server: Use cli_credentials_init_server()
Signed-off-by: Andreas Schneider <asn at samba.org>
commit 2c00bea2aefdcc69608dffdafa7ce581d31f9354
Author: Andreas Schneider <asn at samba.org>
Date: Fri Sep 4 12:21:21 2020 +0200
auth:creds: Add cli_credentials_init_server()
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 515cffb1f20eacb041ff7b3d43f8a122a82ddfbd
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Sep 4 17:00:45 2020 +0200
auth:gensec: If Kerberos is required, keep schannel for machine account auth
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Signed-off-by: Andreas Schneider <asn at samba.org>
commit a33a40bbc848e5691869cf264009d23a03128f31
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Sep 4 14:41:43 2020 +0200
auth:gensec: Pass use_kerberos and keep_schannel to gensec_use_kerberos_mechs()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
commit 2186d4131ad4c7961d0c830bf9d48f3d06d27924
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Sep 4 14:39:15 2020 +0200
auth:gensec: Make gensec_use_kerberos_mechs() a static function
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
commit 5e3363e0b82193700f91a9bae5080aae0b744e5c
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Sep 4 10:48:27 2020 +0200
s4:ldap_server: Use samba_server_gensec_start() in ldapsrv_backend_Init()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
commit b34e8dc8982b625d946e2ac8794ee41311bc41c2
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Sep 4 10:47:54 2020 +0200
auth:gensec: Add gensec_security_sasl_names()
Pair-Programmed-With: Andreas Schneider <asn at samba.org>
Signed-off-by: Andreas Schneider <asn at samba.org>
Signed-off-by: Stefan Metzmacher <metze at samba.org>
commit 5fc3a71d0f54b176d3cb2e399718d0468507e797
Author: David Mulder <dmulder at suse.com>
Date: Mon Aug 24 13:12:46 2020 -0600
waf: upgrade to 2.0.20
This contain an important change:
"Fix gccdeps.scan() returning nodes that no longer exist on disk."
https://gitlab.com/ita1024/waf/-/merge_requests/2293
Signed-off-by: David Mulder <dmulder at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
commit 896b7bbcf25b336a970441396d8e60c3d115a1b9
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Apr 3 12:16:08 2020 +0200
bootstrap: install perl-JSON on on rpm distributions
This will be needed for the next heimdal import.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit e0e51632cf77be439ebcbcba025a42e8558fa824
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Aug 6 15:27:24 2020 +0200
bootstrap: document git push -o ci.variable='SAMBA_CI_REBUILD_IMAGES=yes'
This is much easier than going through the web interface.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
commit b716dbc9768bd6a0ef7d016a9c79e8759e383732
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Sep 7 10:31:36 2020 +0200
python/tests/gpo: this should fix a Popen deadlock
It is inspired by commit 5dc773a5b00834c7a53130a73a48f49048bd55e8
Author: Joe Guo <joeg at catalyst.net.nz>
Date: Fri Sep 15 16:13:26 2017 +1200
python: use communicate to fix Popen deadlock
`Popen.wait()` will deadlock when using stdout=PIPE and/or stderr=PIPE and the
child process generates large output to a pipe such that it blocks waiting for
the OS pipe buffer to accept more data. Use communicate() to avoid that.
Signed-off-by: Joe Guo <joeg at catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
Autobuild-Date(master): Thu Oct 19 09:27:16 CEST 2017 on sn-devel-144
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Noel Power <noel.power at suse.com>
-----------------------------------------------------------------------
Summary of changes:
.gitlab-ci.yml | 2 +-
auth/credentials/credentials.c | 25 +
auth/credentials/credentials.h | 2 +
auth/gensec/gensec.h | 5 +-
auth/gensec/gensec_start.c | 127 ++++-
bootstrap/README.md | 17 +-
bootstrap/config.py | 3 +-
bootstrap/generated-dists/centos7/bootstrap.sh | 1 +
bootstrap/generated-dists/centos7/packages.yml | 1 +
bootstrap/generated-dists/centos8/bootstrap.sh | 1 +
bootstrap/generated-dists/centos8/packages.yml | 1 +
bootstrap/generated-dists/fedora31/bootstrap.sh | 1 +
bootstrap/generated-dists/fedora31/packages.yml | 1 +
bootstrap/generated-dists/fedora32/bootstrap.sh | 1 +
bootstrap/generated-dists/fedora32/packages.yml | 1 +
bootstrap/generated-dists/opensuse150/bootstrap.sh | 1 +
bootstrap/generated-dists/opensuse150/packages.yml | 1 +
bootstrap/generated-dists/opensuse151/bootstrap.sh | 1 +
bootstrap/generated-dists/opensuse151/packages.yml | 1 +
bootstrap/sha1sum.txt | 2 +-
buildtools/bin/waf | 2 +-
buildtools/wafsamba/samba_utils.py | 2 +-
buildtools/wafsamba/samba_waf18.py | 3 +-
buildtools/wafsamba/wafsamba.py | 2 +-
python/samba/tests/gpo.py | 21 +-
source4/dsdb/samdb/ldb_modules/rootdse.c | 4 +-
source4/ldap_server/ldap_backend.c | 49 +-
source4/rpc_server/dcerpc_server.c | 17 +-
source4/smb_server/smb/negprot.c | 28 +-
source4/smb_server/smb2/negprot.c | 25 +-
third_party/waf/waflib/Configure.py | 25 +-
third_party/waf/waflib/Context.py | 18 +-
third_party/waf/waflib/Options.py | 31 +-
third_party/waf/waflib/Scripting.py | 6 +-
third_party/waf/waflib/Tools/c_aliases.py | 4 +-
third_party/waf/waflib/Tools/c_config.py | 22 +-
third_party/waf/waflib/Tools/c_tests.py | 15 +-
third_party/waf/waflib/Tools/compiler_c.py | 2 +-
third_party/waf/waflib/Tools/compiler_cxx.py | 2 +-
third_party/waf/waflib/Tools/fc.py | 4 +-
third_party/waf/waflib/Tools/irixcc.py | 14 +-
third_party/waf/waflib/Tools/javaw.py | 2 +-
third_party/waf/waflib/Tools/python.py | 2 +-
third_party/waf/waflib/Tools/qt5.py | 6 +-
third_party/waf/waflib/Utils.py | 2 +-
.../waflib/extras/clang_compilation_database.py | 172 ++++---
third_party/waf/waflib/extras/doxygen.py | 1 +
third_party/waf/waflib/extras/gccdeps.py | 15 +-
third_party/waf/waflib/extras/javatest.py | 135 +++++-
third_party/waf/waflib/extras/msvc_pdb.py | 46 ++
third_party/waf/waflib/extras/pytest.py | 17 +-
third_party/waf/waflib/extras/wafcache.py | 524 +++++++++++++++++++++
52 files changed, 1171 insertions(+), 242 deletions(-)
create mode 100644 third_party/waf/waflib/extras/msvc_pdb.py
create mode 100644 third_party/waf/waflib/extras/wafcache.py
Changeset truncated at 500 lines:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 39c5d2765c3..eac719e5ee5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -23,7 +23,7 @@ variables:
# Set this to the contents of bootstrap/sha1sum.txt
# which is generated by bootstrap/template.py --render
#
- SAMBA_CI_CONTAINER_TAG: abd0e3b4cadc9691200c43769e69a3a7b50d9fde
+ SAMBA_CI_CONTAINER_TAG: 2b36c89aa12c35958fd95380615dde0ef5a97b9d
#
# We use the ubuntu1804 image as default as
# it matches what we have on sn-devel-184.
diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c
index 9168b92d3ec..77c35dd104b 100644
--- a/auth/credentials/credentials.c
+++ b/auth/credentials/credentials.c
@@ -56,6 +56,31 @@ _PUBLIC_ struct cli_credentials *cli_credentials_init(TALLOC_CTX *mem_ctx)
return cred;
}
+_PUBLIC_
+struct cli_credentials *cli_credentials_init_server(TALLOC_CTX *mem_ctx,
+ struct loadparm_context *lp_ctx)
+{
+ struct cli_credentials *server_creds = NULL;
+ NTSTATUS status;
+
+ server_creds = cli_credentials_init(mem_ctx);
+ if (server_creds == NULL) {
+ return NULL;
+ }
+
+ cli_credentials_set_conf(server_creds, lp_ctx);
+
+ status = cli_credentials_set_machine_account(server_creds, lp_ctx);
+ if (!NT_STATUS_IS_OK(status)) {
+ DEBUG(1, ("Failed to obtain server credentials: %s\n",
+ nt_errstr(status)));
+ TALLOC_FREE(server_creds);
+ return NULL;
+ }
+
+ return server_creds;
+}
+
_PUBLIC_ void cli_credentials_set_callback_data(struct cli_credentials *cred,
void *callback_data)
{
diff --git a/auth/credentials/credentials.h b/auth/credentials/credentials.h
index 1a3e611fee8..4c140615751 100644
--- a/auth/credentials/credentials.h
+++ b/auth/credentials/credentials.h
@@ -76,6 +76,8 @@ bool cli_credentials_set_workstation(struct cli_credentials *cred,
enum credentials_obtained obtained);
bool cli_credentials_is_anonymous(struct cli_credentials *cred);
struct cli_credentials *cli_credentials_init(TALLOC_CTX *mem_ctx);
+struct cli_credentials *cli_credentials_init_server(TALLOC_CTX *mem_ctx,
+ struct loadparm_context *lp_ctx);
void cli_credentials_set_anonymous(struct cli_credentials *cred);
bool cli_credentials_wrong_password(struct cli_credentials *cred);
const char *cli_credentials_get_password(struct cli_credentials *cred);
diff --git a/auth/gensec/gensec.h b/auth/gensec/gensec.h
index d424067d02c..8bece3c3458 100644
--- a/auth/gensec/gensec.h
+++ b/auth/gensec/gensec.h
@@ -302,12 +302,11 @@ NTSTATUS gensec_wrap(struct gensec_security *gensec_security,
const struct gensec_security_ops * const *gensec_security_all(void);
bool gensec_security_ops_enabled(const struct gensec_security_ops *ops, struct gensec_security *security);
-const struct gensec_security_ops **gensec_use_kerberos_mechs(TALLOC_CTX *mem_ctx,
- const struct gensec_security_ops * const *old_gensec_list,
- struct cli_credentials *creds);
NTSTATUS gensec_start_mech_by_sasl_name(struct gensec_security *gensec_security,
const char *sasl_name);
+const char **gensec_security_sasl_names(struct gensec_security *gensec_security,
+ TALLOC_CTX *mem_ctx);
int gensec_setting_int(struct gensec_settings *settings, const char *mechanism, const char *name, int default_value);
bool gensec_setting_bool(struct gensec_settings *settings, const char *mechanism, const char *name, bool default_value);
diff --git a/auth/gensec/gensec_start.c b/auth/gensec/gensec_start.c
index d34ef2d5e39..4996e13e027 100644
--- a/auth/gensec/gensec_start.c
+++ b/auth/gensec/gensec_start.c
@@ -85,21 +85,14 @@ bool gensec_security_ops_enabled(const struct gensec_security_ops *ops, struct g
* more compplex.
*/
-_PUBLIC_ const struct gensec_security_ops **gensec_use_kerberos_mechs(TALLOC_CTX *mem_ctx,
- const struct gensec_security_ops * const *old_gensec_list,
- struct cli_credentials *creds)
+static const struct gensec_security_ops **gensec_use_kerberos_mechs(
+ TALLOC_CTX *mem_ctx,
+ const struct gensec_security_ops * const *old_gensec_list,
+ enum credentials_use_kerberos use_kerberos,
+ bool keep_schannel)
{
const struct gensec_security_ops **new_gensec_list;
int i, j, num_mechs_in;
- enum credentials_use_kerberos use_kerberos = CRED_AUTO_USE_KERBEROS;
- bool keep_schannel = false;
-
- if (creds) {
- use_kerberos = cli_credentials_get_kerberos_state(creds);
- if (cli_credentials_get_netlogon_creds(creds) != NULL) {
- keep_schannel = true;
- }
- }
for (num_mechs_in=0; old_gensec_list && old_gensec_list[num_mechs_in]; num_mechs_in++) {
/* noop */
@@ -164,18 +157,37 @@ _PUBLIC_ const struct gensec_security_ops **gensec_security_mechs(
struct gensec_security *gensec_security,
TALLOC_CTX *mem_ctx)
{
- struct cli_credentials *creds = NULL;
const struct gensec_security_ops * const *backends = gensec_security_all();
+ enum credentials_use_kerberos use_kerberos = CRED_AUTO_USE_KERBEROS;
+ bool keep_schannel = false;
if (gensec_security != NULL) {
+ struct cli_credentials *creds = NULL;
+
creds = gensec_get_credentials(gensec_security);
+ if (creds != NULL) {
+ use_kerberos = cli_credentials_get_kerberos_state(creds);
+ if (cli_credentials_get_netlogon_creds(creds) != NULL) {
+ keep_schannel = true;
+ }
+
+ /*
+ * Even if Kerberos is set to REQUIRED, keep the
+ * schannel auth mechanism that machine accounts are
+ * able to authenticate via netlogon.
+ */
+ if (gensec_security->gensec_role == GENSEC_SERVER) {
+ keep_schannel = true;
+ }
+ }
if (gensec_security->settings->backends) {
backends = gensec_security->settings->backends;
}
}
- return gensec_use_kerberos_mechs(mem_ctx, backends, creds);
+ return gensec_use_kerberos_mechs(mem_ctx, backends,
+ use_kerberos, keep_schannel);
}
@@ -301,6 +313,93 @@ const struct gensec_security_ops *gensec_security_by_name(struct gensec_security
return NULL;
}
+static const char **gensec_security_sasl_names_from_ops(
+ struct gensec_security *gensec_security,
+ TALLOC_CTX *mem_ctx,
+ const struct gensec_security_ops * const *ops)
+{
+ const char **sasl_names = NULL;
+ size_t i, sasl_names_count = 0;
+
+ if (ops == NULL) {
+ return NULL;
+ }
+
+ sasl_names = talloc_array(mem_ctx, const char *, 1);
+ if (sasl_names == NULL) {
+ return NULL;
+ }
+
+ for (i = 0; ops[i] != NULL; i++) {
+ enum gensec_role role = GENSEC_SERVER;
+ const char **tmp = NULL;
+
+ if (ops[i]->sasl_name == NULL) {
+ continue;
+ }
+
+ if (gensec_security != NULL) {
+ if (!gensec_security_ops_enabled(ops[i],
+ gensec_security)) {
+ continue;
+ }
+
+ role = gensec_security->gensec_role;
+ }
+
+ switch (role) {
+ case GENSEC_CLIENT:
+ if (ops[i]->client_start == NULL) {
+ continue;
+ }
+ break;
+ case GENSEC_SERVER:
+ if (ops[i]->server_start == NULL) {
+ continue;
+ }
+ break;
+ }
+
+ tmp = talloc_realloc(mem_ctx,
+ sasl_names,
+ const char *,
+ sasl_names_count + 2);
+ if (tmp == NULL) {
+ TALLOC_FREE(sasl_names);
+ return NULL;
+ }
+ sasl_names = tmp;
+
+ sasl_names[sasl_names_count] = ops[i]->sasl_name;
+ sasl_names_count++;
+ }
+ sasl_names[sasl_names_count] = NULL;
+
+ return sasl_names;
+}
+
+/**
+ * @brief Get the sasl names from the gensec security context.
+ *
+ * @param[in] gensec_security The gensec security context.
+ *
+ * @param[in] mem_ctx The memory context to allocate memory on.
+ *
+ * @return An allocated array with sasl names, NULL on error.
+ */
+_PUBLIC_
+const char **gensec_security_sasl_names(struct gensec_security *gensec_security,
+ TALLOC_CTX *mem_ctx)
+{
+ const struct gensec_security_ops **ops = NULL;
+
+ ops = gensec_security_mechs(gensec_security, mem_ctx);
+
+ return gensec_security_sasl_names_from_ops(gensec_security,
+ mem_ctx,
+ ops);
+}
+
/**
* Return a unique list of security subsystems from those specified in
* the list of SASL names.
diff --git a/bootstrap/README.md b/bootstrap/README.md
index 023686e20c4..d4f30955197 100644
--- a/bootstrap/README.md
+++ b/bootstrap/README.md
@@ -39,17 +39,7 @@ the toplevel .gitlab-ci.yml file.
As a gitlab-ci user, I can use this tool to build new CI docker images:
After committing the result of calling `bootstrap/template.py --render`
- and updating `SAMBA_CI_CONTAINER_TAG` in .gitlab-ci.yml, you can push
- The branch to git at gitlab.com:samba-team/devel/samba.git using:
-
- git push -o ci.skip git at gitlab.com:samba-team/devel/samba.git ...
-
- The `-o ci.skip` option means gitlab won't start a pipeline
- for the just pushed branch.
-
- Instead you would start a custom pipeline at:
-
- https://gitlab.com/samba-team/devel/samba/pipelines/new
+ and updating `SAMBA_CI_CONTAINER_TAG` in .gitlab-ci.yml, you can push.
But you need to pass `SAMBA_CI_REBUILD_IMAGES=yes` as environment
variable. It means the pipeline runs the 'images' stage and builds
@@ -57,6 +47,11 @@ As a gitlab-ci user, I can use this tool to build new CI docker images:
uploads the images into the registry.gitlab.com/samba-team/devel/samba
container registry.
+ You can push by specifying the variable (note multiple -o options are allowed,
+ see https://docs.gitlab.com/ee/user/project/push_options.html):
+
+ `git push -o ci.variable='SAMBA_CI_REBUILD_IMAGES=yes' git at gitlab.com:samba-team/devel/samba.git ...`
+
If you want to try to build images for the (currently) broken
distributions, you would pass `SAMBA_CI_REBUILD_BROKEN_IMAGES=yes`
in addition to the custom pipeline. Note the images for
diff --git a/bootstrap/config.py b/bootstrap/config.py
index 2c83876459d..43f89cf9efc 100644
--- a/bootstrap/config.py
+++ b/bootstrap/config.py
@@ -147,7 +147,8 @@ PKGS = [
# perl
('libparse-yapp-perl', 'perl-Parse-Yapp'),
- ('libjson-perl', 'perl-JSON-Parse'),
+ ('libjson-perl', 'perl-JSON'),
+ ('', 'perl-JSON-Parse'),
('perl-modules', ''),
('', 'perl-Archive-Tar'),
('', 'perl-ExtUtils-MakeMaker'),
diff --git a/bootstrap/generated-dists/centos7/bootstrap.sh b/bootstrap/generated-dists/centos7/bootstrap.sh
index 8b50b8de125..63746e248bc 100755
--- a/bootstrap/generated-dists/centos7/bootstrap.sh
+++ b/bootstrap/generated-dists/centos7/bootstrap.sh
@@ -72,6 +72,7 @@ yum install -y \
patch \
perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON \
perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
diff --git a/bootstrap/generated-dists/centos7/packages.yml b/bootstrap/generated-dists/centos7/packages.yml
index 9dd36ec0daa..7fb9b811397 100644
--- a/bootstrap/generated-dists/centos7/packages.yml
+++ b/bootstrap/generated-dists/centos7/packages.yml
@@ -58,6 +58,7 @@ packages:
- patch
- perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON
- perl-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
diff --git a/bootstrap/generated-dists/centos8/bootstrap.sh b/bootstrap/generated-dists/centos8/bootstrap.sh
index 08cb02105a4..342188e7fe5 100755
--- a/bootstrap/generated-dists/centos8/bootstrap.sh
+++ b/bootstrap/generated-dists/centos8/bootstrap.sh
@@ -79,6 +79,7 @@ yum install -y \
perl \
perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON \
perl-Parse-Yapp \
perl-Test-Simple \
perl-generators \
diff --git a/bootstrap/generated-dists/centos8/packages.yml b/bootstrap/generated-dists/centos8/packages.yml
index dd487a2eced..d82a80e6957 100644
--- a/bootstrap/generated-dists/centos8/packages.yml
+++ b/bootstrap/generated-dists/centos8/packages.yml
@@ -61,6 +61,7 @@ packages:
- perl
- perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON
- perl-Parse-Yapp
- perl-Test-Simple
- perl-generators
diff --git a/bootstrap/generated-dists/fedora31/bootstrap.sh b/bootstrap/generated-dists/fedora31/bootstrap.sh
index 3fb60bc00eb..18fbfefedbc 100755
--- a/bootstrap/generated-dists/fedora31/bootstrap.sh
+++ b/bootstrap/generated-dists/fedora31/bootstrap.sh
@@ -74,6 +74,7 @@ dnf install -y \
perl \
perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON \
perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
diff --git a/bootstrap/generated-dists/fedora31/packages.yml b/bootstrap/generated-dists/fedora31/packages.yml
index 37422007549..6cb2ce3841f 100644
--- a/bootstrap/generated-dists/fedora31/packages.yml
+++ b/bootstrap/generated-dists/fedora31/packages.yml
@@ -63,6 +63,7 @@ packages:
- perl
- perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON
- perl-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
diff --git a/bootstrap/generated-dists/fedora32/bootstrap.sh b/bootstrap/generated-dists/fedora32/bootstrap.sh
index 3fb60bc00eb..18fbfefedbc 100755
--- a/bootstrap/generated-dists/fedora32/bootstrap.sh
+++ b/bootstrap/generated-dists/fedora32/bootstrap.sh
@@ -74,6 +74,7 @@ dnf install -y \
perl \
perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
+ perl-JSON \
perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
diff --git a/bootstrap/generated-dists/fedora32/packages.yml b/bootstrap/generated-dists/fedora32/packages.yml
index 37422007549..6cb2ce3841f 100644
--- a/bootstrap/generated-dists/fedora32/packages.yml
+++ b/bootstrap/generated-dists/fedora32/packages.yml
@@ -63,6 +63,7 @@ packages:
- perl
- perl-Archive-Tar
- perl-ExtUtils-MakeMaker
+ - perl-JSON
- perl-JSON-Parse
- perl-Parse-Yapp
- perl-Test-Base
diff --git a/bootstrap/generated-dists/opensuse150/bootstrap.sh b/bootstrap/generated-dists/opensuse150/bootstrap.sh
index d99d835719f..33c8aeb4021 100755
--- a/bootstrap/generated-dists/opensuse150/bootstrap.sh
+++ b/bootstrap/generated-dists/opensuse150/bootstrap.sh
@@ -70,6 +70,7 @@ zypper --non-interactive install \
perl \
perl-Archive-Tar-Wrapper \
perl-ExtUtils-MakeMaker \
+ perl-JSON \
perl-JSON-XS \
perl-Parse-Yapp \
perl-Test-Base \
diff --git a/bootstrap/generated-dists/opensuse150/packages.yml b/bootstrap/generated-dists/opensuse150/packages.yml
index 30d102484be..5e7b1a11d7a 100644
--- a/bootstrap/generated-dists/opensuse150/packages.yml
+++ b/bootstrap/generated-dists/opensuse150/packages.yml
@@ -58,6 +58,7 @@ packages:
- perl
- perl-Archive-Tar-Wrapper
- perl-ExtUtils-MakeMaker
+ - perl-JSON
- perl-JSON-XS
- perl-Parse-Yapp
- perl-Test-Base
diff --git a/bootstrap/generated-dists/opensuse151/bootstrap.sh b/bootstrap/generated-dists/opensuse151/bootstrap.sh
index d99d835719f..33c8aeb4021 100755
--- a/bootstrap/generated-dists/opensuse151/bootstrap.sh
+++ b/bootstrap/generated-dists/opensuse151/bootstrap.sh
@@ -70,6 +70,7 @@ zypper --non-interactive install \
perl \
perl-Archive-Tar-Wrapper \
perl-ExtUtils-MakeMaker \
+ perl-JSON \
perl-JSON-XS \
perl-Parse-Yapp \
perl-Test-Base \
diff --git a/bootstrap/generated-dists/opensuse151/packages.yml b/bootstrap/generated-dists/opensuse151/packages.yml
index 30d102484be..5e7b1a11d7a 100644
--- a/bootstrap/generated-dists/opensuse151/packages.yml
+++ b/bootstrap/generated-dists/opensuse151/packages.yml
@@ -58,6 +58,7 @@ packages:
- perl
- perl-Archive-Tar-Wrapper
- perl-ExtUtils-MakeMaker
+ - perl-JSON
- perl-JSON-XS
- perl-Parse-Yapp
- perl-Test-Base
diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt
index c9834e2a19d..28d7e55a73a 100644
--- a/bootstrap/sha1sum.txt
+++ b/bootstrap/sha1sum.txt
@@ -1 +1 @@
-abd0e3b4cadc9691200c43769e69a3a7b50d9fde
+2b36c89aa12c35958fd95380615dde0ef5a97b9d
diff --git a/buildtools/bin/waf b/buildtools/bin/waf
index 11ce8e7480a..feabe25d131 100755
--- a/buildtools/bin/waf
+++ b/buildtools/bin/waf
@@ -32,7 +32,7 @@ POSSIBILITY OF SUCH DAMAGE.
import os, sys, inspect
-VERSION="2.0.18"
+VERSION="2.0.20"
REVISION="x"
GIT="x"
INSTALL="x"
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
index 4afee249d33..0587f525aff 100644
--- a/buildtools/wafsamba/samba_utils.py
+++ b/buildtools/wafsamba/samba_utils.py
@@ -459,7 +459,7 @@ def RECURSE(ctx, directory):
return
visited_dirs.add(key)
relpath = os.path.relpath(abspath, ctx.path.abspath())
- if ctxclass in ['tmp', 'OptionsContext', 'ConfigurationContext', 'BuildContext']:
+ if ctxclass in ['tmp', 'OptionsContext', 'ConfigurationContext', 'BuildContext', 'ClangDbContext']:
return ctx.recurse(relpath)
if 'waflib.extras.compat15' in sys.modules:
return ctx.recurse(relpath)
diff --git a/buildtools/wafsamba/samba_waf18.py b/buildtools/wafsamba/samba_waf18.py
index c0bb6bfcf55..ecf3891f175 100644
--- a/buildtools/wafsamba/samba_waf18.py
+++ b/buildtools/wafsamba/samba_waf18.py
@@ -5,6 +5,7 @@ from waflib import Build, Configure, Node, Utils, Options, Logs, TaskGen
from waflib import ConfigSet
from waflib.TaskGen import feature, after
from waflib.Configure import conf, ConfigurationContext
+from waflib.extras import clang_compilation_database
from waflib.Tools.flex import decide_ext
@@ -37,7 +38,7 @@ TaskGen.declare_chain(
)
-for y in (Build.BuildContext, Build.CleanContext, Build.InstallContext, Build.UninstallContext, Build.ListContext):
+for y in (Build.BuildContext, Build.CleanContext, Build.InstallContext, Build.UninstallContext, Build.ListContext, clang_compilation_database.ClangDbContext):
class tmp(y):
variant = 'default'
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 7827d374654..9f6ee4f5c7f 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -38,7 +38,7 @@ LIB_PATH="shared"
os.environ['PYTHONUNBUFFERED'] = '1'
--
Samba Shared Repository
More information about the samba-cvs
mailing list