1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

156 Commits

Author SHA1 Message Date
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 b16bb21d37)
2001-11-21 09:59:15 +00:00
Jeremy Allison
efa52853f6 Preparing to implement +ve and -ve caching for lookupname/lookupsid calls.
Jeremy.
(This used to be commit 1f6cc536b2)
2001-11-21 08:36:43 +00:00
Tim Potter
15c6ab0f2d Merge from 2.2.
(This used to be commit ebd46aebf9)
2001-11-19 05:23:59 +00:00
Martin Pool
f741f65673 Store some path names in global variables initialized to configure
default, rather than in preprocessor macros.
(This used to be commit 79ec88f0da)
2001-11-19 02:49:53 +00:00
Jeremy Allison
8220662c13 Tidyup formatting a bit (spaces->tabs) whilst reading new code to understand
connection caching. Getting ready for back-merge to 2.2.3.
Jeremy.
(This used to be commit 5e8df83ba9)
2001-11-15 19:40:00 +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 77c287e946)
2001-11-15 06:55:56 +00:00
Tim Potter
1539c2f34b Jeremy, I'm not sure what you were trying to do with the process activity
loop in winbindd but it didn't work.
(This used to be commit 3ac32af838)
2001-11-15 06:53:47 +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 ed16aa88a4)
2001-11-15 03:34:27 +00:00
Tim Potter
6121a6c9e4 Added free_domain_info() function.
(This used to be commit 1a9a361591)
2001-11-15 03:33:56 +00:00
Tim Potter
69a6bf3edd Cache positive and negative name domain controller lookups.
Cache negative connection attempt lookups.

Fixed loginc bug in connection_ok()
(This used to be commit e07bcfcccd)
2001-11-15 03:33:12 +00:00
Tim Potter
2fbd75210b Get list of trusted domains if we haven't fetched them yet.
(This used to be commit 1876632100)
2001-11-15 03:29:00 +00:00
Tim Potter
0d252203a7 Fixed display of uninitialised buffer in debug.
Get list of trusted domains if we haven't fetched them yet.
(This used to be commit a7ef2d20b1)
2001-11-15 03:28:24 +00:00
Tim Potter
17ce9c5281 Bit of a cleanup of signal handling code.
Ignore the SIGUSR1 signal before we install a handler for it as glibc (?)
seems to just print out "User defined signal 1" and exit if no handler
is installed.
(This used to be commit 1212591095)
2001-11-15 03:23:15 +00:00
Jeremy Allison
5302dc1218 Fix detection of RedHat 7.2.
Remove unused old file.
Test 42 byte reply to SMBntcreate (W2K does this).
Jeremy.
(This used to be commit a55a63a4ca)
2001-11-15 01:18:10 +00:00
Jeremy Allison
b30f0baf7a Make signal handling safer (handle EINTR on read/write/accept), don't
call slprintf within a signal handler.
Jeremy.
(This used to be commit a9f7974cb8)
2001-11-14 21:49:30 +00:00
Jeremy Allison
5d97ab9df8 Got ready to implement Martin's idea, but request doesn't have a length
field.... well, now at least the code is there when it does :-).
Jeremy.
(This used to be commit 22e323ca47)
2001-11-14 20:02:02 +00:00
Tim Potter
b7f6113c2d Random connection robustness related fixes. Display some debugs about
the currently open connections when winbindd receives a USR1 signal.

Hmm - I've just realised this will conflict with the messaging code
but we don't use that yet.
(This used to be commit caef54e400)
2001-11-14 06:18:13 +00:00
Martin Pool
e6093a12a1 #ifdef'd out suggestion for tim on making the winbindd protocol more
robust.
(This used to be commit 8952f8763e)
2001-11-14 05:33:55 +00:00
Jeremy Allison
413fa03cd6 Added needed debugs...
Jeremy.
(This used to be commit 804f232398)
2001-11-14 04:44:36 +00:00
Jeremy Allison
c51f7bd4d0 Fix winbind client code so that winbind calls are not made if the
requested name does not have a winbind separator character. This
makes the intent explicit. Tim, contact me if this is not what
you indended.
Jeremy.
(This used to be commit 86b7cf7f85)
2001-11-13 21:28:31 +00:00
Tim Potter
93fb9f76e2 Use cli_nt_login_network() instead of domain_client_validate() to perform
pam authentication.  This allows us to link in less other crap.

Authenticating with a challenge/response doesn't seem to work though - we
always get back NT_STATUS_WRONG_PASSWORD.
(This used to be commit d85aa1ce83)
2001-11-05 00:21:17 +00:00
Jeremy Allison
f8e2baf39e Added NT_USER_TOKEN into server_info to fix extra groups problem.
Got "medieval on our ass" about const warnings (as many as I could :-).
Jeremy.
(This used to be commit ee5e7ca547)
2001-11-03 23:34:24 +00:00
Tim Potter
f7cf10b6d8 Removed unneeded extern.
(This used to be commit c80641b6f3)
2001-10-31 12:45:50 +00:00
Andrew Bartlett
60f0627afb This is a farily large patch (3300 lines) and reworks most of the AuthRewrite
code.

In particular this assists tpot in some of his work, becouse it provides the
connection between the authenticaion and the vuid generation.

