1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-28 12:23:49 +03:00
Commit Graph

3462 Commits

Author SHA1 Message Date
Tim Potter
6fc162738f r4797: Add the name of what we are pointing to when dissecting pointers. 2007-10-10 13:08:56 -05:00
Tim Potter
2950dbd87c r4796: Get rid of unecessary #include 2007-10-10 13:08:56 -05:00
Andrew Tridgell
e16f67c931 r4795: stronget type checking in composite connect function 2007-10-10 13:08:56 -05:00
Andrew Tridgell
1ea59d1146 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.
2007-10-10 13:08:56 -05:00
Andrew Tridgell
ad1af519eb r4793: minor doc updates 2007-10-10 13:08:55 -05:00
Andrew Tridgell
4a963e3b7a r4792: use type safety int the test suite too 2007-10-10 13:08:55 -05:00
Andrew Tridgell
0e1da827b3 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.
2007-10-10 13:08:55 -05:00
Andrew Tridgell
c283e1a3ef 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 :-)
2007-10-10 13:08:55 -05:00
Jelmer Vernooij
128e97cef6 r4787: Clean up gepdump code somewhat. 2007-10-10 13:08:55 -05:00
Simo Sorce
e895fcf4a3 r4786: forgot to commit the exclusion for schema checking against our control entries 2007-10-10 13:08:55 -05:00
Simo Sorce
e2c1ee1dd8 r4785: add schema objects to provision
but let schema checking be disabled by default until we can pass all test with it enabled
2007-10-10 13:08:54 -05:00
Simo Sorce
42a20f6fa4 r4784: finally make schema module use a single ldb
add the new test-schema test
2007-10-10 13:08:54 -05:00
Andrew Tridgell
0240bf9281 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)
2007-10-10 13:08:54 -05:00
Andrew Tridgell
5a89a5ed0f 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.
2007-10-10 13:08:54 -05:00
Andrew Tridgell
6534ce650b 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.
2007-10-10 13:08:54 -05:00
Jelmer Vernooij
e22bfa8ae2 r4780: tolower() requires ctype.h 2007-10-10 13:08:54 -05:00
Andrew Tridgell
b8c5269482 r4779: demonstrate doing 50 parallel loadfile operations, with a callback for completion 2007-10-10 13:08:54 -05:00
Andrew Tridgell
870af4e2f2 r4778: I forgot to set the session key for the spnego path. Fixed. 2007-10-10 13:08:53 -05:00
Andrew Tridgell
080d0518bc 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!
2007-10-10 13:08:53 -05:00
Andrew Bartlett
70860779ae r4776: Add more debugs to SamSync test.
Andrew Bartlett
2007-10-10 13:08:53 -05:00
Simo Sorce
18cd6cb674 r4775: use schema_attr_cmp wrapper to check for the special dn/distinguishedName case alias 2007-10-10 13:08:53 -05:00
Andrew Bartlett
37a81aad74 r4774: It appears the SensitiveData contains the password history, as the
remaining data.  Pity - I was looking for kerberos keys :-)

Andrew Bartlett
2007-10-10 13:08:53 -05:00
Tim Potter
fd14622d13 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.
2007-10-10 13:08:53 -05:00
Andrew Tridgell
0d31523aae r4772: fixed checking of the conformant size for dom_sid2 2007-10-10 13:08:53 -05:00
Tim Potter
b2a3b02216 r4771: Fix some indentation. 2007-10-10 13:08:52 -05:00
Tim Potter
75b6df15f2 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.
2007-10-10 13:08:52 -05:00
Andrew Tridgell
6bc9e17f5c 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.
2007-10-10 13:08:52 -05:00
Andrew Bartlett
3d3063b1f6 r4768: Until I can prove it, we should not have these elements marked as
size_is() base arrays.

Andrew Bartlett
2007-10-10 13:08:52 -05:00
Andrew Tridgell
b193a9cb0c r4767: handle the different NBT session request refusals, and map them to
reasonable NT_STATUS values
2007-10-10 13:08:52 -05:00
Andrew Bartlett
a43f7392f7 r4766: Add another useful helper function: samdb_msg_set_value()
Andrew Bartlett
2007-10-10 13:08:51 -05:00
Andrew Tridgell
db43807170 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
2007-10-10 13:08:51 -05:00
Andrew Bartlett
e5e4dd0d34 r4764: Add some more structs to keep the proto.h compile happy.
Andrew Bartlett
2007-10-10 13:08:51 -05:00
Andrew Bartlett
feca96fe5a r4763: Join Samba4 to itself during the provision process.
Andrew Bartlett
2007-10-10 13:08:51 -05:00
Andrew Bartlett
54a231780e r4762: Store the results of a 'net join' in the LDB.
Like Samba3, the storage of the primary domain password is keyed off
the domain name, so we can join multiple domains, and just swap
'workgroup =' around.

