1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
Commit Graph

532 Commits

Author SHA1 Message Date
Andrew Tridgell
9a1cd09a10 build: added ADD_CFLAGS() and started of Samba4 build 2010-04-06 20:26:34 +10:00
Andrew Tridgell
2b5a1cc70c build: added waf build rules for ldb 2010-04-06 20:26:34 +10:00
Andrew Tridgell
8f062f4a0f build: neater way to find libreplace and start on tevent waf build 2010-04-06 20:26:33 +10:00
Andrew Tridgell
5c103b484f build: renamed autoconf.py to wafsamba.py and added SAMBA_*() functions 2010-04-06 20:26:33 +10:00
Andrew Tridgell
34b77a15d3 build: updates to waf scripts for replace and talloc 2010-04-06 20:26:33 +10:00
Andrew Tridgell
9757da515d build: a first attempt at waf build for talloc and libreplace
very rough so far
2010-04-06 20:26:33 +10:00
Andrew Tridgell
fde50c633f talloc: a useful bit of debug code
this is useful when tracking down talloc loops. It is probably too
expensive to have on by default.
2010-04-02 18:52:29 +11:00
Andrew Tridgell
1b4bbec523 talloc: add a define for TALLOC_MAX_DEPTH
Thanks to the suggestion from simo
2010-04-02 18:52:29 +11:00
Andrew Tridgell
5ccd30e9ac talloc: change talloc minor version to 2.0.2
this has the talloc_is_parent() bugfix
2010-04-02 13:15:18 +11:00
Andrew Tridgell
ff2b7d42e6 talloc: limit the depth that talloc will go for talloc_is_parent()
We have a bug in the dcerpc registry code that can cause a talloc loop
that chews unlimited CPU because of talloc_is_parent() during a
talloc_free()
2010-04-02 13:15:18 +11:00
Andrew Tridgell
7ed349cace pytalloc: allow for using a system libtalloc-dev with pytalloc
When we have a system talloc library, we still need to grab pytalloc.h
from lib/talloc. We don't want to just use -Ilib/talloc, as otherwise
we'll get the in-tree talloc.h which may not be compatible with the
system talloc.h

So we need to give the path to pytalloc.h
2010-03-29 21:34:29 +11:00
Andrew Tridgell
08faa3a43c talloc: testsuite should use <talloc.h> not "talloc.h"
if we are using the system talloc, the testsuite needs to use the
system talloc.h
2010-03-29 21:34:29 +11:00
Kamen Mazdrashki
d142d9fb64 doxygen: talloc_get_type name fixed in Doxygen documentation
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-03-10 17:11:55 +01:00
Simo Sorce
6339de7f4f release-scripts: parametrize scripts
This should make it easier to keep all release scripts alined as it will reduce
the difference between them to ideally a few variables

Also moves the tdb script in the scripts directory.
2010-02-08 10:29:06 -05:00
Simo Sorce
6bf2a821b7 talloc: Fix abi checks in release script
We must perform abi checks against the version we are going to release.
Not against the current tree we are in.
2010-02-08 10:12:50 -05:00
Simo Sorce
1422a94654 talloc: Fix abi checks and ifdefs
teach the abi check scripts to skip the DOXYGEN sections
fix the header to use #ifdef DOXYGEN and not #if DOXYGEN
2010-02-08 10:02:49 -05:00
Andrew Tridgell
7fed22eb0a talloc: fixed doc typo 2010-02-08 11:04:59 +11:00
Andreas Schneider
da0e396deb Move the talloc details to the mainpage.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-02-08 11:04:59 +11:00
Andreas Schneider
52c0cd38fa talloc: Added doxygen config file.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-02-08 11:04:59 +11:00
Andreas Schneider
fbd646a783 talloc: Documented talloc with doxygen.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-02-08 11:04:59 +11:00
Matt Kraai
2cb2d5317f Change uint_t to unsigned int in lib/talloc
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-02-02 07:18:16 +01:00
Jelmer Vernooij
c42242d132 s4: Include Python.h early to avoid double definition errors. 2010-01-21 16:15:10 +13:00
Brian Lu
eff6022d51 talloc: create symbol links to shared libraries see https://bugzilla.samba.org/show_bug.cgi?id=6991 for details
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-01-06 14:27:44 +01:00
Simo Sorce
7f956869ff Fix release script to work with recent git versions 2009-12-15 09:17:25 -05:00
Kamen Mazdrashki
8efabcc8a5 talloc: Fix write behind memory block
If ALWASY_REALLOC is defined and we are to 'shrink' memory block,
memcpy() will write outside memory just allocated.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-08 12:39:10 +11:00
Simo Sorce
6618a062a1 talloc: Fix exports and increment talloc version 2009-10-14 11:05:52 -04:00
Simo Sorce
8fb483b296 talloc: Make abi checks in release script
Make always sure the exports and signature files are up to date before
shipping a release.
2009-10-14 11:05:52 -04:00
Simo Sorce
8e6df560b7 talloc: Move release script under /script too 2009-10-14 11:05:52 -04:00
Simo Sorce
2d6d6bcb5d talloc: Change the way mksysms work
Make sure we always have a sorted (per file) export file.
This way we can directly compare the real export and the check file w/o having
to further sort things.

