[SCM] SAMBA-CTDB repository - branch v3-4-ctdb updated - 3.4.7-ctdb-4-7-gfce4c32
Volker Lendecke
vlendec at samba.org
Tue May 11 08:44:39 MDT 2010
The branch, v3-4-ctdb has been updated
via fce4c325d9020dc4f67dd847649dc9bfa3d6cbd7 (commit)
via 46e19554db30638fec32e909c7d8a6e05379d0b5 (commit)
via 05763451f78885ea1b94e6621dbd58a813766251 (commit)
via 4d77e276119781cbe9f237c0326d465695586689 (commit)
from ad8b573e6b2a0df0dadadbe8d2395b8212a940f6 (commit)
http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-4-ctdb
- Log -----------------------------------------------------------------
commit fce4c325d9020dc4f67dd847649dc9bfa3d6cbd7
Author: Volker Lendecke <vl at samba.org>
Date: Tue May 11 11:59:40 2010 +0200
v3-4-ctdb: Bump up the vendor patch level to 5
commit 46e19554db30638fec32e909c7d8a6e05379d0b5
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 10 12:05:01 2010 +0200
libwbclient: Fix a fd-leak at dlclose-time
__attribute__((destructor)) makes winbind_close_sock() being called at
dlclose() time.
Found while testing apache on Linux with mod_auth_pam.
Other platforms will have to find a different fix. One possibility would be to
always close the socket after each operation, but this badly sucks
performance-wise.
commit 05763451f78885ea1b94e6621dbd58a813766251
Author: Volker Lendecke <vl at samba.org>
Date: Mon May 10 11:53:03 2010 +0200
s3: Test for "__attribute__((destructor))"
commit 4d77e276119781cbe9f237c0326d465695586689
Author: Volker Lendecke <vl at samba.org>
Date: Sat Jan 23 18:06:53 2010 +0100
nsswitch: Make some functions static
-----------------------------------------------------------------------
Summary of changes:
nsswitch/wb_common.c | 15 ++++++++++-----
nsswitch/winbind_client.h | 6 ------
source3/VERSION | 2 +-
source3/configure.in | 16 ++++++++++++++++
4 files changed, 27 insertions(+), 12 deletions(-)
Changeset truncated at 500 lines:
diff --git a/nsswitch/wb_common.c b/nsswitch/wb_common.c
index d0dfcb8..f27c688 100644
--- a/nsswitch/wb_common.c
+++ b/nsswitch/wb_common.c
@@ -41,7 +41,8 @@ void winbindd_free_response(struct winbindd_response *response)
/* Initialise a request structure */
-void winbindd_init_request(struct winbindd_request *request, int request_type)
+static void winbindd_init_request(struct winbindd_request *request,
+ int request_type)
{
request->length = sizeof(struct winbindd_request);
@@ -61,7 +62,10 @@ static void init_response(struct winbindd_response *response)
/* Close established socket */
-void winbind_close_sock(void)
+#if HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR
+__attribute__((destructor))
+#endif
+static void winbind_close_sock(void)
{
if (winbindd_fd != -1) {
close(winbindd_fd);
@@ -363,7 +367,8 @@ static int winbind_open_pipe_sock(int recursing, int need_priv)
/* Write data to winbindd socket */
-int winbind_write_sock(void *buffer, int count, int recursing, int need_priv)
+static int winbind_write_sock(void *buffer, int count, int recursing,
+ int need_priv)
{
int result, nwritten;
@@ -430,7 +435,7 @@ int winbind_write_sock(void *buffer, int count, int recursing, int need_priv)
/* Read data from winbindd socket */
-int winbind_read_sock(void *buffer, int count)
+static int winbind_read_sock(void *buffer, int count)
{
int nread = 0;
int total_time = 0, selret;
@@ -496,7 +501,7 @@ int winbind_read_sock(void *buffer, int count)
/* Read reply */
-int winbindd_read_reply(struct winbindd_response *response)
+static int winbindd_read_reply(struct winbindd_response *response)
{
int result1, result2 = 0;
diff --git a/nsswitch/winbind_client.h b/nsswitch/winbind_client.h
index b004d9c..d4f60a2 100644
--- a/nsswitch/winbind_client.h
+++ b/nsswitch/winbind_client.h
@@ -1,7 +1,6 @@
#include "winbind_nss_config.h"
#include "winbind_struct_protocol.h"
-void winbindd_init_request(struct winbindd_request *req,int rq_type);
void winbindd_free_response(struct winbindd_response *response);
NSS_STATUS winbindd_send_request(int req_type, int need_priv,
struct winbindd_request *request);
@@ -12,8 +11,6 @@ NSS_STATUS winbindd_request_response(int req_type,
NSS_STATUS winbindd_priv_request_response(int req_type,
struct winbindd_request *request,
struct winbindd_response *response);
-int winbindd_read_reply(struct winbindd_response *response);
-
#define winbind_env_set() \
(strcmp(getenv(WINBINDD_DONT_ENV)?getenv(WINBINDD_DONT_ENV):"0","1") == 0)
@@ -23,8 +20,5 @@ int winbindd_read_reply(struct winbindd_response *response);
#define winbind_on() \
(setenv(WINBINDD_DONT_ENV, "0", 1) == 0)
-int winbind_write_sock(void *buffer, int count, int recursing, int need_priv);
-int winbind_read_sock(void *buffer, int count);
-void winbind_close_sock(void);
const char *nss_err_str(NSS_STATUS ret);
diff --git a/source3/VERSION b/source3/VERSION
index 661b625..fd9dff0 100644
--- a/source3/VERSION
+++ b/source3/VERSION
@@ -85,7 +85,7 @@ SAMBA_VERSION_IS_GIT_SNAPSHOT=
# #
########################################################
SAMBA_VERSION_VENDOR_SUFFIX="ctdb"
-SAMBA_VERSION_VENDOR_PATCH=4
+SAMBA_VERSION_VENDOR_PATCH=5
########################################################
# This can be set by vendors if they want.. #
diff --git a/source3/configure.in b/source3/configure.in
index d61fed8..f7c0677 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1362,6 +1362,22 @@ if test x"$samba_cv_stat_dos_flags" = x"yes" ; then
AC_DEFINE(HAVE_STAT_DOS_FLAGS, 1, [whether there is DOS flags support in the stat struct])
fi
+AC_CACHE_CHECK([whether we can compile with __attribute__((destructor))],
+ samba_cv_function_attribute_destructor,
+ [
+ AC_COMPILE_IFELSE(
+ [
+ __attribute__((destructor))
+ static void cleanup(void) { }
+ ],
+ samba_cv_function_attribute_destructor=yes)
+ ])
+
+if test x"$samba_cv_function_attribute_destructor" = xyes ; then
+ AC_DEFINE(HAVE_FUNCTION_ATTRIBUTE_DESTRUCTOR, 1,
+ [whether we can compile with __attribute__((destructor))])
+fi
+
#####################################
# needed for SRV lookups
AC_CHECK_LIB(resolv, dn_expand)
--
SAMBA-CTDB repository
More information about the samba-cvs
mailing list