1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

950 Commits

Author SHA1 Message Date
Jelmer Vernooij
34cde06513 r5924: Use cli_credentials in libnet/.
(This used to be commit e5bc6f4f1716568ae7022d61b5b35ee047b58414)
2007-10-10 13:11:08 -05:00
Andrew Bartlett
df64302213 r5902: A rather large change...
I wanted to add a simple 'workstation' argument to the DCERPC
authenticated binding calls, but this patch kind of grew from there.

With SCHANNEL, the 'workstation' name (the netbios name of the client)
matters, as this is what ties the session between the NETLOGON ops and
the SCHANNEL bind.  This changes a lot of files, and these will again
be changed when jelmer does the credentials work.

I also correct some schannel IDL to distinguish between workstation
names and account names.  The distinction matters for domain trust
accounts.

Issues in handling this (issues with lifetime of talloc pointers)
caused me to change the 'creds_CredentialsState' and 'struct
dcerpc_binding' pointers to always be talloc()ed pointers.

In the schannel DB, we now store both the domain and computername, and
query on both.  This should ensure we fault correctly when the domain
is specified incorrectly in the SCHANNEL bind.

In the RPC-SCHANNEL test, I finally fixed a bug that vl pointed out,
where the comment claimed we re-used a connection, but in fact we made
a new connection.

This was achived by breaking apart some of the
dcerpc_secondary_connection() logic.

The addition of workstation handling was also propogated to NTLMSSP
and GENSEC, for completeness.

