jelmer/samba4-debian.git
16 years agor4944: every event_add_*() caller was having to call talloc_steal() to take
Andrew Tridgell [Sun, 23 Jan 2005 12:17:45 +0000 (12:17 +0000)]
r4944: every event_add_*() caller was having to call talloc_steal() to take
control of the event, so instead build that into the function. If you
pass NULL as mem_ctx then it leaves it as a child of the events
structure.

16 years agor4943: Smplified the events handling code a lot. The first source of
Andrew Tridgell [Sun, 23 Jan 2005 11:49:15 +0000 (11:49 +0000)]
r4943: Smplified the events handling code a lot. The first source of
complexity was that events didn't automatically cleanup
themselves. This was because the events code was written before we had
talloc destructors, so you needed to call event_remove_XX() to clean
the event out of the event lists from every piece of code that used
events. I have now added automatic event destructors, which in turn
allowed me to simplify a lot of the calling code.

The 2nd source of complexity was caused by the ref_count, which was
needed to cope with event handlers destroying events while handling
them, which meant the linked lists became invalid, so the ref_count ws
used to mark events for later destruction.

The new system is much simpler. I now have a ev->destruction_count,
which is incremented in all event destructors. The event dispatch code
checks for changes to this and handles it.

16 years agor4942: converted the cifs backend to not use event_context_merge(). Instead,
Andrew Tridgell [Sun, 23 Jan 2005 11:42:56 +0000 (11:42 +0000)]
r4942: converted the cifs backend to not use event_context_merge(). Instead,
is supplies the server event context during the connect.

16 years agor4941: - all needed data is now in sam.ldb and hacked.ldb is not needed anymore by...
Stefan Metzmacher [Sun, 23 Jan 2005 11:12:42 +0000 (11:12 +0000)]
r4941: - all needed data is now in sam.ldb and hacked.ldb is not needed anymore by the hacked ldap backend
- readd the schema naming context container object as it's needed for a w2k3 dc join

metze

16 years agor4940: Add a variable to hold a list of typedefs for which we shouldn't generate
Tim Potter [Sun, 23 Jan 2005 11:03:20 +0000 (11:03 +0000)]
r4940: Add a variable to hold a list of typedefs for which we shouldn't generate
a dissector for.  A hand written dissector needs to be added to eparser.c
for the plugin to link.

