Compare commits

...

154 Commits
master ... f35

Author SHA1 Message Date
Günther Deschner 37bcb6ae22 Update to version 4.15.12
resolves: #2140960, #2143115 - Security fixes for CVE-2022-42898

Guenther
2022-11-16 11:02:11 +01:00
Günther Deschner e3df474408 Update to version 4.15.11
resolves: #2137774, #2137777 - Security fixes for CVE-2022-3437

Guenther
2022-11-07 15:04:36 +01:00
Günther Deschner a62dadcdca Update to Samba 4.15.10
Guenther
2022-09-28 18:38:17 +02:00
Günther Deschner 12f268eb60 Update to Samba 4.15.9
resolves: #2108196, #2111729 - Security fixes for CVE-2022-32742
resolves: #2108205, #2111731 - Security fixes for CVE-2022-32744
resolves: #2108211, #2111732 - Security fixes for CVE-2022-32745
resolves: #2108215, #2111734 - Security fixes for CVE-2022-32746

Guenther
2022-07-29 16:08:36 +02:00
Günther Deschner 163b8baf5e Add new dlz_bind9_18.so module
Guenther
2022-06-28 21:06:52 +02:00
Günther Deschner 945ae5bb6d Fix ldb version requirement
Guenther
2022-06-28 20:48:23 +02:00
Pavel Filipenský 5699cd2f3d Update to Samba 4.15.8
pfilipen
2022-06-28 11:34:41 +02:00
Günther Deschner 6b35d6b0ed Update to Samba 4.15.7
Guenther
2022-04-26 20:02:36 +02:00
Günther Deschner babae4f58f There is no such thing like .el9rhgs
Guenther
2022-04-26 19:14:34 +02:00
Pavel Filipenský 14ac0090bf Update to Samba 4.15.6
pfilipen
2022-03-16 11:18:30 +01:00
Andreas Schneider a3c89d96f4 Fix samba-tool on builds with samba-dc
resolves: rhbz#2036443
2022-02-23 15:34:02 +01:00
Andreas Schneider 6de304f908 Require python3-pyasn1 >= 0.4.8 2022-02-02 14:22:23 +01:00
Andreas Schneider 25d5425804 Remove unneeded lmdb dependency for samba-tool if we don't have a DC 2022-02-02 14:22:13 +01:00
Andreas Schneider c818aff06a Always build with quota support
We want that the build fails, if we don't have quota support.
2022-02-02 14:22:06 +01:00
Günther Deschner de8a44ac72 Update to Samba 4.15.5
resolves: #2046120, #2048566 - Security fixes for CVE-2021-44141
resolves: #2046146, #2048570 - Security fixes for CVE-2021-44142
resolves: #2046134, #2048568 - Security fixes for CVE-2022-0336

Guenther
2022-01-31 15:58:23 +01:00
Pavel Filipenský 631e0ebfec Fix bogus date in %changelog
pfilipen
2022-01-20 12:33:52 +01:00
Pavel Filipenský 73617498fc Update to Samba 4.15.4
resolves: #2009673, #2039034 - Security fixes for CVE-2021-20316
resolves: #2042518

pfilipen
2022-01-20 10:17:59 +01:00
Pavel Filipenský ed2bb2590d Fix resolv_wrapper with glibc 2.34
resolves: #2019669

pfilipen
2021-12-15 14:49:13 +01:00
Andreas Schneider 7f5f3fde2b Add missing Requires 2021-12-15 14:49:11 +01:00
Pavel Filipenský e4d7f7f64c Update to Samba 4.15.3
resolves: #2030382

pfilipen
2021-12-08 21:05:42 +01:00
Günther Deschner 8c19b76cfe Fix IPA DC schannel support
Guenther
2021-11-13 00:28:05 +01:00
Günther Deschner 2fae3a0976 Fix smbclient -N failures in container setups
Guenther
2021-11-11 19:15:16 +01:00
Günther Deschner 7541e08a52 Fix logfile handling
Guenther
2021-11-11 16:03:37 +01:00
Günther Deschner 6d5fffe14f Fix winbind trusted domain regression
related: #2021716

Guenther
2021-11-11 16:03:31 +01:00
Günther Deschner 9b67814f9a Update to Samba 4.15.2
resolves: #2019660, #2021711 - Security fixes for CVE-2016-2124
resolves: #2019672, #2021716 - Security fixes for CVE-2020-25717
resolves: #2019726, #2021718 - Security fixes for CVE-2020-25718
resolves: #2019732, #2021719 - Security fixes for CVE-2020-25719
resolves: #2021728, #2021729 - Security fixes for CVE-2020-25721
resolves: #2019764, #2021721 - Security fixes for CVE-2020-25722
resolves: #2021726, #2021727 - Security fixes for CVE-2021-3738
resolves: #2019666, #2021715 - Security fixes for CVE-2021-23192
resolves: #2021625

Guenther
2021-11-10 14:15:54 +01:00
Günther Deschner 1820608e70 Fix winexe core dump
resolves: #2020376

Guenther
2021-11-05 15:00:31 +01:00
Günther Deschner 5e125866b2 Update to Samba 4.15.1
resolves: #2017847

Guenther
2021-10-28 09:05:38 +02:00
Günther Deschner d08fbf834a Update to Samba 4.15.0
resolves: #2005817

Guenther
2021-09-20 11:32:43 +02:00
Günther Deschner bcfd64e793 Update to Samba 4.15.0rc7
resolves: #2003740

Guenther
2021-09-13 17:33:34 +02:00
Günther Deschner 1a5ca895d7 Update to Samba 4.15.0rc6
resolves: #2002546

Guenther
2021-09-09 12:51:43 +02:00
Günther Deschner 980763e0d8 Update to Samba 4.15.0rc5
resolves: #2001827

Guenther
2021-09-07 12:54:45 +02:00
Andreas Schneider 06819eabeb The testsuite requires lmdb-devel 2021-09-07 12:54:27 +02:00
Andreas Schneider 22b551a534 We need python3-cryptography for krb5 tests 2021-09-07 12:54:13 +02:00
Günther Deschner 1b7a852613 Update to Samba 4.15.0rc4
resolves: #2000079

Guenther
2021-09-01 13:51:23 +02:00
Günther Deschner 9d6b8a93a5 Update to Samba 4.15.0rc3
resolves: #1998024

Guenther
2021-08-26 13:37:39 +02:00
Günther Deschner cc8f1ab0bc Add ceph and etcd mutex helpers for CTDB
Guenther
2021-08-26 13:37:31 +02:00
Anoop C S 31f031d2c2 Revert "Exclude PyDSDB library files"
This reverts commit cc8c80c04b.
2021-08-26 13:37:17 +02:00
Anoop C S 517ac65455 Remove duplicate listing for libdnsserver-common-samba4.so
libdnsserver-common-samba4.so is already getting packaged in samba-libs
sub-package(see 68140d413f) and
samba-dc-libs pulls in samba-libs. Therefore removing it from samba-dc-libs.
2021-08-26 13:36:35 +02:00
Adam Williamson 587d842150 Fix samba-common-tools dependency
It was literally "python3-%{samba}", which obviously didn't
work.
2021-08-13 09:17:54 -07:00
Andreas Schneider 9eec8f559a Add missing Requires in samba-common-tools for samba-tool 2021-08-12 16:43:33 +02:00
Anoop C S c68c1e920f Fix inclusion of PyDSDB library files
Commit cc8c80c04b removed the following
PyDSDB library files from buildroot:

* /usr/lib64/python3.9/site-packages/samba/dsdb.cpython-39-x86_64-linux-gnu.so
* /usr/lib64/python3.9/site-packages/samba/dsdb_dns.cpython-39-x86_64-linux-gnu.so

This was done under the impression that their dependency on
libdnsserver-common-samba4.so was not built in a non AD DC
environment. But in reality it was also conditionally removed
from the buildroot.

