Summary(pl.UTF-8): Serwer Samba Active Directory i SMB
Name: samba
Version: 4.1.4
-Release: 2
+Release: 3
Epoch: 1
License: GPL v3
Group: Networking/Daemons
Patch5: systemd-pid-dir.patch
Patch6: unicodePwd-nthash-values-over-LDAP.patch
Patch7: link.patch
+Patch8: server-role.patch
URL: http://www.samba.org/
BuildRequires: acl-devel
BuildRequires: autoconf
Obsoletes: samba-doc-html
Obsoletes: samba-doc-pdf
Obsoletes: samba-pdb-xml
-Obsoletes: samba-pdb-xml
Obsoletes: samba-vfs-block
Obsoletes: samba-vfs-audit
Obsoletes: samba-vfs-cap
Obsoletes: samba-vfs-readonly
Obsoletes: samba-vfs-scannedonly
Obsoletes: samba-vfs-shadow_copy
+Obsoletes: samba3
Obsoletes: samba3-server
Obsoletes: samba3-vfs-audit
Obsoletes: samba3-vfs-cap
Obsoletes: samba3-vfs-readonly
Obsoletes: samba3-vfs-scannedonly
Obsoletes: samba3-vfs-shadow_copy
+Obsoletes: samba4
Obsoletes: samba4-common-server
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Requires: heimdal-libs >= 1.5.3-1
Suggests: cifs-utils
Obsoletes: samba3-client
+Obsoletes: samba4-client
Obsoletes: smbfs
%description client
Summary: Files used by both Samba servers and clients
Summary(pl.UTF-8): Pliki używane przez serwer i klientów Samby
Group: Networking/Daemons
-Requires: python-samba = %{epoch}:%{version}-%{release}
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Requires: python-samba = %{epoch}:%{version}-%{release}
Obsoletes: samba3-common
+Obsoletes: samba4-common
%description common
Samba-common provides files necessary for both the server and client
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: systemd-units >= 38
Obsoletes: samba3-winbind
+Obsoletes: samba4-winbind
%description winbind
Provides the winbind daemon and testing tools to allow authentication
Group: Development/Libraries
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Obsoletes: samba3-devel
+Obsoletes: samba4-devel
%description devel
Header files for Samba.
Summary(pl.UTF-8): Moduł PAM smbpass
Group: Base
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Obsoletes: pam_smbpass3
+Obsoletes: pam_smbpass
+Obsoletes: pam-pam_smbpass3
%description -n pam-pam_smbpass
PAM module which can be used on conforming systems to keep the
Summary(pl.UTF-8): Kompilator IDL w Perlu
Group: Development/Tools
#Requires: perl-Parse-Yapp
+Obsoletes: samba4-pidl
%description pidl
The samba-pidl package contains the Perl IDL compiler used by Samba
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: %{name}-winbind = %{epoch}:%{version}-%{release}
+Obsoletes: samba4-test
%description test
samba-test provides testing tools for both the server and client
Summary(pl.UTF-8): Pliki programistyczne narzędzi testowych dla serwerów i klientów Samby
Group: Applications/System
Requires: %{name}-test = %{epoch}:%{version}-%{release}
+Obsoletes: samba4-test-devel
%description test-devel
samba-test-devel provides development files for the library used by
Summary: CUPS backend for printing to SMB printers
Summary(pl.UTF-8): Backend CUPS-a drukujący na drukarkach SMB
Group: Applications/Printing
-Requires: cups >= 1:1.2.0
Requires: %{name}-client = %{epoch}:%{version}-%{release}
+Requires: cups >= 1:1.2.0
Obsoletes: cups-backend-smb3
%description -n cups-backend-smb
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%patch8 -p1
sed -i -e 's|#!/usr/bin/env python|#!/usr/bin/python|' source4/scripting/bin/samba*
sed -i -e 's|#!/usr/bin/env perl|#!/usr/bin/perl|' pidl/pidl
echo '127.0.0.1 localhost' > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
-%if "%{_lib"}" == "lib64"
+%if "%{_lib}" == "lib64"
echo "%{_libdir}/samba" >$RPM_BUILD_ROOT/etc/ld.so.conf.d/samba64.conf
%else
echo "%{_libdir}/samba" >$RPM_BUILD_ROOT/etc/ld.so.conf.d/samba.conf
%service samba restart "Samba AD daemons"
%systemd_post samba.service
+%triggerpostun -- samba4 < 1:4.1.1-1
+# CVE-2013-4476
+[ -e %{_sysconfdir}/samba/tls/key.pem ] || exit 0
+PERMS=$(stat -c %a %{_sysconfdir}/samba/tls/key.pem)
+if [ "$PERMS" != "600" ]; then
+ chmod 600 %{_sysconfdir}/samba/tls/key.pem || :
+ echo "Fixed permissions of private key file %{_sysconfdir}/samba/tls/key.pem from $PERMS to 600"
+ echo "Consider regenerating TLS certificate"
+ echo "Removing all tls .pem files will cause an auto-regeneration with the correct permissions"
+fi
+
+%triggerprein common -- samba4
+cp -a %{_sysconfdir}/samba/smb.conf %{_sysconfdir}/samba/smb.conf.samba4
+
+%triggerpostun common -- samba4
+%{__mv} -f %{_sysconfdir}/samba/smb.conf %{_sysconfdir}/samba/smb.conf.rpmnew
+%{__mv} %{_sysconfdir}/samba/smb.conf.samba4 %{_sysconfdir}/samba/smb.conf
+
+%triggerprein common -- samba3-server
+cp -a %{_sysconfdir}/samba/smb.conf %{_sysconfdir}/samba/smb.conf.samba4
+
+%triggerpostun common -- samba3-server
+%{__mv} -f %{_sysconfdir}/samba/smb.conf %{_sysconfdir}/samba/smb.conf.rpmnew
+%{__mv} %{_sysconfdir}/samba/smb.conf.samba4 %{_sysconfdir}/samba/smb.conf
+
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%service winbind restart "Winbind daemon"
%systemd_post winbind.service
-%post libsmbclient -p /sbin/ldconfig
-%postun libsmbclient -p /sbin/ldconfig
+%post -n libsmbclient -p /sbin/ldconfig
+%postun -n libsmbclient -p /sbin/ldconfig
%post -n openldap-schema-samba
# dependant schemas: cosine(uid) inetorgperson(displayName) nis(gidNumber)
%files
%defattr(644,root,root,755)
%{?with_ldap:%doc examples/LDAP}
-%attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/smb.conf
%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/smbusers
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/samba
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/samba
%attr(755,root,root) %{_sbindir}/samba_spnupdate
%attr(755,root,root) %{_sbindir}/samba_upgradedns
%attr(755,root,root) %{_sbindir}/smbd
-%dir %{_libdir}/samba/auth
-%attr(755,root,root) %{_libdir}/samba/auth/script.so
-%attr(755,root,root) %{_libdir}/samba/auth/samba4.so
%dir %{_libdir}/samba/bind9
%attr(755,root,root) %{_libdir}/samba/bind9/dlz_bind9.so
%attr(755,root,root) %{_libdir}/samba/bind9/dlz_bind9_9.so
%files common
%defattr(644,root,root,755)
%doc README WHATSNEW.txt Roadmap
+%dir %{_sysconfdir}/samba
+%attr(664,root,fileshare) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/smb.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/lmhosts
%attr(755,root,root) %{_bindir}/dbwrap_tool
%attr(755,root,root) %{_bindir}/net
%attr(755,root,root) %{_bindir}/nmblookup
%attr(755,root,root) %{_bindir}/smbpasswd
%attr(755,root,root) %{_bindir}/testparm
%attr(755,root,root) %{_bindir}/vfstest
-%dir %{_sysconfdir}/samba
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/lmhosts
+%dir %{_libdir}/samba/auth
+%attr(755,root,root) %{_libdir}/samba/auth/script.so
+%attr(755,root,root) %{_libdir}/samba/auth/samba4.so
%dir %{_datadir}/samba
%dir %{_datadir}/samba/codepages
%{_datadir}/samba/codepages/lowcase.dat
%attr(755,root,root) %{_libdir}/samba/libsmbd_base.so
%attr(755,root,root) %{_libdir}/samba/libsmbd_conn.so
%attr(755,root,root) %{_libdir}/samba/libsmbd_shim.so
+%attr(755,root,root) %{_libdir}/samba/libsmbldaphelper.so
%attr(755,root,root) %{_libdir}/samba/libsmbpasswdparser.so
%attr(755,root,root) %{_libdir}/samba/libsmbregistry.so
%attr(755,root,root) %{_libdir}/samba/libsmb_transport.so
%attr(755,root,root) %{_libdir}/samba/libidmap.so
%attr(755,root,root) %{_libdir}/samba/libnss_info.so
%attr(755,root,root) %{_libdir}/samba/libiniparser.so
-%attr(755,root,root) %{_libdir}/samba/libsmbldaphelper.so
%dir %{_libdir}/samba/idmap
%attr(755,root,root) %{_libdir}/samba/idmap/ad.so
%attr(755,root,root) %{_libdir}/samba/idmap/autorid.so
%files devel
%defattr(644,root,root,755)
-%dir %{_includedir}/samba-4.0
%{_includedir}/samba-4.0/charset.h
%dir %{_includedir}/samba-4.0/core
%{_includedir}/samba-4.0/core/doserr.h
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libsmbclient.so
%attr(755,root,root) %{_libdir}/libwbclient.so
+%dir %{_includedir}/samba-4.0
%{_includedir}/samba-4.0/libsmbclient.h
%{_includedir}/samba-4.0/wbclient.h
%{_pkgconfigdir}/smbclient.pc