16 years agor4939: make a few more private pointers type safe (this might help abartlet
Andrew Tridgell [Sun, 23 Jan 2005 09:03:05 +0000 (09:03 +0000)]
r4939: make a few more private pointers type safe (this might help abartlet
track down a bug he just told me about)

16 years agor4938: allow the caller to supply an existing event_context if they want to
Andrew Tridgell [Sun, 23 Jan 2005 09:01:46 +0000 (09:01 +0000)]
r4938: allow the caller to supply an existing event_context if they want to
in smb_composite_connect_send(). This makes doing parallel calls much
easier.

16 years agor4937: simplify the connect code in the same way
Andrew Tridgell [Sun, 23 Jan 2005 08:19:38 +0000 (08:19 +0000)]
r4937: simplify the connect code in the same way

16 years agor4936: moved to a convention where the completion function is only called in
Andrew Tridgell [Sun, 23 Jan 2005 08:16:16 +0000 (08:16 +0000)]
r4936: moved to a convention where the completion function is only called in
one place. This makes the code more robust, and simpler (it would have
prevented the error that volker found).

16 years agor4935: fixed a bug where "c->status = xxx_handler(x);" could write to c after
Andrew Tridgell [Sun, 23 Jan 2005 00:51:20 +0000 (00:51 +0000)]
r4935: fixed a bug where "c->status = xxx_handler(x);" could write to c after
it is freed. The problem is that the handler might complete the
request, and called the c->async.fn() async handler. That handler
might free the request handle.

16 years agor4930: Update my copyright.
Tim Potter [Sat, 22 Jan 2005 08:09:10 +0000 (08:09 +0000)]
r4930: Update my copyright.

16 years agor4927: parse the NBT session request in the smb server. This gets rid of that
Andrew Tridgell [Sat, 22 Jan 2005 05:36:32 +0000 (05:36 +0000)]
r4927: parse the NBT session request in the smb server. This gets rid of that
annoying "not parsing session request" message on each SMB connection

16 years agor4924: continue the effort to simplify and generalise the composite
Andrew Tridgell [Sat, 22 Jan 2005 02:51:39 +0000 (02:51 +0000)]
r4924: continue the effort to simplify and generalise the composite
interface. This patch removes the "stage" variable, which is really
better suited to the backend state structures

16 years agor4923: Avoid using krb5-config in the path if a krb5 prefix was already set.
Andrew Bartlett [Sat, 22 Jan 2005 02:39:05 +0000 (02:39 +0000)]
r4923: Avoid using krb5-config in the path if a krb5 prefix was already set.

Andrew Bartlett

16 years agor4922: fixed an infinite loop in the name resolve code when handling a method
Andrew Tridgell [Sat, 22 Jan 2005 02:08:30 +0000 (02:08 +0000)]
r4922: fixed an infinite loop in the name resolve code when handling a method
in smb.conf that isn't implemented in the library

16 years agor4919: if a caller doesn't provide an event context to the resolver library,
Andrew Tridgell [Sat, 22 Jan 2005 01:37:48 +0000 (01:37 +0000)]
r4919: if a caller doesn't provide an event context to the resolver library,
then create one. This fixes a crash in the RAW-NEGNOWAIT test for
'host' resolution.

16 years agor4916: added "host" name resolution using fork() per gethostbyname()
Andrew Tridgell [Sat, 22 Jan 2005 00:52:54 +0000 (00:52 +0000)]
r4916: added "host" name resolution using fork() per gethostbyname()

comments welcome, but please think about the alternatives first :-)

16 years agor4915: free temp context _before_ the async callback, as the async callback might...
Andrew Tridgell [Fri, 21 Jan 2005 23:53:10 +0000 (23:53 +0000)]
r4915: free temp context _before_ the async callback, as the async callback might destroy our top level context
leaving the tmp context freed (so a double free)

16 years agor4914: Fill in the realm for the self-join.
Andrew Bartlett [Fri, 21 Jan 2005 23:15:18 +0000 (23:15 +0000)]
r4914: Fill in the realm for the self-join.

Andrew Bartlett

16 years agor4911: make sure we fill in the transport called name on port 445 as well
Andrew Tridgell [Fri, 21 Jan 2005 22:01:57 +0000 (22:01 +0000)]
r4911: make sure we fill in the transport called name on port 445 as well
(thanks to abartlet for spotting this bug)

16 years agor4909: fixed name_trn_id generation (thanks to metze for spotting the bug!)
Andrew Tridgell [Fri, 21 Jan 2005 20:38:33 +0000 (20:38 +0000)]
r4909: fixed name_trn_id generation (thanks to metze for spotting the bug!)

16 years agor4901: a bit more info on nbt packets under high debug level
Andrew Tridgell [Fri, 21 Jan 2005 13:39:33 +0000 (13:39 +0000)]
r4901: a bit more info on nbt packets under high debug level

16 years agor4900: build fix for IRIX 6.5
Andrew Tridgell [Fri, 21 Jan 2005 13:29:24 +0000 (13:29 +0000)]
r4900: build fix for IRIX 6.5

16 years agor4899: fixed build
Andrew Tridgell [Fri, 21 Jan 2005 13:16:33 +0000 (13:16 +0000)]
r4899: fixed build

16 years agor4898: - removed the unused wins_srv_*() code
Andrew Tridgell [Fri, 21 Jan 2005 13:13:24 +0000 (13:13 +0000)]
r4898: - removed the unused wins_srv_*() code

- expanded the generic async name resolver to try multiple methods

- added wins resolutions to the list of methods tried

- fixed up the random trn id generation to use the good random generator