Also return error code from abi_checks.sh if warnings were reported
2009-10-14 11:05:51 -04:00
Jelmer Vernooij
830adcd58d pidl: Avoid using talloc_free as function pointer, since it may be a
macro.
2009-09-28 15:03:17 +02:00
Andrew Tridgell
3c5d763962 talloc: fixed talloc_disable_null_tracking()
When we disable null tracking, we need to move any existing objects
that are under the null_context to be parented by the true NULL
context.

We also need a new talloc_enable_null_tracking_no_autofree() function,
as the talloc testsuite cannot cope with the moving of the autofree
context under the null_context as it wants to check exact counts of
objects under the null_context, and smbtorture has a large number of
objects in the autofree_context from .init functions
2009-09-20 13:14:40 -07:00
Andrew Tridgell
78338d431c talloc: don't crash if f is NULL in talloc_report_*
It's annoying when you use 
  p talloc_report_full(ctx, fopen("/tmp/xx","w"))
in gdb, and if you don't have write permission on the file then
you get a segv.
2009-09-17 21:52:28 -07:00
Andrew Tridgell
00fb6705ff talloc: when we enable NULL tracking, reparent the autofree context
If NULL tracking is enabled after the autofree context is initialised
then autofree ends up separate from the null_context. This means that
talloc_report_full() doesn't report the autofree context. Fix this by
reparenting the autofree context when we create the null_context.
2009-09-15 18:45:41 -07:00
Michael Adam
ea2b9e0fb1 talloc:mksigs: allow PRINTF_ATTRIBUTE(..) macros function types as funcion args
Michael
2009-09-11 15:31:35 +02:00
Michael Adam
56c09d2fb2 talloc:mksigs: normalize bool -> _Bool
Michael
2009-09-11 15:31:35 +02:00
Michael Adam
82404ad3e4 talloc:mksigs: ignore symbols (like _DEPRECATED_) after closing function parentheses
Michael
2009-09-11 15:31:33 +02:00
Michael Adam
629ff2b6e2 talloc:mksigs: correctly ignode multiline function typedefs
by first concatenating multilint parentheses and removing typefes afterwards.

Michael
2009-09-11 15:31:33 +02:00
Michael Adam
7b0e072631 talloc:mksigs: ignore struct forward declarations.
Michael
2009-09-11 15:31:32 +02:00
Michael Adam
e60c775835 talloc:mksyms: allow characters after closing functions parenthesis.
Michael
2009-09-11 15:31:32 +02:00
Michael Adam
fd55479981 talloc:mksyms: allow double pointer return value of functions.
Michael
2009-09-11 15:31:32 +02:00
Andrew Tridgell
27b19eb9f6 report the location of the original talloc_free on double free
When we get a double free abort from talloc it is often hard to work
out where the first free came from. This patch takes advantage of the
fact that _talloc_free() now takes a location the free was called from
to allow the double free abort code to print the location of the first
free that conflicts.
2009-09-04 14:40:51 +10:00
Michael Adam
700533a748 One would expect I could spell my name. 2009-08-30 00:56:03 +02:00
Michael Adam
c7d9617259 talloc: move the original abi_checks script to script/abi_checks_gcc.sh
Michael
2009-08-30 00:51:53 +02:00
Michael Adam
d9b193189a talloc: remove talloc_free from the exports
Michael
2009-08-30 00:51:53 +02:00
Michael Adam
fe0b5234ba talloc: run abi_checks as part of "make test"
Michael
2009-08-30 00:51:52 +02:00
Michael Adam
4e9a06d601 talloc: remove files generated by "make abi_check" in "make clean"
Michael
2009-08-30 00:51:52 +02:00
Michael Adam
cbc75c11fd talloc: add a target "abi_checks" to talloc.
Simply run "make abi_checks" to call the abi check script appropriately.

