Compare commits

...

178 Commits
master ... f36

Author SHA1 Message Date
Günther Deschner 4ed526a349 Update to version 4.16.9
Guenther
2023-02-16 23:00:07 +01:00
Pavel Filipenský 0ee138228a Create package dc-libs also for 'non-dc' build 2022-12-22 18:23:09 +01:00
Pavel Filipenský f94f6a54d4 Always add epoch to samba_depver to fix osci.brew-build.rpmdeplint.functional 2022-12-22 18:21:36 +01:00
Florian Weimer 4cccd21d61 Avoid recursive python3_sitearch expansion even if undefined
Fixes an error during SRPM construction if not enough dependencies
are installed (e.g., during the first build stage in mock):

error: /builddir/build/SPECS/samba.spec: line 2478: Too many levels
  of recursion in macro expansion. It is likely caused by recursive
  macro declaration.
2022-12-22 18:17:32 +01:00
Florian Weimer 71db3a4330 Memoize python3_sitearch for faster RPM spec file processing
This greatly speeds up the creation of source RPMs, among other
things.
2022-12-22 18:17:28 +01:00
Pavel Filipenský 15b4b0f68d Bump baserelease and update %changelog 2022-12-20 17:52:41 +01:00
Pavel Filipenský 3d20282019 Create a new 'samba-dcerpc' sub-package for DCERPC services 2022-12-20 16:49:44 +01:00
Pavel Filipenský 143a40a9cb Move libpac and libauth4 to dc-libs
This allows us to not install the samba and samba-dc packages. They
are not needed for domain member which just want to have samba-winbind
related packages installed.
2022-12-20 16:39:53 +01:00
Günther Deschner 0582429c21 Update to 4.16.8
resolves: #2154303, #2154304 - Security fixes for CVE-2022-37966
resolves: #2154320, #2154322 - Security fixes for CVE-2022-37967
resolves: #2154362, #2154363 - Security fixes for CVE-2022-38023

Guenther
2022-12-16 19:40:20 +01:00
Günther Deschner 345db31405 Update to version 4.16.7
resolves: #2140960, #2143116 - Security fixes for CVE-2022-42898

Guenther
2022-11-16 11:08:00 +01:00
Günther Deschner 53c12663f0 Update to version 4.16.6
resolves: #2137776, #2137778 - Security fixes for CVE-2022-3592
resolves: #2137774, #2137777 - Security fixes for CVE-2022-3437

Guenther
2022-10-26 14:06:51 +02:00
Günther Deschner 9884bc0a06 Update to version 4.16.5
Guenther
2022-09-08 15:44:44 +02:00
Günther Deschner 87360b3db3 Update to version 4.16.4
resolves: #2111490
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-28 12:06:26 +02:00
Andreas Schneider d8effb3e4d Update to version 4.16.3 2022-07-19 11:58:37 +02:00
Günther Deschner 83abd721be Update to Samba 4.16.2
resolves: #2096167

Guenther
2022-06-13 13:34:42 +02:00
Pavel Filipenský ac5a9f04ff Fix rpminspect abidiff
pfilipen
2022-05-13 11:14:33 +02:00
Pavel Filipenský bcf6a6c2df Fix samba.abignore 2022-05-09 13:07:48 +02:00
Pavel Filipenský d9948a0633 Rename from .abignore to samba.abignore 2022-05-09 13:07:45 +02:00
Pavel Filipenský 8bf014646d Update requires for packages
pfilipen
2022-05-09 13:07:41 +02:00
Pavel Filipenský 17040e7063 rpminspect: ignore inet_ntoa() from /usr/lib*/samba/service/nbtd.so 2022-05-05 19:50:25 +02:00
Andreas Schneider 206378cd5b Add .abignore file for abidiff
abidiff complains:

abidiff: failed to read input file /usr/lib/libdcerpc-samr.so.0.0.1
abidiff: could not find the debug info

This is a grouping library which doesn't have any source code, so just
ignore it with a suppression file (.abignore).

Example for .abignore:
https://sourceware.org/git/?p=libabigail.git;a=blob;f=default.abignore
2022-05-05 19:50:22 +02:00
Tomas Popela e515cbc876 Don't require full systemd for tmp file handling in samba-common
Otherwise the full systemd is being pulled into Fedora Flatpak runtime,
but this change benefits other uses as well.
2022-05-05 15:07:39 +02:00
Pavel Filipenský aa08f6aa44 Delete no longer needed comments
pfilipen
2022-05-03 15:21:37 +02:00
Andreas Schneider 89a3ad9ef4 Make sure we do not build Heimdal or crypto code
As we need to rely on GnuTLS for FIPS, remove heimdal and other unused
crypto code to ensure we do not build it!
2022-05-03 15:21:02 +02:00
Pavel Filipenský f258fd4269 Update to Samba 4.16.1
resolves: #2080915