Apart from including PyDSDB back into python3-samba, we avoid removing
libdnsserver-common-samba4.so from buildroot and subsequently include it
in samba-libs to satisfy all dependencies. Additionally we remove PyDSDB
listing from %files section of python3-samba-dc sub-package.
2021-08-12 16:43:31 +02:00
Andreas Schneider 4e6b80c7be Document how to build with fedpkg 2021-08-12 16:43:29 +02:00
Andreas Schneider 9c6ca357c2 Use more CPUs for re-linking during the install step if possible 2021-08-12 16:43:27 +02:00
Andreas Schneider e2cae66a51 Require libs packages to be updated before restarting winbindd 2021-08-12 16:43:25 +02:00
Anoop C S 736516acc4 Move `samba-tool` from samba-dc to samba-common-tools sub-package
samba-tool is now built in a non AD DC environment and has been improved
to prevent crashes due to import errors. See the following commits in
upstream:

* https://git.samba.org/?p=samba.git;a=commit;h=779d0f02718b3812024bafcd5477ec3039c7a0cf
* https://git.samba.org/?p=samba.git;a=commit;h=fb5fe30e824d2d511188053ce04cf797b769727a
* https://git.samba.org/?p=samba.git;a=commit;h=f241fe5d46e8dd2b3265be7eddbd6686a6f920db
* https://git.samba.org/?p=samba.git;a=commit;h=a45ea91cd7e8335319c96ea5bda02014f584df63

related: #1991353
2021-08-12 16:43:24 +02:00
Anoop C S 5eb1ecd737 Exclude PyDSDB library files
Following library files are built without AD DC but has dependency on
other components which are only available with DC:

/usr/lib64/python3.9/site-packages/samba/dsdb.cpython-39-x86_64-linux-gnu.so
/usr/lib64/python3.9/site-packages/samba/dsdb_dns.cpython-39-x86_64-linux-gnu.so

Therefore we remove those from buildroot.

resolves: #1991353
2021-08-12 16:43:21 +02:00
Günther Deschner 03a37fd80f Update to Samba 4.15.0rc2
resolves: #1991634

Guenther
2021-08-09 16:51:22 +02:00
Fedora Release Engineering 0f02de3867 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 16:59:34 +00:00
Günther Deschner ab92045b9b Fix inclusion and building of ldb mdb module
Guenther
2021-07-21 15:32:03 +02:00
Günther Deschner c7152a7598 Fix ctdb-pcp-pmda install
resolves: #1983369

Guenther
2021-07-19 11:59:32 +02:00
Günther Deschner 30df8220b4 Do not include mdb.so for now
Guenther
2021-07-15 23:25:20 +02:00
Günther Deschner 8e500051bc Fix BuildRequires: lmdb-devel
Guenther
2021-07-15 22:25:56 +02:00
Günther Deschner dc0913c8f2 Update to Samba 4.15.0rc1
resolves: #1982623

Guenther
2021-07-15 16:59:08 +02:00
Günther Deschner 15c3d6dc9d Build with pcp-pmda support by default on Fedora
resolves: #1552276

Guenther
2021-07-14 17:09:06 +02:00
Günther Deschner 869e9c50a6 Update to Samba 4.14.6
resolves: #1981764

Guenther
2021-07-13 13:28:32 +02:00
Günther Deschner daabe96f8e Fix typos
Guenther
2021-06-29 14:33:14 +02:00
Andreas Schneider 5e4f3ca118 Fix typo in comment 2021-06-24 13:19:58 +02:00
Andreas Schneider b0ce351e1d Fix typos 2021-06-24 11:24:59 +02:00
Andreas Schneider 7be6ccad7b Bump release 2021-06-24 10:32:29 +02:00
Andreas Schneider e17d2fbe11 Add subpackage for vfs-iouring 2021-06-24 10:30:14 +02:00
Andreas Schneider e37c5c8b5b Remove trailing whitespace 2021-06-17 15:29:00 +02:00
Python Maint 4e6773440b Rebuilt for Python 3.10 2021-06-04 21:14:34 +02:00
Günther Deschner a42aaa69c3 Update to Samba 4.14.5
resolves: #1966456

Guenther
2021-06-01 12:47:01 +02:00
Andreas Schneider 2f7e875944 Move Obsoletes to samba-common-libs package
The samba-common package is a noarch package. This could cause issues.
2021-05-31 08:41:13 +02:00
Jitka Plesnikova d08addb413 Perl 5.34 rebuild 2021-05-21 22:04:47 +02:00
Pete Walter eb93f258dc Use baserelease rather than main_release macro
baserelease is what we have standardized across Fedora and what
rpmdev-bumpspec knows how to handle.
2021-05-20 10:17:02 +01:00
Pete Walter 249389209b Fix release number 2021-05-20 10:16:32 +01:00
Pete Walter aa94f9dec1 Rebuild for ICU 69 2021-05-19 21:18:29 +01:00
Andreas Schneider 4e19062fc1 Fix building with gcc 11.x
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2021-05-18 13:14:04 +02:00
Andreas Schneider 06f8e7b2d9 Fix typo and add ctdb-tests-debuginfo 2021-05-18 11:29:27 +02:00
Andreas Schneider f08374c6d4 Fix updating if vfs_glusterfs or ctdb-tests pacakges are installed 2021-05-12 14:49:04 +02:00
Andreas Schneider b69385bc2d Fix comment to match if-clause 2021-05-12 14:42:03 +02:00
Andreas Schneider 554a3330e3 rpminspect: Update to the version from CentOS Stream 2021-05-12 11:32:42 +02:00
Andreas Schneider 3356311a17 Build vfs_io_uring also on RHEL >= 8 2021-05-12 11:31:21 +02:00
Andreas Schneider d3d2a031b7 Do not drop tirpc which is uses for quota 2021-05-11 15:16:15 +02:00
Andreas Schneider 8fae59d7cc rpminspect: Allow also to path on non 64bit platforms 2021-05-04 09:09:55 +02:00
Andreas Schneider 7f443ad2e8 Fix rpminspec.yaml name 2021-05-04 09:07:45 +02:00
Andreas Schneider 0f1369ca59 rpminspect: Allow also non-64bit lib dirs 2021-05-03 14:07:05 +02:00
Andreas Schneider 9d2d741749 Add rpminspect.yml
This ignore false positives.
2021-05-03 14:01:27 +02:00
Andreas Schneider f6040f38cd Move %{?dist} to Release tag
This is expected by rpminspect and it doesn't resolve variables in spec
files.
2021-04-30 16:02:59 +02:00
Andreas Schneider d47396691c Remove obsolete world writeable /var/spool/samba
The default smb.conf we install already uses /var/tmp
2021-04-30 15:58:43 +02:00
Günther Deschner 7f81bed73e Update to Samba 4.14.4
resolves: #1949442, #1955027 - Security fixes for CVE-2021-20254
resolves: #1955011

Guenther
2021-04-29 11:54:16 +02:00
Anoop C S 1520f9620f Fix wrong conditional build check for AD DC
resolves: #1954263
2021-04-28 10:46:31 +05:30
Andreas Schneider b88dfc7eaa Add Provides: bundled(libreplace)
This might be useful if it will ever have security issues.
2021-04-26 14:37:02 +02:00
Andreas Schneider 4249254548 Drop NIS support
resolves: #1942378
2021-04-20 17:31:05 +02:00
Günther Deschner fba068844e Update to Samba 4.14.3
resolves: #1951531