Michael
2009-08-30 00:51:52 +02:00
Michael Adam
f1b386a894 talloc: add script/abi_checks.sh. check for abi changes without gcc magic.
USAGE: abi_checks.sh LIBRARY_NAME header1 [header2 ...]

This creates symbol signature lists using the mksyms and mksigs scripts
and compares them with the checked in lists.

Michael
2009-08-30 00:51:51 +02:00
Michael Adam
4579c05462 talloc: add script to extract signatures from header files.
This produces output like the output gcc produces when
invoked with the -aux-info switch.

Run like this: cat talloc.h | ./script/mksigs.pl

This simple parser is probably too coarse to handle all possible
header files, but it does treat talloc.h correctly.

Michael
2009-08-30 00:51:51 +02:00
Michael Adam
e896f9188d talloc: add scripts to extract library symbols (exports file) from headers
Michael
2009-08-30 00:51:50 +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
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
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
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
5742ed128d Fix some warnings 2009-07-04 12:54:22 +02:00
Simo Sorce
2738178d13 Restore ABI compatibility for talloc. 2009-07-03 08:45:29 -04:00
Stefan Metzmacher
f1dbd58a99 talloc: change TALLOC_MAGIC for version 2.0.0
metze
2009-07-02 23:18:42 +10:00
Andrew Tridgell
acfb01a8f6 change talloc to 2.0.0
This is needed to prevent samba3 and samba4 from using an ABI
incompatible system version of talloc

See ongoing discussion on the samba-technical mailing list
2009-07-02 15:19:40 +10:00
Andrew Tridgell
34d6d7cec8 fixed the talloc testsuite for the recent changes 2009-07-01 16:37:33 +10:00
Andrew Tridgell
3c2f4df555 a talloc_realloc() to zero size needs to use an unambiguous free 2009-07-01 16:37:33 +10:00
Andrew Tridgell
5fe1d8dc12 changes to remove the ambiguity in talloc_free() and talloc_steal()
These changes follow from the discussions on samba-technical. The
changes are in several parts, and stem from the inherent ambiguity
that was in talloc_free() and talloc_steal() when the pointer that is
being changes has more than one parent, via references.

The changes are:

 1) when you call talloc_free() on a pointer with more than one parent
 the free will fail, and talloc will log an error to stderr like this:

    ERROR: talloc_free with references at some/foo.c:123
	   reference at other/bar.c:201
	   reference at other/foobar.c:641
 
 2) Similarly, when you call talloc_steal() on a pointer with more
 than one parent, the steal will fail and talloc will log an error to
 stderr like this:

    ERROR: talloc_steal with references at some/foo.c:123
	   reference at other/bar.c:201

 3) A new function talloc_reparent() has been added to change a parent
 in a controlled fashion. You need to supply both the old parent and
 the new parent. It handles the case whether either the old parent was
 a normal parent or a reference

The use of stderr in the logging is ugly (and potentially dangerous),
and will be removed in a future patch. We'll need to add a debug
registration function to talloc.
2009-07-01 15:15:37 +10:00
Andrew Tridgell
956b5a0003 fixed use of reference in pytalloc
The previous code caused memory leaks, and also caused situations
where talloc_free could be called on pointers with multiple parents

The new approach is to have two functions:

  py_talloc_import : steals the pointer, so it becomes wholly owned by
                     the python object
  py_talloc_reference: uses a reference, so it is owned by both python
                     and C
