1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

51 Commits

Author SHA1 Message Date
Andrew Tridgell
de744cb970 The beginnings of alternative backends for winbindd
This just splits off the dispinfo call behind a methods structure.
I'll split off a few more functions soon, then we will be ready for
LDAP replacement methods
(This used to be commit 0216b0fca115c903ec31ed21427a83c62077dc95)
2001-12-01 12:31:43 +00:00
Jeremy Allison
e2adbd4568 Added negative caching to the user pw lookup by name and by uid.
Jeremy.
(This used to be commit 4013ae87a1c73ceba346de2a0b905e7c8df355c4)
2001-11-27 20:57:14 +00:00
Tim Potter
64dd6c3412 Another merge from appliance-head: in [ug]id_to_sid don't call the
winbind function if the id is obviously going to be local.  Cleanup
of winbind [ug]id parameter handling.
(This used to be commit 4ab9ca31a02b3388aa89a00e0390ea9e4c76283a)
2001-11-26 04:27:51 +00:00
Tim Potter
19b9f9fbae Removed bogus SAFE_FREE() call of talloced return data from
winbindd_lookup_usergroups()
(This used to be commit dd2048c418da7a08bc71305491953731fc427f5a)
2001-11-26 01:20:57 +00:00
Tim Potter
26ef1afa2e Fixed some indentation.
(This used to be commit 1dd462844a9b90b498ee79ca33e4048980e2af5f)
2001-11-26 00:58:43 +00:00
Jeremy Allison
d2e279ecf2 Set type to NOTUSED if lookup fail.
Jeremy.
(This used to be commit 20a4167599ce211f239d0f324e7e73a1c2d8a5a6)
2001-11-23 09:04:09 +00:00
Martin Pool
946374e8af Finish 1.45 by removing redundant sid->string conversion in
winbindd_lookup_sid_by_name.  Also if the lookup fails then clobber
the output parameters rather than leaving them looking potentially
valid.

Add doxygen.
(This used to be commit 61dba52a549039255e46393be1618d3eb54b79dd)
2001-11-23 03:54:07 +00:00
Martin Pool
a833fbebcd I think you were passing the name of the SID, rather than the DOM_SID
pointer itself.  (Whatever that is.... ;-)
(This used to be commit 1393c7c4ede1d6d624c3f5d0bfa4c18b0c6dc27f)
2001-11-23 03:33:22 +00:00
Jeremy Allison
1db30a338c Got positive and negative name caching working correctly with lookupname/lookupsid.
There was a bug in cli_lsa_lookup_name/lookup_sid where NT_STATUS_NONE_MAPPED was
being mapped to NT_STATUS_OK, and also the *wrong* number of entries mapped
was being returned. The correct field is mapped_count, *NOT* num_entries.
Jeremy.
(This used to be commit 9f8c644abc455510c06dbd5dbac49c6270746560)
2001-11-22 08:31:50 +00:00
Jeremy Allison
609cdbfe37 Fixed +ve caching. Still problems with -ve caching.
Jeremy.
(This used to be commit 7883a2288a6e3198e10ab4e02ed4585e7bb313f6)
2001-11-22 07:48:57 +00:00
Jeremy Allison
a81e3902bc Fixed caching of lookupname/lookupsid. Error in check of success !
Jeremy.
(This used to be commit d039d4fa507a7284e7e1cada0026c63863fe0a2d)
2001-11-22 07:32:48 +00:00
Jeremy Allison
f146325e7d W2K doesn't seem to respond to *#0 names in node status. Ensure name
lookup uses password server parameter when looking for PDCs.
Jeremy.
(This used to be commit 54c968913d6553c6d834b068234ab176917075eb)
2001-11-21 23:00:59 +00:00
Jeremy Allison
16ceec46d6 Added transparent +ve caching for lookupname/lookupsid. -ve caching can
be easily added (a one liner) once we know the correct error codes returned
by a W2K DC.
All other winbindd calls should go through a similar transparent caching layer
(and will soon).
Jeremy.
(This used to be commit b16bb21d371772816a4331f5011c151be0e083d5)
2001-11-21 09:59:15 +00:00
Tim Potter
15c6ab0f2d Merge from 2.2.
(This used to be commit ebd46aebf921c0026791ffb0afdcffaecb496e8c)
2001-11-19 05:23:59 +00:00
Tim Potter
c32b4b6161 Caching user, group and domain sam handles was a stupid idea.
Now we just keep a record of the open pipes.
(This used to be commit 77c287e9460eed7bde7004c7e6c8cb0099c6ba6f)
2001-11-15 06:55:56 +00:00
Tim Potter
c5ceae9dc9 Added free_domain_info() function.
Get list of trusted domains if we haven't fetched them yet.
(This used to be commit ed16aa88a422e759d27dbfae39afc72250c80e8d)
2001-11-15 03:34:27 +00:00
Tim Potter
6f0b8a38ec Added some extra fields to the auth_serversupplied_info structure.
To obtain the full group membership of a user (i.e nested groups on a
win2k native mode server) it is necessary to merge this list of groups
with the groups returned by winbindd when creating an nt access token.

