1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

857 Commits

Author SHA1 Message Date
Günther Deschner
965a079535 tevent: avoid using reserved c++ word.
Guenther
2009-08-24 14:31:02 +02:00
Andrew Tridgell
0f98d539e2 note the semantic change in talloc_free from 2.0 2009-08-24 16:33:00 +10:00
Andrew Tridgell
f60f0077e4 fixed typo in talloc doc XML 2009-08-24 16:30:01 +10:00
Andrew Tridgell
2c846058ff LIBREPLACEOBJ now contains the full path 2009-08-24 16:30:00 +10:00
Andrew Tridgell
798b3fbb53 updated XML source for talloc man page 2009-08-24 16:30:00 +10:00
Andrew Tridgell
e6da38c8b7 added talloc_set_log_* documentation 2009-08-24 16:30:00 +10:00
Andrew Tridgell
a0e2041836 updated talloc guide for recent API changes 2009-08-24 16:30:00 +10:00
Andrew Tridgell
39cd5bbb33 make lib/replace more usable in standalone builds
This makes the lib/replace m4 work in lib/talloc as a standalone build
2009-08-24 16:30:00 +10:00
Andrew Tridgell
a5358402b2 fixed getpass m4
This allows the getpass.m4 code to work in standalone talloc builds
2009-08-24 16:30:00 +10:00
Stefan Metzmacher
55dbe80d05 talloc: add --enable-talloc-compat1 to build a compat library for talloc 1.x.x
metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
64e05779d2 talloc: update talloc.exports and talloc.signatures
metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
6c9ace27c5 talloc: add defines and functions for TALLOC_MAJOR/MINOR_VERSION
We also use the major and minor versions in the TALLOC_MAGIC,
so that we can detect if two conflicting versions of talloc
are loaded in one process. In this case we use talloc_log() to
output a very useful debug message before we call
talloc_abort().

metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
9baacbbbdf talloc: change version to 2.0.0
metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
5760edeeb6 talloc: remove ABI compat functions
metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
8a90c8bc98 talloc: remove unused build dependecies to samba
metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
ed384e8aac talloc/testsuite: use talloc_set_log_fn() and log to stdout
metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
e40f3144f2 talloc: add talloc_set_log_fn() and talloc_set_log_stderr()
So that the application can setup a log function to get ERROR
and WARNING messages.

metze
2009-08-24 16:29:58 +10:00
Stefan Metzmacher
ac8aeec824 talloc: let talloc_steal() only generate a warning if it's used with references
We have to many callers, which rely on that talloc_steal() never fails.

metze
2009-08-24 16:29:57 +10:00
Stefan Metzmacher
84810d7182 talloc/testsuite: report __location__ of testsuite failures
metze
2009-08-24 16:29:57 +10:00
Stefan Metzmacher
f8559b8238 talloc/testsuite: add infrastructure to test aborts
metze
2009-08-24 16:29:57 +10:00
Stefan Metzmacher
13227f83b9 talloc/testsuite: reset the globals after each subtest
metze
2009-08-24 16:29:57 +10:00
Stefan Metzmacher
1fbc86c57a talloc: call return after abort, because an overloaded abort function might not exit
This will be useful in the testsuite,
where we could check if an abort would happen.

metze
2009-08-24 16:29:57 +10:00
Stefan Metzmacher
2c664db749 talloc: report the size of reference handles as 0
metze
2009-08-24 16:29:57 +10:00
Stefan Metzmacher
d1895d2fee talloc: let talloc_total_blocks() and talloc_get_size() operate on the null_context
metze
2009-08-24 16:29:57 +10:00
Jeremy Allison
ba52f18bfe Fix for bug 6651 - smbd SIGSEGV when breaking oplocks.
Based on a patch submitted by Petr Vandrovec <petr@vandrovec.name>.
Multiple pending signals with siginfo_t's weren't being handled correctly
leading to smbd abort with kernel oplock signals.
Jeremy
2009-08-21 15:07:25 -07:00
Michael Adam
5270efab1a tevent: fix a comment
Michael
2009-08-19 11:39:44 +02:00
Stefan Metzmacher
97a1ed53ca tevent: change version to 0.9.7 after adding tevent_req_cancel infrastructure
metze
2009-08-17 09:25:44 +02:00
Stefan Metzmacher
45e4be0d96 tevent: add tevent_req_cancel() infrastructure
This offers a generic way for callers to cancel an
async request.