2009-07-01 15:15:37 +10:00
Simo Sorce
ac1d311e9c fix release scripts to always git clean
This makes sure we do not include foreign object files or other
build byproducts by mistake.
2009-06-17 14:18:03 -04:00
Simo Sorce
e83f4b868b Add exports file and abi checker for talloc
This is a first attempt at exporting symbols only for public functions
We also provide a rudimentary ABI checker that tries to check that
function signatures are not changed by mistake.
Given our use of macros this is not an API checker.
It's all based on talloc.h contents and the gcc -aux-info option
2009-06-15 16:31:12 -04:00
Stefan Metzmacher
eff9bcc9c7 talloc: try to fix the source4 build on AIX
metze
2009-06-08 09:40:11 +02:00
Jelmer Vernooij
6230eb94af Update copies of config.guess and config.sub. 2009-05-16 04:03:12 +02:00
Jelmer Vernooij
730c91aaaa Avoid --nonet when building manpages; xsltproc will already prefer local
stylesheets if they are installed.
2009-05-06 17:48:01 +02:00
Simo Sorce
d52172654c Update tdb and talloc web pages 2009-05-05 19:04:39 -04:00
Simo Sorce
b58abb262c Add release scripts for talloc and tdb 2009-05-05 09:51:00 -04:00
Simo Sorce
b029e0edcf Prevent reallocs of the talloc pool itself 2009-04-22 09:58:06 -04:00
Volker Lendecke
979a1b06d0 talloc_array_length: talloc_get_size deals fine with NULL 2009-03-22 22:10:09 +01:00
Volker Lendecke
f590915fe5 Revert "Add a basic Doxyfile for talloc"
This reverts commit f55e84e904.
2009-03-22 09:48:54 +01:00
Volker Lendecke
a83c18062a Revert "Convert the contents of talloc_guide.txt to doxygen-style talloc.h comments"
This reverts commit d21212c919.
2009-03-22 09:48:48 +01:00
Volker Lendecke
c3df040699 Revert "Delete talloc_guide.txt"
This reverts commit 3f9c30022a.
2009-03-22 09:48:41 +01:00
Volker Lendecke
b7fb083dd7 Revert "Add a default "undocumented" module"
This reverts commit ba42320c7e.
2009-03-22 09:48:34 +01:00
Volker Lendecke
790326cc38 Revert "Add some initial hook to the front page"
This reverts commit cfce2d3611.
2009-03-22 09:48:27 +01:00
Volker Lendecke
5098f4625e Revert "Reformatting"
This reverts commit db447d0c47.
2009-03-22 09:48:19 +01:00
Volker Lendecke
c67ea37d62 Revert "Document talloc_pool()"
This reverts commit 27944ed745.
2009-03-22 09:48:14 +01:00
Volker Lendecke
6b1a5bbf02 Revert "Add a talloc_internal "module""
This reverts commit 02662d56c6.
2009-03-22 09:48:06 +01:00
Volker Lendecke
cce595d1fc Revert "Document _talloc"
This reverts commit 2ce70d4f5a.
2009-03-22 09:47:59 +01:00
Volker Lendecke
f15a0305f3 Revert "Document TALLOC_FREE()"
This reverts commit 3f81649b8d.
2009-03-22 09:47:51 +01:00
Volker Lendecke
c086c26ffb Revert "Document talloc_parent, talloc_parent_name and talloc_is_parent"
This reverts commit 986c2e01cc.
2009-03-22 09:47:44 +01:00
Volker Lendecke
257ea7e6f1 Revert "Document talloc_zero_array()"
This reverts commit 59dff57455.
2009-03-22 09:47:37 +01:00
Volker Lendecke
59dff57455 Document talloc_zero_array() 2009-03-21 23:57:24 +01:00
Volker Lendecke
986c2e01cc Document talloc_parent, talloc_parent_name and talloc_is_parent 2009-03-21 23:50:33 +01:00
Volker Lendecke
3f81649b8d Document TALLOC_FREE() 2009-03-21 20:04:17 +01:00
Volker Lendecke
2ce70d4f5a Document _talloc 2009-03-21 20:04:17 +01:00
Volker Lendecke
02662d56c6 Add a talloc_internal "module" 2009-03-21 20:04:17 +01:00
Volker Lendecke
27944ed745 Document talloc_pool() 2009-03-21 19:49:40 +01:00
Volker Lendecke
db447d0c47 Reformatting 2009-03-21 19:02:02 +01:00
Volker Lendecke
cfce2d3611 Add some initial hook to the front page 2009-03-21 19:02:02 +01:00
Volker Lendecke
ba42320c7e Add a default "undocumented" module 2009-03-21 19:02:02 +01:00
Volker Lendecke
3f9c30022a Delete talloc_guide.txt 2009-03-21 19:02:02 +01:00
Volker Lendecke
d21212c919 Convert the contents of talloc_guide.txt to doxygen-style talloc.h comments
talloc_guide.txt was partly outdated, and as going through talloc.h now shows
it was incomplete.
2009-03-21 19:02:01 +01:00
Volker Lendecke
f55e84e904 Add a basic Doxyfile for talloc 2009-03-21 19:02:01 +01:00
Stefan Metzmacher
752cf03bf7 talloc: change version to 1.3.0
metze
2009-03-16 11:14:54 +01:00
Stefan Metzmacher
6d4a13241a talloc: add useful talloc_array_length() macro
metze
2009-03-16 11:14:53 +01:00
Stefan Metzmacher
a3998832db talloc: add TALLOC_ZERO()
metze
2009-03-16 11:14:53 +01:00
Stefan Metzmacher
7a8b97ec2b talloc: add talloc_set_abort_fn()
metze
2009-03-12 12:04:31 +01:00
Andrew Bartlett
92bb91a611 Update talloc version so we don't fail on system talloc 1.2.0
The problem is that talloc in the Samba tree now includes
talloc_get_type_abort(), which is not present on Fedora 10 or ubuntu's
talloc 1.2.0.