16 years agor4897: Unbreak the LDAP server. Somehow the generic service structures
Andrew Bartlett [Fri, 21 Jan 2005 12:45:11 +0000 (12:45 +0000)]
r4897: Unbreak the LDAP server.  Somehow the generic service structures
(which seem just a little too complex) changed, but this code was not
updated or tested.

Also clarify the existing code, by not reusing variables.

Andrew Bartlett

16 years agor4896: make sure the event context doesn't go away while waiting for event completion
Andrew Tridgell [Fri, 21 Jan 2005 11:41:48 +0000 (11:41 +0000)]
r4896: make sure the event context doesn't go away while waiting for event completion

16 years agor4895: I missed this in my previous 'use secrets.ldb' commit.
Andrew Bartlett [Fri, 21 Jan 2005 11:31:35 +0000 (11:31 +0000)]
r4895: I missed this in my previous 'use secrets.ldb' commit.

Andrew Bartlett

16 years agor4894: namecache.c is not used any more either
Andrew Tridgell [Fri, 21 Jan 2005 11:25:33 +0000 (11:25 +0000)]
r4894: namecache.c is not used any more either

16 years agor4893: Move to using secrets.ldb for the Kerberos verify, instead of
Andrew Bartlett [Fri, 21 Jan 2005 11:23:11 +0000 (11:23 +0000)]
r4893: Move to using secrets.ldb for the Kerberos verify, instead of
secrets.tdb from Samba3.

Andrew Bartlett

16 years agor4892: we don't need nameserv.h any more
Andrew Tridgell [Fri, 21 Jan 2005 11:23:11 +0000 (11:23 +0000)]
r4892: we don't need nameserv.h any more

16 years agor4891: - added a generic resolve_name() async interface in libcli/resolve/,
Andrew Tridgell [Fri, 21 Jan 2005 11:18:56 +0000 (11:18 +0000)]
r4891:  - added a generic resolve_name() async interface in libcli/resolve/,
   which will eventually try all resolution methods setup in smb.conf

 - only resolution backend at the moment is bcast, which does a
   parallel broadcast to all configured network interfaces, and takes
   the first reply that comes in (this nicely demonstrates how to do
   parallel requests using the async APIs)

 - converted all the existing code to use the new resolve_name() api

 - removed all the old nmb code (yay!)

16 years agor4890: Try to cope with mechanism mismatch in the client speaks first version
Andrew Bartlett [Fri, 21 Jan 2005 11:10:03 +0000 (11:10 +0000)]
r4890: Try to cope with mechanism mismatch in the client speaks first version
of the SPNEGO state-machine.  (Such as on LDAP and HTTP)

Andrew Bartlett

16 years agor4889: make sure ndr print flags are initialised in ndrdump
Andrew Tridgell [Fri, 21 Jan 2005 06:58:16 +0000 (06:58 +0000)]
r4889: make sure ndr print flags are initialised in ndrdump

16 years agor4888: use the neater calling convention
Andrew Tridgell [Fri, 21 Jan 2005 06:56:57 +0000 (06:56 +0000)]
r4888: use the neater calling convention

16 years agor4887: removed a bogus cast
Andrew Tridgell [Fri, 21 Jan 2005 06:56:13 +0000 (06:56 +0000)]
r4887: removed a bogus cast

16 years agor4886: fixed two places where we process the send side of a socket after the
Andrew Tridgell [Fri, 21 Jan 2005 06:55:33 +0000 (06:55 +0000)]
r4886: fixed two places where we process the send side of a socket after the
recv side in the same event. That's a bad idea, as the first callback
could decide to destroy the socket.

16 years agor4885: added a new NBT client library. Features include:
Andrew Tridgell [Fri, 21 Jan 2005 06:54:10 +0000 (06:54 +0000)]
r4885: added a new NBT client library. Features include:

 - structures defined using IDL in nbt.idl
 - build around our events structure, and talloc
 - fully async
 - supports all NBT packet fields as per rfc1002
 - easy interfaces for name query and status

For the moment there are just a couple of test functions in
namequery.c, test_name_query() and test_name_status(). These will be
removed when we hook the new library into libcli/ fully