Guenther
2021-04-20 13:30:35 +02:00
Andreas Schneider 3627144822 Added python3-ldb to BR 2021-04-19 11:06:07 +02:00
Andreas Schneider 2ae69028bf Remove findsmb script
resolves: #1949295
2021-04-19 09:27:14 +02:00
Andreas Schneider 4651019383 Remove unused filter-requires-samba.sh 2021-04-19 09:26:37 +02:00
Richard W.M. Jones e68a8ba5b9 Rebuild for updated liburing. 2021-04-14 10:23:01 +01:00
Alexander Bokovoy d08e5bf692 Fix RPC server memory leaks
Resolves: rhbz#1946950

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
2021-04-07 18:07:23 +03:00
Günther Deschner b05e4ed148 Update to Samba 4.14.2
related: #1941400, #1942496 - Security fixes for CVE-2020-27840
related: #1941402, #1942497 - Security fixes for CVE-2021-20277

Guenther
2021-03-25 00:20:05 +01:00
Günther Deschner e5dda56658 Update to Samba 4.14.1
resolves: #1941400, #1942496 - Security fixes for CVE-2020-27840
resolves: #1941402, #1942497 - Security fixes for CVE-2021-20277

Guenther
2021-03-24 18:53:58 +01:00
Günther Deschner f931b17773 Update to Samba 4.14.0
Guenther
2021-03-09 17:08:03 +01:00
Zbigniew Jędrzejewski-Szmek 18faec13bc Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:12:49 +01:00
Günther Deschner 45765aba68 Update to Samba 4.14.0rc4
Guenther
2021-03-01 12:15:45 +01:00
Günther Deschner 83436d8564 Update to Samba 4.14.0rc3
Guenther
2021-02-18 13:18:28 +01:00
Andreas Schneider 6cddc6448b Protect 'Require' of libwbclient 2021-02-04 17:08:28 +01:00
Andreas Schneider 8f1e592d6a Add python3-pyasn1 for krb5 tests 2021-02-04 16:59:27 +01:00
Günther Deschner e267c837dc Update to Samba 4.14.0rc2
Guenther
2021-02-04 13:26:29 +01:00
Andreas Schneider 5e5dc1ede5 Add missing post requirement for libwbclient 2021-02-03 11:28:40 +01:00
Günther Deschner 95450ee5f8 Update to Samba 4.14.0rc1
Guenther
2021-01-27 17:26:09 +01:00
Günther Deschner 12217d454e Update to Samba 4.13.4
Guenther
2021-01-26 17:32:33 +01:00
Alexander Bokovoy 254400b459 Rebuild against krb5 1.19
Resolves: rhbz#1915928
2021-01-13 20:52:30 +02:00
Tom Stellard 8fff4f7c11 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 21:05:04 +00:00
Günther Deschner ee8f8c2cd1 Update to Samba 4.13.3
Guenther
2020-12-15 12:06:05 +01:00
Alexander Bokovoy 0526d5b25f More missing Python modules 2020-11-25 17:06:03 +02:00
Alexander Bokovoy bcc551eafa Add new unpackaged Python modules 2020-11-25 13:53:24 +02:00
Alexander Bokovoy 1d03aa069e Merge RHEL 8.4 patches
These patches are part of the https://gitlab.com/samba-redhat/samba/-/tree/v4-13-redhat

 [PATCH 001/105] libcli:smb2: Do not leak ptext on error
 [PATCH 002/105] libcli:smb2: Use talloc NULL context if we don't have
 [PATCH 003/105] auth:creds: Introduce CRED_SMB_CONF
 [PATCH 004/105] param: Add 'server smb encrypt' parameter
 [PATCH 005/105] param: Create and use enum_smb_encryption_vals
 [PATCH 006/105] s3:smbd: Use 'enum smb_encryption_setting' values
 [PATCH 007/105] docs-xml: Add 'client smb encrypt'
 [PATCH 008/105] lib:param: Add lpcfg_parse_enum_vals()
 [PATCH 009/105] libcli:smb: Add smb_signing_setting_translate()
 [PATCH 010/105] libcli:smb: Add smb_encryption_setting_translate()
 [PATCH 011/105] s3:lib: Use smb_signing_setting_translate for cmdline
 [PATCH 012/105] auth:creds: Remove unused credentials autoproto
 [PATCH 013/105] auth:creds: Add
 [PATCH 014/105] auth:creds: Add python bindings for
 [PATCH 015/105] auth:creds: Add
 [PATCH 016/105] auth:creds: Add python bindings for
 [PATCH 017/105] auth:creds: Add
 [PATCH 018/105] auth:creds: Add python bindings for
 [PATCH 019/105] auth:creds: Add python bindings for
 [PATCH 020/105] auth:creds: Bump library version
 [PATCH 021/105] s3:lib: Use cli_credential_(get|set)_smb_signing()
 [PATCH 022/105] s3:lib: Set smb encryption also via cli creds API
 [PATCH 023/105] python: Remove unused sign argument from
 [PATCH 024/105] python: Set smb signing via the creds API
 [PATCH 025/105] s3:libsmb: Introduce CLI_FULL_CONNECTION_IPC
 [PATCH 026/105] s3:pylibsmb: Add ipc=True support for
 [PATCH 027/105] python:tests: Mark libsmb connection as an IPC
 [PATCH 028/105] python:tests: Set smb ipc signing via the creds API
 [PATCH 029/105] s3:libsmb: Use 'enum smb_signing_setting' in
 [PATCH 030/105] s3:client: Turn off smb signing for message op
 [PATCH 031/105] s3:libsmb: Remove signing_state from
 [PATCH 032/105] s3:libsmb: Remove signing_state from
 [PATCH 033/105] s3:libsmb: Add encryption support to
 [PATCH 034/105] python: Add a test for SMB encryption
 [PATCH 035/105] s3:net: Use cli_credentials_set_smb_encryption()
 [PATCH 036/105] s3:libsmb: Use cli_credentials_set_smb_encryption()
 [PATCH 037/105] s3:client: Remove unused smb encryption code
 [PATCH 038/105] s3:utils: Remove obsolete force encryption from
 [PATCH 039/105] s3:utils: Remove obsolete force encryption from
 [PATCH 040/105] s3:utils: Remove obsolete force encryption from
 [PATCH 041/105] s3:rpcclient: Remove obsolete force encryption from
 [PATCH 042/105] examples: Remove obsolete force encryption from
 [PATCH 043/105] s3:libsmb: Make cli_cm_force_encryption_creds()
 [PATCH 044/105] s4:libcli: Return NTSTATUS errors for
 [PATCH 045/105] s4:libcli: Return if encryption is requested for SMB1
 [PATCH 046/105] s3:libcli: Split out smb2_connect_tcon_start()
 [PATCH 047/105] s4:libcli: Add smb2_connect_enc_start()
 [PATCH 048/105] s4:libcli: Require signing for SMB encryption
 [PATCH 049/105] python:tests: Add test for SMB encrypted DCERPC
 [PATCH 050/105] auth:gensec: Add gensec_security_sasl_names()
 [PATCH 051/105] s4:ldap_server: Use samba_server_gensec_start() in
 [PATCH 052/105] auth:gensec: Make gensec_use_kerberos_mechs() a
 [PATCH 053/105] auth:gensec: Pass use_kerberos and keep_schannel to
 [PATCH 054/105] auth:gensec: If Kerberos is required, keep schannel
 [PATCH 055/105] auth:creds: Add cli_credentials_init_server()
 [PATCH 056/105] s4:rpc_server: Use cli_credentials_init_server()
 [PATCH 057/105] s4:smb_server: Use cli_credentials_init_server() for
 [PATCH 058/105] selftest: Rename 'smb encrypt' to 'server smb
 [PATCH 059/105] selftest: Move enc_desired to provision to have it in
 [PATCH 060/105] s3:tests: Add smbclient tests for 'client smb
 [PATCH 061/105] s3:client: Remove global smb_encrypt
 [PATCH 062/105] s3:libsmb: Remove force_encrypt from cli_cm_open()
 [PATCH 063/105] s3:libsmb: Remove force_encrypt from cli_cm_connect()
 [PATCH 064/105] s3:libsmb: Remove force_encrypt from clidfs
 [PATCH 065/105] s3:libsmb: Remove force_encrypt from
 [PATCH 066/105] s3:libsmb: Pass cli_credentials to clidfs
 [PATCH 067/105] s3:libsmb: Pass cli_credentials to cli_cm_connect()
 [PATCH 068/105] s3:libsmb: Pass cli_credentials to cli_cm_open()
 [PATCH 069/105] s3:libsmb: Pass cli_credentials to
 [PATCH 070/105] s3:client: Remove global max_protocol
 [PATCH 071/105] s3:libsmb: Remove max_protocol from cli_cm_open()
 [PATCH 072/105] s3:libcmb: Remove max_protocol from cli_cm_connect()
 [PATCH 073/105] s3:libsmb: Remove max_protocol from clidfs
 [PATCH 074/105] s3:include: Move loadparm prototypes to own header
 [PATCH 075/105] s3:lib: Move interface prototypes to own header file
 [PATCH 076/105] idl: Add SID_SAMBA_SMB3
 [PATCH 077/105] s3:smbd: Add SMB3 connection information to session
 [PATCH 078/105] librpc: Add dcerpc helper
 [PATCH 079/105] s3:smbd: Use defines to set 'srv_smb_encrypt'
 [PATCH 080/105] s3:rpc_server: Allow to use RC4 for setting passwords
 [PATCH 081/105] s4:rpc_server: Allow to use RC4 for setting passwords
 [PATCH 082/105] lib:crypto: Add py binding for set_relax/strict fips
 [PATCH 083/105] s4:param: Add 'weak crypto' getter to pyparam
 [PATCH 084/105] python:tests: Add SAMR password change tests for fips
 [PATCH 085/105] python:tests: Add SAMR password change tests for fips
 [PATCH 086/105] auth:creds: Rename CRED_USE_KERBEROS values
 [PATCH 087/105] auth:creds:tests: Migrate test to a cmocka unit test
 [PATCH 088/105] s3-vfs_glusterfs: always disable write-behind
 [PATCH 089/105] Add smb2cli_session_get_encryption_cipher()
 [PATCH 090/105] Add dcerpc_transport_encrypted()
 [PATCH 091/105] Add py binding for dcerpc_transport_encrypted
 [PATCH 092/105] selftest: add a test for py dce transport_encrypted
 [PATCH 093/105] Add CreateTrustedDomainRelax wrapper for fips mode
 [PATCH 094/105] Use the new CreateTrustedDomainRelax()
 [PATCH 095/105] selftest: add a test for the CreateTrustedDomainRelax
 [PATCH 096/105] Remove source4/scripting/devel/createtrust script
 [PATCH 097/105] s3:rpc_server: Use gnutls_cipher_decrypt() in
 [PATCH 098/105] s4:rpc_server: Use gnutls_cipher_decrypt() in
 [PATCH 099/105] s3:rpc_server: Allow to use RC4 for creating trusts
 [PATCH 100/105] s4:rpc_server: Allow to use RC4 for creating trusts
 [PATCH 101/105] sefltest: Enable the dcerpc.createtrustrelax test
 [PATCH 102/105] s3: spoolss: Make parameters in call to
 [PATCH 103/105] s3:smbd: Fix possible null pointer dereference in
 [PATCH 104/105] lookup_name: allow lookup names prefixed with DNS
 [PATCH 105/105] auth_sam: use pdb_get_domain_info to look up DNS