metze
2009-08-17 09:25:44 +02:00
Stefan Metzmacher
95c3d3b5d8 tevent: add some more doxygen comments for tevent_req functions
metze
2009-08-15 10:46:36 +02:00
Matt Kraai
91d13b68be libreplace: undef AI_ADDRCONFIG on QNX 6.3.0 (fix bug #6630)
Some of the functions in source3/lib/util_sock.c use AI_ADDRCONFIG.  On QNX
6.3.0, this macro is defined but, if it's used, getaddrinfo will fail.  This
prevents smbd from opening any sockets.

If I undefine AI_ADDRCONFIG on such systems and allow
lib/replace/system/network.h to define it to be 0, this works around the issue.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-08-12 13:27:39 +02:00
Kouhei Sutou
7fc94932ad Rename ASN1_BITFIELD to ASN1_BIT_STRING.
X.690 uses "BIT STRING" not "BIT FIELD".
2009-08-11 12:59:14 +02:00
Matt Kraai
e1a95e7961 libreplace: set SONAMEFLAG to "-Wl,-soname=" on QNX 2009-08-08 11:18:29 +02:00
Jeremy Allison
4fc9f9c3f9 Add define guards around otherwise unused variable.
Jeremy.
2009-08-06 11:47:08 -07:00
Rusty Russell
252f7da702 There is one signedness issue in tdb which prevents traverses of TDB records
over the 2G offset on systems which support 64 bit file offsets.  This fixes
that case.

On systems with 32 bit offsets, expansion and fcntl locking on these records
will fail anyway.  SAMBA already does '#define _FILE_OFFSET_BITS 64' in
config.h (on my 32-bit x86 Linux system at least) to get 64 bit file offsets.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-08-06 13:13:42 +10:00
Andrew Tridgell
d40537c92a fixed a uid_wrapper bug that caused a segv in the RAW-ACLS test 2009-08-05 13:32:04 +10:00
Andrew Tridgell
58e5e1ea8d make the UID_WRAPPER skip checks at runtime
This fixes two issues pointed out by Andrew. It adds a runtime
uwrap_enabled() call that wraps the skips needed for uid emulation. It
also makes the skip in the directory_create_or_exist() function only
change the uid checking code, not the permissions code
2009-08-05 11:21:06 +10:00
Andrew Tridgell
fd43e0ee09 added a uid_wrapper library
This library intercepts seteuid and related calls, and simulates them
in a manner similar to the nss_wrapper and socket_wrapper
libraries. This allows us to enable the vfs_unixuid NTVFS module in
the build farm, which means we are more likely to catch errors in the
token manipulation.

The simulation is not complete, but it is enough for Samba4 for
now. The major areas of incompleteness are:

 - no emulation of setreuid, setresuid or saved uids. These would be
   needed for use in Samba3

 - no emulation of ruid changing. That would also be needed for Samba3

 - no attempt to emulate file ownership changing, so code that (for
   example) tests whether st.st_uid matches geteuid() needs special
   handling
2009-08-05 10:51:00 +10:00
Stefan Metzmacher
2ef1159c0d util/asn1: fix potential memory leak in asn1_write_OID()
metze
2009-07-31 14:42:02 +02:00
Rusty Russell
a207cca1d3 tdb: don't alter tdb->flags in tdb_reopen_all()
The flags are user-visible, via tdb_get_flags/add_flags/remove_flags.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-07-31 14:40:28 +02:00
Rusty Russell
3b2f074bda tdb: Reimplementation of Metze's "lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() should be a noop".
This version just wraps the reopen code, so we still re-grab the lock and do
the normal sanity checks.

The reason we do this at all is to avoid global fd limits, see:
http://forums.fedoraforum.org/showthread.php?t=210393

Note also that this whole reopen concept is fundamentally racy: if the parent
goes away before the child calls tdb_reopen_all, the database can be left
without an active lock and another TDB_CLEAR_IF_FIRST opener will clear it.
A fork_with_tdbs() wrapper could use a pipe to solve this, but it's hardly
elegant (what if there are other independent things which have similar needs?).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-07-31 14:40:28 +02:00
Rusty Russell
fa91bc6719 tdb: Revert "lib/tdb: if we know pwrite and pread are thread/fork safe tdb_reopen_all() should be a noop"
This reverts commit e17df483fbedb81aededdef5fbb6ae1d034bc2dd.

tdb_reopen_all also restores the active lock, required for TDB_CLEAR_IF_FIRST.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-07-31 14:40:28 +02:00
Rusty Russell
36c0f0f99a realloc() has that horrible overloaded free semantic when size is 0:
current code does a free of the old record in this case, then fail.
2009-07-30 13:10:33 -07:00
Rusty Russell
a88c281ddc If the record is at the end of the database, pretending it has length 1
might take us out-of-bounds.  Only pretend to be length 1 for the malloc.
2009-07-30 13:09:33 -07:00
Jelmer Vernooij
6768cfe624 DCE/RPC(Python): Rename py_talloc_import to py_talloc_steal.
Use py_talloc_reference in DCE/RPC code, fixes
					access to SAMR pipe.
2009-07-30 20:04:42 +02:00
Volker Lendecke
7c768ddab6 No explicit initialization necessary for a zero blob 2009-07-25 12:59:21 -04:00
Rusty Russell
760104188d tdb: fix locking error
54a51839ea65aa788b18fce8de0ae4f9ba63e4e7 "Make tdb transaction lock
recursive (samba version)" was broken: I "cleaned it up" and prevented
it from ever unlocking.

To see the problem:
	$ bin/tdbtorture -s 1248142523
	tdb_brlock failed (fd=3) at offset 8 rw_type=1 lck_type=14 len=1
	tdb_transaction_lock: failed to get transaction lock
	tdb_transaction_start failed: Resource deadlock avoided

My testcase relied on the *count* being correct, which it was.  Fixing that
now.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael Adam <obnox@samba.org>
2009-07-21 10:21:53 +02:00
Tim Prouty
04c3dfde0f lib util: Fix const warning 2009-07-20 16:08:24 -07:00
Rusty Russell
54a51839ea Make tdb transaction lock recursive (samba version)
This patch replaces 6ed27edbcd3ba1893636a8072c8d7a621437daf7 and
1a416ff13ca7786f2e8d24c66addf00883e9cb12, which fixed the bug where traversals
inside transactions would release the transaction lock early.

This solution is more general, and solves the more minor symptom that nested
traversals would also release the transaction lock early.  (It was also suggestd in
Volker's comment in 6ed27ed).

This patch also applies to ctdb, if the traverse.c part is removed (ctdb's tdb
code never received the previous two fixes).

Tested using the testsuite from ccan (adapted to the samba code).  Thanks to
Michael Adam for feedback.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michael Adam <obnox@samba.org>
2009-07-20 22:17:20 +02:00
Jelmer Vernooij
54670bb400 Remove unused parameter setting. 2009-07-19 18:58:22 +02:00
Slava Semushin
5f8df16471 lib/util/util_file.c(file_save): fixed file descriptor leak when read(2) fails.
Found by cppcheck:
[./lib/util/util_file.c:383]: (error) Resource leak: fd
2009-07-19 16:00:39 +02:00