pfilipen
2022-05-02 14:17:39 +02:00
Günther Deschner e81f157454 Update to Samba 4.16.0
resolves: #2066290

Guenther
2022-03-22 10:58:18 +01:00
Günther Deschner 45747d7559 Update to Samba 4.16.0rc5
resolves: #2042518

Guenther
2022-03-09 15:24:10 +01:00
Pavel Filipenský 482970ccc5 Update to Samba 4.16.0rc4
resolves: #2042518

pfilipen
2022-03-01 14:20:37 +01:00
Andreas Schneider c42829d1ad Fix samba-tool on builds with samba-dc
resolves: rhbz#2036443
2022-02-23 14:34:52 +01:00
Pavel Filipenský 073076ff12 Update to Samba 4.16.0rc3
resolves: #2042518

pfilipen
2022-02-15 12:06:06 +01:00
Günther Deschner 626bbcbaac There is no such thing like .el9rhgs
Guenther
2022-02-02 14:41:00 +01:00
Pavel Filipenský 4ee87cc214 Fix missing mdssvc/elasticsearch_mappings.json
pfilipen
2022-02-01 11:13:21 +01:00
Pavel Filipenský fae36af2f3 Update to Samba 4.16.0rc2
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
resolves: #2042518

pfilipen
2022-02-01 08:23:36 +01:00
Pavel Filipenský b935fbcb7d vfs_cephfs on ppc64le is excluded till ceph is fixed on ppc64le 2022-01-26 10:35:36 +01:00
Pavel Filipenský c8ac21e6f1 Update to Samba 4.16.0rc1 2022-01-25 16:41:03 +01:00
Pavel Filipenský c1f9bec1db Switch off ld.gold 2022-01-21 11:46:51 +01:00
Pavel Filipenský 6da37eb4ca Update to Samba 4.15.4
resolves: #2009673, #2039034 - Security fixes for CVE-2021-20316
resolves: #2042518

pfilipen
2022-01-20 14:30:55 +01:00
Andreas Schneider 13dfbb0767 Require python3-pyasn1 >= 0.4.8 2022-01-10 15:08:40 +01:00
Pavel Filipenský 8a81633e9a Fix resolv_wrapper with glibc 2.34
resolves: #2019669

pfilipen
2021-12-15 12:33:50 +01:00
Andreas Schneider 3314e8e15a Add missing Requires 2021-12-09 19:11:22 +01:00
Pavel Filipenský 6bc60bb396 Update to Samba 4.15.3
resolves: #2030382

pfilipen
2021-12-08 18:55:07 +01:00
Andreas Schneider a4093f41f0 Remove unneeded lmdb dependency for samba-tool if we don't have a DC 2021-12-03 13:55:09 +01:00
Andreas Schneider 73757dc8a3 Define _make_verbose in if it doesn't exits
This is needed to build for RHEL8.
2021-11-25 14:58:29 +01:00
Andreas Schneider 6f2c200320 Always build with quota support
We want that the build fails, if we don't have quota support.
2021-11-15 11:14:50 +01:00
Günther Deschner 2ee30bad8f Fix IPA DC schannel support
Guenther
2021-11-13 00:15:32 +01:00
Günther Deschner 2eedc4de19 Fix smbclient -N failures in container setups
Guenther
2021-11-11 18:53:23 +01:00
Günther Deschner af2d47413b Fix logfile handling
Guenther
2021-11-11 16:02:57 +01:00
Günther Deschner f0333fc6d6 Fix winbind trusted domain regression
related: #2021716

Guenther
2021-11-11 14:46:42 +01:00
Günther Deschner 56ca6af06a 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:12:54 +01:00
Günther Deschner 3c2c163325 Fix winexe core dump
resolves: #2020376

Guenther
2021-11-05 15:01:26 +01:00
Günther Deschner 331ea7c567 Update to Samba 4.15.1
resolves: #2017847

Guenther
2021-10-27 16:33:51 +02:00
Günther Deschner bc51ea8a5e Update to Samba 4.15.0
resolves: #2005817