This breaks winbindd linking while AB and I sync up our changes to the
authentication subsystem.
(This used to be commit 4eeb7bcd783d7cfb3ac232f1faa035773007401d)
2001-10-31 06:20:58 +00:00
Tim Potter
b8b04c4d5e Don't reference tallocated memory that has already been disposed of. The
cli_samr_query_userinfo function used to do this.
(This used to be commit da2c167660ec12360354f96dc672d935f58dd9c0)
2001-10-29 04:50:17 +00:00
Tim Potter
e3e9c52b7a Fixed some memory leaks introduced by connection handling rewrite, as well
as one memory leak that has been there for ages!

Changed the way talloc is used in get{pw,gr}nam routines.
(This used to be commit d52cd1854fdff18c223d6dd1eca0e26f1f0bf01b)
2001-10-19 08:22:52 +00:00
Tim Potter
52995a5f7d Converted some more functions to create and dispose of a talloc context on a
per-call basis rather than per-connection.

Had a bit more of a reformatting fest.

Still need to run it through insure and handle downed connections.
(This used to be commit 46fe5a8fb96974e1323bc3e5d94fda74edbeb852)
2001-10-19 01:46:43 +00:00
Tim Potter
f2d595e262 Some reformatting.
(This used to be commit 5fc97e72ebf5976d66345107f3d9e6d3ae27eb94)
2001-10-14 08:31:54 +00:00
Tim Potter
3a5be6bae8 Converted a few winbind functions to use a talloc context that is destroyed
immediately after the call.
(This used to be commit 3e9a80d5bed724690da7321cde6b95022d60ba60)
2001-10-12 08:28:08 +00:00
Tim Potter
8632b44f6b Removed some unused code from the recent cleanup.
(This used to be commit 4f12df9fc569b73dcf037b476976cb3be47ac43f)
2001-10-12 03:56:13 +00:00
Tim Potter
1f48b3640f Got the rest of the group functions working. Did some reformatting (man
what was I thinking with those 4 character tabs?)

We now pass our winbindd test suite again!

