The branch, master has been updated via 763b2efe69d s3:utils: Fix setting the debug level via e5fe856e76e s3:tests: Add smbget test for smb://DOAMIN;user%password@server/share/file via 40de9033650 pycredentials: Properly check type in creds.set_nt_hash() and samr.encrypt_samr_password() from 00034d02289 s3:auth: Allow 'Unix Users' and 'Unix Groups' to create a local token
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 763b2efe69dc74e1c0cd954607031012f832486d Author: Andreas Schneider <a...@samba.org> Date: Wed Dec 6 08:48:34 2023 +0100 s3:utils: Fix setting the debug level BUG: https://bugzilla.samba.org/show_bug.cgi?id=15525 Signed-off-by: Andreas Schneider <a...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> Autobuild-User(master): Andrew Bartlett <abart...@samba.org> Autobuild-Date(master): Thu Dec 7 05:33:21 UTC 2023 on atb-devel-224 commit e5fe856e76eba26e3b85a391bcea02dfe045c26e Author: Andreas Schneider <a...@samba.org> Date: Tue Dec 5 15:46:48 2023 +0100 s3:tests: Add smbget test for smb://DOAMIN;user%password@server/share/file This is supported according to the smbget manpage! BUG: https://bugzilla.samba.org/show_bug.cgi?id=15525 Signed-off-by: Andreas Schneider <a...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 40de90336506233994a57cbde7a107e26ffe22bf Author: Andrew Bartlett <abart...@samba.org> Date: Thu Dec 7 15:50:43 2023 +1300 pycredentials: Properly check type in creds.set_nt_hash() and samr.encrypt_samr_password() We should not be just doing a talloc type check, we should check the python type first. Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> ----------------------------------------------------------------------- Summary of changes: auth/credentials/pycredentials.c | 10 ++++++++++ auth/credentials/wscript_build | 3 ++- source3/script/tests/test_smbget.sh | 20 ++++++++++++++++++++ source3/utils/smbget.c | 6 +++++- 4 files changed, 37 insertions(+), 2 deletions(-) Changeset truncated at 500 lines: diff --git a/auth/credentials/pycredentials.c b/auth/credentials/pycredentials.c index 8e7d8ae7b56..a27e02d1aa5 100644 --- a/auth/credentials/pycredentials.c +++ b/auth/credentials/pycredentials.c @@ -568,6 +568,11 @@ static PyObject *py_creds_set_nt_hash(PyObject *self, PyObject *args) } obt = _obt; + if (!py_check_dcerpc_type(py_cp, "samba.dcerpc.samr", "Password")) { + /* py_check_dcerpc_type sets TypeError */ + return NULL; + } + pwd = pytalloc_get_type(py_cp, struct samr_Password); if (pwd == NULL) { /* pytalloc_get_type sets TypeError */ @@ -1073,6 +1078,11 @@ static PyObject *py_creds_encrypt_samr_password(PyObject *self, return NULL; } + if (!py_check_dcerpc_type(py_cp, "samba.dcerpc.samr", "Password")) { + /* py_check_dcerpc_type sets TypeError */ + return NULL; + } + pwd = pytalloc_get_type(py_cp, struct samr_Password); if (pwd == NULL) { /* pytalloc_get_type sets TypeError */ diff --git a/auth/credentials/wscript_build b/auth/credentials/wscript_build index 7568554df4d..83c6e8ca5a0 100644 --- a/auth/credentials/wscript_build +++ b/auth/credentials/wscript_build @@ -27,12 +27,13 @@ bld.SAMBA_SUBSYSTEM('CREDENTIALS_CMDLINE', source='credentials_cmdline.c', deps='samba-credentials') +pyrpc_util = bld.pyembed_libname('pyrpc_util') pytalloc_util = bld.pyembed_libname('pytalloc-util') pyparam_util = bld.pyembed_libname('pyparam_util') bld.SAMBA_PYTHON('pycredentials', source='pycredentials.c', - public_deps='samba-credentials %s %s CREDENTIALS_CMDLINE CREDENTIALS_KRB5 CREDENTIALS_SECRETS' % (pytalloc_util, pyparam_util), + public_deps='samba-credentials %s %s %s CREDENTIALS_CMDLINE CREDENTIALS_KRB5 CREDENTIALS_SECRETS' % (pyrpc_util, pytalloc_util, pyparam_util), realname='samba/credentials.so' ) diff --git a/source3/script/tests/test_smbget.sh b/source3/script/tests/test_smbget.sh index 46c1f4a68a5..bdc62a71eff 100755 --- a/source3/script/tests/test_smbget.sh +++ b/source3/script/tests/test_smbget.sh @@ -145,6 +145,22 @@ test_singlefile_smburl() return 0 } +test_singlefile_smburl2() +{ + clear_download_area + $SMBGET "smb://$DOMAIN;$USERNAME:$PASSWORD@$SERVER_IP/smbget/testfile" + if [ $? -ne 0 ]; then + echo 'ERROR: RC does not match, expected: 0' + return 1 + fi + cmp --silent $WORKDIR/testfile ./testfile + if [ $? -ne 0 ]; then + echo 'ERROR: file content does not match' + return 1 + fi + return 0 +} + test_singlefile_authfile() { clear_download_area @@ -499,6 +515,10 @@ testit "download single file with --update and UPN" test_singlefile_U_UPN || testit "download single file with smb URL" test_singlefile_smburl || failed=$(expr $failed + 1) +testit "download single file with smb URL including domain" \ + test_singlefile_smburl2 || + failed=$(expr $failed + 1) + testit "download single file with authfile" test_singlefile_authfile || failed=$(expr $failed + 1) diff --git a/source3/utils/smbget.c b/source3/utils/smbget.c index a43679328c1..dc8dace8a55 100644 --- a/source3/utils/smbget.c +++ b/source3/utils/smbget.c @@ -849,6 +849,7 @@ int main(int argc, char **argv) uint32_t gensec_features; bool use_wbccache = false; SMBCCTX *smb_ctx = NULL; + int dbg_lvl = -1; int rc; smb_init_locale(); @@ -922,13 +923,16 @@ int main(int argc, char **argv) samba_cmdline_burn(argc, argv); + /* smbc_new_context() will set the log level to 0 */ + dbg_lvl = debuglevel_get(); + smb_ctx = smbc_new_context(); if (smb_ctx == NULL) { fprintf(stderr, "Unable to initialize libsmbclient\n"); ok = false; goto done; } - smbc_setDebug(smb_ctx, debuglevel_get()); + smbc_setDebug(smb_ctx, dbg_lvl); rc = smbc_setConfiguration(smb_ctx, lp_default_path()); if (rc < 0) { -- Samba Shared Repository