1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-09 08:58:35 +03:00

292 Commits

Author SHA1 Message Date
Andrew Tridgell
2de9ce9499 r2106: try to cope with a wider range of UTF-16 characters when we are using
an external libiconv library.
(This used to be commit 168be7fbd7ae876ded39f73a7835e91b35e67244)
2007-10-10 12:58:25 -05:00
Andrew Tridgell
e7f36ff1a5 r2100: rework the dcerpc client side library so that it is async. We now
generate a separate *_send() async function for every RPC call, and
there is a single dcerpc_ndr_request_recv() call that processes the
receive side of any rpc call. The caller can use
dcerpc_event_context() to get a pointer to the event context for the
pipe so that events can be waited for asynchronously.

The only part that remains synchronous is the initial bind
calls. These could also be made async if necessary, although I suspect
most applications won't need them to be.
(This used to be commit f5d004d8eb8c76c03342cace1976b27266cfa1f0)
2007-10-10 12:58:24 -05:00
Stefan Metzmacher
2812998ae9 r2092: fix the build(don't catch main() by make proto)
metze
(This used to be commit ecdb0b442659e80ca91d5ec5b505224c68a97c5a)
2007-10-10 12:58:24 -05:00
Stefan Metzmacher
ef9351d84b r2089: fix standalone build with LDAP, this needs -llber too
metze
(This used to be commit b9152c9ba2735f511663f34a910142eed67701b5)
2007-10-10 12:58:24 -05:00
Stefan Metzmacher
826a515ec0 r2088: add tdbtorture tdbdump and tdbtest to the build
NOTE: tdbbackup and tdbtool seems to be broken...

NOTE: I also added SMB_EXT_LIB(GDBM,...)
      because that is needed by tdbtest

metze
(This used to be commit e66630662d4203ccecbb20962e83dbf50a2c056f)
2007-10-10 12:58:24 -05:00
Stefan Metzmacher
3cd74a3634 r2087: the ldb tools really don't need LIBSMB!
that reduces the size of thet binaries with '-g' and gcc 3.4
from 5.3 MB to 745 KB:-)

metze
(This used to be commit 037a6d95b4a4640059a10dcbb0a266d15eaf42b3)
2007-10-10 12:58:24 -05:00
Stefan Metzmacher
aca1e774f7 r2060: fix compiler warning
metze
(This used to be commit dde5442b75ba169856a52a45588e2702d198b31d)
2007-10-10 12:58:22 -05:00
Andrew Bartlett
5e869b4eab r2055: Add PRINTF_ATTRIBUTE to many more parts of the code, and a new
--enable-developer warning for when they are missing.

Andrew Bartlett
(This used to be commit 8115e44d47bcd65edba08d10117180ae508cdbc1)
2007-10-10 12:58:21 -05:00
Andrew Tridgell
4f55a7af08 r2049: talloc now has destructors and reference counts
this means you can do:

  talloc_set_destructor(ptr, my_destructor);

and your destructor will be called with the pointer as an argument
when the pointer is about to be freed. The destructor can refuse the
free by returning -1.

You can also increase the reference count on a pointer like this:

  talloc_increase_ref_count(ptr);

and a talloc_free() will just reduce the reference count, only
actually freeing the memory when the count reaches zero.
(This used to be commit b5608d52d33a1d8be5a8a6751bc6cec162c7ed92)
2007-10-10 12:58:21 -05:00
Andrew Tridgell
716e6c1efb r2043: data_blob() now returns a talloc'd pointer. If everyone has been
following the data_blob() API properly then this will cause no
problems. I'm expecting chaos.

this is part of the general move towards using talloc for everything
in samba4
(This used to be commit 3f6b3c21e4d538aeb30b7906a75995b8f4c11223)
2007-10-10 12:58:20 -05:00
Andrew Tridgell
600144050c r2039: got rid of the free() ptr in DATA_BLOB
I plan on replacing the concept by adding a generic destructor in all talloc ptrs, so you can do:

  talloc_set_destructor(ptr, my_destructor);

