summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WHATSNEW.txt3
-rw-r--r--source/configure.in4
-rw-r--r--source/modules/vfs_recycle.c6
-rw-r--r--source/nsswitch/wbinfo.c6
-rw-r--r--source/passdb/pdb_tdb.c1
-rwxr-xr-xsource/script/mkversion.sh7
6 files changed, 18 insertions, 9 deletions
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 7f3a4bbdfe6..d6070a3ed13 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -166,6 +166,7 @@ o Volker Lendecke <vl@samba.org>
* Use the same CFLAGS for generating the pch as we use to
actually compile.
* Correct typo when compiling the vfs_catia module.
+ * Fix automatic recreation of a new tdb sam file.
o Derrell Lipman <derrell@samba.org>
@@ -217,6 +218,8 @@ o Makr Proehl <m.proehl@science-computing.de>
o Simo Sorce <idra@samba.org>
* Crackcheck utility enhancement based on patch sent by
Tom Geissler.
+ * BUG 3405: Fix segv ni vfs_recycle module on platforms wither
+ mode_t is not 32-bits.
o John Terpstra <jht@samba.org>
diff --git a/source/configure.in b/source/configure.in
index 147038a9301..f72864ed117 100644
--- a/source/configure.in
+++ b/source/configure.in
@@ -4505,8 +4505,8 @@ AC_ARG_WITH(aio-support,
AC_MSG_RESULT(yes)
case "$host_os" in
*)
- AC_CHECK_LIB(rt,aio_read,[AIO_LIBS="$AIO_LIBS -lrt"])
- AC_CHECK_LIB(aio,aio_read,[AIO_LIBS="$AIO_LIBS -laio"])
+ AC_CHECK_LIB(rt,aio_read,[AIO_LIBS="$LIBS -lrt"])
+ AC_CHECK_LIB(aio,aio_read,[AIO_LIBS="$LIBS -laio"])
AC_CACHE_CHECK([for asynchronous io support],samba_cv_HAVE_AIO,[
aio_LIBS=$LIBS
LIBS=$AIO_LIBS
diff --git a/source/modules/vfs_recycle.c b/source/modules/vfs_recycle.c
index 28593f4fbb7..7b2b15171e4 100644
--- a/source/modules/vfs_recycle.c
+++ b/source/modules/vfs_recycle.c
@@ -166,19 +166,19 @@ static int recycle_maxsize(vfs_handle_struct *handle)
static mode_t recycle_directory_mode(vfs_handle_struct *handle)
{
- mode_t dirmode;
+ int dirmode;
const char *buff;
buff = lp_parm_const_string(SNUM(handle->conn), "recycle", "directory_mode", NULL);
if (buff != NULL ) {
- sscanf(buff, "%o", (int *)&dirmode);
+ sscanf(buff, "%o", &dirmode);
} else {
dirmode=S_IRUSR | S_IWUSR | S_IXUSR;
}
DEBUG(10, ("recycle: directory_mode = %o\n", dirmode));
- return dirmode;
+ return (mode_t)dirmode;
}
static BOOL recycle_directory_exist(vfs_handle_struct *handle, const char *dname)
diff --git a/source/nsswitch/wbinfo.c b/source/nsswitch/wbinfo.c
index f3819b6f519..3a7a9e4b4f9 100644
--- a/source/nsswitch/wbinfo.c
+++ b/source/nsswitch/wbinfo.c
@@ -47,7 +47,7 @@ static char winbind_separator_int(BOOL strict)
NSS_STATUS_SUCCESS) {
d_fprintf(stderr, "could not obtain winbind separator!\n");
if (strict) {
- return -1;
+ return 0;
}
/* HACK: (this module should not call lp_ funtions) */
return *lp_winbind_separator();
@@ -59,7 +59,7 @@ static char winbind_separator_int(BOOL strict)
if (!sep) {
d_fprintf(stderr, "winbind separator was NULL!\n");
if (strict) {
- return -1;
+ return 0;
}
/* HACK: (this module should not call lp_ funtions) */
sep = *lp_winbind_separator();
@@ -1217,7 +1217,7 @@ int main(int argc, char **argv)
break;
case OPT_SEPARATOR: {
const char sep = winbind_separator_int(True);
- if (sep == -1) {
+ if ( !sep ) {
goto done;
}
d_printf("%c\n", sep);
diff --git a/source/passdb/pdb_tdb.c b/source/passdb/pdb_tdb.c
index 8bf9b1b2828..de79b4096a6 100644
--- a/source/passdb/pdb_tdb.c
+++ b/source/passdb/pdb_tdb.c
@@ -423,6 +423,7 @@ static NTSTATUS tdbsam_getsampwnam (struct pdb_methods *my_methods, SAM_ACCOUNT
if (!(pwd_tdb = tdbsam_tdbopen(tdb_state->tdbsam_location, O_CREAT ))) {
DEBUG(0, ("pdb_getsampwnam: TDB passwd (%s) did not exist. File successfully created.\n",
tdb_state->tdbsam_location));
+ tdb_close(pwd_tdb);
} else {
DEBUG(0, ("pdb_getsampwnam: TDB passwd (%s) does not exist. Couldn't create new one. Error was: %s\n",
tdb_state->tdbsam_location, strerror(errno)));
diff --git a/source/script/mkversion.sh b/source/script/mkversion.sh
index 1ba7cd63699..57840549213 100755
--- a/source/script/mkversion.sh
+++ b/source/script/mkversion.sh
@@ -102,7 +102,12 @@ echo "#define SAMBA_VERSION_STRING samba_version_string()" >> $OUTPUT_FILE
echo "$0: 'include/version.h' created for Samba(\"${SAMBA_VERSION_STRING}\")"
if test -n "${SAMBA_VERSION_VENDOR_SUFFIX}";then
- echo "$0: with VENDOR_SUFFIX = ${SAMBA_VERSION_VENDOR_SUFFIX}"
+ echo -n "$0: with VENDOR_SUFFIX = \""
+ echo -n ${SAMBA_VERSION_VENDOR_SUFFIX} | sed 's/"//g'
+ if test -n ${SAMBA_VENDOR_PATCH}; then
+ echo -n "-${SAMBA_VENDOR_PATCH}"
+ fi
+ echo "\""
fi
exit 0