2020-11-25 13:00:08 +02:00
Alexander Bokovoy 13eed773b0 Fix smbclient mget crashes
- Upstream bug #14517
- rhbz#1892745, rhbz#1900232
2020-11-25 12:59:43 +02:00
Andreas Schneider 061477b3e7 Only build vfs_glusterfs on RHGS 2020-11-20 15:21:44 +01:00
Andreas Schneider 772e0d9aa6 Fix dependencies of samba-client-libs 2020-11-20 15:15:56 +01:00
Andreas Schneider 0867e962ba Add back --with-profiling-data
Should be enabled by default.
2020-11-20 15:15:40 +01:00
Andreas Schneider f88d234f14 Add missing require to samba-winexe 2020-11-20 15:15:20 +01:00
Andreas Schneider 8316f0ac99 Fix winexe and glusterfs on rhel 2020-11-13 17:05:12 +01:00
Andreas Schneider 0d567d3ab9 Fix --with includelibs 2020-11-03 20:19:56 +01:00
Andreas Schneider a324d7bf6f Split out a python3-samba-devel package
This fixes a dependency of python3-samba on libtalloc-devel
2020-11-03 20:19:54 +01:00
Andreas Schneider f3b2e2942f Use %{__make} 2020-11-03 17:26:02 +01:00
Günther Deschner c6b149506e Add missing dlz_bind.so files
Guenther
2020-11-03 14:47:34 +01:00
Günther Deschner 19efd0180f Remove obsolete patches
Guenther
2020-11-03 13:49:44 +01:00
Günther Deschner 5f0457d042 Update to Samba 4.13.2
Guenther
2020-11-03 13:38:56 +01:00
Günther Deschner b44802fb9c Update to Samba 4.13.1
resolves: #1892631, #1892634 - Security fixes for CVE-2020-14318
resolves: #1891685, #1892628 - Security fixes for CVE-2020-14323
resolves: #1892636, #1892640 - Security fixes for CVE-2020-14383

Guenther
2020-10-29 12:19:04 +01:00
Andreas Schneider efa876d95a Fix running --with testsuite 2020-10-26 10:10:23 +01:00
Andreas Schneider 04e828d22a Update internal resolv_wrapper to 1.1.7
This fixes some Samba tests which redirect stderr to stdout and then get
more messages than expected.
2020-10-26 10:09:24 +01:00
Andreas Schneider 586addaaf8 Fixed dbcheck running in a release tarball 2020-10-26 10:09:03 +01:00
Andreas Schneider 5856c50271 Do not use %make_build
Samba is using waf as the build system, make is just a wrapper and sync
make output doesn't work!
2020-10-26 09:48:29 +01:00
Andreas Schneider 36b4604ec1 Use %global instead of %define for variables 2020-10-26 09:48:24 +01:00
Andreas Schneider f6c5528ad0 Update comment for the testsuite 2020-10-26 09:47:37 +01:00
Andreas Schneider b1b788374b Use %bcond_without for vfs_io_uring 2020-10-26 09:47:36 +01:00
Andreas Schneider 7feea33409 Move %bcond_without winexe further up 2020-10-26 09:47:36 +01:00
Andreas Schneider a72748f232 Remove unneeded with_clustering_support define 2020-10-26 09:47:36 +01:00
Andreas Schneider f172c59a67 Use %bcond_without for AD DC 2020-10-26 09:47:36 +01:00
Andreas Schneider a04dd9958d Use %bcond_without for vfs_glusterfs 2020-10-26 09:47:36 +01:00
Andreas Schneider cab0cecf58 Use %bcond_without for vfs_cephfs 2020-10-26 09:47:36 +01:00
Andreas Schneider 89d751d1bf Use %bcond_without for libwbclient 2020-10-26 09:47:36 +01:00
Andreas Schneider 0ac733db9b Use %bcond_without for libsmbclient 2020-10-26 09:47:36 +01:00
Andreas Schneider a31119d9e4 Always build with profiling support 2020-10-26 09:47:36 +01:00
Alexander Bokovoy 92693f66e9 Fix Samba AD DC operations on F33 or later
- Report 'samba' daemon status back to systemd
- Support dnspython 2.0.0 or later in samba_dnsupdate
2020-10-25 09:55:39 +02:00
Alexander Bokovoy 1e29c417eb Fix lookup_unix_user_name to support realm-qualified lookups
Fixes lookups from Windows clients when using Global Catalog searches.
Required for upcoming FreeIPA Global Catalog support.
2020-10-22 10:12:06 +03:00
Isaac Boukris a172510646 Add preliminary S4U support
resolves: #1836630 - Samba DC: Remote Desktop cannot access files
2020-10-22 10:08:23 +03:00
Günther Deschner b62fe79160 Update to Samba 4.13.0
Guenther
2020-09-22 17:56:01 +02:00
Günther Deschner c0da1c5303 Update to Samba 4.13.0rc6
resolves: #1879822, #1880703 - Security fixes for CVE-2020-1472