to setup a function that will be called on free.
(This used to be commit 957b260621c091830c01e9e8c370c199350342ec)
2007-10-10 12:58:19 -05:00
Jeremy Allison
85d8d24d3d r2034: Allow user-selectable hash functions on open only.
Jeremy.
(This used to be commit b43320ee5c9ac14c330e61ae62e0786b088e04fa)
2007-10-10 12:58:18 -05:00
Stefan Metzmacher
527bafcf73 r2017: fix compiler warnings
metze
(This used to be commit eb75d9323fb07fe9a19bbf77168aeb8a4b92c3b8)
2007-10-10 12:58:17 -05:00
Andrew Tridgell
694ac65faa r2003: got rid of next_token_nr(), which involved some horrible globals
and nasy pointer tricks.

this involved fixing some of the internals of smbclient
(This used to be commit 126fec6169f9412932c82e7675840476132bce87)
2007-10-10 12:58:16 -05:00
Andrew Bartlett
39a3d5eedc r1991: After finding a talloc inconsistancy is a very good time to smb_panic(),
it can only indicate programmer error, and doing a smb_panic() ensures
an automatic backtrace (and eventually an abort()).

Andrew Bartlett
(This used to be commit b2d93d0010d80f158760f53273853de2439c3062)
2007-10-10 12:58:15 -05:00
Andrew Bartlett
dcd43a4cbe r1990: Fix breakage caused by the recent talloc changes. (Failure to process
an SPNEGO login from WinXP at least).

talloc_asprintf_append() lost an argument, but because TALLOC_CTX is
now a void*, this was not picked up by the compiler.

I've tested the login (asn1), but not the registry/gtk changes.

Andrew Bartlett
(This used to be commit 4294be44057124568fe1d176702056bb62ad3214)
2007-10-10 12:58:15 -05:00
Andrew Tridgell
ca885cb2d1 r1989: fixed a couple of bugs in code that assumes sizeof(time_t) == sizeof(int)
(This used to be commit cc3d420c33152c8e9026dc39a7322d11edb3c774)
2007-10-10 12:58:15 -05:00
Andrew Tridgell
b7e1ea20dc r1985: take advantage of the new talloc in a few more places
(This used to be commit 6ffdfd779936ce8c5ca49c5f444e8da2bbeee0a8)
2007-10-10 12:58:14 -05:00
Andrew Tridgell
b83ba93eae r1983: a completely new implementation of talloc
This version does the following:

  1) talloc_free(), talloc_realloc() and talloc_steal() lose their
     (redundent) first arguments

  2) you can use _any_ talloc pointer as a talloc context to allocate
     more memory. This allows you to create complex data structures
     where the top level structure is the logical parent of the next
     level down, and those are the parents of the level below
     that. Then destroy either the lot with a single talloc_free() or
     destroy any sub-part with a talloc_free() of that part

  3) you can name any pointer. Use talloc_named() which is just like
     talloc() but takes the printf style name argument as well as the
     parent context and the size.

The whole thing ends up being a very simple piece of code, although
some of the pointer walking gets hairy.

So far, I'm just using the new talloc() like the old one. The next
step is to actually take advantage of the new interface
properly. Expect some new commits soon that simplify some common
coding styles in samba4 by using the new talloc().
(This used to be commit e35bb094c52e550b3105dd1638d8d90de71d854f)
2007-10-10 12:58:14 -05:00
Andrew Tridgell
43afd3fda8 r1973: for systems that don't have strtoull() try strtouq(). This should fix
the build for some BSD varients.
(This used to be commit 73e9ee791472bb212efe0eb4744daa91678263ad)
2007-10-10 12:58:14 -05:00
Andrew Tridgell
e205ffd83c r1972: cmdline_auth_info does not need to be declared global
(This used to be commit d07dbdb22acc4c9cafb7141486fbf162d9f8164e)
2007-10-10 12:58:14 -05:00
Stefan Metzmacher
8115bf6e2c r1957: add cmdline_set_* functions
and let smbclient use the cmdline _* functions

metze
(This used to be commit ffb87ebc33e728bf8506383f95b80605adec3c68)
2007-10-10 12:58:13 -05:00
Stefan Metzmacher
c2e2921bad r1949: provide functions to access the username, userdomain and userpassword
now you're prompted when cmdline_get_userpassword() is called
and the password is not yet known

