Update to Samba 4.1.8.

Guenther
This commit is contained in:
Günther Deschner 2014-06-11 15:39:56 +02:00
parent f2ebd7c195
commit 6e74d8d5b0
5 changed files with 8 additions and 1131 deletions

1
.gitignore vendored
View File

@ -37,3 +37,4 @@ samba-3.6.0pre1.tar.gz
/samba-4.1.4.tar.xz
/samba-4.1.5.tar.xz
/samba-4.1.6.tar.xz
/samba-4.1.8.tar.xz

View File

@ -1,748 +0,0 @@
From 4be15cc68a49b353f1f2f4f198b968098bee4d83 Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <ab@samba.org>
Date: Tue, 25 Mar 2014 12:53:04 +0200
Subject: [PATCH 1/5] add systemd integration
Add --with-systemd / --without-systemd options to check whether
libsystemd-daemon library is available and use it to report service
startup status to systemd for smbd/winbindd/nmbd and AD DC.
The problem it solves is correct reporting of the Samba services
at the point when they are ready to serve clients, important for
high availability software integration.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517
Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit 54b5d9a7384ae27b2a26586ff909128427c05abe)
---
lib/util/become_daemon.c | 37 ++++++++++++++++++++++++++++++++++++-
lib/util/samba_util.h | 12 ++++++++++++
lib/util/wscript_build | 2 +-
packaging/systemd/nmb.service | 3 ++-
packaging/systemd/samba.service | 3 ++-
packaging/systemd/smb.service | 3 ++-
packaging/systemd/winbind.service | 3 ++-
source3/nmbd/nmbd.c | 4 ++++
source3/smbd/server.c | 4 ++++
source3/winbindd/winbindd.c | 5 +++++
source4/smbd/server.c | 4 ++++
wscript | 27 +++++++++++++++++++++++----
12 files changed, 97 insertions(+), 10 deletions(-)
diff --git a/lib/util/become_daemon.c b/lib/util/become_daemon.c
index 2ca0478..35c8b32 100644
--- a/lib/util/become_daemon.c
+++ b/lib/util/become_daemon.c
@@ -24,6 +24,9 @@
#include "includes.h"
#include "system/filesys.h"
#include "system/locale.h"
+#if HAVE_SYSTEMD
+#include <systemd/sd-daemon.h>
+#endif
/*******************************************************************
Close the low 3 fd's and open dev/null in their place.
@@ -75,8 +78,13 @@ _PUBLIC_ void close_low_fds(bool stdin_too, bool stdout_too, bool stderr_too)
_PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout)
{
+ pid_t newpid;
if (do_fork) {
- if (fork()) {
+ newpid = fork();
+ if (newpid) {
+#if HAVE_SYSTEMD
+ sd_notifyf(0, "READY=0\nSTATUS=Starting process...\nMAINPID=%lu", (unsigned long) newpid);
+#endif /* HAVE_SYSTEMD */
_exit(0);
}
}
@@ -100,3 +108,30 @@ _PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout
* never close stderr (but debug might dup it onto a log file) */
close_low_fds(do_fork, !log_stdout, false);
}
+
+_PUBLIC_ void exit_daemon(const char *msg, int error)
+{
+#ifdef HAVE_SYSTEMD
+ if (msg == NULL) {
+ msg = strerror(error);
+ }
+
+ sd_notifyf(0, "STATUS=daemon failed to start: %s\n"
+ "ERRNO=%i",
+ msg,
+ error);
+#endif
+ DEBUG(0, ("STATUS=daemon failed to start: %s, error code %d\n", msg, error));
+ exit(1);
+}
+
+_PUBLIC_ void daemon_ready(const char *daemon)
+{
+ if (daemon == NULL) {
+ daemon = "Samba";
+ }
+#ifdef HAVE_SYSTEMD
+ sd_notifyf(0, "READY=1\nSTATUS=%s: ready to serve connections...", daemon);
+#endif
+ DEBUG(0, ("STATUS=daemon '%s' finished starting up and ready to serve connections", daemon));
+}
diff --git a/lib/util/samba_util.h b/lib/util/samba_util.h
index f52347e..2996710 100644
--- a/lib/util/samba_util.h
+++ b/lib/util/samba_util.h
@@ -842,6 +842,18 @@ _PUBLIC_ void close_low_fds(bool stdin_too, bool stdout_too, bool stderr_too);
_PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout);
/**
+ Exit daemon and print error message to the log at level 0
+ Optionally report failure to systemd if systemd integration is enabled
+**/
+_PUBLIC_ void exit_daemon(const char *msg, int error);
+
+/**
+ Report that the daemon is ready to serve connections to the log at level 0
+ Optionally report status to systemd if systemd integration is enabled
+**/
+_PUBLIC_ void daemon_ready(const char *daemon);
+
+/**
* @brief Get a password from the console.
*
* You should make sure that the buffer is an empty string!
diff --git a/lib/util/wscript_build b/lib/util/wscript_build
index 39a1613..5087116 100755
--- a/lib/util/wscript_build
+++ b/lib/util/wscript_build
@@ -10,7 +10,7 @@ bld.SAMBA_LIBRARY('samba-util',
server_id.c dprintf.c parmlist.c bitmap.c pidfile.c
tevent_debug.c util_process.c''',
deps='DYNCONFIG',
- public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid',
+ public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid systemd-daemon',
public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h',
header_path= [ ('dlinklist.h samba_util.h', '.'), ('*', 'util') ],
local_include=False,
diff --git a/packaging/systemd/nmb.service b/packaging/systemd/nmb.service
index e5e81a1..3d71a7d 100644
--- a/packaging/systemd/nmb.service
+++ b/packaging/systemd/nmb.service
@@ -3,7 +3,8 @@ Description=Samba NMB Daemon
After=syslog.target network.target
[Service]
-Type=forking
+Type=notify
+NotifyAccess=all
PIDFile=/run/nmbd.pid
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=/usr/sbin/nmbd $NMBDOPTIONS
diff --git a/packaging/systemd/samba.service b/packaging/systemd/samba.service
index e2878d1..824f89c 100644
--- a/packaging/systemd/samba.service
+++ b/packaging/systemd/samba.service
@@ -3,7 +3,8 @@ Description=Samba AD Daemon
After=syslog.target network.target
[Service]
-Type=forking
+Type=notify
+NotifyAccess=all
PIDFile=/run/samba.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba
diff --git a/packaging/systemd/smb.service b/packaging/systemd/smb.service
index d0d945a..9810891 100644
--- a/packaging/systemd/smb.service
+++ b/packaging/systemd/smb.service
@@ -3,7 +3,8 @@ Description=Samba SMB Daemon
After=syslog.target network.target nmb.service winbind.service
[Service]
-Type=forking
+Type=notify
+NotifyAccess=all
PIDFile=/run/smbd.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba
diff --git a/packaging/systemd/winbind.service b/packaging/systemd/winbind.service
index eff266f..f711a17 100644
--- a/packaging/systemd/winbind.service
+++ b/packaging/systemd/winbind.service
@@ -3,7 +3,8 @@ Description=Samba Winbind Daemon
After=syslog.target network.target nmb.service
[Service]
-Type=forking
+Type=notify
+NotifyAccess=all
PIDFile=/run/winbindd.pid
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=/usr/sbin/winbindd "$WINBINDOPTIONS"
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c
index ec0e7d0..aced774 100644
--- a/source3/nmbd/nmbd.c
+++ b/source3/nmbd/nmbd.c
@@ -1088,6 +1088,10 @@ static bool open_sockets(bool isdaemon, int port)
exit(1);
}
+ if (is_daemon && !opt_interactive) {
+ daemon_ready("nmbd");
+ }
+
TALLOC_FREE(frame);
process(msg);
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index d3cd33e..b2a9d8f 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -1489,6 +1489,10 @@ extern void build_options(bool screen);
exit(1);
}
+ if (is_daemon && !interactive) {
+ daemon_ready("smbd");
+ }
+
/* only start other daemons if we are running as a daemon
* -- bad things will happen if smbd is launched via inetd
* and we fork a copy of ourselves here */
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 50573ac..61c1dbc 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -1581,6 +1581,11 @@ int main(int argc, char **argv, char **envp)
}
TALLOC_FREE(frame);
+
+ if (!interactive) {
+ daemon_ready("winbindd");
+ }
+
/* Loop waiting for requests */
while (1) {
frame = talloc_stackframe();
diff --git a/source4/smbd/server.c b/source4/smbd/server.c
index 37aac62..3a23190 100644
--- a/source4/smbd/server.c
+++ b/source4/smbd/server.c
@@ -498,6 +498,10 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
return 1;
}
+ if (opt_daemon) {
+ daemon_ready("samba");
+ }
+
/* wait for events - this is where smbd sits for most of its
life */
tevent_loop_wait(event_ctx);
diff --git a/wscript b/wscript
index 83c82e3..2f02c6e 100644
--- a/wscript
+++ b/wscript
@@ -64,8 +64,15 @@ def set_options(opt):
help=("Disable Position Independent Executable builds"),
action="store_false", dest='enable_pie')
- gr = opt.option_group('developer options')
+ opt.add_option('--with-systemd',
+ help=("Enable systemd integration"),
+ action='store_true', dest='enable_systemd')
+
+ opt.add_option('--without-systemd',
+ help=("Disable systemd integration"),
+ action='store_false', dest='enable_systemd')
+ gr = opt.option_group('developer options')
opt.tool_options('python') # options for disabling pyc or pyo compilation
# enable options related to building python extensions
@@ -162,11 +169,8 @@ def configure(conf):
if not conf.CHECK_CODE('#include "tests/summary.c"',
define='SUMMARY_PASSES',
addmain=False,
- execute=True,
msg='Checking configure summary'):
raise Utils.WafError('configure summary failed')
-
- conf.SAMBA_CONFIG_H('include/config.h')
if Options.options.enable_pie != False:
if Options.options.enable_pie == True:
@@ -178,6 +182,21 @@ def configure(conf):
msg="Checking compiler for PIE support"):
conf.env['ENABLE_PIE'] = True
+ if Options.options.enable_systemd != False:
+ conf.check_cfg(package='libsystemd-daemon', args='--cflags --libs',
+ msg='Checking for libsystemd-daemon', uselib_store="SYSTEMD-DAEMON")
+ conf.CHECK_HEADERS('systemd/sd-daemon.h', lib='systemd-daemon')
+ conf.CHECK_LIB('systemd-daemon', shlib=True)
+
+ if conf.CONFIG_SET('HAVE_SYSTEMD_SD_DAEMON_H'):
+ conf.DEFINE('HAVE_SYSTEMD', '1')
+ conf.env['ENABLE_SYSTEMD'] = True
+ else:
+ conf.SET_TARGET_TYPE('systemd-daemon', 'EMPTY')
+ conf.undefine('HAVE_SYSTEMD')
+
+ conf.SAMBA_CONFIG_H('include/config.h')
+
def etags(ctx):
'''build TAGS file using etags'''
import Utils
--
1.8.5.3
From a6250f706655bd8fda81fe15ccc9441f7d4e1c84 Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <ab@samba.org>
Date: Wed, 26 Mar 2014 10:56:12 +0200
Subject: [PATCH 2/5] smbd: use exit_daemon() to support reporting to systemd
from smbd
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517
Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
---
source3/smbd/server.c | 44 +++++++++++++++++++-------------------------
1 file changed, 19 insertions(+), 25 deletions(-)
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index b2a9d8f..34c949d 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -1314,8 +1314,7 @@ extern void build_options(bool screen);
ev_ctx,
false);
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0,("reinit_after_fork() failed\n"));
- exit(1);
+ exit_daemon("reinit_after_fork() failed", map_errno_from_nt_status(status));
}
if (!interactive) {
@@ -1326,8 +1325,7 @@ extern void build_options(bool screen);
*/
status = init_before_fork();
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0, ("init_before_fork failed: %s\n", nt_errstr(status)));
- exit(1);
+ exit_daemon(nt_errstr(status), map_errno_from_nt_status(status));
}
}
@@ -1360,7 +1358,7 @@ extern void build_options(bool screen);
/* Setup all the TDB's - including CLEAR_IF_FIRST tdb's. */
if (smbd_memcache() == NULL) {
- exit(1);
+ exit_daemon("no memcache available", EACCES);
}
memcache_set_global(smbd_memcache());
@@ -1372,69 +1370,65 @@ extern void build_options(bool screen);
exit(1);
if (!secrets_init()) {
- DEBUG(0, ("ERROR: smbd can not open secrets.tdb\n"));
- exit(1);
+ exit_daemon("smbd can not open secrets.tdb", EACCES);
}
if (lp_server_role() == ROLE_DOMAIN_BDC || lp_server_role() == ROLE_DOMAIN_PDC) {
struct loadparm_context *lp_ctx = loadparm_init_s3(NULL, loadparm_s3_helpers());
if (!open_schannel_session_store(NULL, lp_ctx)) {
- DEBUG(0,("ERROR: Samba cannot open schannel store for secured NETLOGON operations.\n"));
- exit(1);
+ exit_daemon("ERROR: Samba cannot open schannel store for secured NETLOGON operations.", EACCES);
}
TALLOC_FREE(lp_ctx);
}
if(!get_global_sam_sid()) {
- DEBUG(0,("ERROR: Samba cannot create a SAM SID.\n"));
- exit(1);
+ exit_daemon("Samba cannot create a SAM SID", EACCES);
}
server_id = messaging_server_id(msg_ctx);
status = smbXsrv_version_global_init(&server_id);
if (!NT_STATUS_IS_OK(status)) {
- exit(1);
+ exit_daemon("Samba cannot init server context", EACCES);
}
status = smbXsrv_session_global_init();
if (!NT_STATUS_IS_OK(status)) {
- exit(1);
+ exit_daemon("Samba cannot init session context", EACCES);
}
status = smbXsrv_tcon_global_init();
if (!NT_STATUS_IS_OK(status)) {
- exit(1);
+ exit_daemon("Samba cannot init tcon context", EACCES);
}
if (!locking_init())
- exit(1);
+ exit_daemon("Samba cannot init locking", EACCES);
if (!messaging_tdb_parent_init(ev_ctx)) {
- exit(1);
+ exit_daemon("Samba cannot init TDB messaging", EACCES);
}
if (!smbd_parent_notify_init(NULL, msg_ctx, ev_ctx)) {
- exit(1);
+ exit_daemon("Samba cannot init notification", EACCES);
}
if (!smbd_scavenger_init(NULL, msg_ctx, ev_ctx)) {
- exit(1);
+ exit_daemon("Samba cannot init scavenging", EACCES);
}
if (!serverid_parent_init(ev_ctx)) {
- exit(1);
+ exit_daemon("Samba cannot init server id", EACCES);
}
if (!W_ERROR_IS_OK(registry_init_full()))
- exit(1);
+ exit_daemon("Samba cannot init registry", EACCES);
/* Open the share_info.tdb here, so we don't have to open
after the fork on every single connection. This is a small
performance improvment and reduces the total number of system
fds used. */
if (!share_info_db_init()) {
- DEBUG(0,("ERROR: failed to load share info db.\n"));
- exit(1);
+ exit_daemon("ERROR: failed to load share info db.", EACCES);
}
status = init_system_session_info();
@@ -1455,7 +1449,7 @@ extern void build_options(bool screen);
}
status = smbXsrv_open_global_init();
if (!NT_STATUS_IS_OK(status)) {
- exit(1);
+ exit_daemon("Samba cannot init global open", map_errno_from_nt_status(status));
}
/* This MUST be done before start_epmd() because otherwise
@@ -1486,7 +1480,7 @@ extern void build_options(bool screen);
}
if (!dcesrv_ep_setup(ev_ctx, msg_ctx)) {
- exit(1);
+ exit_daemon("Samba cannot setup ep pipe", EACCES);
}
if (is_daemon && !interactive) {
@@ -1507,7 +1501,7 @@ extern void build_options(bool screen);
bool bgq = lp_parm_bool(-1, "smbd", "backgroundqueue", true);
if (!printing_subsystem_init(ev_ctx, msg_ctx, true, bgq)) {
- exit(1);
+ exit_daemon("Samba failed to init printing subsystem", EACCES);
}
}
} else if (!lp__disable_spoolss() &&
--
1.8.5.3
From 580933198c1da02ad668b32f68bfeac833d97980 Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <ab@samba.org>
Date: Wed, 26 Mar 2014 11:34:56 +0200
Subject: [PATCH 3/5] nmbd: use exit_daemon() to report status to systemd
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517
Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit a54e94559b5ebabbb8c5c938fdf159efceff39e6)
---
source3/nmbd/nmbd.c | 39 ++++++++++++++-------------------------
1 file changed, 14 insertions(+), 25 deletions(-)
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c
index aced774..dc2d4c7 100644
--- a/source3/nmbd/nmbd.c
+++ b/source3/nmbd/nmbd.c
@@ -966,16 +966,12 @@ static bool open_sockets(bool isdaemon, int port)
ok = directory_create_or_exist(lp_lockdir(), geteuid(), 0755);
if (!ok) {
- DEBUG(0, ("Failed to create directory %s for lock files - %s\n",
- lp_lockdir(), strerror(errno)));
- exit(1);
+ exit_daemon("Failed to create directory for lock files, check 'lock directory'", errno);
}
ok = directory_create_or_exist(lp_piddir(), geteuid(), 0755);
if (!ok) {
- DEBUG(0, ("Failed to create directory %s for pid files - %s\n",
- lp_piddir(), strerror(errno)));
- exit(1);
+ exit_daemon("Failed to create directory for pid files, check 'pid directory'", errno);
}
pidfile_create(lp_piddir(), "nmbd");
@@ -984,8 +980,7 @@ static bool open_sockets(bool isdaemon, int port)
false);
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0,("reinit_after_fork() failed\n"));
- exit(1);
+ exit_daemon("reinit_after_fork() failed", map_errno_from_nt_status(status));
}
/*
@@ -995,16 +990,15 @@ static bool open_sockets(bool isdaemon, int port)
*/
status = init_before_fork();
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0, ("init_before_fork failed: %s\n", nt_errstr(status)));
- exit(1);
+ exit_daemon(nt_errstr(status), map_errno_from_nt_status(status));
}
if (!nmbd_setup_sig_term_handler(msg))
- exit(1);
+ exit_daemon("NMBD failed to setup signal handler", EINVAL);
if (!nmbd_setup_stdin_handler(msg, !Fork))
- exit(1);
+ exit_daemon("NMBD failed to setup stdin handler", EINVAL);
if (!nmbd_setup_sig_hup_handler(msg))
- exit(1);
+ exit_daemon("NMBD failed to setup SIGHUP handler", EINVAL);
/* get broadcast messages */
@@ -1012,8 +1006,7 @@ static bool open_sockets(bool isdaemon, int port)
FLAG_MSG_GENERAL |
FLAG_MSG_NMBD |
FLAG_MSG_DBWRAP)) {
- DEBUG(1, ("Could not register myself in serverid.tdb\n"));
- exit(1);
+ exit_daemon("Could not register NMBD process in serverid.tdb", EACCES);
}
messaging_register(msg, NULL, MSG_FORCE_ELECTION,
@@ -1044,9 +1037,8 @@ static bool open_sockets(bool isdaemon, int port)
/* Create an nmbd subnet record for each of the above. */
if( False == create_subnets() ) {
- DEBUG(0,("ERROR: Failed when creating subnet lists. Exiting.\n"));
kill_async_dns_child();
- exit(1);
+ exit_daemon("NMBD failed when creating subnet lists", EACCES);
}
/* Load in any static local names. */
@@ -1058,9 +1050,8 @@ static bool open_sockets(bool isdaemon, int port)
/* If we are acting as a WINS server, initialise data structures. */
if( !initialise_wins() ) {
- DEBUG( 0, ( "nmbd: Failed when initialising WINS server.\n" ) );
kill_async_dns_child();
- exit(1);
+ exit_daemon( "NMBD failed when initialising WINS server.", EACCES);
}
/*
@@ -1072,21 +1063,19 @@ static bool open_sockets(bool isdaemon, int port)
*/
if( False == register_my_workgroup_and_names() ) {
- DEBUG(0,("ERROR: Failed when creating my my workgroup. Exiting.\n"));
kill_async_dns_child();
- exit(1);
+ exit_daemon( "NMBD failed when creating my workgroup.", EACCES);
}
if (!initialize_nmbd_proxy_logon()) {
- DEBUG(0,("ERROR: Failed setup nmbd_proxy_logon.\n"));
kill_async_dns_child();
- exit(1);
+ exit_daemon( "NMBD failed to setup nmbd_proxy_logon.", EACCES);
}
if (!nmbd_init_packet_server()) {
kill_async_dns_child();
- exit(1);
- }
+ exit_daemon( "NMBD failed to setup packet server.", EACCES);
+ }
if (is_daemon && !opt_interactive) {
daemon_ready("nmbd");
--
1.8.5.3
From 1067bdd3e590d5ab880044456c667e3663d99c95 Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <ab@samba.org>
Date: Wed, 26 Mar 2014 11:45:21 +0200
Subject: [PATCH 4/5] winbindd: use exit_daemon() to pass startup status to
systemd
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517
Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit 91013315c9fa946bf85c85df0ccd40a803f3dc6f)
---
source3/winbindd/winbindd.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 61c1dbc..68ffd7e 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -1543,8 +1543,7 @@ int main(int argc, char **argv, char **envp)
winbind_event_context(),
false);
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0,("reinit_after_fork() failed\n"));
- exit(1);
+ exit_daemon("Winbindd reinit_after_fork() failed", map_errno_from_nt_status(status));
}
/*
@@ -1554,17 +1553,14 @@ int main(int argc, char **argv, char **envp)
*/
status = init_before_fork();
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0, ("init_before_fork failed: %s\n", nt_errstr(status)));
- exit(1);
+ exit_daemon(nt_errstr(status), map_errno_from_nt_status(status));
}
winbindd_register_handlers(winbind_messaging_context(), !Fork);
status = init_system_session_info();
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(1, ("ERROR: failed to setup system user info: %s.\n",
- nt_errstr(status)));
- exit(1);
+ exit_daemon("Winbindd failed to setup system user info", map_errno_from_nt_status(status));
}
rpc_lsarpc_init(NULL);
@@ -1576,8 +1572,7 @@ int main(int argc, char **argv, char **envp)
/* setup listen sockets */
if (!winbindd_setup_listeners()) {
- DEBUG(0,("winbindd_setup_listeners() failed\n"));
- exit(1);
+ exit_daemon("Winbindd failed to setup listeners", EPIPE);
}
TALLOC_FREE(frame);
--
1.8.5.3
From 037b9fd66e777571e2c963945e41535371b4683e Mon Sep 17 00:00:00 2001
From: Alexander Bokovoy <ab@samba.org>
Date: Wed, 26 Mar 2014 12:30:30 +0200
Subject: [PATCH 5/5] ad-dc: use exit_daemon() to communicate status of startup
to systemd
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517
Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit a343303cbcd5af303455843ebf202e2f30daf3a6)
---
source4/smbd/server.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/source4/smbd/server.c b/source4/smbd/server.c
index 3a23190..d5d9d9c 100644
--- a/source4/smbd/server.c
+++ b/source4/smbd/server.c
@@ -398,15 +398,13 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
if (lpcfg_server_role(cmdline_lp_ctx) == ROLE_ACTIVE_DIRECTORY_DC) {
if (!open_schannel_session_store(talloc_autofree_context(), cmdline_lp_ctx)) {
- DEBUG(0,("ERROR: Samba cannot open schannel store for secured NETLOGON operations.\n"));
- exit(1);
+ exit_daemon("Samba cannot open schannel store for secured NETLOGON operations.", EACCES);
}
}
/* make sure we won't go through nss_winbind */
if (!winbind_off()) {
- DEBUG(0,("Failed to disable recusive winbindd calls. Exiting.\n"));
- exit(1);
+ exit_daemon("Samba failed to disable recusive winbindd calls.", EACCES);
}
gensec_init(); /* FIXME: */
@@ -431,8 +429,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
event_ctx = s4_event_context_init(talloc_autofree_context());
if (event_ctx == NULL) {
- DEBUG(0,("Initializing event context failed\n"));
- return 1;
+ exit_daemon("Initializing event context failed", EACCES);
}
if (opt_interactive) {
@@ -449,7 +446,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
#endif
if (fstat(0, &st) != 0) {
- exit(1);
+ exit_daemon("Samba failed to set standard input handler", ENOTTY);
}
if (S_ISFIFO(st.st_mode) || S_ISSOCK(st.st_mode)) {
@@ -478,15 +475,14 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
DEBUG(0, ("At this time the 'samba' binary should only be used for either:\n"));
DEBUGADD(0, ("'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'\n"));
DEBUGADD(0, ("You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks\n"));
- exit(1);
+ exit_daemon("Samba detected misconfigured 'server role' and exited. Check logs for details", EINVAL);
};
prime_ldb_databases(event_ctx);
status = setup_parent_messaging(event_ctx, cmdline_lp_ctx);
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0,("Failed to setup parent messaging - %s\n", nt_errstr(status)));
- return 1;
+ exit_daemon("Samba failed to setup parent messaging", NT_STATUS_V(status));
}
DEBUG(0,("%s: using '%s' process model\n", binary_name, model));
@@ -494,8 +490,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
status = server_service_startup(event_ctx, cmdline_lp_ctx, model,
lpcfg_server_services(cmdline_lp_ctx));
if (!NT_STATUS_IS_OK(status)) {
- DEBUG(0,("Starting Services failed - %s\n", nt_errstr(status)));
- return 1;
+ exit_daemon("Samba failed to start services", NT_STATUS_V(status));
}
if (opt_daemon) {
--
1.8.5.3

View File

@ -1,373 +0,0 @@
From 6271d0d87c8b956007b5b5f78efa62d1a34c55f7 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 15:47:45 +0100
Subject: [PATCH 1/9] buildtools: Rename perl vendorarch configure option.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
buildtools/wafadmin/Tools/perl.py | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/buildtools/wafadmin/Tools/perl.py b/buildtools/wafadmin/Tools/perl.py
index a6787a8..99e0540 100644
--- a/buildtools/wafadmin/Tools/perl.py
+++ b/buildtools/wafadmin/Tools/perl.py
@@ -98,12 +98,17 @@ def check_perl_ext_devel(conf):
conf.env.EXTUTILS_TYPEMAP = read_out('print "$Config{privlib}/ExtUtils/typemap"')
conf.env.perlext_PATTERN = '%s.' + read_out('print $Config{dlext}')[0]
- if getattr(Options.options, 'perlarchdir', None):
- conf.env.ARCHDIR_PERL = Options.options.perlarchdir
+ if getattr(Options.options, 'perl_vendorarch_dir', None):
+ conf.env.PERL_VENDORARCH_DIR = Options.options.perl_vendorarch_dir
else:
- conf.env.ARCHDIR_PERL = read_out('print $Config{sitearch}')[0]
+ conf.env.PERL_VENDORARCH_DIR = read_out('print $Config{vendorarch}')[0]
def set_options(opt):
opt.add_option("--with-perl-binary", type="string", dest="perlbinary", help = 'Specify alternate perl binary', default=None)
- opt.add_option("--with-perl-archdir", type="string", dest="perlarchdir", help = 'Specify directory where to install arch specific files', default=None)
+
+ opt.add_option("--with-perl-vendorarch",
+ type="string",
+ dest="perl_vendorarch_dir",
+ help = ('Specify directory where to install arch specific files'),
+ default=None)
--
1.9.0
From f415ba757c6454e5f5d10adbd074a31f3c650ce9 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 15:50:02 +0100
Subject: [PATCH 2/9] buildtools: Add perl vendorlib configure option.
After this patch has been pushed, we need to change autobuild to compile
with this option or we will not be able to install pidl.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
buildtools/wafadmin/Tools/perl.py | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/buildtools/wafadmin/Tools/perl.py b/buildtools/wafadmin/Tools/perl.py
index 99e0540..8f13e28 100644
--- a/buildtools/wafadmin/Tools/perl.py
+++ b/buildtools/wafadmin/Tools/perl.py
@@ -103,6 +103,11 @@ def check_perl_ext_devel(conf):
else:
conf.env.PERL_VENDORARCH_DIR = read_out('print $Config{vendorarch}')[0]
+ if getattr(Options.options, 'perl_vendorlib_dir', None):
+ conf.env.PERL_VENDORLIB_DIR = Options.options.perl_vendorlib_dir
+ else:
+ conf.env.PERL_VENDORLIB_DIR = read_out('print $Config{vendorlib}')[0]
+
def set_options(opt):
opt.add_option("--with-perl-binary", type="string", dest="perlbinary", help = 'Specify alternate perl binary', default=None)
@@ -112,3 +117,8 @@ def set_options(opt):
help = ('Specify directory where to install arch specific files'),
default=None)
+ opt.add_option("--with-perl-vendorlib",
+ type="string",
+ dest="perl_vendorlib_dir",
+ help = ('Specify directory where to install vendor specific files'),
+ default=None)
--
1.9.0
From f191572655655fa920f132f51dfdb8b1df85e7d0 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Wed, 5 Mar 2014 16:27:15 +0100
Subject: [PATCH 3/9] autobuild: Set perl vendorlib direcotry.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
script/autobuild.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/script/autobuild.py b/script/autobuild.py
index fe39ed9..3136643 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -35,7 +35,7 @@ defaulttasks = [ "samba", "samba-ctdb", "samba-libs", "ldb", "tdb", "ntdb", "tal
tasks = {
# We have 'test' before 'install' because, 'test' should work without 'install'
- "samba" : [ ("configure", "./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab", "text/plain"),
+ "samba" : [ ("configure", "./configure.developer ${PREFIX} ${PERL_VENDOR_LIB} --with-selftest-prefix=./bin/ab", "text/plain"),
("make", "make -j", "text/plain"),
("test", "make test FAIL_IMMEDIATELY=1", "text/plain"),
("install", "make install", "text/plain"),
@@ -53,7 +53,7 @@ tasks = {
("ctdb-header-install", "cp ./ctdb/include/* ${PREFIX_DIR}/include", "text/plain"),
("ctdb-header-ls", "ls ${PREFIX_DIR}/include/ctdb.h", "text/plain"),
- ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab --with-cluster-support --with-ctdb-dir=${PREFIX_DIR} --bundled-libraries=!tdb", "text/plain"),
+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure.developer ${PREFIX} ${PERL_VENDOR_LIB} --with-selftest-prefix=./bin/ab --with-cluster-support --with-ctdb-dir=${PREFIX_DIR} --bundled-libraries=!tdb", "text/plain"),
("make", "make", "text/plain"),
("check", "./bin/smbd -b | grep CLUSTER_SUPPORT", "text/plain"),
("install", "make install", "text/plain"),
@@ -82,7 +82,7 @@ tasks = {
("ldb-make", "cd lib/ldb && make", "text/plain"),
("ldb-install", "cd lib/ldb && make install", "text/plain"),
- ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ntdb,!pyntdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX}", "text/plain"),
+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ntdb,!pyntdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX} ${PERL_VENDOR_LIB}", "text/plain"),
("make", "make", "text/plain"),
("install", "make install", "text/plain")],
@@ -212,6 +212,7 @@ class builder(object):
self.cmd = self.cmd.replace("${PYTHON_PREFIX}", get_python_lib(standard_lib=1, prefix=self.prefix))
self.cmd = self.cmd.replace("${PREFIX}", "--prefix=%s" % self.prefix)
self.cmd = self.cmd.replace("${PREFIX_DIR}", "%s" % self.prefix)
+ self.cmd = self.cmd.replace("${PERL_VENDOR_LIB}", "--with-perl-vendorlib=%s/share/perl5" % self.prefix)
# if self.output_mime_type == "text/x-subunit":
# self.cmd += " | %s --immediate" % (os.path.join(os.path.dirname(__file__), "selftest/format-subunit"))
print '%s: [%s] Running %s' % (self.name, self.stage, self.cmd)
--
1.9.0
From 7df60a7a5709ba7daf9cc6baf45e1b6074ddd384 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 15:54:09 +0100
Subject: [PATCH 4/9] pidl-waf: Remove unused variable pidl_src.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
pidl/wscript | 3 ---
1 file changed, 3 deletions(-)
diff --git a/pidl/wscript b/pidl/wscript
index 7a25734..05d9982 100644
--- a/pidl/wscript
+++ b/pidl/wscript
@@ -26,9 +26,6 @@ def build(bld):
if not bld.CONFIG_SET('HAVE_PERL_MAKEMAKER'):
return
- pidl_src = ['pidl']
- pidl_src.extend(bld.path.ant_glob('lib/**/*.pm').split())
-
pidl_manpages = {
'pidl': 'man1/pidl.${PERLMAN1EXT}',
'lib/Parse/Pidl/NDR.pm': 'man3/Parse::Pidl::NDR.${PERLMAN3EXT}',
--
1.9.0
From 16f10c8a3f7ca8c3aeebd945c2ca2153f608d4ce Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 15:53:10 +0100
Subject: [PATCH 5/9] pidl-waf: Install pidl modules to the perl vendorlib
directory.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
pidl/lib/wscript_build | 2 +-
pidl/wscript | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build
index eb5f1e0..67223a8 100644
--- a/pidl/lib/wscript_build
+++ b/pidl/lib/wscript_build
@@ -1,4 +1,4 @@
#!/usr/bin/env python
# install the pidl modules
-bld.INSTALL_WILDCARD('${DATAROOTDIR}/perl5', '**/*.pm', flat=False)
+bld.INSTALL_WILDCARD(bld.env.PERL_VENDORLIB_DIR, '**/*.pm', flat=False)
diff --git a/pidl/wscript b/pidl/wscript
index 05d9982..77abb01 100644
--- a/pidl/wscript
+++ b/pidl/wscript
@@ -8,6 +8,8 @@ def set_options(opt):
def configure(conf):
conf.check_tool('perl')
+ conf.check_perl_ext_devel()
+
# we need a recent version of MakeMaker to get the right man page names
if conf.CHECK_PERL_MANPAGE():
conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1')
--
1.9.0
From 410cb8e9235d956da1be1a38fda51c16b239ee11 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 15:55:46 +0100
Subject: [PATCH 6/9] pidl-waf: Do not glob to install pidl modules.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
pidl/lib/wscript_build | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build
index 67223a8..2d6e634 100644
--- a/pidl/lib/wscript_build
+++ b/pidl/lib/wscript_build
@@ -1,4 +1,33 @@
#!/usr/bin/env python
# install the pidl modules
-bld.INSTALL_WILDCARD(bld.env.PERL_VENDORLIB_DIR, '**/*.pm', flat=False)
+bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR,
+ '''
+ Parse/Pidl.pm
+ Parse/Pidl/Samba4.pm
+ Parse/Pidl/CUtil.pm
+ Parse/Pidl/Expr.pm
+ Parse/Pidl/Wireshark/Conformance.pm
+ Parse/Pidl/Wireshark/NDR.pm
+ Parse/Pidl/ODL.pm
+ Parse/Pidl/Dump.pm
+ Parse/Pidl/Util.pm
+ Parse/Pidl/Samba4/Header.pm
+ Parse/Pidl/Samba4/COM/Header.pm
+ Parse/Pidl/Samba4/COM/Proxy.pm
+ Parse/Pidl/Samba4/COM/Stub.pm
+ Parse/Pidl/Samba4/TDR.pm
+ Parse/Pidl/Samba4/NDR/Server.pm
+ Parse/Pidl/Samba4/NDR/Client.pm
+ Parse/Pidl/Samba4/NDR/Parser.pm
+ Parse/Pidl/Samba4/Python.pm
+ Parse/Pidl/Samba4/Template.pm
+ Parse/Pidl/IDL.pm
+ Parse/Pidl/Typelist.pm
+ Parse/Pidl/Samba3/ClientNDR.pm
+ Parse/Pidl/Samba3/ServerNDR.pm
+ Parse/Pidl/Compat.pm
+ Parse/Pidl/NDR.pm
+ Parse/Yapp/Driver.pm
+ ''',
+ flat=False)
--
1.9.0
From 51162d6acb0cc189e22f824bef80849687da13a5 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 15:59:41 +0100
Subject: [PATCH 7/9] pidl-waf: Add a function to check for a system perl
module.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
pidl/wscript | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/pidl/wscript b/pidl/wscript
index 77abb01..2364391 100644
--- a/pidl/wscript
+++ b/pidl/wscript
@@ -3,6 +3,28 @@
import os, sys, Logs
from samba_utils import MODE_755
+# This function checks if a perl module is installed on the system.
+def check_system_perl_module(conf, module, version=None):
+ bundle_name = module.replace('::', '_')
+ module_check = module
+ found = False
+
+ # Create module string with version
+ if version:
+ module_check = module + ' ' + str(version)
+
+ # Check if we have to bundle it.
+ if conf.LIB_MUST_BE_BUNDLED(bundle_name.lower()):
+ return False
+
+ # Check for system perl module
+ if not conf.check_perl_module(module_check):
+ return False
+
+ conf.define('USING_SYSTEM_%s' % bundle_name.upper(), 1)
+
+ return True
+
def set_options(opt):
opt.tool_options('perl')
--
1.9.0
From 093e4f863477b7a7458b8bc24e876d63d3b1c09d Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 15:59:45 +0100
Subject: [PATCH 8/9] pidl-waf: Check for system perl(Parse::Yapp::Driver).
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
---
pidl/wscript | 3 +++
1 file changed, 3 insertions(+)
diff --git a/pidl/wscript b/pidl/wscript
index 2364391..4965870 100644
--- a/pidl/wscript
+++ b/pidl/wscript
@@ -32,6 +32,9 @@ def configure(conf):
conf.check_tool('perl')
conf.check_perl_ext_devel()
+ # Check if perl(Parse::Yapp::Driver) is available.
+ check_system_perl_module(conf, "Parse::Yapp::Driver", 1.05)
+
# we need a recent version of MakeMaker to get the right man page names
if conf.CHECK_PERL_MANPAGE():
conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1')
--
1.9.0
From 446cd106908d497b5130b66aff9b1afa38c357b1 Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@samba.org>
Date: Fri, 28 Feb 2014 16:00:54 +0100
Subject: [PATCH 9/9] pidl-waf: Only install Yapp::Driver if it is not
available.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Mar 6 23:30:47 CET 2014 on sn-devel-104
---
pidl/lib/wscript_build | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build
index 2d6e634..5023e07 100644
--- a/pidl/lib/wscript_build
+++ b/pidl/lib/wscript_build
@@ -28,6 +28,10 @@ bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR,
Parse/Pidl/Samba3/ServerNDR.pm
Parse/Pidl/Compat.pm
Parse/Pidl/NDR.pm
- Parse/Yapp/Driver.pm
''',
flat=False)
+
+if not bld.CONFIG_SET('USING_SYSTEM_PARSE_YAPP_DRIVER'):
+ bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR,
+ 'Parse/Yapp/Driver.pm',
+ flat=False)
--
1.9.0

View File

@ -3,7 +3,7 @@
%define main_release 3
%define samba_version 4.1.6
%define samba_version 4.1.8
%define talloc_version 2.0.8
%define ntdb_version 0.9
%define tdb_version 1.2.12
@ -54,7 +54,7 @@
Name: samba
Version: %{samba_version}
Release: %{samba_release}.1
Release: %{samba_release}
%if 0%{?rhel}
Epoch: 0
@ -85,9 +85,6 @@ Source6: samba.pamd
Source200: README.dc
Source201: README.downgrade
Patch0: samba-4.1.7-fix_pidl_install.patch
Patch1: samba-4.1.7-Make_daemons_systemd_aware.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Requires(pre): /usr/sbin/groupadd
@ -506,9 +503,6 @@ module necessary to communicate to the Winbind Daemon
%prep
%setup -q -n samba-%{version}%{pre_release}
%patch0 -p1 -b .samba-4.1.7-fix_pidl_install.patch
%patch1 -p1 -b .samba-4.1.7-Make_daemons_systemd_aware.patch
%build
%global _talloc_lib ,talloc,pytalloc,pytalloc-util
%global _tevent_lib ,tevent,pytevent
@ -561,7 +555,7 @@ LDFLAGS="-Wl,-z,relro,-z,now" \
--with-pammodulesdir=%{_libdir}/security \
--with-lockdir=/var/lib/samba \
--with-cachedir=/var/lib/samba \
--with-perl-vendorlib=%{perl_vendorlib} \
--with-perl-lib-install-dir=%{perl_vendorlib} \
--disable-gnutls \
--disable-rpath-install \
--with-shared-modules=%{_samba4_modules} \
@ -1578,6 +1572,9 @@ rm -rf %{buildroot}
%{_mandir}/man8/pam_winbind.8*
%changelog
* Wed Jun 11 2014 - Guenther Deschner <gdeschner@redhat.com> - 4.1.8-3
- Update to Samba 4.1.8.
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:4.1.6-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

View File

@ -1 +1 @@
7582949c08882fcef42faddf6262d6d7 samba-4.1.6.tar.xz
1e59fbf06dcb77bd9bee02f04e1d77d2 samba-4.1.8.tar.xz