1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-12 20:58:37 +03:00

182 Commits

Author SHA1 Message Date
Andrew Tridgell
37749cbb04 fixed the nsswitch initgroups code
added a nsstest test program that directly tests all the nss
interfaces using dlopen()
(This used to be commit aee19090d3b957372b234a412cd9db8896650feb)
2001-12-03 03:53:57 +00:00
Andrew Tridgell
78169af90a split winbindd_enum_dom_groups into the new backend structure
also created winbindd_rpc.c which contains the functions that
have been converted to the new structure. There will soon be
a winbindd_ads.c for the ldap backend
(This used to be commit e4ccc602ba65838646f2632120069f3274619dd9)
2001-12-03 01:23:42 +00:00
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
Tim Potter
ff27a326f1 I think the lookup_pdc_name() should be called lookup_dc_name() and the
name_status_find() call here should look up a #1c name instead of #1d.
This fixes some bugs currently with BDC authentication in winbindd and in
smbd as you can't query the #1d name with the ip address of a BDC.

Who is Uncle Tom Cobbley anyway?
(This used to be commit 4215048f7b20a8f9e5877bdbb2f54841b2f7fa64)
2001-11-29 05:50:32 +00:00
Tim Potter
7ca15c1485 Some reformatting.
M-x tabify
(This used to be commit 6446d2acd5ead098e5e51b06df5bf78b9e315418)
2001-11-27 23:48:44 +00:00
Jeremy Allison
b89fccabdd Added negative caching to group lookups.
Jeremy.
(This used to be commit fceba7dea5b09ac9ce509c5252a46be8e4d3de85)
2001-11-27 22:39:57 +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
Jeremy Allison
064b3e7da7 nsswitch/winbindd_group.c nsswitch/winbindd_user.c: formatting fixups.
smbd/open.c: Fix "delete on close" for directories.
Jeremy.
(This used to be commit 014b0973a3b3b9eb22cce3053171fa55f5c16a63)
2001-11-27 06:28:06 +00:00
Andrew Tridgell
3d9f2aa388 don't die with a FPE if there are no DCs
(This used to be commit b5999473482475ef64212f4f7204c7895cf8fdf3)
2001-11-26 09:28:27 +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
585d0efbc6 Got medieval on another pointless extern. Removed extern struct ipzero
and replaced with two functions:

	void zero_ip(struct in_adder *ip);
	BOOL is_zero_ip(struct in_addr ip);
(This used to be commit 778f5f77a66cda76348a7c6f64cd63afe2bfe077)
2001-11-26 03:11:44 +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
Andrew Bartlett
d0a2faf78d This is another rather major change to the samba authenticaion
subystem.

The particular aim is to modularized the interface - so that we
can have arbitrary password back-ends.

This code adds one such back-end, a 'winbind' module to authenticate
against the winbind_auth_crap functionality.  While fully-functional
this code is mainly useful as a demonstration, because we don't get
back the info3 as we would for direct ntdomain authentication.

This commit introduced the new 'auth methods' parameter, in the
spirit of the 'auth order' discussed on the lists.  It is renamed
because not all the methods may be consulted, even if previous
methods fail - they may not have a suitable challenge for example.

Also, we have a 'local' authentication method, for old-style
'unix if plaintext, sam if encrypted' authentication and a
'guest' module to handle guest logins in a single place.

While this current design is not ideal, I feel that it does
provide a better infrastructure than the current design, and can
be built upon.

The following parameters have changed:
 - use rhosts =

  This has been replaced by the 'rhosts' authentication method,
 and can be specified like 'auth methods = guest rhosts'

 - hosts equiv =

  This needs both this parameter and an 'auth methods' entry
  to be effective.  (auth methods = guest hostsequiv ....)

 - plaintext to smbpasswd =

  This is replaced by specifying 'sam' rather than 'local'
  in the auth methods.

The security = parameter is unchanged, and now provides defaults
for the 'auth methods' parameter.

The available auth methods are:

guest
rhosts
hostsequiv
sam (passdb direct hash access)
unix (PAM, crypt() etc)
local (the combination of the above, based on encryption)
smbserver (old security=server)
ntdomain (old security=domain)
winbind (use winbind to cache DC connections)