metze
(This used to be commit d14a01533c5d465ff3709c48576b798b3be807e0)
2007-10-10 12:58:13 -05:00
Stefan Metzmacher
d139dc808a r1912: move popt_common.h
metze
(This used to be commit ecf6be894fc47f9e00f46531e06ef20e11115c0f)
2007-10-10 12:58:10 -05:00
Stefan Metzmacher
bca24a19eb r1911: merge a few popt parameters from 3.0 move some to better places
and deal with users DOMAIN and lp_workgroup() of the local workstation

metze
(This used to be commit 1fc0100e44a8640cfc15effb99f5824cb7817da8)
2007-10-10 12:58:10 -05:00
Stefan Metzmacher
838c208ab1 r1901: add missing include of <fnmatch.h>
metze
(This used to be commit 5e5681e2830bfd487d7e783249fe069b41be1f37)
2007-10-10 12:58:09 -05:00
Simo Sorce
debce401eb r1898: Check the context we are going to return.
(This used to be commit d721b122b5c443363b8f8ec2e1ef4b798378b658)
2007-10-10 12:58:09 -05:00
Volker Lendecke
664f50e81c r1894: Convert // to /* */
(This used to be commit 5dc793b2b4b5c54df4aa3b0c98c248bdd671bbb1)
2007-10-10 12:58:09 -05:00
Andrew Tridgell
c3a2584bb4 r1892: this adds talloc_get_context(), which is something I discussed at the
team meeting at CIFS04. It allows you to find the talloc context given
any pointer allocated with talloc.
(This used to be commit 01dc4ed9b4f9390930d3c235cf2ccf9a9028392d)
2007-10-10 12:58:08 -05:00
Jelmer Vernooij
d3e8a74551 r1838: Updates from the airplane:
- IDL fixes + adding comments
 - Start working on dcom infrastructure
(This used to be commit ef0fc269f06c82594c34ad8673c76c5ea099250e)
2007-10-10 12:58:00 -05:00
Andrew Tridgell
ada86316e5 r1820: added a strcmp_safe() that handles NULL pointers. Needed for the
search torture test, as some servers return really bad entries.
(This used to be commit c900ebb3ac18d77ab334d3bf5259b3bba547b09c)
2007-10-10 12:57:59 -05:00
Simo Sorce
67f28b93ab r1766: we do not have smb_read_error in samba4
(This used to be commit 1c3d52cea4dff57b14ee9bc197001fadb1d18abf)
2007-10-10 12:57:55 -05:00
Simo Sorce
13a579df87 r1759: Add some helper functions to read and write data to a socket with timeout (again from volker in trunk)
(This used to be commit 40d8262e7dbba76f88f1900744ed02f9f7fcdadd)
2007-10-10 12:57:54 -05:00
Simo Sorce
d01bc8a91e r1758: Move and enhance the add_string_to_array function as per volker job on trunk
(This used to be commit 606caddeb95382287fa41a5017ca473d0301be6b)
2007-10-10 12:57:54 -05:00
Andrew Tridgell
6292e5b952 r1749: added some random stuff that captures some discussions volker and I
just had on emulating % macros from smb.conf in a possible ldb based
config system
(This used to be commit d547479290e30d4fd86ab718528e879a28f71447)
2007-10-10 12:57:53 -05:00
Andrew Tridgell
94fb514376 r1630: - fixed the replacement timegm() function to work correctly for DST changes
- got rid of global_myname(), using lp_netbios_name() instead
(This used to be commit e8d4b390884e487163d81f66a5a7ac1de1305d9a)
2007-10-10 12:57:45 -05:00
Andrew Tridgell
578a99db4d r1606: make the low level socket read/write routines cope properly with non-blocking sockets
(This used to be commit bb6cbf29ccf8f2b556bf3e7b3ff487faa0f36773)
2007-10-10 12:57:44 -05:00
Jim McDonough
112c2c831b r1596: Fix up copyrights.
(This used to be commit d2553aac0a75591026b9b1fcf46065e5b03ed19c)
2007-10-10 12:57:43 -05:00
Andrew Tridgell
5ddf678e01 r1578: the first stage of the async client rewrite.
Up to now the client code has had an async API, and operated
asynchronously at the packet level, but was not truly async in that it
assumed that it could always write to the socket and when a partial
packet came in that it could block waiting for the rest of the packet.

This change makes the SMB client library full async, by adding a
separate outgoing packet queue, using non-blocking socket IO and
having a input buffer that can fill asynchonously until the full
packet has arrived.