The new library will also be a fairly good basis for a nbt
server. Although it can't be a server as-is, I wrote it with the needs
of a server in mind (for example, extremely scalable idtree based
packet handling)

16 years agor4884: - 2nd part of support ndr_size_ generation on unions as well as structures
Andrew Tridgell [Fri, 21 Jan 2005 06:46:07 +0000 (06:46 +0000)]
r4884: - 2nd part of support ndr_size_ generation on unions as well as structures

- added "nopull" and "nopush" flags, to allow for externally written parsers for sub-structures

16 years agor4883: support ndr_size_ generation on unions as well as structures
Andrew Tridgell [Fri, 21 Jan 2005 06:44:52 +0000 (06:44 +0000)]
r4883: support ndr_size_ generation on unions as well as structures

16 years agor4865: Fix up subtree name when dissecting unions. E.g in LSA, The subtree
Tim Potter [Thu, 20 Jan 2005 05:57:05 +0000 (05:57 +0000)]
r4865: Fix up subtree name when dissecting unions.  E.g in LSA, The subtree
used to be called something like "Level, R->out.info" but now is called
"Lsa PolicyInformation".

16 years agor4863: schema_find_attribute() should be static
Andrew Tridgell [Thu, 20 Jan 2005 00:46:04 +0000 (00:46 +0000)]
r4863: schema_find_attribute() should be static

16 years agor4862: - better structure schema tests
Simo Sorce [Wed, 19 Jan 2005 22:56:14 +0000 (22:56 +0000)]
r4862: - better structure schema tests
- fix check for deletion of required attributes on modify
  removed by mistake with the previous commits

16 years agor4859: changed a numbe rof things:
Simo Sorce [Wed, 19 Jan 2005 22:26:14 +0000 (22:26 +0000)]
r4859: changed a numbe rof things:

- Try to no tcopy memory if not necessary
- let the searches hang around until we finish the operation
- greatly simplify the modify operation

still todo:

- check attributes syntax
- check objectclasses type, we cannot allow to add a new structural
  objectclass to an exixting entry unless the existing one is a parent
- more tests

