1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-22 05:57:43 +03:00

2010 Commits

Author SHA1 Message Date
Jelmer Vernooij
8925932e81 r2704: Complain about 'object interfaces' that don't have version 0.0 (the 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-10 12:59:24 -05:00
Jelmer Vernooij
322d1ccd9f r2699: Correct handle ServerAlive() and ServerAlive2() + add torture tests
(This used to be commit 9e74144aa8e5f9a8b6e3d5293833c4afeebeddb0)
2007-10-10 12:59:24 -05:00
Jelmer Vernooij
fc3c05e63f r2696: DCOM updates:
- Start working on OXIDResolver interface
 - Add torture test for SimplePing()
(This used to be commit b54d14a01a71082251ff926ab57974c6eb3c0a41)
2007-10-10 12:59:24 -05:00
Simo Sorce
eac532ee3a r2695: revert "Del" renaming
(This used to be commit ddd74dae8efe4e04b5a56ee9ecd9d4f87f99d104)
2007-10-10 12:59:24 -05:00
Simo Sorce
250996aa5a r2694: DN -> DC these are domain components ...
(This used to be commit 35135033ffbae42a3a946ea30ba46f6ed9b12898)
2007-10-10 12:59:23 -05:00
Stefan Metzmacher
43d45f80ad r2693: - send a reply when no attributes there
- add some debug messages

metze
(This used to be commit 1de1beca66da68e5af0869629d2c50016c25e776)
2007-10-10 12:59:23 -05:00
Simo Sorce
159b8c2d38 r2690: deleted by mistake
(This used to be commit 3d587a7141908362657afc2dfd0c78d73a5fed07)
2007-10-10 12:59:22 -05:00
Simo Sorce
456e2f82e8 r2689: Use consistent naming Del -> Delete
Add delete functionality to ldb simple lda server backend
add some const in ldap.h
(This used to be commit 5ed9a6eb184f34eb572dd81202237042518ec7cd)
2007-10-10 12:59:22 -05:00
Stefan Metzmacher
718bb5e8ff r2688: - fix case where listed attributes are asked
- 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-10 12:59:22 -05:00
Jelmer Vernooij
f64b8cf9cd r2687: Add ORPC flag (used by DCOM)
(This used to be commit b7ac0cb692ea373f754d7a40b44a7b0756459287)
2007-10-10 12:59:22 -05:00
Stefan Metzmacher
f63e3ae1f7 r2686: remove unused gtk+ check
metze
(This used to be commit d1e8b340a9942553ec7f281affd11ea4315ac448)
2007-10-10 12:59:22 -05:00
Stefan Metzmacher
c8a7c5b95e r2685: ALLOC_CHECK() after talloc_steal() isn't needed
(thanks simo:-)

