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

52 Commits

Author SHA1 Message Date
Andrew Bartlett
d1221c9b6c Merge from HEAD client-side authentication changes:
- new kerberos code, allowing the account to change it's own password
   without special SD settings required
 - NTLMSSP client code, now seperated from cliconnect.c
 - NTLMv2 client code
 - SMB signing fixes

Andrew Bartlett
(This used to be commit 837680ca517982f2e5944730581a83012d4181ae)
2003-02-24 02:55:00 +00:00
Tim Potter
fe2f9f813d Merge some random looking setenv related kerberos stuff that makes
winbindd build again.
(This used to be commit c4f46890fe7f0dc16520cd5ed0fd06dcd7682703)
2003-02-19 22:50:05 +00:00
Jeremy Allison
ef8bd7c4f7 Forward port the change to talloc_init() to make all talloc contexts
named. Ensure we can query them.
Jeremy.
(This used to be commit 09a218a9f6fb0bd922940467bf8500eb4f1bcf84)
2002-12-20 20:21:31 +00:00
Gerald Carter
0899eed4ab enable enumeration of domain local groups using LDAP (and in a native mode domain)
(This used to be commit ff4b2411d146b72f5f578b2e78701f125fec8f08)
2002-11-15 17:57:21 +00:00
Gerald Carter
67b3799bf4 NULL enum_local_groups for ads winbindd (temporary workaround).
(This used to be commit 5a2f1edb5848dc054cfaa71b0fb3b473ad930b7d)
2002-10-18 17:44:53 +00:00
Gerald Carter
f2d1f19a66 syncing up with HEAD. Seems to be a lot of differences creeping in
(i ignored the new SAMBA stuff, but the rest of this looks like it should
have been merged already).
(This used to be commit 3de09e5cf1f667e410ee8b9516a956860ce7290f)
2002-10-01 18:26:00 +00:00
Gerald Carter
a834a73e34 sync'ing up for 3.0alpha20 release
(This used to be commit 65e7b5273bb58802bf0c389b77f7fcae0a1f6139)
2002-09-25 15:19:00 +00:00
Jelmer Vernooij
b2edf254ed sync 3.0 branch with head
(This used to be commit 3928578b52cfc949be5e0ef444fce1558d75f290)
2002-08-17 17:00:51 +00:00
Andrew Tridgell
e90b652848 updated the 3.0 branch from the head branch - ready for alpha18
(This used to be commit 03ac082dcb375b6f3ca3d810a6a6367542bc23ce)
2002-07-15 10:35:28 +00:00
Andrew Tridgell
560a51f46b possibly fix the 15000 user problem
I think its caused by a rpc operation failing and us giving invalid
data back to the cache layer. Using talloc_zero() should solve this.
(This used to be commit dfa990170bb9a665ba48443258e2a87f50baa75c)
2002-04-11 14:30:31 +00:00
Andrew Tridgell
e76d514f57 fixed the secondary group mappings for ADS users
(This used to be commit be399f5823bb8dfe6cc28d58aaeceb51f1b7382b)
2002-03-21 02:28:23 +00:00
Andrew Tridgell
7b50eef89e updated winbindd to used paged ldap searches for all ldap queries
(This used to be commit 41e1560798b7eb19575b0d97a5e489eb170bcfd5)
2002-03-19 22:15:32 +00:00
Andrew Tridgell
08a0230855 fixed 2 reconnection bugs in the ADS backend support
(This used to be commit 1aaa2091d54e7e50cf75927d658e57776792d6ae)
2002-03-12 20:17:34 +00:00
Andrew Tridgell
e1aed4f49c better detection of dead ADS connections, so we have some chance of
reconnecting
(This used to be commit 58b79c0dc882fa402423e44a594e30c27177f490)
2002-03-09 19:36:53 +00:00
Tim Potter
cd68afe312 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
(This used to be commit 6a58c9bd06d0d7502a24bf5ce5a2faf0a146edfa)
2002-01-30 06:08:46 +00:00
Andrew Bartlett
93a8358910 This patch makes the 'winbind use default domain' code interact better with
smbd, and also makes it much cleaner inside winbindd.

It is mostly my code, with a few changes and testing performed by Alexander
Bokovoy <a.bokovoy@sam-solutions.net>.  ab has tested it in security=domain and
security=ads, but more testing is always appricatiated.

The idea is that we no longer cart around a 'domain\user' string, we keep them
seperate until the last moment - when we push that string into a pwent on onto
the socket.

This removes the need to be constantly parsing that string - the domain prefix
is almost always already provided, (only a couple of functions actually changed
arguments in all this).

Some consequential changes to the RPC client code, to stop it concatonating the
two strings (it now passes them both back as params).