Andrew Bartlett
2007-10-10 13:08:51 -05:00
Simo Sorce
8c11038d67 r4759: use ldb_attr_cmp() to compare attribute names
check required attributes are not deleted on modify operation
if the objectclass is deleted then deny the operation if
orphan atributes are left behind
2007-10-10 13:08:51 -05:00
Andrew Tridgell
71cbe28734 r4758: - added async support to the session request code
- added async support to the negprot client code

- removed two unused parameters from smbcli_full_connection() code

- converted smbclient to use smbcli_full_connection() rather than
  reinventing everything itself
2007-10-10 13:08:50 -05:00
Andrew Tridgell
468f8ebbfd r4757: added the ability of the clisocket level of libcli to handle async
socket connections. This was complicated by a few factors:

 - it meant moving the event context from clitransport to clisocket,
   so lots of structures changed

 - we need to asynchronously handle connection to lists of port
   numbers, not just one port number. The code internally tries each
   port in the list in turn, without ever blocking

 - the man page on how connect() is supposed to work asynchronously
   doesn't work in practice (now why doesn't this surprise me?). The
   getsockopt() for SOL_ERROR is supposed to retrieve the error, but
   in fact the next (unrelated) connect() call on the same socket also
   gets an error, though not the right error. To work around this I
   need to tear down the whole socket between each attempted port. I
   hate posix.

Note that clisocket.c still does a blocking name resolution call in
smbcli_sock_connect_byname(). That will be fixed when we add the async
NBT resolution code.

Also note that I arranged things so that every SMB connection is now
async internally, so using plain smbclient or smbtorture tests all the
async features of this new code.
2007-10-10 13:08:50 -05:00
Andrew Tridgell
d2f76c3671 r4756: a slight tidy up in the events code 2007-10-10 13:08:50 -05:00
Andrew Tridgell
cae7748d67 r4755: the recent change in the definition of lp_passwordserver() breaks this
old code, so I'm just removing it, as it needs replacing anyway
2007-10-10 13:08:50 -05:00
Andrew Tridgell
4f6055b4fb r4754: tidied up the composite function infrastructure to make it easier to
have composite functions that are not made up of functions that
operate on smbcli_request structures.
2007-10-10 13:08:50 -05:00
Andrew Tridgell
b787dd166f r4753: added the ability for the generic socket library to handle async
connect(). This required a small API change (the addition of
a socket_connect_complete() method)
2007-10-10 13:08:50 -05:00
Andrew Tridgell
31919995fd r4748: removed unnecessary distinguishedName from provisioning 2007-10-10 13:08:49 -05:00
Andrew Tridgell
e9dff03f79 r4745: remove the distinguishedName attribute adds from samr. See the
discussion on samba-technical about this.
2007-10-10 13:08:49 -05:00
Andrew Tridgell
7893251456 r4744: until we decide what to do about attribute aliasing (see my recent
samba-technical posting), this is an interim solution that makes us
work pretty much like w2k3 does.
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
9ea9e1ced5 r4730: remove unused struct elements
part of this went in in the last commit...

metze
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
5190f60ded r4729: add dummy "winbind" service
- this creates a new task and then starts a process_model "single"
  with service "winbind_task"

- that means with -M single everything is in one process

  with - M standard winbind is a seperate process but didn't fork for each connection
  with -M thread winbind is a seperate thread but didn't thread for each connection

- the dummy server listen s on /tmp/.winbind/echo
  and for better testing with telnet also on 127.0.255.1 port 55555

metze
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
d5fa02746c r4728: split up server_services into:
- stream_socket services
  the smb, ldap and rpc service which sets up a srtam socket end then
  waits for connections
and
- task services
  which this you can create a seperate task that do something
  (this is also going through the process_model subsystem
  so with -M standard a new process for this created
  with -M thread a new thread ...

I'll add datagram services later when we whave support for datagram sockets in lib/socket/

see the next commit as an example for service_task's

metze
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
05c3d1c4a6 r4727: add a reference to the event context
to that the destructor don't double free the registered events
when the event context is first in the talloc_free() hierarchie

fixes a bug with process_model_thread and the talloc_steal(conn, ev)

metze
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
8308da6ce4 r4726: - use the name tcon and tid instead of conn and cnum
- make use of talloc destructors

metze
2007-10-10 13:08:48 -05:00
Stefan Metzmacher
5287ec0818 r4725: make "password server" a string list
metze
2007-10-10 13:08:48 -05:00