Guenther
2021-09-20 12:05:43 +02:00
Günther Deschner 2efb445c94 Update to Samba 4.15.0rc7
resolves: #2003740

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

Guenther
2021-09-09 11:48:05 +02:00
Günther Deschner 29bd82541a Update to Samba 4.15.0rc5
resolves: #2001827

Guenther
2021-09-07 12:21:08 +02:00
Andreas Schneider eae8b04784 The testsuite requires lmdb-devel 2021-09-03 09:07:37 +02:00
Andreas Schneider a7a77b0af0 We need python3-cryptography for krb5 tests 2021-09-03 09:07:20 +02:00
Günther Deschner 0a04de2534 Update to Samba 4.15.0rc4
resolves: #2000079

Guenther
2021-09-01 13:47:44 +02:00
Günther Deschner a184099345 Update to Samba 4.15.0rc3
resolves: #1998024

Guenther
2021-08-26 13:26:14 +02:00
Günther Deschner fe6291ff86 Add ceph and etcd mutex helpers for CTDB
Guenther
2021-08-25 17:29:12 +02:00
Anoop C S 6410d154eb Revert "Exclude PyDSDB library files"
This reverts commit cc8c80c04b.
2021-08-16 13:21:01 +05:30
Anoop C S cffce0ef3e 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-16 13:16:10 +05:30
Adam Williamson 376ef2f0e0 Fix samba-common-tools dependency
It was literally "python3-%{samba}", which obviously didn't
work.
2021-08-13 09:12:01 -07:00
Andreas Schneider 713db3d972 Add missing Requires in samba-common-tools for samba-tool 2021-08-12 15:02:04 +02:00
Anoop C S 68140d413f 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 17:15:15 +05:30
Andreas Schneider 47c27ed2c1 Document how to build with fedpkg 2021-08-11 10:32:09 +02:00
Andreas Schneider b904ff11a5 Use more CPUs for re-linking during the install step if possible 2021-08-11 10:32:09 +02:00
Andreas Schneider 58450895a0 Require libs packages to be updated before restarting winbindd 2021-08-11 10:32:09 +02:00
Anoop C S db523c32da 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-11 12:53:03 +05:30
Anoop C S cc8c80c04b 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-11 12:18:41 +05:30
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
12 changed files with 2009 additions and 260 deletions

96
.gitignore vendored
View File

@ -211,3 +211,99 @@ 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.16.0rc1.tar.xz
/samba-4.16.0rc1.tar.asc
/samba-4.16.0rc2.tar.xz
/samba-4.16.0rc2.tar.asc
/samba-4.16.0rc3.tar.xz
/samba-4.16.0rc3.tar.asc
/samba-4.16.0rc4.tar.xz
/samba-4.16.0rc4.tar.asc
/samba-4.16.0rc5.tar.xz
/samba-4.16.0rc5.tar.asc
/samba-4.16.0.tar.xz
/samba-4.16.0.tar.asc
/samba-4.16.1.tar.xz
/samba-4.16.1.tar.asc
/samba-4.16.2.tar.xz
/samba-4.16.2.tar.asc
/samba-4.16.3.tar.xz
/samba-4.16.3.tar.asc
/samba-4.16.4.tar.xz
/samba-4.16.4.tar.asc
/samba-4.16.5.tar.xz
/samba-4.16.5.tar.asc
/samba-4.16.6.tar.xz
/samba-4.16.6.tar.asc
/samba-4.16.7.tar.xz
/samba-4.16.7.tar.asc
/samba-4.16.8.tar.xz
/samba-4.16.8.tar.asc
/samba-4.16.9.tar.xz
/samba-4.16.9.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)'

20
rpminspect.yaml Normal file
View File

@ -0,0 +1,20 @@
---
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/lib*/samba/service/nbtd.so
- /usr/libexec/ctdb/smnotify
- /usr/sbin/nmbd
runpath:
allowed_paths:
- /usr/lib/samba
- /usr/lib64/samba
abidiff:
suppression_file: samba.abignore

View File