I havn't changed the cache code, however the usernames will no longer have a
double domain prefix in the key string.  The actual structures are unchanged
 - but the meaning of 'username' in the 'rid' will have changed.  (The cache is
invalidated at startup, so on-disk formats are not an issue here).

Andrew Bartlett
(This used to be commit e870f0e727952aeb8599cf93ad2650ae56eca033)
2002-01-20 01:24:59 +00:00
Andrew Tridgell
401c7495ea added ads_domain_sid() function
(This used to be commit ff002a458afa6ca378f0c6d2ec9fb74233c839a7)
2001-12-20 23:35:14 +00:00
Andrew Tridgell
15aad7f33d use "ads server" option if set for primary domain
(This used to be commit 1bf5c1a46f4c3f44054ce8fcbc551cdb72683f2b)
2001-12-19 13:33:08 +00:00
Andrew Tridgell
a04aec58d3 add support for mixtures of ADS/NT4 domains, as long as the primary
domain is ADS
(This used to be commit e97b40e09427c2c5f0a497f9432af08d6d6762f2)
2001-12-19 12:38:52 +00:00
Andrew Tridgell
1f31ace6cb much better ADS error handling system
(This used to be commit 05a90a28843e0d69183a49a76617c5f32817df16)
2001-12-19 12:21:12 +00:00
Andrew Tridgell
9126a40e2c added trusted realm support to ADS authentication
the method used for checking if a domain is a trusted domain is very
crude, we should really call a backend fn of some sort. For now I'm
using winbindd to do the dirty work.
(This used to be commit adf44a9bd0d997ba4dcfadc564a29149531525af)
2001-12-19 09:53:30 +00:00
Andrew Tridgell
a062e58d9e - added initial support for trusted domains in winbindd_ads
- gss error code patch from a.bokovoy@sam-solutions.net
- better sid dumping in ads_dump
- fixed help in wbinfo
(This used to be commit ee1c3e1f044b4ef62169ad74c5cac40eef81bfda)
2001-12-19 08:44:23 +00:00
Jim McDonough
d9c3ef8450 Replace backslash with winbind separator before calling parse_domain_user(). Winbind separators other than backslash didn't work.
(This used to be commit 6688781331e046adc77783792fc009cda7c8b5b8)
2001-12-11 19:27:40 +00:00
Andrew Tridgell
d86b7f9dc3 handle systems without setenv()
(This used to be commit 87090652460e57703b40f21e9ed08c18770b61c3)
2001-12-11 06:17:01 +00:00
Andrew Tridgell
d033e53300 removed the start_ndx parameter from group enumeration
I tried testing this by lowering the buffer size in
cli_samr_enum_dom_groups() but that didn't work - I think this needs
more looking into
(This used to be commit 34328e30315e4b42087d0ee11ed0c3fb715bc250)
2001-12-11 01:04:13 +00:00
Andrew Tridgell
abeb0f50ea got rid of start_ndx from query_user_list()
(This used to be commit 1c909afe76566807fb576c965eb869f98e72f2bd)
2001-12-11 00:03:58 +00:00
Andrew Tridgell
273deacb32 robustness fixes and moved ccache location into winbindd_ads code
(This used to be commit 24aa09ff3dd128c6f12b4cb072943ff668a29a67)
2001-12-10 22:10:16 +00:00
Andrew Tridgell
6b36fa3a8a use objectCategory instead of objectClass for faster searching
(This used to be commit 4d3b827e5ac1ac20ec31acdc1e2a0264f1c18e43)
2001-12-10 06:21:44 +00:00
Andrew Tridgell
2bbc91978b winbindd backends can now be marked "consistent" or "inconsistent"
consistent backends (like ADS) always give correct primary group
info, so we can play cache tricks to speed things up a lot

inconsistent backends (like MSRPC) need to fetch stuff more often
(This used to be commit 217c39f23282e20f96a61a0d5a2434b3f5f66a86)
2001-12-10 06:05:21 +00:00
Andrew Tridgell
f3918919d2 moved the domain sid lookup and enumeration of trusted domains into
the backends

at startup, loop until we get the domain sid for our primary domain,
trying every 10 seconds. This makes winbindd handle a room-wide power
failure better
(This used to be commit 7c60ae59378be1b2af2e57ee3927966a29a797a5)
2001-12-10 02:25:19 +00:00
Andrew Tridgell
e051c2c430 make sid_binstring available without HAVE_ADS
(This used to be commit 4a6d29768665f71b72cf48ee34ee9a9c451232f6)
2001-12-10 00:39:01 +00:00
Andrew Tridgell
31842f5d01 completely new winbindd cache infrastructure
this one looks like just another winbind backend, and has the
following properties:

- does -ve and +ve cacheing of all queries

- can be disabled with -n switch to winbindd

- stores all records packed, so even huge domains are not a problem
for a complete cache

- handles the server being down

- uses sequence numbers for all entries