Major Changes:
	- Fully malloc'ed structures.
	  - Massive rework of the code so that all structures are made and destroyed
	    using malloc and free, rather than hanging around on the stack.
	- SAM_ACCOUNT unix uids and gids are now pointers to the same, to allow them
	   to be declared 'invalid' without the chance that people might get ROOT by
	   default.

	- kill off some of the "DOMAIN\user" lookups.  These can be readded at a more
	  appropriate place (probably domain_client_validate.c) in the future. They
	  don't belong in session setups.

	- Massive introduction of DATA_BLOB structures, particularly for passwords.

	- Use NTLMSSP flags to tell the backend what its getting, rather than magic
	  lenghths.

	- Fix winbind back up again, but tpot is redoing this soon anyway.

	- Abstract much of the work in srv_netlog_nt back into auth helper functions.

This is a LARGE change, and any assistance is testing it is appriciated.

Domain logons are still broken (as far as I can tell) but other functionality
seems
intact.

Needs testing with a wide variety of MS clients.

Andrew Bartlett
(This used to be commit f70fb819b2)
2001-10-31 10:46:25 +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 4eeb7bcd78)
2001-10-31 06:20:58 +00:00
Volker Lendecke
e5cee57941 Don't force winbind to use non-local DC's.
Volker
(This used to be commit fd1d0064b3)
2001-10-29 15:00:45 +00:00
Andrew Bartlett
d9d7f023d8 This commit is number 4 of 4.
In particular this commit focuses on:

Actually adding the 'const' to the passdb interface, and the flow-on changes.

Also kill off the 'disp_info' stuff, as its no longer used.

While these changes have been mildly tested, and are pretty small, any
assistance in this is appreciated.

----

These changes introduces a large dose of 'const' to the Samba tree.
There are a number of good reasons to do this:

	- I want to allow the SAM_ACCOUNT structure to move from wasteful
	pstrings and fstrings to  allocated strings.  We can't do that if
	people are modifying these outputs, as they may well make
	assumptions about getting pstrings and fstrings

	- I want --with-pam_smbpass to compile with a slightly sane
	volume of warnings, currently its  pretty bad, even in 2.2
	where is compiles at all.

	- Tridge assures me that he no longer opposes 'const religion'
	based on the ability to  #define const the problem away.

	- Changed Get_Pwnam(x,y) into two variants (so that the const
	parameter can work correctly): - Get_Pwnam(const x) and
	Get_Pwnam_Modify(x).

	- Reworked smbd/chgpasswd.c to work with these mods, passing
	around a 'struct passwd' rather  than the modified username

---

This finishes this line of commits off, your tree should now compile again :-)

Andrew Bartlett
(This used to be commit c95f5aeb93)
2001-10-29 07:35:11 +00:00
Tim Potter
7c98cf29f3 Hey where did those 4 character tabs come from?
(This used to be commit 49d4723826)
2001-10-29 04:57:20 +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 da2c167660)
2001-10-29 04:50:17 +00:00
Tim Potter
b267dc04e6 Added some connection checking code. Doesn't work yet though.
(This used to be commit 4f4dace577)
2001-10-27 04:48:22 +00:00
Tim Potter
e68daea2bd Fix for fussy Solaris compiler.
(This used to be commit d50005d4c1)
2001-10-21 07:01:01 +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 d52cd1854f)
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 46fe5a8fb9)
2001-10-19 01:46:43 +00:00
Tim Potter
f2d595e262 Some reformatting.
(This used to be commit 5fc97e72eb)
2001-10-14 08:31:54 +00:00
Tim Potter
0536ceee2f Pass domain structure around in cache code rather than the domain name.
(This used to be commit c6338d7eae)
2001-10-14 08:30:30 +00:00
Tim Potter
1bce5c0b62 Resurrected sam sequence number code.
Pass domain structure around in cache code rather than the domain name.

Some misc reformatting to make things look prettier.
(This used to be commit 295dd2a581)
2001-10-14 08:26:45 +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 3e9a80d5be)
2001-10-12 08:28:08 +00:00
Tim Potter
8632b44f6b Removed some unused code from the recent cleanup.
(This used to be commit 4f12df9fc5)
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 dc4ca0e0bd)
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 63731d4a00)
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 4f8ea87787)
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 c369cf5af7)
2001-10-05 00:20:06 +00:00
Simo Sorce
a42efb4971 fix some possible memleaks and not tested reallocs spotted by Andreas Moroder
(This used to be commit d30939a091)
2001-10-03 21:10:29 +00:00
Tim Potter
dc1fc3ee8e Removed 'extern int DEBUGLEVEL' as it is now in the smb.h header.
(This used to be commit 2d0922b0ea)
2001-10-02 04:29:50 +00:00
Simo Sorce
b50d10c2a3 move to SAFE_FREE()
(This used to be commit 03dc67788f)
2001-09-17 04:52:45 +00:00
Tim Potter
b800a36b1c Some patches to authentication:
- the usersupplied_info now contains a smb_username (as it comes across on
   the wire) and a unix_username (after being passed through mapping
   functions)

 - when doing security={server,domain} use the smb_username, otherwise use
   the unix_username
(This used to be commit d34fd8ec07)
2001-09-12 06:39:50 +00:00
Andrew Tridgell
79139fe8d8 convert more code to use XFILE
(This used to be commit fe6679dffb)
2001-09-10 12:46:42 +00:00
Andrew Tridgell
162e975514 more static/dead fns
(This used to be commit f59826c0c9)
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 1e9815105e)
2001-09-10 11:34:32 +00:00
Andrew Tridgell
7844aa868b more warning fixes on solaris
(This used to be commit c04c67fec8)
2001-09-05 08:11:17 +00:00