@ -0,0 +1,77 @@
From 41d3efebcf6abab9119f9b0f97c86c1c48739fee Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Mon, 4 Apr 2022 11:24:04 +0200
Subject: [PATCH 1/2] waf: Check for GnuTLS earlier
As GnuTLS is an essential part we need to check for it early so we can react on
GnuTLS features in other wscripts.
Signed-off-by: Andreas Schneider <asn@samba.org>
---
wscript | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/wscript b/wscript
index d8220b35095..5b85d9a1682 100644
--- a/wscript
+++ b/wscript
@@ -189,6 +189,8 @@ def configure(conf):
conf.RECURSE('dynconfig')
conf.RECURSE('selftest')
+ conf.PROCESS_SEPARATE_RULE('system_gnutls')
+
conf.CHECK_CFG(package='zlib', minversion='1.2.3',
args='--cflags --libs',
mandatory=True)
@@ -297,8 +299,6 @@ def configure(conf):
if not conf.CONFIG_GET('KRB5_VENDOR'):
conf.PROCESS_SEPARATE_RULE('embedded_heimdal')
- conf.PROCESS_SEPARATE_RULE('system_gnutls')
-
conf.RECURSE('source4/dsdb/samdb/ldb_modules')
conf.RECURSE('source4/ntvfs/sysdep')
conf.RECURSE('lib/util')
--
2.35.1
From 63701a28116afc1550c23cb5f7b9d6e366fd1270 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Mon, 4 Apr 2022 11:25:31 +0200
Subject: [PATCH 2/2] third_party:waf: Do not recurse in aesni-intel if GnuTLS
provides the cipher
Signed-off-by: Andreas Schneider <asn@samba.org>
---
third_party/wscript | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/third_party/wscript b/third_party/wscript
index 1f4bc1ce1d7..a17c15bcaa7 100644
--- a/third_party/wscript
+++ b/third_party/wscript
@@ -5,7 +5,8 @@ from waflib import Options
def configure(conf):
conf.RECURSE('cmocka')
conf.RECURSE('popt')
- conf.RECURSE('aesni-intel')
+ if not conf.CONFIG_SET('HAVE_GNUTLS_AES_CMAC'):
+ conf.RECURSE('aesni-intel')
if conf.CONFIG_GET('ENABLE_SELFTEST'):
conf.RECURSE('socket_wrapper')
conf.RECURSE('nss_wrapper')
@@ -18,7 +19,8 @@ def configure(conf):
def build(bld):
bld.RECURSE('cmocka')
bld.RECURSE('popt')
- bld.RECURSE('aesni-intel')
+ if not bld.CONFIG_SET('HAVE_GNUTLS_AES_CMAC'):
+ bld.RECURSE('aesni-intel')
if bld.CONFIG_GET('SOCKET_WRAPPER'):
bld.RECURSE('socket_wrapper')
if bld.CONFIG_GET('NSS_WRAPPER'):
--
2.35.1

Binary file not shown.

642
samba-s4u.patch Normal file
View File

@ -0,0 +1,642 @@
From 5d7ec9a00b6f4c6768c606d37d235415f2006445 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 793fe366c35..22534c09974 100644
--- a/source4/kdc/mit-kdb/kdb_samba_policies.c
+++ b/source4/kdc/mit-kdb/kdb_samba_policies.c
@@ -200,13 +200,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) {
@@ -238,41 +242,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;
}
@@ -280,17 +286,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;
}
@@ -319,6 +330,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;
@@ -330,11 +342,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);
/*
@@ -395,6 +402,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;
}
@@ -469,7 +486,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,
@@ -515,7 +532,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;
@@ -541,12 +558,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);
@@ -572,32 +583,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 cb72b5de294..03c2c2ea1de 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,
@@ -689,7 +688,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",
@@ -1081,41 +1080,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 325912375cf54743ab8ea557172a72b870002e9f 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 4321f07ca09..3fd95e47fca 100644
--- a/lib/krb5_wrap/krb5_samba.c
+++ b/lib/krb5_wrap/krb5_samba.c
@@ -2702,6 +2702,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 a66b7465530..c8573f52bd9 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 a5713b1558192f24348f7794da84bf65cf78e6ec 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 03c2c2ea1de..30fade56531 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

5
samba.abignore Normal file
View File

@ -0,0 +1,5 @@
#################################################
# This is a grouping library without any code
#################################################
[suppress_file]
file_name_regexp=.*libdcerpc-samr\\.so.*

1416
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.16.9.tar.xz) = 5ec51b7576b6171bc15653906ed3412ccb7ab383e93791723d5845b7181395473a88be51d19c28bf6b212ca903dea3c24cdd1449222e6f3643bc7cda10049d84
SHA512 (samba-4.16.9.tar.asc) = 75409da7d935185f567c9342175ba967dd068067a727e2adb9cbfb333c1789a9d9f8d365abbade8f29de4eceadf0f3e9c349e5fab9384adc1750a9459a995174