The RPC-SAMSYNC test has been cleaned up a little, using a loop over
usernames/passwords rather than manually expanded tests.  This will be
expanded further (the code in #if 0 in this patch) to use a newly
created user account for testing.

In making this test pass test_rpc.sh, I found a bug in the RPC-ECHO
server, caused by the removal of [ref] and the assoicated pointer from
the IDL.  This has been re-added, until the underlying pidl issues are
solved.
(This used to be commit 824289dcc20908ddec957a4a892a103eec2da9b9)
2007-10-10 13:11:07 -05:00
Andrew Bartlett
a25443dbeb r5900: Use flatname to specify the netbios domain name (matches what win2k3
uses for trusted domain records) in the secrets join records.

Andrew Bartlett
(This used to be commit a6c502832c4ef471bd423b795f210abf3bb96ca5)
2007-10-10 13:11:07 -05:00
Jelmer Vernooij
e9ca6e48ff r5775: Remove some unused functions (unions are no longer as special as they used to be)
Add oxid mapping table support in DCOM
(This used to be commit e193555f0eec2dda8c8760e9668181200fef0a1e)
2007-10-10 13:11:02 -05:00
Stefan Metzmacher
c857c03170 r5681: fix the build and compiler wanings
metze
(This used to be commit bb2622a0c94127a31855adc41d90289219a1ddd7)
2007-10-10 13:11:00 -05:00
Rafal Szczesniak
c148831783 r5677: Split structure definitions from implementation.
rafal
(This used to be commit ec177c92266713e9a486e536c2d81af4eaa2425e)
2007-10-10 13:10:59 -05:00
Simo Sorce
b1b14817ea r5585: LDB interfaces change:
changes:
- ldb_wrap disappears from code and become a private structure of db_wrap.c
  thanks to our move to talloc in ldb code, we do not need to expose it anymore

- removal of ldb_close() function form the code
  thanks to our move to talloc in ldb code, we do not need it anymore
  use talloc_free() to close and free an ldb database

- some minor updates to ldb modules code to cope with the change and fix some
  bugs I found out during the process
(This used to be commit d58be9e74b786a11a57e89df36081d55730dfe0a)
2007-10-10 13:10:55 -05:00
Rafal Szczesniak
181da32361 r5576: Bunch of fixes pointed by tridge. A few more to come...
rafal
(This used to be commit e5daf6911b49cd4aa0bff050fe8c559d6604859e)
2007-10-10 13:10:54 -05:00
Rafal Szczesniak
595228c4c3 r5474: Remove random notes put in code.
rafal
(This used to be commit bfb4dfaa8c039378b4c29f130cbcdc89eac951b9)
2007-10-10 13:10:48 -05:00
Rafal Szczesniak
dd411b005e r5472: First approach to composite rpc call fetchin user info.
It does only compile. Completely untested yet, so almost certainly
broken, but I don't want it to lay on my laptop only.

rafal
(This used to be commit dcab843da35f5dd2ffc694922ee762b3c36dbd35)
2007-10-10 13:10:48 -05:00
Rafal Szczesniak
2e61d60cdc r5366: added initial code for adding user accounts to libnet makefile.
It doesn't do anything useful yet, but at least doesn't break
the build.

rafal
(This used to be commit b9dbf17366f543194f420e7e3c56c8086fb7bf1d)
2007-10-10 13:09:47 -05:00
Rafal Szczesniak
953ba3fb7d r5365: Initial code for adding user accounts via libnet call.
rafal
(This used to be commit c5fdc38b176acc70bfc163fbf1e6cf4ef67197f5)
2007-10-10 13:09:46 -05:00
Tim Potter
abc28d66e9 r5364: Rename string fields called 'domain' and 'name' to be 'domain_name'.
(This used to be commit 6749b9404d4e9876ecd964e038c608f05d2c0b69)
2007-10-10 13:09:46 -05:00
Andrew Tridgell
e82aad1ce3 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
(This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10 13:09:38 -05:00
Rafal Szczesniak
f0b403f27a r5256: More verbose description of functions (as I learn the code).
rafal
(This used to be commit 38ac6b8d570fa02bc32899521d42ba7237f77024)
2007-10-10 13:09:35 -05:00
Andrew Tridgell
759da3b915 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
(This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10 13:09:15 -05:00
Rafal Szczesniak
d25c1bd001 r4948: Typo fixes in comments.
rafal
(This used to be commit 97d40f1603eeed1b5ff3f2c7d668858fef20f130)
2007-10-10 13:09:08 -05:00
Andrew Tridgell
2383787f19 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!)
(This used to be commit 239c310f255e43dd2d1c2433f666c9faaacbdce3)
2007-10-10 13:09:03 -05:00
Andrew Bartlett
8799d6b44c 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
(This used to be commit 54a231780e028c6433cac296f2fbc64e39632dfd)
2007-10-10 13:08:51 -05:00
Andrew Bartlett
335a277662 r4722: Start to add 'net join' to Samba4.
Andrew Bartlett
(This used to be commit a9b960609142e15ba5950eb1b22944eb6df18d9c)
2007-10-10 13:08:48 -05:00
Andrew Bartlett
025bf43aa0 r4721: Changes to libnet_passwd to take advantage of the new easier to call
RPC client libs, and to make the fallback between the various SAMR
levels easier to manage.

I'm starting to enjoy the structure that libnet has actually, and I'm
about to build 'net join' on that basis (and I didn't want to have to
duplicate the password set code).

Andrew Bartlett
(This used to be commit f1dd179a50d2c9c81b90a621459c93b0d60e2609)
2007-10-10 13:08:48 -05:00
Stefan Metzmacher
c62615f268 r4075: implement RemoteTOD server function
metze
(This used to be commit 0c6d4246a45f649e7373606f12db74c2acd0f538)
2007-10-10 13:06:23 -05:00
Andrew Tridgell
cc8f4358cc r4035: more effort on consistent naming of the access mask bits.
This removes the duplicate named SEC_RIGHTS_MAXIMUM_ALLOWED and
SEC_RIGHTS_FULL_CONTROL, which are just other names for
SEC_FLAG_MAXIMUM_ALLOWED and SEC_RIGHTS_FILE_ALL. The latter names
match the new naming conventions in security.idl

Also added names for the generic->specific mappings for files are
directories
(This used to be commit 17a4e0b3aca227b40957ed1e0c57e498debc6ddf)
2007-10-10 13:06:16 -05:00
Jelmer Vernooij
d95a256d1b r3881: Split up the LIBNDR_GEN subsystem into NDR_* and RPC_NDR_* subsystems.
This reduces the total size of the samba binaries from 119 Mb to 73 Mb.
Next step will be to have the build system obtain some of this information
by itself, so that we don't have to write ~10 lines per interface manually.
(This used to be commit 16d905f6b0cbec591eebc44ee2ac9516a5730378)
2007-10-10 13:06:01 -05:00
Jelmer Vernooij
34ddb33b4b r3744: Support building subsystems as a shared library. Modules don't work yet,
so while this does compile, it does not work yet.
(This used to be commit 3d885562c9f83d60c5d4957b067e35387dfa50dd)
2007-10-10 13:05:50 -05:00
Jelmer Vernooij
8e16d8a76f r3733: More build system fixes/features:
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure
 - Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities)
(This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
2007-10-10 13:05:47 -05:00
Andrew Bartlett
50916c8f2f r3724: Rename a number of structures, for better consistance between SAMR and
NETLOGON.

In particular, rename samr_Name to samr_String - given that many
strings in this pipe are not 'names', the previous was just confusing.
(I look forward to PIDL turning these into simple char * some day...).

Also export out a few changes from testjoin.c to allow for how I have
written the new RPC-SAMSYNC test.

Andrew Bartlett
(This used to be commit 9cd666bcfb1fc752a4717010a7c4f05131dc728e)
2007-10-10 13:05:47 -05:00
Andrew Tridgell
6bd02aa504 r3478: split out some more pieces of includes.h
(This used to be commit 8e9212ecfc61c509f686363d8ec412ce54bc1c8d)
2007-10-10 13:05:20 -05:00
Andrew Tridgell
a1d0b97ed4 r3462: separate out the crypto includes
(This used to be commit 3f75117db921e493bb77a5dc14b8ce91a6288f30)
2007-10-10 13:05:16 -05:00
Andrew Tridgell
ead3508ac8 r3447: more include/system/XXX.h include files
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
2007-10-10 13:05:12 -05:00
Andrew Tridgell
284349482f r3443: the next stage in the include files re-organisation.
I have created the include/system/ directory, which will contain the
wrappers for the system includes for logical subsystems. So far I have
created include/system/kerberos.h and include/system/network.h, which
contain all the system includes for kerberos code and networking code.
These are the included in subsystems that need kerberos or networking
respectively.

Note that this method avoids the mess of #ifdef HAVE_XXX_H in every C
file, instead each C module includes the include/system/XXX.h file for
the logical system support it needs, and the details are kept isolated
in include/system/

This patch also creates a "struct ipv4_addr" which replaces "struct
in_addr" in our code. That avoids every C file needing to import all
the system networking headers.
(This used to be commit 2e25c71853f8996f73755277e448e7d670810349)
2007-10-10 13:05:11 -05:00
Andrew Tridgell
90067934cd r3428: switched to using minimal includes for the auto-generated RPC code.
The thing that finally convinced me that minimal includes was worth
pursuing for rpc was a compiler (tcc) that failed to build Samba due
to reaching internal limits of the size of include files. Also the
fact that includes.h.gch was 16MB, which really seems excessive. This
patch brings it back to 12M, which is still too large, but
better. Note that this patch speeds up compile times for both the pch
and non-pch case.

This change also includes the addition iof a "depends()" option in our
IDL files, allowing you to specify that one IDL file depends on
another. This capability was needed for the auto-includes generation.
(This used to be commit b8f5fa8ac8e8725f3d321004f0aedf4246fc6b49)
2007-10-10 13:05:09 -05:00
Andrew Bartlett
352de0eaaf r2545: str_charnum -> strlen_m.
These two functions do exactly the same thing, I'll be removing
str_charnum shortly.

Andrew Bartlett
(This used to be commit 5eaa4c97488671a0b7ff539d4d392cbaa29fa489)
2007-10-10 12:59:04 -05:00
Tim Potter
0e71bf8148 r2458: Rename policy handle parameters for the SAMR pipe. Parameters now
have the handle type implied by the parameter name.  There are four
types of handle: connect, domain, user and group handles.  The
various samr_Connect functions return a connect handle, and the
samr_OpenFoo functions return a foo handle.

There is one exception - the samr_{Get,Set}Security function can
take any type of handle.

Fix up all C callers.
(This used to be commit 32f0f3154a8eb63de83145cbc8806b8906ccdc3e)
2007-10-10 12:58:55 -05:00
Stefan Metzmacher
fe70e8aa7a r2346: fix some minor stuff
metze
(This used to be commit 56e21d0ce29b13808bbbd2a6c0464948886d317d)
2007-10-10 12:58:45 -05:00
Stefan Metzmacher
9b54c7ca21 r2065: add libnet_RemoteTOD() call with levels GENERIC and SRVSVC
metze
(This used to be commit 72e3b351d0169366aa88c5445ffa555da6efd1d0)
2007-10-10 12:58:23 -05:00
Stefan Metzmacher
c9656212f5 r2064: fix some error cases
metze
(This used to be commit 85ba7b4d60be3f771364aebc9c803da26d2c090b)
2007-10-10 12:58:23 -05:00
Stefan Metzmacher
1795dfd454 r2061: - split libnet header files
- add LIB_RPC_CONNECT_STANDARD level which takes a server name
  and the PIPE NAME,UUID and VERSION

metze
(This used to be commit 6aeaa6aca39c8c2a9edf8d4b3e538bebb68070d7)
2007-10-10 12:58:22 -05:00
Stefan Metzmacher
13c899de96 r2021: add password change fallback to SetUserInfo level 25,24,23
metze
(This used to be commit d31405ff2f379e9627cc9ee3acaf61e2ccc0f6e4)
2007-10-10 12:58:18 -05:00
Stefan Metzmacher
cc5b454aa7 r1952: change the _RPC levels into _SAMR
because we may have other rpc levels in future

add more comments about what's going on

check the rsult of samr_OpenUser

metze
(This used to be commit 741f95909b42eb55a251e5de991e5b3185714e3e)
2007-10-10 12:58:13 -05:00
Stefan Metzmacher
a5ca84508c r1950: implement libnet_SetPassword_rpc()
this currently tries only SetUserInfo26
the fallback is not yet done

metze
(This used to be commit af6b5673b05e7fc1c876a248f99bc71faeec9538)
2007-10-10 12:58:13 -05:00
Stefan Metzmacher
5a8f826653 r1947: fix cup & paste errors
metze
(This used to be commit 1c72f30650655b03fb04a34188a959dfe917b5ec)
2007-10-10 12:58:13 -05:00
Stefan Metzmacher
011ff131f8 r1928: give up on NT_STATUS_PASSWORD_RESTRICTION
(NOTE: this code pass isn't called yet,
       because pidl mixes the NTSTATUS of transport and request layer,
       and will be fixed soon)

metze
(This used to be commit 84c06d9ab0366772f71be088c53da9618e2555fe)
2007-10-10 12:58:12 -05:00
Stefan Metzmacher
b2f39d19e3 r1927: allow the domain to be a ip address
metze
(This used to be commit d0e518e7d0edcf64a3d7173ff8d38f221db1ce6e)
2007-10-10 12:58:12 -05:00
Stefan Metzmacher
618368ead6 r1926: fallback to other SAMR ChangePasswordUser levels
1. ChangePasswordUser3
2. ChangePasswordUser2
3. OemChangePasswordUser2
4. ChangePasswordUser (not implemented complete)

metze
(This used to be commit eb93d38de0dab0d0ad5adf8cfb69623bc35e942a)
2007-10-10 12:58:12 -05:00
Stefan Metzmacher
bd225f8c28 r1925: now we lookup the domain controller
and fallback to a workstation name

metze
(This used to be commit 2012d90f268f69a3a4e5890a0f3615237853bd0b)
2007-10-10 12:58:11 -05:00
Stefan Metzmacher
9d62046b0e r1919: paasword change basicly works now:-)
but we need to find the real pdc for the users domain
and fallback to other levels

metze
(This used to be commit f1b9c1f3dd0fb927c065541da900ae43e0018a62)
2007-10-10 12:58:11 -05:00
Stefan Metzmacher
226478521b r1878: implemet libnet_context_{init,destroy}
and implement libnet_Change_Password_generic()

metze
(This used to be commit d48050ae906ecf8d4f78c224042f8f9fe584ad39)
2007-10-10 12:58:07 -05:00
Stefan Metzmacher
d3e7a22630 r1836: - as abartlet said to me, we need to contact the users domain pdcfor doing a
password change
- add start of libnet_SetPassword
- use KRB5 and LDAP instead of ADS as ADS isn't a protocol
- add start of lib_rpc_connect()

metze
(This used to be commit 05c40dca8ad1ab020aa75282da046f1dbce2a52a)
2007-10-10 12:58:00 -05:00
Stefan Metzmacher
1406581761 r1816: here's the initial idea of libnet
metze
(This used to be commit dcb3ea32da6d7cf93e6bdda9b839faf604ba3b6a)
2007-10-10 12:57:59 -05:00