16 years agor4858: a better fix for alignment of enumerated types (I'm not even sure why
Andrew Tridgell [Wed, 19 Jan 2005 21:38:27 +0000 (21:38 +0000)]
r4858: a better fix for alignment of enumerated types (I'm not even sure why
the last fix worked at all)

16 years agor4844: - Remove the unused attrsyn structure
Simo Sorce [Wed, 19 Jan 2005 13:54:10 +0000 (13:54 +0000)]
r4844: - Remove the unused attrsyn structure
- Change 0 to NULL when checking allocations
- Introduce the schema_attr_cmp hepler function
- Do not allow auxiliary classes to be missing
- Try to ease code readability and try to get
  main code out of loops when possibile.

16 years agor4843: fixed the alignment handling of enumerated types
Andrew Tridgell [Wed, 19 Jan 2005 11:58:40 +0000 (11:58 +0000)]
r4843: fixed the alignment handling of enumerated types

16 years agor4842: Set the end of a structure so that when you click on the proto tree,
Tim Potter [Wed, 19 Jan 2005 11:24:29 +0000 (11:24 +0000)]
r4842: Set the end of a structure so that when you click on the proto tree,
the hex display window highlights the part of the buffer occupied by
the structure.  Cool!

16 years agor4841: Handle levels that are signed integer types.
Tim Potter [Wed, 19 Jan 2005 10:17:46 +0000 (10:17 +0000)]
r4841: Handle levels that are signed integer types.

16 years agor4833: added LOCAL-SOCKET to the list of tests that are expected to pass
Andrew Tridgell [Wed, 19 Jan 2005 03:34:49 +0000 (03:34 +0000)]
r4833: added LOCAL-SOCKET to the list of tests that are expected to pass

16 years agor4832: added simple testing of tcp sockets to LOCAL-SOCKET test
Andrew Tridgell [Wed, 19 Jan 2005 03:33:49 +0000 (03:33 +0000)]
r4832: added simple testing of tcp sockets to LOCAL-SOCKET test

16 years agor4831: added udp support to our generic sockets library.
Andrew Tridgell [Wed, 19 Jan 2005 03:20:20 +0000 (03:20 +0000)]
r4831: added udp support to our generic sockets library.

I decided to incorporate the udp support into the socket_ipv4.c
backend (and later in socket_ipv6.c) rather than doing a separate
backend, as so much of the code is shareable. Basically this adds a
socket_sendto() and a socket_recvfrom() call and not much all.

For udp servers, I decided to keep the call as socket_listen(), even
though dgram servers don't actually call listen(). This keeps the API
consistent.

I also added a simple local sockets testsuite in smbtorture,
LOCAL-SOCKET

16 years agor4828: don't apply the schema until we get it working properly
Andrew Tridgell [Tue, 18 Jan 2005 21:11:19 +0000 (21:11 +0000)]
r4828: don't apply the schema until we get it working properly

16 years agor4819: its just not my day today ....
Andrew Tridgell [Tue, 18 Jan 2005 10:10:35 +0000 (10:10 +0000)]
r4819: its just not my day today ....

16 years agor4818: missed version.h here
Andrew Tridgell [Tue, 18 Jan 2005 10:06:37 +0000 (10:06 +0000)]
r4818: missed version.h here

16 years agor4817: ccache was being made ineffective on all the build farm machines
Andrew Tridgell [Tue, 18 Jan 2005 09:30:43 +0000 (09:30 +0000)]
r4817: ccache was being made ineffective on all the build farm machines
because the version number was being auto-updated and included in all
C files. With this change it is only included where needed.

16 years agor4816: Note that NTTIME is 4-byte aligned which makes the comment about alignment
Tim Potter [Tue, 18 Jan 2005 06:38:11 +0000 (06:38 +0000)]
r4816: Note that NTTIME is 4-byte aligned which makes the comment about alignment
for NTTIME_hyper make a bit more sense.

16 years agor4815: Handle uint8 and uint16 bitmap types.
Tim Potter [Tue, 18 Jan 2005 05:32:35 +0000 (05:32 +0000)]
r4815: Handle uint8 and uint16 bitmap types.

Break out arguments to proto_register_protocol() so they can be renamed
easily.  Unfortunately the "pidl_" prefix will have to stick around if/when
the old dissectors are removed because the filter and short names clash.

16 years agor4814: cope with perl not being in /usr/bin for idl building
Andrew Tridgell [Tue, 18 Jan 2005 04:06:58 +0000 (04:06 +0000)]
r4814: cope with perl not being in /usr/bin for idl building

16 years agor4813: this is a temporary solution to a link problem we have on some
Andrew Tridgell [Tue, 18 Jan 2005 03:27:12 +0000 (03:27 +0000)]
r4813: this is a temporary solution to a link problem we have on some
platforms. The problem is that some loaders (for example the IRIX 6.5
machine us4 in the build farm) must have libs listed after object
files that depend on them on the link line. If you put the libs first
then all the symbols in the libs remain unresolved.

I think the correct fix for this is to separate xxx_LINK_LIBS out from
the current xxx_LINK_FLAGS, and use xxx_LINK_FLAGS followed by
xxx_LINK_LIST followed by xxx_LINK_LIBS. I'm hoping metze or jelmer,
as our build wizards, might take a look at this when they get time.

This interim fix should work fine, but its rather ugly, as it lists
the flags and libs twice in each link.

16 years agor4812: removed dependence on Data::Dumper
Andrew Tridgell [Tue, 18 Jan 2005 02:04:13 +0000 (02:04 +0000)]
r4812: removed dependence on Data::Dumper

if you need Dumper for debugging (and it is damn useful!) then please
use the require trick in MyDumper() from pidl so we don't end up
depending on it. Too many systems don't have it.

16 years agor4811: now that the event context is at the socket level, the event cleanup
Andrew Tridgell [Mon, 17 Jan 2005 22:53:37 +0000 (22:53 +0000)]
r4811: now that the event context is at the socket level, the event cleanup
should be there too

16 years agor4810: fixed anonymous connections with smbclient. Thanks to jbm for pointing this...
Andrew Tridgell [Mon, 17 Jan 2005 22:53:00 +0000 (22:53 +0000)]
r4810: fixed anonymous connections with smbclient. Thanks to jbm for pointing this out.

16 years agor4806: - add some data to the configuration naming context
Stefan Metzmacher [Mon, 17 Jan 2005 16:18:48 +0000 (16:18 +0000)]
r4806: - add some data to the configuration naming context

- add some stuff to make w2k3 dc join to get the correct
  values

metze

16 years agor4804: add more emuns and bitmaps
Stefan Metzmacher [Mon, 17 Jan 2005 14:59:21 +0000 (14:59 +0000)]
r4804: add more emuns and bitmaps

metze

16 years agor4801: remove the two bogus ctype.h includes
Andrew Tridgell [Mon, 17 Jan 2005 11:54:22 +0000 (11:54 +0000)]
r4801: remove the two bogus ctype.h includes

16 years agor4800: proper fix for the _GNU_SOURCE problem with comparison_fn_t
Andrew Tridgell [Mon, 17 Jan 2005 11:45:12 +0000 (11:45 +0000)]
r4800: proper fix for the _GNU_SOURCE problem with comparison_fn_t

16 years agor4799: comparison_fn_t is under __USE_GNU on GNU systems, therefore, we need _GNU_SOU...
Alexander Bokovoy [Mon, 17 Jan 2005 09:32:11 +0000 (09:32 +0000)]
r4799: comparison_fn_t is under __USE_GNU on GNU systems, therefore, we need _GNU_SOURCE defined in the test

16 years agor4798: When dissecting structures, name the protocol tree after the field name,
Tim Potter [Mon, 17 Jan 2005 06:37:47 +0000 (06:37 +0000)]
r4798: When dissecting structures, name the protocol tree after the field name,
not the field type (i.e DACL and SACL instead of dom_sid).

16 years agor4797: Add the name of what we are pointing to when dissecting pointers.
Tim Potter [Mon, 17 Jan 2005 06:21:40 +0000 (06:21 +0000)]
r4797: Add the name of what we are pointing to when dissecting pointers.

16 years agor4796: Get rid of unecessary #include
Tim Potter [Mon, 17 Jan 2005 05:41:18 +0000 (05:41 +0000)]
r4796: Get rid of unecessary #include

16 years agor4795: stronget type checking in composite connect function
Andrew Tridgell [Mon, 17 Jan 2005 04:08:24 +0000 (04:08 +0000)]
r4795: stronget type checking in composite connect function

16 years agor4794: - disabled the ntacl command line utilities until they are rewritten to use...
Andrew Tridgell [Mon, 17 Jan 2005 04:07:33 +0000 (04:07 +0000)]
r4794: - disabled the ntacl command line utilities until they are rewritten to use the same
  acl format as we use in pvfs (and hopefully use common code too)

- removed a lot of old cruft from our autoconf tests. This may well break some builds,
  but then we can fix them properly instead of the "if solaris version 5.1.2" crap

This was prompted by someone sending me solaris 10 patches that
patched the configure script with if statements for several more
versions of solaris to check for and do special stuff. That is just
silly.

16 years agor4793: minor doc updates
Andrew Tridgell [Mon, 17 Jan 2005 02:52:10 +0000 (02:52 +0000)]
r4793: minor doc updates

16 years agor4792: use type safety int the test suite too
Andrew Tridgell [Sun, 16 Jan 2005 23:32:37 +0000 (23:32 +0000)]
r4792: use type safety int the test suite too

16 years agor4791: used the new talloc type safety macros to make the "void *private"
Andrew Tridgell [Sun, 16 Jan 2005 23:23:45 +0000 (23:23 +0000)]
r4791: used the new talloc type safety macros to make the "void *private"
pointers in the composite code type safe.

This is a bit of an experiement, I'd be interested in comments on
whether we should use this more widely.

16 years agor4790: added type checking helper macros in talloc. These take advantage of
Andrew Tridgell [Sun, 16 Jan 2005 23:21:52 +0000 (23:21 +0000)]
r4790: added type checking helper macros in talloc. These take advantage of
the type names that talloc already keeps around for pointers, and
allows the user to type check void* private pointers. It can also be
used to implement polymorphism in C, as I'm sure someone would have
pointed out to me sooner or later :-)