Andrew Bartlett
2009-03-05 10:46:46 +11:00
Stefan Metzmacher
b6f479d441 talloc: add talloc_get_type_abort()
metze
2009-03-03 18:07:33 +01:00
Stefan Metzmacher
2f8a398296 lib/talloc: include replace.h in pytalloc.c
This fixes the build on Tru64.

metze
2009-01-30 19:38:09 +01:00
Jelmer Vernooij
5c75b65ca1 Merge branch 'master' of ssh://git.samba.org/data/git/samba 2008-12-23 22:12:23 +01:00
Jelmer Vernooij
22703bf3ff standalone: Use more variables, preparing to include these files from main
Samba 4 makefile.
2008-12-23 19:44:11 +01:00
Jelmer Vernooij
86cee0b28c pytalloc: Add some comments, use talloc object location in repr rather
than python object location.
2008-12-23 04:06:21 +01:00
Jelmer Vernooij
e6d5552250 Fix prefixing swig library directory with prefix. 2008-12-23 01:40:08 +01:00
Jelmer Vernooij
eeb25cf548 Fix more introduced regressions in new bindings. 2008-12-21 04:36:16 +01:00
Jelmer Vernooij
2e7a6cb6bf py: Fix initialisation of subtypes, fix segfaults. 2008-12-21 03:08:14 +01:00
Jelmer Vernooij
c1a9b68623 Create and use convenience function for creating new talloc-wrapping Python Objects, support subtypes of DCE/RPC interfaces properly 2008-12-21 00:37:31 +01:00
Jelmer Vernooij
a57b1aa0f1 Initial work using manual Python bindings for LDB, rather than SWIG-generated ones. 2008-12-19 01:22:07 +00:00
Jelmer Vernooij
0f043c197c Move pytalloc to talloc directory. 2008-10-24 02:52:51 +02:00
Jelmer Vernooij
ca44340891 Fix some syntax errors for use with ReST. 2008-10-01 18:06:55 +02:00
Stefan Metzmacher
2019a98e46 lib/talloc: move main() out of testsuite.c
metze
2008-09-22 00:20:39 +02:00
Simo Sorce
e07400525f Add shared-build target to talloc.
Useful to build multiple standalone libraries that depend on each other
without having to install them to the final install dir during the build.
2008-09-19 18:07:37 -04:00
Jelmer Vernooij
94855cd692 Move common libraries from root to lib/. 2008-09-17 14:11:12 +02:00