Guenther
2020-09-19 08:27:05 +02:00
Günther Deschner 0a5021c37e Update to Samba 4.13.0rc5
Guenther
2020-09-16 14:33:18 +02:00
Günther Deschner 2804f931d0 Increase build version
Guenther
2020-09-08 09:58:33 +02:00
Günther Deschner a2f88f217f Update to Samba 4.13.0rc4
Guenther
2020-09-07 23:07:21 +02:00
Neal Gompa 41ab0cd76d Enable winexe by default everywhere 2020-08-28 11:57:42 -04:00
Günther Deschner 692491a456 Fix changelog
Guenther
2020-08-28 14:58:18 +02:00
Günther Deschner a31354402a Update to Samba 4.13.0rc3
Guenther
2020-08-28 12:38:05 +02:00
Anoop C S 57015c72af Add a note for disabled SMB1 in default smb.conf
resolves: #1773149
2020-08-27 18:07:09 +05:30
Günther Deschner 3f3c9ecde9 Update to Samba 4.13.0rc2
Guenther
2020-08-16 19:56:34 +02:00
Andreas Schneider 67ed8f8f78 Fix requires and missing dirs 2020-08-12 10:16:17 +02:00
Fedora Release Engineering 0e393ad6d6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 10:11:53 +00:00
Andreas Schneider a000c31c78 Fix release number 2020-07-21 09:11:08 +02:00
Tom Stellard 2659a5f9b5 Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-14 13:45:51 +00:00
11 changed files with 1790 additions and 247 deletions

82
.gitignore vendored
View File

@ -211,3 +211,85 @@ samba-3.6.0pre1.tar.gz
/samba-4.12.5.tar.asc
/samba-4.13.0rc1.tar.xz
/samba-4.13.0rc1.tar.asc
/samba-4.13.0rc2.tar.xz
/samba-4.13.0rc2.tar.asc
/samba-4.13.0rc3.tar.xz
/samba-4.13.0rc3.tar.asc
/samba-4.13.0rc4.tar.xz
/samba-4.13.0rc4.tar.asc
/samba-4.13.0rc5.tar.xz
/samba-4.13.0rc5.tar.asc
/samba-4.13.0rc6.tar.xz
/samba-4.13.0rc6.tar.asc
/samba-4.13.0.tar.xz
/samba-4.13.0.tar.asc
/samba-4.13.1.tar.xz
/samba-4.13.1.tar.asc
/samba-4.13.2.tar.xz
/samba-4.13.2.tar.asc
/samba-4.13.3.tar.xz
/samba-4.13.3.tar.asc
/samba-4.13.4.tar.xz
/samba-4.13.4.tar.asc
/samba-4.14.0rc1.tar.xz
/samba-4.14.0rc1.tar.asc
/samba-4.14.0rc2.tar.xz
/samba-4.14.0rc2.tar.asc
/samba-4.14.0rc3.tar.xz
/samba-4.14.0rc3.tar.asc
/samba-4.14.0rc4.tar.xz
/samba-4.14.0rc4.tar.asc
/samba-4.14.0.tar.xz
/samba-4.14.0.tar.asc
/samba-4.14.1.tar.xz
/samba-4.14.1.tar.asc
/samba-4.14.2.tar.xz
/samba-4.14.2.tar.asc
/samba-4.14.3.tar.xz
/samba-4.14.3.tar.asc
/samba-4.14.4.tar.xz
/samba-4.14.4.tar.asc
/samba-4.14.5.tar.xz
/samba-4.14.5.tar.asc
/samba-4.14.6.tar.xz
/samba-4.14.6.tar.asc
/samba-4.15.0rc1.tar.xz
/samba-4.15.0rc1.tar.asc
/samba-4.15.0rc2.tar.xz
/samba-4.15.0rc2.tar.asc
/samba-4.15.0rc3.tar.xz
/samba-4.15.0rc3.tar.asc
/samba-4.15.0rc4.tar.xz
/samba-4.15.0rc4.tar.asc
/samba-4.15.0rc5.tar.xz
/samba-4.15.0rc5.tar.asc
/samba-4.15.0rc6.tar.xz
/samba-4.15.0rc6.tar.asc
/samba-4.15.0rc7.tar.xz
/samba-4.15.0rc7.tar.asc
/samba-4.15.0.tar.xz
/samba-4.15.0.tar.asc
/samba-4.15.1.tar.xz
/samba-4.15.1.tar.asc
/samba-4.15.2.tar.xz
/samba-4.15.2.tar.asc
/samba-4.15.3.tar.xz
/samba-4.15.3.tar.asc
/samba-4.15.4.tar.xz
/samba-4.15.4.tar.asc
/samba-4.15.5.tar.xz
/samba-4.15.5.tar.asc
/samba-4.15.6.tar.xz
/samba-4.15.6.tar.asc
/samba-4.15.7.tar.xz
/samba-4.15.7.tar.asc
/samba-4.15.8.tar.xz
/samba-4.15.8.tar.asc
/samba-4.15.9.tar.xz
/samba-4.15.9.tar.asc
/samba-4.15.10.tar.xz
/samba-4.15.10.tar.asc
/samba-4.15.11.tar.xz
/samba-4.15.11.tar.asc
/samba-4.15.12.tar.xz
/samba-4.15.12.tar.asc

View File

@ -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)'

16
rpminspect.yaml Normal file
View File

@ -0,0 +1,16 @@
---
badfuncs:
ignore:
- /usr/bin/nmblookup
- /usr/bin/smbtorture
- /usr/lib*/libndr.so.*
- /usr/lib*/libsmbconf.so.*
- /usr/lib*/samba/libgse-samba4.so
- /usr/lib*/samba/libsamba-sockets-samba4.so
- /usr/libexec/ctdb/smnotify
- /usr/sbin/nmbd
runpath:
allowed_paths:
- /usr/lib/samba
- /usr/lib64/samba

View File

@ -0,0 +1,30 @@
From 939aed0498269df3c1e012f3b68c314b583f25bd Mon Sep 17 00:00:00 2001
From: Martin Schwenke <martin@meltin.net>
Date: Tue, 27 Apr 2021 15:46:14 +1000
Subject: [PATCH] utils: Use Python 3
Due to the number of flake8 and pylint warnings it is unclear if the
source has Python 3 incompatibilities. These will be cleaned up in
subsequent commits.
Signed-off-by: "L.P.H. van Belle" <belle@bazuin.nl>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jose A. Rivera <jarrpa@samba.org>
---
ctdb/utils/etcd/ctdb_etcd_lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ctdb/utils/etcd/ctdb_etcd_lock b/ctdb/utils/etcd/ctdb_etcd_lock
index 000c6bb7208..7f5194eff0a 100755
--- a/ctdb/utils/etcd/ctdb_etcd_lock
+++ b/ctdb/utils/etcd/ctdb_etcd_lock
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
--
2.31.1

Binary file not shown.

642
samba-s4u.patch Normal file
View File