16 years agor4787: Clean up gepdump code somewhat.
Jelmer Vernooij [Sun, 16 Jan 2005 22:54:01 +0000 (22:54 +0000)]
r4787: Clean up gepdump code somewhat.

16 years agor4786: forgot to commit the exclusion for schema checking against our control entries
Simo Sorce [Sun, 16 Jan 2005 22:41:43 +0000 (22:41 +0000)]
r4786: forgot to commit the exclusion for schema checking against our control entries

16 years agor4785: add schema objects to provision
Simo Sorce [Sun, 16 Jan 2005 22:38:41 +0000 (22:38 +0000)]
r4785: add schema objects to provision
but let schema checking be disabled by default until we can pass all test with it enabled

16 years agor4784: finally make schema module use a single ldb
Simo Sorce [Sun, 16 Jan 2005 22:30:38 +0000 (22:30 +0000)]
r4784: finally make schema module use a single ldb
add the new test-schema test

16 years agor4783: got rid of another void* in the composite code. This brings us down to
Andrew Tridgell [Sun, 16 Jan 2005 22:22:13 +0000 (22:22 +0000)]
r4783: got rid of another void* in the composite code. This brings us down to
the minimal level I think (one private pointer for the composite
function, and one private pointer for the caller)

16 years agor4782: volker quite rightly pointed out that there is too much of a
Andrew Tridgell [Sun, 16 Jan 2005 21:58:28 +0000 (21:58 +0000)]
r4782: volker quite rightly pointed out that there is too much of a
proliferation of void* in the composite code. This removes two of the
void* pointers from the main composite structure.