The main complexity was in dealing with the events structure when
using the CIFS proxy backend. In that case the same events structure
needs to be used in both the client library and the main smbd server,
so that when the client library is waiting for a reply that the main
server keeps processing packets. This required some changes in the
events library code.

Next step is to make the generated rpc client code use these new
capabilities.
(This used to be commit 96bf4da3edc4d64b0f58ef520269f3b385b8da02)
2007-10-10 12:57:42 -05:00
Andrew Tridgell
eeec610983 r1517: change event_remove_timed() to remove by structure not by handler.
this fixes a crash bug in smbd with multiple RPC clients
(This used to be commit 6e102f732e4404fc5f9b2851d12b00d2d083b43d)
2007-10-10 12:57:38 -05:00
Andrew Tridgell
6f47dec364 r1511: fixed a free() that should be ldb_free()
this might explain the tdb corruption that metze found - it caused heap corruption that affected tdb
(This used to be commit 31d55dfb443612a341ff6ade77c6e4477c4fefca)
2007-10-10 12:57:37 -05:00
Andrew Bartlett
f607197054 r1498: (merge from 3.0)
Rework our random number generation system.

On systems with /dev/urandom, this avoids a change to secrets.tdb for every fork().

For other systems, we now only re-seed after a fork, and on startup.
No need to do it per-operation.  This removes the 'need_reseed'
parameter from generate_random_buffer().

This also requires that we start the secrets subsystem, as that is
where the reseed value is stored, for systems without /dev/urandom.

In order to aviod identical streams in forked children, the random
state is re-initialised after the fork(), at the same point were we do
that to the tdbs.

Andrew Bartlett
(This used to be commit b97d3cb2efd68310b1aea8a3ac40a64979c8cdae)
2007-10-10 12:57:35 -05:00
Andrew Bartlett
39b1201584 r1474: It is useful if talloc_strdup() behaves like strdup()
- NULL in, NULL out

Andrew Bartlett
(This used to be commit 2cc0b3a2f1785c53268f018999a87c26539fd4a6)
2007-10-10 12:57:33 -05:00
Andrew Bartlett
02262db2ed r1452: Thanks to Volker for spotting that this code was certainly not tested...
(make sure to actually return the result).

Andrew Bartlett
(This used to be commit 8d449bbe2b9aa29315e894be1400a9475ef99468)
2007-10-10 12:56:58 -05:00
Andrew Bartlett
30c15f37cc r1435: talloc_steal is very useful - add a function to do it with a DATA_BLOB
Andrew Bartlett
(This used to be commit 66d6e2611084d579a20833a4c0daa5d72ef9393c)
2007-10-10 12:56:55 -05:00
Andrew Bartlett
462d27d7e6 r1434: Merge this function in from Samba 3.0, but use a mem_ctx rather than
an fstring.

Andrew Bartlett
(This used to be commit e8de8905b2f328395d71afdd73c77301c9366a66)
2007-10-10 12:56:55 -05:00
Jelmer Vernooij
e3fd2d0492 r1432: - Move the various Gtk-specific parts from the registry code into a directory gtk/
- Move common "Samba-Gtk" code into gtk/common/ ("Connect to RPC pipe"-dialog, etc)
- Add a new utility 'gwcrontab' that can currently list, delete and add 'atsvc' jobs. It still displays times and dates as integers though, will fix that later.

Some screenshots available at:
 http://samba.org/~jelmer/gwcrontab/
(This used to be commit d321cf20f1f0ff33603b013c26d370669f255868)
2007-10-10 12:56:55 -05:00
Andrew Bartlett
f929ee3e4e r1422: StrnCaseCmp now needs to be non-static.
Andrew Bartlett
(This used to be commit 6709c7010df2912eec3dfc086343cb3cb7910459)
2007-10-10 12:56:55 -05:00
Tim Potter
34ca729f73 r1374: Fix signed/unsigned warnings (actually found by g++) after unsigned int
changes in r1018.
(This used to be commit 45b4016530fc0bfa13146f73a503866b5dbed517)
2007-10-10 12:56:54 -05:00
Stefan Metzmacher
1cec0de927 r1308: move smb_panic() to lib/fault.c
merge the backtrace stuff from 3.0

metze
(This used to be commit 4daf1bafc71cc8f13188aeb85d81aa7513d57d95)
2007-10-10 12:56:50 -05:00