@ -0,0 +1,642 @@
From cfdb01091c4ad005654da9b4a64251a6d02ea637 Mon Sep 17 00:00:00 2001
From: Isaac Boukris <iboukris@gmail.com>
Date: Fri, 27 Sep 2019 18:25:03 +0300
Subject: [PATCH 1/3] mit-kdc: add basic loacl realm S4U support
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
Pair-Programmed-With: Andreas Schneider <asn@samba.org>
---
source4/kdc/mit-kdb/kdb_samba_policies.c | 124 +++++++++++------------
source4/kdc/mit_samba.c | 47 ++-------
source4/kdc/mit_samba.h | 6 +-
3 files changed, 71 insertions(+), 106 deletions(-)
diff --git a/source4/kdc/mit-kdb/kdb_samba_policies.c b/source4/kdc/mit-kdb/kdb_samba_policies.c
index dada3b79144..677ec1007c9 100644
--- a/source4/kdc/mit-kdb/kdb_samba_policies.c
+++ b/source4/kdc/mit-kdb/kdb_samba_policies.c
@@ -197,13 +197,17 @@ static krb5_error_code ks_verify_pac(krb5_context context,
krb5_keyblock *krbtgt_key,
krb5_timestamp authtime,
krb5_authdata **tgt_auth_data,
- krb5_pac *pac)
+ krb5_pac *out_pac)
{
struct mit_samba_context *mit_ctx;
krb5_authdata **authdata = NULL;
- krb5_pac ipac = NULL;
- DATA_BLOB logon_data = { NULL, 0 };
+ krb5_keyblock *header_server_key = NULL;
+ krb5_key_data *impersonator_kd = NULL;
+ krb5_keyblock impersonator_key = {0};
krb5_error_code code;
+ krb5_pac pac;
+
+ *out_pac = NULL;
mit_ctx = ks_get_context(context);
if (mit_ctx == NULL) {
@@ -235,41 +239,43 @@ static krb5_error_code ks_verify_pac(krb5_context context,
code = krb5_pac_parse(context,
authdata[0]->contents,
authdata[0]->length,
- &ipac);
+ &pac);
if (code != 0) {
goto done;
}
- /* TODO: verify this is correct
- *
- * In the constrained delegation case, the PAC is from a service
- * ticket rather than a TGT; we must verify the server and KDC
- * signatures to assert that the server did not forge the PAC.
+ /*
+ * For constrained delegation in MIT version < 1.18 we aren't provided
+ * with the 2nd ticket server key to verify the PAC.
+ * We can workaround that by fetching the key from the client db entry,
+ * which is the impersonator account in that version.
+ * TODO: use the provided entry in the new 1.18 version.
*/
if (flags & KRB5_KDB_FLAG_CONSTRAINED_DELEGATION) {
- code = krb5_pac_verify(context,
- ipac,
- authtime,
- client_princ,
- server_key,
- krbtgt_key);
+ /* The impersonator must be local. */
+ if (client == NULL) {
+ code = KRB5KDC_ERR_BADOPTION;
+ goto done;
+ }
+ /* Fetch and decrypt 2nd ticket server's current key. */
+ code = krb5_dbe_find_enctype(context, client, -1, -1, 0,
+ &impersonator_kd);
+ if (code != 0) {
+ goto done;
+ }
+ code = krb5_dbe_decrypt_key_data(context, NULL,
+ impersonator_kd,
+ &impersonator_key, NULL);
+ if (code != 0) {
+ goto done;
+ }
+ header_server_key = &impersonator_key;
} else {
- code = krb5_pac_verify(context,
- ipac,
- authtime,
- client_princ,
- krbtgt_key,
- NULL);
- }
- if (code != 0) {
- goto done;
+ header_server_key = krbtgt_key;
}
- /* check and update PAC */
- code = krb5_pac_parse(context,
- authdata[0]->contents,
- authdata[0]->length,
- pac);
+ code = krb5_pac_verify(context, pac, authtime, client_princ,
+ header_server_key, NULL);
if (code != 0) {
goto done;
}
@@ -277,17 +283,22 @@ static krb5_error_code ks_verify_pac(krb5_context context,
code = mit_samba_reget_pac(mit_ctx,
context,
flags,
- client_princ,
client,
server,
krbtgt,
krbtgt_key,
- pac);
+ &pac);
+ if (code != 0) {
+ goto done;
+ }
+
+ *out_pac = pac;
+ pac = NULL;
done:
+ krb5_free_keyblock_contents(context, &impersonator_key);
krb5_free_authdata(context, authdata);
- krb5_pac_free(context, ipac);
- free(logon_data.data);
+ krb5_pac_free(context, pac);
return code;
}
@@ -316,6 +327,7 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
krb5_authdata **pac_auth_data = NULL;
krb5_authdata **authdata = NULL;
krb5_boolean is_as_req;
+ krb5_const_principal pac_client;
krb5_error_code code;
krb5_pac pac = NULL;
krb5_data pac_data;
@@ -327,11 +339,6 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
krbtgt = krbtgt == NULL ? local_krbtgt : krbtgt;
krbtgt_key = krbtgt_key == NULL ? local_krbtgt_key : krbtgt_key;
- /* FIXME: We don't support S4U yet */
- if (flags & KRB5_KDB_FLAGS_S4U) {
- return KRB5_KDB_DBTYPE_NOSUP;
- }
-
is_as_req = ((flags & KRB5_KDB_FLAG_CLIENT_REFERRALS_ONLY) != 0);
/*
@@ -392,6 +399,16 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
ks_client_princ = client->princ;
}
+ /* In protocol transition, we are currently not provided with the tgt
+ * client name to verify the PAC, we could probably skip the name
+ * verification and just verify the signatures, but since we don't
+ * support cross-realm nor aliases, we can just use server->princ */
+ if (flags & KRB5_KDB_FLAG_PROTOCOL_TRANSITION) {
+ pac_client = server->princ;
+ } else {
+ pac_client = ks_client_princ;
+ }
+
if (client_entry == NULL) {
client_entry = client;
}
@@ -456,7 +473,7 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
code = ks_verify_pac(context,
flags,
- ks_client_princ,
+ pac_client,
client_entry,
server,
krbtgt,
@@ -497,7 +514,7 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
is_as_req ? "AS-REQ" : "TGS-REQ",
client_name);
code = krb5_pac_sign(context, pac, authtime, ks_client_princ,
- server_key, krbtgt_key, &pac_data);
+ server_key, krbtgt_key, &pac_data);
if (code != 0) {
DBG_ERR("krb5_pac_sign failed: %d\n", code);
goto done;
@@ -523,12 +540,6 @@ krb5_error_code kdb_samba_db_sign_auth_data(krb5_context context,
KRB5_AUTHDATA_IF_RELEVANT,
authdata,
signed_auth_data);
- if (code != 0) {
- goto done;
- }
-
- code = 0;
-
done:
if (client_entry != NULL && client_entry != client) {
ks_free_principal(context, client_entry);
@@ -554,32 +565,13 @@ krb5_error_code kdb_samba_db_check_allowed_to_delegate(krb5_context context,
* server; -> delegating service
* proxy; -> target principal
*/
- krb5_db_entry *delegating_service = discard_const_p(krb5_db_entry, server);
-
- char *target_name = NULL;
- bool is_enterprise;
- krb5_error_code code;
mit_ctx = ks_get_context(context);
if (mit_ctx == NULL) {
return KRB5_KDB_DBNOTINITED;
}
- code = krb5_unparse_name(context, proxy, &target_name);
- if (code) {
- goto done;
- }
-
- is_enterprise = (proxy->type == KRB5_NT_ENTERPRISE_PRINCIPAL);
-
- code = mit_samba_check_s4u2proxy(mit_ctx,
- delegating_service,
- target_name,
- is_enterprise);
-
-done:
- free(target_name);
- return code;
+ return mit_samba_check_s4u2proxy(mit_ctx, server, proxy);
}
diff --git a/source4/kdc/mit_samba.c b/source4/kdc/mit_samba.c
index ef4e8c2ed38..962fd05e1ac 100644
--- a/source4/kdc/mit_samba.c
+++ b/source4/kdc/mit_samba.c
@@ -517,7 +517,6 @@ int mit_samba_get_pac(struct mit_samba_context *smb_ctx,
krb5_error_code mit_samba_reget_pac(struct mit_samba_context *ctx,
krb5_context context,
int flags,
- krb5_const_principal client_principal,
krb5_db_entry *client,
krb5_db_entry *server,
krb5_db_entry *krbtgt,
@@ -688,7 +687,7 @@ krb5_error_code mit_samba_reget_pac(struct mit_samba_context *ctx,
context,
*pac,
server->princ,
- discard_const(client_principal),
+ client->princ,
deleg_blob);
if (!NT_STATUS_IS_OK(nt_status)) {
DEBUG(0, ("Update delegation info failed: %s\n",
@@ -1080,41 +1079,17 @@ int mit_samba_check_client_access(struct mit_samba_context *ctx,
}
int mit_samba_check_s4u2proxy(struct mit_samba_context *ctx,
- krb5_db_entry *kentry,
- const char *target_name,
- bool is_nt_enterprise_name)
+ const krb5_db_entry *server,
+ krb5_const_principal target_principal)
{
-#if 1
- /*
- * This is disabled because mit_samba_update_pac_data() does not handle
- * S4U_DELEGATION_INFO
- */
-
- return KRB5KDC_ERR_BADOPTION;
-#else
- krb5_principal target_principal;
- int flags = 0;
- int ret;
-
- if (is_nt_enterprise_name) {
- flags = KRB5_PRINCIPAL_PARSE_ENTERPRISE;
- }
-
- ret = krb5_parse_name_flags(ctx->context, target_name,
- flags, &target_principal);
- if (ret) {
- return ret;
- }
-
- ret = samba_kdc_check_s4u2proxy(ctx->context,
- ctx->db_ctx,
- skdc_entry,
- target_principal);
-
- krb5_free_principal(ctx->context, target_principal);
-
- return ret;
-#endif
+ struct samba_kdc_entry *server_skdc_entry =
+ talloc_get_type_abort(server->e_data,
+ struct samba_kdc_entry);
+
+ return samba_kdc_check_s4u2proxy(ctx->context,
+ ctx->db_ctx,
+ server_skdc_entry,
+ target_principal);
}
static krb5_error_code mit_samba_change_pwd_error(krb5_context context,
diff --git a/source4/kdc/mit_samba.h b/source4/kdc/mit_samba.h
index 4431e82a1b2..9370ab533af 100644
--- a/source4/kdc/mit_samba.h
+++ b/source4/kdc/mit_samba.h
@@ -57,7 +57,6 @@ int mit_samba_get_pac(struct mit_samba_context *smb_ctx,
krb5_error_code mit_samba_reget_pac(struct mit_samba_context *ctx,
krb5_context context,
int flags,
- krb5_const_principal client_principal,
krb5_db_entry *client,
krb5_db_entry *server,
krb5_db_entry *krbtgt,
@@ -74,9 +73,8 @@ int mit_samba_check_client_access(struct mit_samba_context *ctx,
DATA_BLOB *e_data);
int mit_samba_check_s4u2proxy(struct mit_samba_context *ctx,
- krb5_db_entry *kentry,
- const char *target_name,
- bool is_nt_enterprise_name);
+ const krb5_db_entry *server,
+ krb5_const_principal target_principal);
int mit_samba_kpasswd_change_password(struct mit_samba_context *ctx,
char *pwd,
--
2.37.1
From 6e985cf7d5f29292c5f2dd2de75867dd30ef3df6 Mon Sep 17 00:00:00 2001
From: Isaac Boukris <iboukris@gmail.com>
Date: Fri, 27 Sep 2019 18:35:30 +0300
Subject: [PATCH 2/3] krb5-mit: enable S4U client support for MIT build
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
Pair-Programmed-With: Andreas Schneider <asn@samba.org>
---
lib/krb5_wrap/krb5_samba.c | 185 ++++++++++++++++++++++++++
lib/krb5_wrap/krb5_samba.h | 2 -
source4/auth/kerberos/kerberos_util.c | 11 --
3 files changed, 185 insertions(+), 13 deletions(-)
diff --git a/lib/krb5_wrap/krb5_samba.c b/lib/krb5_wrap/krb5_samba.c
index 610efcc9b87..96686147006 100644
--- a/lib/krb5_wrap/krb5_samba.c
+++ b/lib/krb5_wrap/krb5_samba.c
@@ -2697,6 +2697,191 @@ krb5_error_code smb_krb5_kinit_s4u2_ccache(krb5_context ctx,
return 0;
}
+
+#else /* MIT */
+
+static bool princ_compare_no_dollar(krb5_context ctx,
+ krb5_principal a,
+ krb5_principal b)
+{
+ bool cmp;
+ krb5_principal mod = NULL;
+
+ if (a->length == 1 && b->length == 1 &&
+ a->data[0].length != 0 && b->data[0].length != 0 &&
+ a->data[0].data[a->data[0].length -1] !=
+ b->data[0].data[b->data[0].length -1]) {
+ if (a->data[0].data[a->data[0].length -1] == '$') {
+ mod = a;
+ mod->data[0].length--;
+ } else if (b->data[0].data[b->data[0].length -1] == '$') {
+ mod = b;
+ mod->data[0].length--;
+ }
+ }
+
+ cmp = krb5_principal_compare_flags(ctx, a, b,
+ KRB5_PRINCIPAL_COMPARE_CASEFOLD);
+
+ if (mod != NULL) {
+ mod->data[0].length++;
+ }
+
+ return cmp;
+}
+
+krb5_error_code smb_krb5_kinit_s4u2_ccache(krb5_context ctx,
+ krb5_ccache store_cc,
+ krb5_principal init_principal,
+ const char *init_password,
+ krb5_principal impersonate_principal,
+ const char *self_service,
+ const char *target_service,
+ krb5_get_init_creds_opt *krb_options,
+ time_t *expire_time,
+ time_t *kdc_time)
+{
+ krb5_error_code code;
+ krb5_principal self_princ = NULL;
+ krb5_principal target_princ = NULL;
+ krb5_creds *store_creds;
+ krb5_creds *s4u2self_creds = NULL;
+ krb5_creds *s4u2proxy_creds = NULL;
+ krb5_creds init_creds = {0};
+ krb5_creds mcreds = {0};
+ krb5_flags options = KRB5_GC_NO_STORE;
+ krb5_ccache tmp_cc;
+ bool s4u2proxy;
+
+ code = krb5_cc_new_unique(ctx, "MEMORY", NULL, &tmp_cc);
+ if (code != 0) {
+ return code;
+ }
+
+ code = krb5_get_init_creds_password(ctx, &init_creds,
+ init_principal,
+ init_password,
+ NULL, NULL,
+ 0,
+ NULL,
+ krb_options);
+ if (code != 0) {
+ goto done;
+ }
+
+ code = krb5_cc_initialize(ctx, tmp_cc, init_creds.client);
+ if (code != 0) {
+ goto done;
+ }
+
+ code = krb5_cc_store_cred(ctx, tmp_cc, &init_creds);
+ if (code != 0) {
+ goto done;
+ }
+
+ /*
+ * Check if we also need S4U2Proxy or if S4U2Self is
+ * enough in order to get a ticket for the target.
+ */
+ if (target_service == NULL) {
+ s4u2proxy = false;
+ } else if (strcmp(target_service, self_service) == 0) {
+ s4u2proxy = false;
+ } else {
+ s4u2proxy = true;
+ }
+
+ code = krb5_parse_name(ctx, self_service, &self_princ);
+ if (code != 0) {
+ goto done;
+ }
+
+ /* MIT lacks aliases support in S4U, for S4U2Self we require the tgt
+ * client and the request server to be the same principal name. */
+ if (!princ_compare_no_dollar(ctx, init_creds.client, self_princ)) {
+ code = KRB5KDC_ERR_PADATA_TYPE_NOSUPP;
+ goto done;
+ }
+
+ mcreds.client = impersonate_principal;
+ mcreds.server = init_creds.client;
+
+ code = krb5_get_credentials_for_user(ctx, options, tmp_cc, &mcreds,
+ NULL, &s4u2self_creds);
+ if (code != 0) {
+ goto done;
+ }
+
+ if (s4u2proxy) {
+ code = krb5_parse_name(ctx, target_service, &target_princ);
+ if (code != 0) {
+ goto done;
+ }
+
+ mcreds.client = init_creds.client;
+ mcreds.server = target_princ;
+ mcreds.second_ticket = s4u2self_creds->ticket;
+
+ code = krb5_get_credentials(ctx, options |
+ KRB5_GC_CONSTRAINED_DELEGATION,
+ tmp_cc, &mcreds, &s4u2proxy_creds);
+ if (code != 0) {
+ goto done;
+ }
+
+ /* Check KDC support of S4U2Proxy extension */
+ if (!krb5_principal_compare(ctx, s4u2self_creds->client,
+ s4u2proxy_creds->client)) {
+ code = KRB5KDC_ERR_PADATA_TYPE_NOSUPP;
+ goto done;
+ }
+
+ store_creds = s4u2proxy_creds;
+ } else {
+ store_creds = s4u2self_creds;;
+
+ /* We need to save the ticket with the requested server name
+ * or the caller won't be able to find it in cache. */
+ if (!krb5_principal_compare(ctx, self_princ,
+ store_creds->server)) {
+ krb5_free_principal(ctx, store_creds->server);
+ store_creds->server = NULL;
+ code = krb5_copy_principal(ctx, self_princ,
+ &store_creds->server);
+ if (code != 0) {
+ goto done;
+ }
+ }
+ }
+
+ code = krb5_cc_initialize(ctx, store_cc, store_creds->client);
+ if (code != 0) {
+ goto done;
+ }
+
+ code = krb5_cc_store_cred(ctx, store_cc, store_creds);
+ if (code != 0) {
+ goto done;
+ }
+
+ if (expire_time) {
+ *expire_time = (time_t) store_creds->times.endtime;
+ }
+
+ if (kdc_time) {
+ *kdc_time = (time_t) store_creds->times.starttime;
+ }
+
+done:
+ krb5_cc_destroy(ctx, tmp_cc);
+ krb5_free_cred_contents(ctx, &init_creds);
+ krb5_free_creds(ctx, s4u2self_creds);
+ krb5_free_creds(ctx, s4u2proxy_creds);
+ krb5_free_principal(ctx, self_princ);
+ krb5_free_principal(ctx, target_princ);
+
+ return code;
+}
#endif
#if !defined(HAVE_KRB5_MAKE_PRINCIPAL) && defined(HAVE_KRB5_BUILD_PRINCIPAL_ALLOC_VA)
diff --git a/lib/krb5_wrap/krb5_samba.h b/lib/krb5_wrap/krb5_samba.h
index eab67f6d969..b5385c69a33 100644
--- a/lib/krb5_wrap/krb5_samba.h
+++ b/lib/krb5_wrap/krb5_samba.h
@@ -252,7 +252,6 @@ krb5_error_code smb_krb5_kinit_password_ccache(krb5_context ctx,
krb5_get_init_creds_opt *krb_options,
time_t *expire_time,
time_t *kdc_time);
-#ifdef SAMBA4_USES_HEIMDAL
krb5_error_code smb_krb5_kinit_s4u2_ccache(krb5_context ctx,
krb5_ccache store_cc,
krb5_principal init_principal,
@@ -263,7 +262,6 @@ krb5_error_code smb_krb5_kinit_s4u2_ccache(krb5_context ctx,
krb5_get_init_creds_opt *krb_options,
time_t *expire_time,
time_t *kdc_time);
-#endif
#if defined(HAVE_KRB5_MAKE_PRINCIPAL)
#define smb_krb5_make_principal krb5_make_principal
diff --git a/source4/auth/kerberos/kerberos_util.c b/source4/auth/kerberos/kerberos_util.c
index 544d9d853cc..c14d8c72d8c 100644
--- a/source4/auth/kerberos/kerberos_util.c
+++ b/source4/auth/kerberos/kerberos_util.c
@@ -234,9 +234,7 @@ done:
{
krb5_error_code ret;
const char *password;
-#ifdef SAMBA4_USES_HEIMDAL
const char *self_service;
-#endif
const char *target_service;
time_t kdc_time = 0;
krb5_principal princ;
@@ -268,9 +266,7 @@ done:
return ret;
}
-#ifdef SAMBA4_USES_HEIMDAL
self_service = cli_credentials_get_self_service(credentials);
-#endif
target_service = cli_credentials_get_target_service(credentials);
password = cli_credentials_get_password(credentials);
@@ -331,7 +327,6 @@ done:
#endif
if (password) {
if (impersonate_principal) {
-#ifdef SAMBA4_USES_HEIMDAL
ret = smb_krb5_kinit_s4u2_ccache(smb_krb5_context->krb5_context,
ccache,
princ,
@@ -342,12 +337,6 @@ done:
krb_options,
NULL,
&kdc_time);
-#else
- talloc_free(mem_ctx);
- (*error_string) = "INTERNAL error: s4u2 ops "
- "are not supported with MIT build yet";
- return EINVAL;
-#endif
} else {
ret = smb_krb5_kinit_password_ccache(smb_krb5_context->krb5_context,
ccache,
--
2.37.1
From 3a9c224f229128451c878b262a716d48cb9f75d6 Mon Sep 17 00:00:00 2001
From: Isaac Boukris <iboukris@gmail.com>
Date: Sat, 19 Sep 2020 14:16:20 +0200
Subject: [PATCH 3/3] wip: for canonicalization with new MIT kdc code
---
source4/kdc/mit_samba.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/source4/kdc/mit_samba.c b/source4/kdc/mit_samba.c
index 962fd05e1ac..9dc1bdf870b 100644
--- a/source4/kdc/mit_samba.c
+++ b/source4/kdc/mit_samba.c
@@ -232,6 +232,9 @@ int mit_samba_get_principal(struct mit_samba_context *ctx,
if (kflags & KRB5_KDB_FLAG_CANONICALIZE) {
sflags |= SDB_F_CANON;
}
+#if KRB5_KDB_API_VERSION >= 10
+ sflags |= SDB_F_FORCE_CANON;
+#endif
if (kflags & (KRB5_KDB_FLAG_CLIENT_REFERRALS_ONLY |
KRB5_KDB_FLAG_INCLUDE_PAC)) {
/*
--
2.37.1

1254
samba.spec

File diff suppressed because it is too large Load Diff

View File

@ -281,7 +281,7 @@
[printers]
comment = All Printers
path = /var/spool/samba
path = /var/tmp
browseable = no
guest ok = no
writable = no

View File

@ -2,6 +2,10 @@
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
#
# Note:
# SMB1 is disabled by default. This means clients without support for SMB2 or
# SMB3 are no longer able to connect to smbd (by default).
[global]
workgroup = SAMBA

View File

@ -1,2 +1,2 @@
SHA512 (samba-4.13.0rc1.tar.xz) = 3e6d431998907ad8c81f488ddf78dcef5fd6a4cdf8ca684e5ad0ce9bf7217d82fcca7501155446c83d804f939bea7012f1d37c1f738d8ec7bc769a9148a6592a
SHA512 (samba-4.13.0rc1.tar.asc) = 6dfe9467fd7fd28db91ae15fa3314a7707cfeb88c8ecd2af532d57614bec311119546a2fd4ced71063df9b7d6879a62f9ba512ae05d494323e0362a5492d33fa
SHA512 (samba-4.15.12.tar.xz) = c3d678944828f718a589630cf19998c8c917d8e93041fc46c07946ecd98ba8656086ca5b8881a1ab7c5a8d8ab4a66c7953e86bd99d67aeac2760e4151ffc0de2
SHA512 (samba-4.15.12.tar.asc) = ac841370c230d0132c5e3ec8c0c1c87f9ba863fd45f6e48f191d50069c8a77cb924ace4166c5f594eda40f8b56f07b0c0501dbf92e38ee3455ccb5c88fa23fb6