16 years agor4781: the tolower() in schema.c is a premature optimisation. I suspect the
Andrew Tridgell [Sun, 16 Jan 2005 20:48:53 +0000 (20:48 +0000)]
r4781: the tolower() in schema.c is a premature optimisation. I suspect the
"distinguishedName" checking in that module is incorrect and should be
removed, but meanwhile, lets not make it slow down the compile of
every other module.

16 years agor4780: tolower() requires ctype.h
Jelmer Vernooij [Sun, 16 Jan 2005 20:20:15 +0000 (20:20 +0000)]
r4780: tolower() requires ctype.h

16 years agor4779: demonstrate doing 50 parallel loadfile operations, with a callback for completion
Andrew Tridgell [Sun, 16 Jan 2005 12:10:14 +0000 (12:10 +0000)]
r4779: demonstrate doing 50 parallel loadfile operations, with a callback for completion

16 years agor4778: I forgot to set the session key for the spnego path. Fixed.
Andrew Tridgell [Sun, 16 Jan 2005 11:45:49 +0000 (11:45 +0000)]
r4778: I forgot to set the session key for the spnego path. Fixed.

16 years agor4777: added a smb_composite_sesssetup() async composite function. This
Andrew Tridgell [Sun, 16 Jan 2005 11:15:08 +0000 (11:15 +0000)]
r4777: added a smb_composite_sesssetup() async composite function. This
encapsulates all the different session setup methods, including the
multi-pass spnego code.

I have hooked this into all the places that previously used the
RAW_SESSSETUP_GENERIC method, and have removed the old
RAW_SESSSETUP_GENERIC code from clisession.c and clitree.c. A nice
side effect is that these two modules are now very simple again, back
to being "raw" session setup handling, which was what was originally
intended.

I have also used this to replace the session setup code in the
smb_composite_connect() code, and used that to build a very simple
replacement for smbcli_tree_full_connection().

As a result, smbclient, smbtorture and all our other SMB connection
code now goes via these composite async functions. That should give
them a good workout!