metze
(This used to be commit e62cd75d3786f3d638ac2a27d6e864c826eaa48f)
2007-10-10 12:59:22 -05:00
Jelmer Vernooij
073e9af19b r2684: Free the right talloc context (don't panic when encountering illegal multibyte
sequences)
(This used to be commit b90da2337b83eb261a8072f9d0b13ec28caf3c4d)
2007-10-10 12:59:22 -05:00
Jelmer Vernooij
8c039e5c91 r2683: Fix a couple of compile warnings, depend on gtk+-2.4
(This used to be commit 4668384717eda878583477b8f455809056885120)
2007-10-10 12:59:21 -05:00
Stefan Metzmacher
ccdb6138ab r2682: as sambdb holds all search data, don't double free the data
metze
(This used to be commit 740347255b8f1aafda1ebd10d63fdde1c4041af0)
2007-10-10 12:59:21 -05:00
Stefan Metzmacher
965feb2cff r2681: commit the first semi working search implementation
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-10 12:59:21 -05:00
Andrew Tridgell
aa12305945 r2680: switched the libcli/raw/ code over to use talloc_reference(), which simplifies things quite a bit
(This used to be commit c82a9cf750829c4f6982ca3133295c8599023c4e)
2007-10-10 12:59:21 -05:00
Andrew Tridgell
3aa3428bc9 r2679: fixed an uninitialised variable found with valgrind
(This used to be commit 9087fab0adcf1791caeb795509ca9f14f5f47e82)
2007-10-10 12:59:21 -05:00
Andrew Tridgell
6f068e207a r2678: from_name and to_name aren't needed in smb_iconv_t
(This used to be commit f3844cc0a5ad6b03f166435d44db02763df345d7)
2007-10-10 12:59:21 -05:00
Andrew Tridgell
2f5cf5d794 r2677: - fixed a bug in the recursive logic talloc_free() when there are
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-10 12:59:21 -05:00
Andrew Tridgell
399aade69c r2676: add a test of the reference counting logic in the SAMR server into the
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-10 12:59:20 -05:00
Andrew Tridgell
61a7dfc237 r2675: added a convenience function
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-10 12:59:20 -05:00
Andrew Tridgell
351ca44e8b r2674: I have realised that talloc() should have its context marked const, as
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-10 12:59:20 -05:00
Andrew Tridgell
0be5523afb r2673: in the rpc server, free up the old call when we decide to extend an
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-10 12:59:20 -05:00
Andrew Tridgell
d13bbcf9e3 r2672: don't call a variable "dup" as that conflicts with a standard system call name
(This used to be commit 015db2ed8cdde6d6eb79857cb9b6d72185382acc)
2007-10-10 12:59:20 -05:00
Andrew Tridgell
5b44130afa r2671: we're getting too many errors caused by the talloc_realloc() API not
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-10 12:59:20 -05:00
Andrew Tridgell
f095a8e748 r2670: use a destructor to auto-close the samr ldb when the last user
disconnects. Previously the ldb was always kept open.
(This used to be commit d78eea9eb8540f137d30aef5fbb397295312eb1b)
2007-10-10 12:59:20 -05:00
Andrew Tridgell
5a064d4a62 r2669: convert make_user_info() and associated functions from malloc to talloc
(This used to be commit 278cef77f083c002d17ecbbe18c20825a380eda3)
2007-10-10 12:59:19 -05:00
Andrew Tridgell
5390daefb6 r2668: steal the cli pointer into the pipe context so a single free destroys the cli context too
(This used to be commit 417d0c0ba182aab3a3a23db76ff7ac7cbc663cb6)
2007-10-10 12:59:19 -05:00
Jelmer Vernooij
8d811df12b r2667: Remove forward declaration of static function from function. GCC 3.5 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-10 12:59:19 -05:00
Andrew Tridgell
729d17c270 r2664: fixed the final server leak for normal operation. We now get a clean report from --leak-check
(This used to be commit 1ff41bbcae8dc7514a85d69679e44dc7c5b0342f)
2007-10-10 12:59:19 -05:00
Andrew Tridgell
9f0638c0cf r2663: fix an epmapper server leak - another talloc_realloc(NULL, ) leak
(This used to be commit 2662be3a2be04aa7f4dcfde3453389595bf43496)
2007-10-10 12:59:19 -05:00
Andrew Tridgell
b9a779fa83 r2662: make --leak-check completely silent if not blocks are allocated
(This used to be commit 00518201754dc2de583267071ebd2adecbadcb59)
2007-10-10 12:59:19 -05:00
Andrew Tridgell
9010d3859e r2661: fixed a client side memory leak in the clilist code.
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-10 12:59:18 -05:00
Andrew Tridgell
e3880fa759 r2660: - converted the libcli/raw/ library to use talloc_increase_ref_count()
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-10 12:59:18 -05:00
Andrew Tridgell
ad053090b8 r2659: removed some extraneous debug msgs
(This used to be commit 770aa7e01e68df1fd8538c5b19b63a8545bb0355)
2007-10-10 12:59:17 -05:00
Andrew Tridgell
5a830d0626 r2658: fixed a couple of error codes found with RAW-CONTEXT
(This used to be commit 18632ec56524f294655d881406c10beb659ddee1)
2007-10-10 12:59:17 -05:00
Andrew Tridgell
5d45a332d5 r2657: if we are already fully authenticated in session setup then the vuid is ignored
(This used to be commit 50d5c638a3710855be67cd41dccc9658d64b70fd)
2007-10-10 12:59:17 -05:00
Andrew Tridgell
aeb9d1e1ad r2656: moved the seteuid configure tests into the posix backend (these tests
don't actually work yet, that will come later)
(This used to be commit 46b790c19da25ba88d29f555f828688bb05e531d)
2007-10-10 12:59:17 -05:00
Andrew Tridgell
954869efdb r2655: fixed an error in the shutdown of the sock->transport->session->tree
smbcli raw context handling
(This used to be commit d5fd6388751944f11c34e5124d403d57c8670e3b)
2007-10-10 12:59:17 -05:00
Andrew Tridgell
3ea916b227 r2654: fixed some more server memory leaks. We are now down to a single leak
of 16 bytes, caused by the 16 byte data_blob in the smb_signing
code.
(This used to be commit 2f1b788e09686e065d22f621f5c0c585192c6740)
2007-10-10 12:59:17 -05:00
Andrew Tridgell
dbc2346de8 r2653: - data_blob() and data_blob_talloc() now get automatic names
- talloc_strdup() and related functions get automatic names
(This used to be commit 0cf427d14fe0a19cb3e85b6191be220f3d81080a)
2007-10-10 12:59:17 -05:00
Andrew Tridgell
df6dce1065 r2650: fixed a memory leak in make_server_info()
(This used to be commit 4aba6e7101041100f7d400abd5e7144b95528fc3)
2007-10-10 12:59:16 -05:00
Andrew Tridgell
ec0128ef01 r2649: - used some cpp tricks to make users of talloc() and talloc_realloc()
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-10 12:59:16 -05:00
Andrew Tridgell
9a62dce0ac r2648: - use a destructor on struct server_connection to simplify the
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-10 12:59:16 -05:00
Andrew Tridgell
764eddb696 r2646: - use a talloc destructor to ensure that sockets from the new socket
library are closed on abnormal termination

- convert the service.h structures to the new talloc methods
(This used to be commit 2dc334a3284858eb1c7190f9687c9b6c879ecc9d)
2007-10-10 12:59:16 -05:00
Andrew Tridgell
4b1050a6cf r2645: converted the NTLMSSP code to the new style of talloc
(This used to be commit b378aae95d4001c4cf4e6e59ed80ee1bd55382ee)
2007-10-10 12:59:16 -05:00
Andrew Tridgell
525a993469 r2644: removed an unused function
(This used to be commit bc779cb2ce6bc13157f9d046400ce99d107ccd52)
2007-10-10 12:59:16 -05:00
Andrew Tridgell
6bea5bea4c r2643: convert more of the auth subsyystem to the new talloc methods. This
also fixes a memory leak found with --leak-check.
(This used to be commit f19201ea274f0a542314c61c4af676197bf154ad)
2007-10-10 12:59:15 -05:00
Andrew Tridgell
9cafc0d07e r2642: smb_iconv_t is a pointer, so checks against -1 errors should use a cast
(This used to be commit 28dcd2202948b003f8d13951395baa4a722593f4)
2007-10-10 12:59:15 -05:00