Still to do:

 - talloc_ctx on a per winbindd request basis not per connection
 - clean up old crap we don't use any more
 - test against multiple BDCs (I know this isn't going to work - group/user
   handles have to be made against the same DC the domain and basic handles
   are.
 - implement network and dc failure recovery
(This used to be commit dc4ca0e0bd779b9157ea3b2a8f17eb455abf0f26)
2001-10-10 23:08:13 +00:00
Tim Potter
f3f2744e9c Implemented sam group handle stuff. getent group now works.
(This used to be commit 63731d4a00e7a70b48d0c25677c76ec6b2e04ce1)
2001-10-09 22:55:00 +00:00
Tim Potter
14fc7fd109 More work on winbindd connection rewrite:
- implemented some of the sam related connection manager routines
 - fill in group id and gecos fields for getpwnam/getpwuid routines
 - convert querydispinfo to cm
 - getent passwd now works

Now for the group related routines...
(This used to be commit 4f8ea877876e91d4762f22e78aeb1bce4c65f011)
2001-10-08 00:34:14 +00:00
Tim Potter
482a9ef278 This is the start of a bit of a rewrite of winbindd's connection handling.
I've wrapped up all the decisions about managing, making and closing
connections into a connection manager in nsswitch/winbindd_cm.c.

It's rather incomplete at the moment - only querying basic user info works
at the moment (i.e finger -m DOMAIN/user) and everything else is broken.

Jeremy, please take a look and I'll start moving across the rest of
winbindd to this new system.
(This used to be commit c369cf5af787ed9c642778d21f162716fbf0620e)
2001-10-05 00:20:06 +00:00
Simo Sorce
b50d10c2a3 move to SAFE_FREE()
(This used to be commit 03dc67788f68c9e01b5a82fdf43f837cb19f4608)
2001-09-17 04:52:45 +00:00
Andrew Tridgell
162e975514 more static/dead fns
(This used to be commit f59826c0c9ba283c25faeec2cbdc7e19cca7aa04)
2001-09-10 11:45:09 +00:00
Andrew Tridgell
12752486db kill a dead fn and make a local one static
(This used to be commit 1e9815105e235ad1141b899b03d3de756d217d49)
2001-09-10 11:34:32 +00:00
Andrew Tridgell
7844aa868b more warning fixes on solaris
(This used to be commit c04c67fec85b1c81ef0b3cebacde304a1de0d854)
2001-09-05 08:11:17 +00:00
Andrew Tridgell
19fea3242c the next stage in the NTSTATUS/WERROR change. smbd and nmbd now compile, but the client code still needs some work
(This used to be commit dcd6e735f709a9231860ceb9682db40ff26c9a66)
2001-09-04 07:13:01 +00:00
Andrew Tridgell
b031af348c converted another bunch of stuff to NTSTATUS
(This used to be commit 1d36250e338ae0ff9fbbf86019809205dd97d05e)
2001-08-27 19:46:22 +00:00
Tim Potter
b0f167cdf2 Added another authentication interface to winbindd. The Challenge Response
Authentication Protocol (CRAP) takes a tuple of (username, random
challenge, encrypted lm password, encrypted nt password) where the
passwords are encrypted with the random challenge ala ntlmssp.
(This used to be commit 11f72a78e3a16bbb17b576d80b47a9eb818ee428)
2001-08-22 02:48:16 +00:00
Tim Potter
d3f1d7f7b6 Merged across rewritten version of winbindd_kill_connections(). This now
works much better with trusted domains whose DCs cannot be reached.

I'm pretty impressed with how much faster winbindd is in HEAD rather than
TNG.  A lot fewer unecessary name lookups are performed and it feels a lot
zippier now.
(This used to be commit 36413784aec5819c83e5e469ce4c7bb5d468e980)
2001-07-19 09:18:23 +00:00
Andrew Tridgell
e8c2eeb0d8 the nss and pam modules in winbind don't have strchr_m() yet, so use
strchr() for the moment
(This used to be commit c2c1f2027e6e623bba59610e3aa41618773e6361)
2001-07-18 21:50:20 +00:00
Andrew Tridgell
527e824293 strchr and strrchr are macros when compiling with optimisation in gcc, so we can't redefine them. damn.
(This used to be commit c41fc06376d1a2b83690612304e85010b5e5f3cf)
2001-07-04 07:36:09 +00:00
Tim Potter
1c831ce6d8 Merge from appliance branch:
Don't call find_domain_from_name() from winbindd_kill_connections() as
you get stuck in an infinite loop!
(This used to be commit 8e982941d82b813197f2a9720149e60f629b5b20)
2001-06-20 01:52:40 +00:00
Andrew Tridgell
0326421a67 don't use c++ style comments
(This used to be commit dbb770ecc6dbbc4c38f31fc6b9747e0d8bc6e155)
2001-06-05 02:28:47 +00:00
Tim Potter
b343f082e4 Memory leak fixes from insure.
(This used to be commit 03b1cab9a80264f0c940c45d0557ef7efe685095)
2001-05-15 01:55:29 +00:00
Tim Potter
5bcd434e6e Compile fixes for dynamic samr_query_userinfo() stuff.
(This used to be commit a92a0d061bd322b9d3a1fe13c6ce2d2e1f070ef7)
2001-05-14 03:58:49 +00:00
Tim Potter
bc77683283 Fixes from nsswitch testsuite. Lots of stuff works much better now. (-:
(This used to be commit 014859b62b31ceff5b5ca3d1699792e362c77a85)
2001-05-09 05:06:35 +00:00
Tim Potter
3475c25714 Misc fixes to get winbindd working. We can now do a 'getent passwd'
and 'getent group' and have most things working.
(This used to be commit a7728bfa52291ec3149fbb704d7b30689af83e7c)
2001-05-08 03:52:07 +00:00
Tim Potter
c504e240a8 OK so I couldn't be as clever as I wanted to be with winbindd_glue.c
so all the glue functions are prefixed with wb_ to avoid conflicts with
the old rpc_client stuff which is still a dependency of smbd/nmbd.
(This used to be commit 873e672b90e85e092102e10966e9f93f4fa6814f)
2001-05-07 06:04:22 +00:00
Tim Potter
a36f9250e7 Preliminary merge of winbind into HEAD. Note that this compiles and links
but I haven't actually run it yet so it probably doesn't work.  (-:
(This used to be commit 59f95416b66db6df05289bde224de29c721978e5)
2001-05-07 04:32:40 +00:00
Tim Potter
64299375b5 Moved winbind client functions from various odd locations to
nsswitch/wb_client.c

Merge of nsswitch/common.c rename to nsswitch/wb_common.c from TNG.
(This used to be commit f866c18f6be65db67d9d2a6c0b42e1af3b421e6c)
2000-07-10 05:40:43 +00:00
Andrew Tridgell
7738941ccf use "winbind separator" in tng as well
(This used to be commit 0189af544244d7d20e4042cd1238f370968cb7a9)
2000-05-12 06:27:34 +00:00
Andrew Tridgell
a71d9b291c treat a blank "password server =" line as a "*" if in domain security
(This used to be commit 5a617c013cce65434d315dc33279a4bc28dc63de)
2000-05-10 13:21:32 +00:00
Andrew Tridgell
49a0e6d598 more merging voodoo
this adds "#define OLD_NTDOMAIN 1" in lots of places. Don't panic -
this isn't permanent, it should go after another few merge steps have
been done
(This used to be commit 92109d7b3c06f240452d39f669ecb8c9c86ab610)
2000-05-10 10:41:59 +00:00
Andrew Tridgell
ddc9b8b406 more merging
it is now at the stage that winbindd can compile in the head branch,
but not link
(This used to be commit d178c00aae77710ae6ff20a7f54a30e3bd8232bb)
2000-05-10 09:49:55 +00:00