Assistance in testing, or the production of new and interesting
authentication modules is always appreciated.

Andrew Bartlett
(This used to be commit 8d31eae52a9757739711dbb82035a4dfe6b40c99)
2001-11-24 12:12:38 +00:00
Jeremy Allison
d05bbf0422 Fixed delete on close bug. Added core dump code to winbindd.
Jeremy.
(This used to be commit a58d0f91f9ee7354c01a9c20cfe178d5dc02142d)
2001-11-23 11:18:20 +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
Tim Potter
3400a3a3ed Got rid of that stupid parse_domain_user() warning when compiling
winbindd.
(This used to be commit 72060a6f5af505d597f372d550d7f3fe559e5550)
2001-11-23 04:37:41 +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
Tim Potter
79b34d1b11 Removed TimeInit() call from every client program (except for one place
in smbd/process.c where the timezone is reinitialised.  Was replaced with
check for a static is_initialised boolean.
(This used to be commit 8fc772c9e5770cd3a8857670214dcff033ebae32)
2001-11-23 00:52:29 +00:00
Tim Potter
5788899a48 Fixed check machine account function.
(This used to be commit 8f01a8b07883d18f44da665cbc8e5fba04d3bc91)
2001-11-23 00:14:04 +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
ee58402ac4 Added debugs to track down sequence lookup problems.
Jeremy.
(This used to be commit d3f5d5a4aca0d5bc8c4db7dfa8b766b7cda808eb)
2001-11-22 07:24:07 +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
Jeremy Allison
efa52853f6 Preparing to implement +ve and -ve caching for lookupname/lookupsid calls.
Jeremy.
(This used to be commit 1f6cc536b2db0c36feee45cfd6ac1ad5ee8fb05a)
2001-11-21 08:36:43 +00:00
Tim Potter
15c6ab0f2d Merge from 2.2.
(This used to be commit ebd46aebf921c0026791ffb0afdcffaecb496e8c)
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 79ec88f0da40faebe1e587f1b3e87b5f2b184f58)
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 5e8df83ba9924adf9df6827c06ed1a2adbe36edf)
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 77c287e9460eed7bde7004c7e6c8cb0099c6ba6f)
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 3ac32af83849e93c83cd1bb48dc7d23e47ccac59)
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 ed16aa88a422e759d27dbfae39afc72250c80e8d)
2001-11-15 03:34:27 +00:00
Tim Potter
6121a6c9e4 Added free_domain_info() function.
(This used to be commit 1a9a36159104e1d6248254e1efd9925fc1c956d3)
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 e07bcfcccd6d4a29f188d978b2c34a7b18ff21fa)
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 187663210055ecd7b717b3894e3189ca3aaa0ed2)
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 a7ef2d20b1bb4bdb1b9a2769b5c654bd0be791b3)
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 1212591095dfe65b5e708bee32be5d57b9f33bc8)
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 a55a63a4ca55602ad9221af17c0bc8e185536433)
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 a9f7974cb8e266ce87d2979fa107bf7ebbb98b70)
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 22e323ca47325482b6ae527070509ed9c6cbccee)
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 caef54e40081477609a824185949ddf6db6ba363)
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 8952f8763e16339e58bc65943387a00fc89dc200)
2001-11-14 05:33:55 +00:00
Jeremy Allison
413fa03cd6 Added needed debugs...
Jeremy.
(This used to be commit 804f232398b734228256e3361ec6df4ba5cf480c)
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 86b7cf7f85840316052ff29115bf55c04dc17486)
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 d85aa1ce83327dda6aa3dcd9bbab9cf6979dda1e)
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 ee5e7ca547eff016818ba5c43b8ea0c9fa69b808)
2001-11-03 23:34:24 +00:00
Tim Potter
f7cf10b6d8 Removed unneeded extern.
(This used to be commit c80641b6f335aa706a2e384b7cfe7912be4a41b1)
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 f70fb819b2f57bd57232b51808345e2319d52f6c)
2001-10-31 10:46:25 +00:00