16 years agor4776: Add more debugs to SamSync test.
Andrew Bartlett [Sun, 16 Jan 2005 11:11:57 +0000 (11:11 +0000)]
r4776: Add more debugs to SamSync test.

Andrew Bartlett

16 years agor4775: use schema_attr_cmp wrapper to check for the special dn/distinguishedName...
Simo Sorce [Sun, 16 Jan 2005 10:48:46 +0000 (10:48 +0000)]
r4775: use schema_attr_cmp wrapper to check for the special dn/distinguishedName case alias

16 years agor4774: It appears the SensitiveData contains the password history, as the
Andrew Bartlett [Sun, 16 Jan 2005 08:45:40 +0000 (08:45 +0000)]
r4774: It appears the SensitiveData contains the password history, as the
remaining data.  Pity - I was looking for kerberos keys :-)

Andrew Bartlett

16 years agor4773: Handle arrays of scalar types as function arguments.
Tim Potter [Sun, 16 Jan 2005 06:12:22 +0000 (06:12 +0000)]
r4773: Handle arrays of scalar types as function arguments.

Add hf for function return value.

Rename struct field members to be named after the structure name
and element name rather than element name and element type.

Remember which structure or function we are processing and use it
to generate hf fields according to the naming scheme above.

16 years agor4772: fixed checking of the conformant size for dom_sid2
Andrew Tridgell [Sun, 16 Jan 2005 03:44:08 +0000 (03:44 +0000)]
r4772: fixed checking of the conformant size for dom_sid2

16 years agor4771: Fix some indentation.
Tim Potter [Sun, 16 Jan 2005 01:57:12 +0000 (01:57 +0000)]
r4771: Fix some indentation.

16 years agor4770: Change from processing ndr_*.[ch] files all at once to line-by-line.
Tim Potter [Sun, 16 Jan 2005 01:48:08 +0000 (01:48 +0000)]
r4770: Change from processing ndr_*.[ch] files all at once to line-by-line.
I'm hoping this will allow better mapping hf fields to the structures
they are present in which isn't possible at the moment.  (Line mode
allows us to use /foo/ .. /bar/ regexps and to store state during the
processing.

16 years agor4769: added a smb_composite_connect() function that provides a simple async
Andrew Tridgell [Sun, 16 Jan 2005 01:28:11 +0000 (01:28 +0000)]
r4769: added a smb_composite_connect() function that provides a simple async
interface to a complete SMB connection setup. Internally it does:

  - socket connection
  - session request (if needed)
  - negprot
  - session setup
  - tcon

This is the first example of a composite function that builds on other
composite components (the socket connection is a composite function,
which is used as a building block for this function). I think this
will be quite common in composite functions in the future, building up
ever more complex composite functions from smaller building blocks,
while hiding the details from the caller.

There are two things missing from this now. The first is async name
resolution routines (wins, bcast, DNS etc), and the second is that
this code currently only does a NT1 style session setup. I'll work on
adding spnego and old style session setup support next.

16 years agor4768: Until I can prove it, we should not have these elements marked as
Andrew Bartlett [Sun, 16 Jan 2005 01:23:15 +0000 (01:23 +0000)]
r4768: Until I can prove it, we should not have these elements marked as
size_is() base arrays.

Andrew Bartlett

16 years agor4767: handle the different NBT session request refusals, and map them to
Andrew Tridgell [Sun, 16 Jan 2005 01:22:08 +0000 (01:22 +0000)]
r4767: handle the different NBT session request refusals, and map them to
reasonable NT_STATUS values

16 years agor4766: Add another useful helper function: samdb_msg_set_value()
Andrew Bartlett [Sun, 16 Jan 2005 01:21:58 +0000 (01:21 +0000)]
r4766: Add another useful helper function: samdb_msg_set_value()

Andrew Bartlett

16 years agor4765: simplify the async socket code to always go via the event handler
Andrew Tridgell [Sun, 16 Jan 2005 01:21:18 +0000 (01:21 +0000)]
r4765: simplify the async socket code to always go via the event handler
rather than short-circuiting in the unlikely event the OS returns an
immediate success on a non-blocking connect