summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r2710: continue with the new style of providing a parent context wheneverAndrew Tridgell19-96/+124
possible to a structure creation routine. This makes for much easier global cleanup. (This used to be commit e14ee428ec357fab76a960387a9820a673786e27)
2007-10-10r2709: finally solved the talloc reference problem.Andrew Tridgell4-48/+220
The problem was that the simple "uint_t ref_count;" in a talloc chunk did not give enough information. It told us that a pointer was referenced more than once, but it didn't say who it was referenced by. This means that when the pointer was freed we had no sane way to clean up the reference. I have now replaced ref_count with a "refs" list, which means that references point to the pointer, and the pointer has a linked list of references. So now we can cleanup from either direction without losing track of anything. I've also added a LOCAL-TALLOC smbtorture test that tests talloc behaviour for some common uses. (This used to be commit 911a8d590cb184bcb892810729955c2c4cf02550)
2007-10-10r2705: Don't try RemQueryInterface2 for now (doesn't validate)Jelmer Vernooij1-2/+2
(This used to be commit b2f4532e906e1a5bf134812072aad211ba2d01bb)
2007-10-10r2704: Complain about 'object interfaces' that don't have version 0.0 (the ↵Jelmer Vernooij2-1/+7
standard doesn't allow them to! I think the idea is that you just create a new interface that inherits your old interface, thus ensuring backwards-compatibility) Re-enable to validator (This used to be commit e364e46a88e5a222c94cdb9cf8e7a124e43f0bcf)
2007-10-10r2699: Correct handle ServerAlive() and ServerAlive2() + add torture testsJelmer Vernooij3-16/+130
(This used to be commit 9e74144aa8e5f9a8b6e3d5293833c4afeebeddb0)
2007-10-10r2696: DCOM updates:Jelmer Vernooij8-90/+212
- Start working on OXIDResolver interface - Add torture test for SimplePing() (This used to be commit b54d14a01a71082251ff926ab57974c6eb3c0a41)
2007-10-10r2695: revert "Del" renamingSimo Sorce6-34/+34
(This used to be commit ddd74dae8efe4e04b5a56ee9ecd9d4f87f99d104)
2007-10-10r2694: DN -> DC these are domain components ...Simo Sorce1-1/+1
(This used to be commit 35135033ffbae42a3a946ea30ba46f6ed9b12898)
2007-10-10r2693: - send a reply when no attributes thereStefan Metzmacher1-3/+11
- add some debug messages metze (This used to be commit 1de1beca66da68e5af0869629d2c50016c25e776)
2007-10-10r2690: deleted by mistakeSimo Sorce1-0/+3
(This used to be commit 3d587a7141908362657afc2dfd0c78d73a5fed07)
2007-10-10r2689: Use consistent naming Del -> DeleteSimo Sorce6-32/+73
Add delete functionality to ldb simple lda server backend add some const in ldap.h (This used to be commit 5ed9a6eb184f34eb572dd81202237042518ec7cd)
2007-10-10r2688: - fix case where listed attributes are askedStefan Metzmacher4-115/+129
- use the return code of the functions and only call ldapsrv_terminate_connection from ldapsrv_recv() or ldapsrv_send() - the rootdse is now a normal partition metze (This used to be commit af1501a28d700f90cd2243fbfdce6527a0f62961)
2007-10-10r2687: Add ORPC flag (used by DCOM)Jelmer Vernooij1-0/+1
(This used to be commit b7ac0cb692ea373f754d7a40b44a7b0756459287)
2007-10-10r2686: remove unused gtk+ checkStefan Metzmacher1-2/+0
metze (This used to be commit d1e8b340a9942553ec7f281affd11ea4315ac448)
2007-10-10r2685: ALLOC_CHECK() after talloc_steal() isn't neededStefan Metzmacher1-4/+0
(thanks simo:-) metze (This used to be commit e62cd75d3786f3d638ac2a27d6e864c826eaa48f)
2007-10-10r2684: Free the right talloc context (don't panic when encountering illegal ↵Jelmer Vernooij1-1/+1
multibyte sequences) (This used to be commit b90da2337b83eb261a8072f9d0b13ec28caf3c4d)
2007-10-10r2683: Fix a couple of compile warnings, depend on gtk+-2.4Jelmer Vernooij6-34/+41
(This used to be commit 4668384717eda878583477b8f455809056885120)
2007-10-10r2682: as sambdb holds all search data, don't double free the dataStefan Metzmacher1-2/+0
metze (This used to be commit 740347255b8f1aafda1ebd10d63fdde1c4041af0)
2007-10-10r2681: commit the first semi working search implementationStefan Metzmacher2-3/+89
which exports data from a ldb. I commit this code, so that someone can help me to find a strange bug metze (This used to be commit 67bb49172567af9d106ded55c1257b808d2a97ff)
2007-10-10r2680: switched the libcli/raw/ code over to use talloc_reference(), which ↵Andrew Tridgell9-67/+26
simplifies things quite a bit (This used to be commit c82a9cf750829c4f6982ca3133295c8599023c4e)
2007-10-10r2679: fixed an uninitialised variable found with valgrindAndrew Tridgell1-1/+2
(This used to be commit 9087fab0adcf1791caeb795509ca9f14f5f47e82)
2007-10-10r2678: from_name and to_name aren't needed in smb_iconv_tAndrew Tridgell2-4/+0
(This used to be commit f3844cc0a5ad6b03f166435d44db02763df345d7)
2007-10-10r2677: - fixed a bug in the recursive logic talloc_free() when there areAndrew Tridgell1-21/+50
circular references (circular references are allowed, they just need to be handled carefully inside talloc) - mark talloc_reference() pointers nicely in the --leak-report-full code, so you see what has a reference to what in a useful manner (This used to be commit a87d3d11344069284604a7294a54cadcc6e1a096)
2007-10-10r2676: add a test of the reference counting logic in the SAMR server into theAndrew Tridgell1-86/+31
RPC-SAMR torture test. This closes the samr connection before working on a open domain handle. The server is supposed to know that the open domain handle still holds a reference to the connection, so the connection remains valid even though it has been closed. (This used to be commit f31e5d56e364ce8ab76fdb20b30e179b458b2ffa)
2007-10-10r2675: added a convenience functionAndrew Tridgell2-47/+46
void *talloc_reference(const void *context, const void *ptr); this function makes a secondary reference to ptr, and hangs it off the given context. This greatly simplifies some of the current reference counting code in the samr server and I suspect it will be widely used in other places too. the way you use it is like this: domain_state->connect_state = talloc_reference(domain_state, connect_state); that makes the element connect_state of domain_state a secondary reference to connect_state. The connect_state structure will then only be freed when both domain_state and the original connect_state go away, allowing you to free them independently and in any order. you could do this alrady using a talloc destructor, and that is what the samr server did previously, but that meant this construct was being reinvented in several places. So this convenience function sets up the destructor for you, giving a much more convenient and less error prone API. (This used to be commit dc5315086156644fad093cbe6b02d999adba8540)
2007-10-10r2674: I have realised that talloc() should have its context marked const, asAndrew Tridgell6-50/+106
a const pointer really means that "the data pointed to by this pointer won't change", and that is certainly true of talloc(). The fact that some behind-the-scenes meta-data can change doesn't matter from the point of view of const. this fixes a number of const warnings caused by const data structures being passed as talloc contexts. That will no longer generate a warning. also changed the talloc leak reporting option from --leak-check to --leak-report, as all it does is generate a report on exit. A new --leak-report-full option has been added that shows the complete tree of memory allocations, which is is quite useful in tracking things down. NOTE: I find it quite useful to insert talloc_report_full(ptr, stderr) calls at strategic points in the code while debugging memory allocation problems, particularly before freeing a major context (such as the connection context). This allows you to see if that context has been accumulating too much data, such as per-request data, which should have been freed when the request finished. (This used to be commit c60ff99c3129c26a9204bac1c6e5fb386114a923)
2007-10-10r2673: in the rpc server, free up the old call when we decide to extend anAndrew Tridgell1-1/+3
existing call rather than creating a new one. This prevents call structures hanging around on the rpc connection context until it is closed (This used to be commit c51ca7c0e73b97435c245cd440a4fb979cf6a4f3)
2007-10-10r2672: don't call a variable "dup" as that conflicts with a standard system ↵Andrew Tridgell1-3/+3
call name (This used to be commit 015db2ed8cdde6d6eb79857cb9b6d72185382acc)
2007-10-10r2671: we're getting too many errors caused by the talloc_realloc() API notAndrew Tridgell30-79/+84
taking a context (so when you pass a NULL pointer you end up with memory in a top level context). Fixed it by changing the API to take a context. The context is only used if the pointer you are reallocing is NULL. (This used to be commit 8dc23821c9f54b2f13049b5e608a0cafb81aa540)
2007-10-10r2670: use a destructor to auto-close the samr ldb when the last userAndrew Tridgell1-15/+18
disconnects. Previously the ldb was always kept open. (This used to be commit d78eea9eb8540f137d30aef5fbb397295312eb1b)
2007-10-10r2669: convert make_user_info() and associated functions from malloc to tallocAndrew Tridgell4-56/+70
(This used to be commit 278cef77f083c002d17ecbbe18c20825a380eda3)
2007-10-10r2668: steal the cli pointer into the pipe context so a single free destroys ↵Andrew Tridgell1-1/+2
the cli context too (This used to be commit 417d0c0ba182aab3a3a23db76ff7ac7cbc663cb6)
2007-10-10r2667: Remove forward declaration of static function from function. GCC 3.5 ↵Jelmer Vernooij1-2/+3
and 4.0 don't accept declarations of static functions inside other functions, see http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02514.html (This used to be commit 8768168aadf51b9559831954e349d9aa94101c41)
2007-10-10r2664: fixed the final server leak for normal operation. We now get a clean ↵Andrew Tridgell2-5/+8
report from --leak-check (This used to be commit 1ff41bbcae8dc7514a85d69679e44dc7c5b0342f)
2007-10-10r2663: fix an epmapper server leak - another talloc_realloc(NULL, ) leakAndrew Tridgell1-3/+3
(This used to be commit 2662be3a2be04aa7f4dcfde3453389595bf43496)
2007-10-10r2662: make --leak-check completely silent if not blocks are allocatedAndrew Tridgell1-0/+3
(This used to be commit 00518201754dc2de583267071ebd2adecbadcb59)
2007-10-10r2661: fixed a client side memory leak in the clilist code.Andrew Tridgell1-3/+3
This sort of bug happens quite easily with the new talloc_realloc() interface. talloc_realloc() now looks like this: void *talloc_realloc(void *ptr, size_t size); and if ptr is not NULL then everything is fine. If ptr is NULL then talloc_realloc() presumes you want to allocate in the NULL context, which is probably not what is wanted. For now the solution is to initialise ptr like this: ptr = talloc(mem_ctx, 0); so when the realloc happens it has a context to get hold of. I might change the interface of talloc_realloc() later to prevent this problem in a more robust manner (This used to be commit bd813dfb1b08b586dc71f9cec4eb65b35ea808fe)
2007-10-10r2660: - converted the libcli/raw/ library to use talloc_increase_ref_count()Andrew Tridgell24-139/+285
rather than manual reference counts - properly support SMBexit in the cifs and posix backends - added a logoff method to all backends With these changes the RAW-CONTEXT test now passes against the posix backend (This used to be commit c315d6ac1cc40546fde1474702a6d66d07ee13c8)
2007-10-10r2659: removed some extraneous debug msgsAndrew Tridgell1-3/+0
(This used to be commit 770aa7e01e68df1fd8538c5b19b63a8545bb0355)
2007-10-10r2658: fixed a couple of error codes found with RAW-CONTEXTAndrew Tridgell1-2/+2
(This used to be commit 18632ec56524f294655d881406c10beb659ddee1)
2007-10-10r2657: if we are already fully authenticated in session setup then the vuid ↵Andrew Tridgell1-6/+3
is ignored (This used to be commit 50d5c638a3710855be67cd41dccc9658d64b70fd)
2007-10-10r2656: moved the seteuid configure tests into the posix backend (these testsAndrew Tridgell3-63/+57
don't actually work yet, that will come later) (This used to be commit 46b790c19da25ba88d29f555f828688bb05e531d)
2007-10-10r2655: fixed an error in the shutdown of the sock->transport->session->treeAndrew Tridgell4-4/+4
smbcli raw context handling (This used to be commit d5fd6388751944f11c34e5124d403d57c8670e3b)
2007-10-10r2654: fixed some more server memory leaks. We are now down to a single leakAndrew Tridgell9-10/+26
of 16 bytes, caused by the 16 byte data_blob in the smb_signing code. (This used to be commit 2f1b788e09686e065d22f621f5c0c585192c6740)
2007-10-10r2653: - data_blob() and data_blob_talloc() now get automatic namesAndrew Tridgell3-11/+20
- talloc_strdup() and related functions get automatic names (This used to be commit 0cf427d14fe0a19cb3e85b6191be220f3d81080a)
2007-10-10r2650: fixed a memory leak in make_server_info()Andrew Tridgell6-9/+10
(This used to be commit 4aba6e7101041100f7d400abd5e7144b95528fc3)
2007-10-10r2649: - used some cpp tricks to make users of talloc() and talloc_realloc()Andrew Tridgell5-11/+37
to get auto-naming of pointers very cheaply. - fixed a couple of memory leaks found with the new tricks A typical exit report for smbd is now: talloc report on 'null_context' (total 811 bytes in 54 blocks) auth/auth_sam.c:334 contains 20 bytes in 1 blocks struct auth_serversupplied_info contains 498 bytes in 33 blocks UNNAMED contains 8 bytes in 1 blocks lib/data_blob.c:40 contains 16 bytes in 1 blocks iconv(CP850,UTF8) contains 61 bytes in 4 blocks iconv(UTF8,CP850) contains 61 bytes in 4 blocks iconv(UTF8,UTF-16LE) contains 67 bytes in 4 blocks iconv(UTF-16LE,UTF8) contains 67 bytes in 4 blocks UNNAMED contains 13 bytes in 1 blocks which is much better than before (This used to be commit 6e721393d03afd3c2f8ced8422533547a9e33342)
2007-10-10r2648: - use a destructor on struct server_connection to simplify theAndrew Tridgell11-66/+51
connection termination cleanup, and to ensure that the event contexts are properly removed for every process model - gave auth_context the new talloc treatment, which removes another source of memory leaks. (This used to be commit 230e1cd777b0fba82dffcbd656cfa23c155d0560)
2007-10-10r2646: - use a talloc destructor to ensure that sockets from the new socketAndrew Tridgell13-38/+43
library are closed on abnormal termination - convert the service.h structures to the new talloc methods (This used to be commit 2dc334a3284858eb1c7190f9687c9b6c879ecc9d)
2007-10-10r2645: converted the NTLMSSP code to the new style of tallocAndrew Tridgell7-107/+68
(This used to be commit b378aae95d4001c4cf4e6e59ed80ee1bd55382ee)