This fixes a lot of problems with winbindd. Serving from cache is now
*very* fast.
(This used to be commit fddb4f4c04473a60a97212c0c8e143d6a4d68380)
2001-12-09 23:59:42 +00:00
Andrew Tridgell
0b33cb1a7b - use accountype not accountcontrol
- better debug code
(This used to be commit 01f63b9c92137e6de906412952c7a2c8da21dfbe)
2001-12-09 06:10:02 +00:00
Andrew Tridgell
b6c618467d fixed type passed to ads_search
(This used to be commit 0ff30848f3ef4f38e9bc80dc96be4f37bb2dcb0e)
2001-12-09 00:46:37 +00:00
Andrew Tridgell
5d378a280f added internal sasl/gssapi code. This means we are no longer dependent on cyrus-sasl which makes the code much less fragile. Also added code to auto-determine the server name or realm
(This used to be commit 435fdf276a79c2a517adcd7726933aeef3fa924b)
2001-12-08 11:18:56 +00:00
Andrew Tridgell
a87b9bf561 fixed a memory leak
(This used to be commit 45c328800e42ba01c8d6113c0691546804137677)
2001-12-05 10:43:43 +00:00
Andrew Tridgell
9421ad4a7a added a REALLY gross hack into kerberos_kinit_password so that
winbindd can do a kinit
this will be removed once we have code that gets a tgt
and puts it in a place where cyrus-sasl can see it
(This used to be commit 7d94f1b7365215a020d3678d03d820a7d086174f)
2001-12-05 09:46:53 +00:00
Andrew Tridgell
addea9645d moved the sequence number fetch into the backend, and fetch the
sequence number via ldap when using ads
(This used to be commit 9a084f0bb91883224ad44e2b76417d10c15cce42)
2001-12-05 07:52:44 +00:00
Andrew Tridgell
5329af6e11 don't double free ldap message lists
(This used to be commit f64612b89bae1148d73555cac00f6019a01f9304)
2001-12-05 07:36:35 +00:00
Andrew Tridgell
cb01c8e192 fixed another leak - memory usage now seems to be quite small
(This used to be commit a45e3968590a021c1b464db5265a09ba48cb5797)
2001-12-05 07:11:26 +00:00
Andrew Tridgell
a313351e94 added very basic ads connection cacheing
(This used to be commit 7de670cd15c1a87dd01ab22d74a7e6cbf5ae6673)
2001-12-05 07:05:53 +00:00
Andrew Tridgell
faa0f63774 plugged most of the memory leaks
(This used to be commit 60b5d4432abd905ee61fe381487ed87139134685)
2001-12-05 06:16:33 +00:00
Andrew Tridgell
ca61334c76 added the last winbindd/ads backend function
winbindd is now fully functional with a native mode w2k server

now for the memory leaks and speed ...
(This used to be commit fad564c177049eb47e5bf48c98b62281c6348ffc)
2001-12-05 05:35:45 +00:00
Andrew Tridgell
3278f563b9 finally worked out how to do ldap lookups by binary blobs, so I can
now do searches on SID. This allows me to do a true ldap sid_to_name()
function

one one function to go!
(This used to be commit 7d44aa3915bc88fd2b2f8454f190b11677cbb848)
2001-12-05 04:48:51 +00:00
Jeremy Allison
f8abe6eba4 Fixed parse_domain_user to be bool.
Jeremy.
(This used to be commit 9563de2ef8c1197f4941671d2fdade7d933c32d0)
2001-12-05 04:17:39 +00:00
Andrew Tridgell
7b64e61e68 added lookup_groups() to the ads backend
winbindd/ADS can now do initgroups()
(This used to be commit 43edeaca9f3a42699131939ed0d917111f57b678)
2001-12-04 12:10:05 +00:00
Andrew Tridgell
1d66a6beba moved lookup_usergroups() into the backend structure
(This used to be commit 689f45d2079d06b09947b2cdd314867df98c938d)
2001-12-04 06:46:53 +00:00
Andrew Tridgell
8e8ce079b8 added a query_user backend
fixed a winbindd crash when the group membership can't be looked up
(This used to be commit 088f4cc5be4a1a38781e4d019146d53993ed8c6f)
2001-12-04 06:17:39 +00:00
Andrew Tridgell
fc85a60962 changed query_dispinfo to query_user_list
(This used to be commit 80010d80f93cfb32c53a1720c7564fb080846f35)
2001-12-03 11:32:55 +00:00
Andrew Tridgell
6f907af4e7 put sid_to_name behind the winbindd backend interface
I spent quite a while trying to work out how to make this call
via ldap and failed. I then found that MS servers seem use rpc
for sid_to_name, and it works even when in native mode, I ended
up just implementing it via rpc
(This used to be commit 789833b44e342c0b5de463ed8f9b5f7474a99f27)
2001-12-03 11:11:14 +00:00