1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

486 Commits

Author SHA1 Message Date
Andrew Tridgell
4dd9357dd5 after thinking about the env variable hack for avoiding group membership
enumeration I realised it could be a security hole for setuid progs.

This adds a proper nss function instead.
(This used to be commit c7c49d87af5e9a0bef058e6d79188d8b11fefc02)
2002-07-14 23:45:55 +00:00
Andrew Tridgell
13157d1494 this is a trick to work around the fact that posix does not supply
a getgr*() function that lists groups without numerating all the
group members. Instead of definiing a new nss method (which might
cause problems) I added an environment variable WINBIND_GETGRLST
that tells winbind not to fill in the group members in a gergrent()
request. This can speed up group listing by a factor of 20 or more
(on my test system with 50000 groups it reduces the time from an hour
to 2 minutes)
(This used to be commit e3f73256d31ab9914daae49f41e984a534996870)
2002-07-14 22:15:20 +00:00
Andrew Bartlett
35150ef8b5 I just noticed that I never added my copyright when I messed with this
previously.  Fix that.

Andrew Bartlett
(This used to be commit c552910477f0baca4d2173c2bdf4748de3c3b8ad)
2002-07-13 09:11:20 +00:00
Tim Potter
e4722d2fcb Usage fixes from APPLIANCE_HEAD.
(This used to be commit 952d722a3bba15b7a10b4cbabb5548f4dde682d7)
2002-07-11 23:11:42 +00:00
Tim Potter
2dc9d4cfa1 Merge of init_domain_list() fix from APPLIANCE_HEAD.
(This used to be commit 66c9cab369e38284c71572bfb3643538e253a451)
2002-07-11 17:31:49 +00:00
Andrew Tridgell
5d82785756 this implements a completely new strategy for fetching group
membership from an ADS server. We now use a 'member' query on the
group and do a separate call to convert the resulting distinguished
name to a name, rid etc. This is *much* faster for very large numbers
of groups (on a quantum test system with 10000 groups it drops the
time from an hour to about 35 seconds).

strangely enough, this actually *increases* the amount of ldap
traffic, its just that the MS LDAP server answers these queries much
faster.
(This used to be commit 5538048e4f6dd224b2990f3c6a3e99fd07065f77)
2002-07-11 05:28:08 +00:00
Andrew Bartlett
0df1e25542 Kill off codepage related stuff, now we don't use codepages any more.
Andrew Bartlett
(This used to be commit d1ca2b9f23ce701eb6b6becafb1acd813fc8fc3a)
2002-07-03 00:44:39 +00:00
Andrew Tridgell
9930b0b065 used findstatic.pl to make some variables static and remove some dead
code
(This used to be commit 91ad9041e9507d36eb3f40c23c5d4df61f139ef0)
2002-07-01 09:12:41 +00:00
Andrew Tridgell
fd8d5e56af fixed a bug handling startup when the ads server is not contactable
(This used to be commit dbfd4e5101599bcb85600e4c5c93ce5390b9aa91)
2002-07-01 04:47:29 +00:00
Andrew Tridgell
223ddc3f2d The next phase in the WINS rewrite!
We now cope wiith multiple WINS groups and multiple failover servers
for release and refresh as well as registration. We also do the regitrations
in the same fashion as W2K does, where we don't try to register the next
IP in the list for a name until the WINS server has acked the previos IP.
This prevents us flooding the WINS server and also seems to make for much
more reliable multi-homed registration.

I also changed the dead WINS server code to mark pairs of IPs dead,
not individual IPs. The idea is that a WINS server might be dead from
the point of view of one of our interfaces, but not another, so we
need to keep talking to it on one while moving onto a failover WINS
server on the other interface. This copes much better with partial
LAN outages and weird routing tables.
(This used to be commit 313f2c9ff7a513802e4f893324865e70912d419e)
2002-06-27 14:37:17 +00:00
Andrew Tridgell
caeaa0acb0 This commit finally gives us multiple wins server groups. We now
accept an extended syntax for 'wins server' like this:

  wins server = group1:192.168.2.10 group2:192.168.3.99 group1:192.168.0.1

The tags before the IPs don't mean anything, they are just a way of
grouping IPs together. If you use the old syntax (ie. no ':') then
an implicit group name of '*' is used. In general I'd recommend people
use interface names for the group names, but it doesn't matter much.

When we register in nmbd we try to register all our IPs with each group
of WINS servers. We keep trying until all of them are registered with
every group, falling back to the failover WINS servers for each group
as we go.

When we do a WINS lookup we try each of the WINS servers for each group.
If a WINS server for a group gives a negative answer then we give up
on that group and move to the next group. If it times out then
we move to the next failover wins server in the group.

In either case, if a WINS server doesn't respond then we mark it dead
for 10 minutes, to prevent lengthy waits for dead servers.
(This used to be commit e125f06058b6b51382cf046b1dbb30728b8aeda5)
2002-06-26 12:17:11 +00:00
Andrew Bartlett
0746576113 Update cli_full_connection() to take a 'flags' paramater, and try to get a
few more places to use it.

Andrew Bartlett
(This used to be commit 23689b0746d5ab030d8693abf71dd2e80ec1d7c7)
2002-06-25 08:57:24 +00:00
Andrew Bartlett
dd1bd8d0c8 Add a couple more DEBUG()s to winbindd.
Andrew Bartlett
(This used to be commit 3b2464ffdad5e64a05e227b50116cb59f6d34204)
2002-06-25 01:40:44 +00:00
Jeremy Allison
086d8a98e3 Fix from Andrew Esh for not checking return code.
Jeremy.
(This used to be commit 629cea2ff4f640cd60d9ecfa72acf2707b3f1ff4)
2002-06-20 19:08:05 +00:00
Simo Sorce
a60e37096d more debug classess activated
(This used to be commit 897e64d2e0c1d04ab93441ccaffe369bf43be46e)
2002-06-18 09:20:13 +00:00
Andrew Bartlett
bad738e653 Latest patch from metze <metze@metzemix.de> to move most of samba across
to using SIDs instead of RIDs.

The new funciton sid_peek_check_rid() takes an 'expected domain sid' argument.

The idea here is to prevent mistakes where the SID is implict, but isn't
the same one that we have in the struct.

Andrew Bartlett
(This used to be commit 04f9a8ff4c7982f6597c0f6748f85d66d4784901)
2002-06-13 14:06:08 +00:00
Tim Potter
9404025a02 Ignore winbindd_proto.h
(This used to be commit 8e51081333ae0b81a2aa2c609aa7a3ff8bf7f4ec)
2002-06-12 05:27:13 +00:00
Andrew Bartlett
959ff024da Remove "sids.h" as it really wasn't being used anywhere, and was exporting
the (now static) global_sam_sid.

The only place it was being used was to return global_sid_NULL to some
uid->sid functions - and I'm not convinced this is correct in any case.

Andrew Bartlett
(This used to be commit e2a76a7fc94dd59c09bba3cda91446fad9f8c0e0)
2002-06-10 12:27:05 +00:00
Andrew Bartlett
97a8dd6d9a With this file being automaticly regenerated, and cleaned up with 'make clean'
I think it should be removed from CVS.  This matches the other proto files.

Andrew Bartlett
(This used to be commit 5a8d573f1784b037fd848d85a96dabfebfad63fd)
2002-06-10 09:40:58 +00:00
Jeremy Allison
29744f4f4c Merge pidfile fix.
Jeremy.
(This used to be commit 2c1e78702423ba17993975eb7f158058cc7f229f)
2002-06-07 17:49:12 +00:00
Tim Potter
97b94ce7e0 Store cache entry keys that have RID values in decimal to be
consistent with other keys.
(This used to be commit 1e5bdf974fb1e64b5f5b82e0e24eb97aeb229584)
2002-06-05 04:23:37 +00:00
Jeremy Allison
08f0cbb33f Fix for Linux kernel bug where signal mask set within a signal handler
is being ignored on sighandler exit. This means we have to have a small
array of fd's, not a single one.
Jeremy.
(This used to be commit b06862e2de8d3bafbc10a9807501ef5bf148a61c)
2002-06-05 00:05:05 +00:00
Tim Potter
984806f959 Store the key for a name to sid cache entry in upper case rather than
whatever case the request was made in.  This gets rid of duplicate
cache entries.

Also when doing a sid to name, prime the cache with the name to sid
mapping result.  We can't do the reverse as we don't know the correct
case of the name to store in the cache.
(This used to be commit f268b0d5fb811b364578b11a66ca69973717eea8)
2002-06-04 03:44:04 +00:00
Tim Potter
57bfec68d5 Fixed some formatting.
(This used to be commit 25554b46ded273e8f4070f14661b691ccc9ddd17)
2002-06-04 01:45:59 +00:00
Andrew Tridgell
9401cdbb51 fixed some debug messages
(This used to be commit 8b5ac00ac60135f83145c65425d7b33a751a15b4)
2002-06-03 03:04:35 +00:00
Tim Potter
3940a2fec8 The last element of the definitions of enums can't have a trailing
comma.  Only initialisers can have this in ANSI C.
(This used to be commit b6119f583552425c2be30662e9325270a5dbf096)
2002-06-02 23:23:16 +00:00
Gerald Carter
5bbabf0ad2 merge from 2.2
(This used to be commit 612584f7d5383db28960e1ae9aaeaa9b8b47486c)
2002-05-29 02:08:46 +00:00
Andrew Bartlett
e066e5e614 Updates to better report some NTSTATUS errors into PAM, and update to PAM
to correctly allow password changes on expired passwords.  (No security
implications, as its just a 'will I let you talk to the server' check).

pam_winbind checks the password prior to changing it, so that users don't
have to make up and type their new password when they havn't even got the
old one right.  This also helps with stacking etc.

Andrew Bartlett
(This used to be commit 2b78d493002a3ba13533429c6a14f5c0a92f43d1)
2002-05-28 14:35:11 +00:00
Tim Potter
f5adb79093 Fixed incorrect comment.
(This used to be commit 2f74fb6e9893d306598ebedd54658f2dd56e988e)
2002-05-24 05:50:31 +00:00
Andrew Bartlett
9c3d5d6fd0 Remove the password length paramater from cli_full_connection - it really
didn't make any sense, and its was always just strlen(password) anyway.

This fixes it to be strlen(password)+1

Andrew Bartlett
(This used to be commit c205b18bd6b9b69200ff3db55f2c641631d4ab40)
2002-05-24 05:14:16 +00:00
Simo Sorce
e00dbecb88 debug classized
(This used to be commit ae5d24873ad0fb3df970cc9912e18e6a5067ae2d)
2002-05-21 07:53:28 +00:00
Richard Sharpe
4f8b957f40 A small change to print out the error message only if we could not check the
secrets ...
(This used to be commit 56eea2623a8a8f2a5a0311cda6d0282d0037a3cc)
2002-05-19 07:08:32 +00:00
Andrew Bartlett
3346a76674 As per rsharpe's request, require only a Masters in Astrophysics to
correctly configure winbind.

(Next job:  Fill in the 'error_msg' field with somthing useful)
(This used to be commit 49ee2a25c131641887cbc438a6336652f042cfb0)
2002-05-18 06:42:50 +00:00
Andrew Bartlett
3fe27b7f9d A few more trusted domains updates from mimir.
I think we may still need to look at our server enumeration code, but
other than that, its much better in the tree than out.

Andrew Bartlett
(This used to be commit d57a1b4629d12a0374cc6d74dfc6f5d4793fcef8)
2002-05-17 13:49:01 +00:00
Richard Sharpe
6ee4366093 Changes to allow head to translate NMB flags ...
(This used to be commit c986a19cde0dfa96b512eb24d873203981e68c48)
2002-05-17 03:37:37 +00:00
Tim Potter
0c9e6bb88f Don't store domain with username in secrets.tdb
(This used to be commit 5c58b4290dbc364f3b2d6593fd0425fd50160993)
2002-05-13 23:28:11 +00:00
Tim Potter
b35c18072a Merge of --set-auth-user updates from 2.2
(This used to be commit 0420ae846cc93d4598b16dd21a4b8f61ae270fa2)
2002-05-13 00:44:46 +00:00
Tim Potter
52a832b3fa Merge of secrets_init() paranoia fix from 2.2
(This used to be commit 1c3c0d7cb64caa6be7ee6d786fe400a1d6944a72)
2002-05-13 00:23:06 +00:00
Tim Potter
fc26f277ca Fix for Solaris nscd issue pointed out by Mike Gerdts
<Michael.Gerdts@alcatel.com>.  The struct passwd in Solaris contains some
extra fields which must be initialised otherwise nscd crashes.
(This used to be commit a67323d07177ebc8e46dc14476efaf7e95944504)
2002-05-10 03:02:22 +00:00
Gerald Carter
f1554f0847 merge freom SAMBA_2_2
(This used to be commit 833fea47106444a4bcc0547c8bbb7d6d148fa1e7)
2002-05-09 14:20:05 +00:00
Gerald Carter
12ad4d8580 HP-UX 10.20 compiles fixes from SAMBA_2_2
(This used to be commit ddc0f556305fc12fc27ce89e01e00f98feb7d6c8)
2002-05-09 04:11:18 +00:00
Jeremy Allison
6337369a90 Merge in Jerry's called name fix.
Jeremy.
(This used to be commit 6d957924579d64407bdd94d7e78088fb1ea5c9ce)
2002-05-08 23:15:42 +00:00
Jeremy Allison
dec3433303 Merge Herb's idmap endian fix.
Jeremy.
(This used to be commit 7ddad4061a1b7ed25e4d6471c7a1f8f97a98ed37)
2002-04-27 18:56:47 +00:00
Jeremy Allison
1d79e6b90e Another attempt at fixing the endian problem when upgrading from 2.2.3a.
Herb please check.
Jeremy.
(This used to be commit a312b5b2de117797ddfdc79316378aac93034718)
2002-04-27 01:18:31 +00:00
Jeremy Allison
9199721eba Attempt to fix big-endian upgrade problem (Herb, Jerry, please check).
Jeremy.
(This used to be commit 54261460b35cc531e033a99596d5596e94bebe24)
2002-04-26 23:11:26 +00:00
Jeremy Allison
52c7c149c5 Fix from Herb for upgrading from big-endian earlier databases.
Jeremy.
(This used to be commit e65563fc9eb454988c11c12e3e979dd07e3032a3)
2002-04-25 00:56:43 +00:00
Andrew Tridgell
a87a63a958 damn! I forgot to commit winbindd_dual.c
(This used to be commit f3764ab2c602d6af9dce15f0d525a9f11c1723f1)
2002-04-24 09:59:48 +00:00
Andrew Tridgell
6e1c478082 main() needs to be indented to make sure it doesn't generate a
prototype
(This used to be commit fdfde9b84cf825d84316344fea5af43a9b8ebcc9)
2002-04-24 09:51:14 +00:00
Andrew Tridgell
a67b5ac62f a new "dual daemon" operating mode for winbindd
this mode improves the response time of winbindd by having a
background process update the cache while the forground process
responds to queries from cache.

You can enable this mode using the -B command line option. It is quite
experimental, which is why it is not the default.
(This used to be commit c0feff97eefdf5a70e5973e247b395dbdf5d2ef2)
2002-04-24 04:11:27 +00:00
Andrew Tridgell
fc78c773f8 fixed trust relationships in ADS winbindd after breaking them with my BDC changes ...
(This used to be commit 8096032663690eafb6bb8b4f405d6231389d4f80)
2002-04-19 03:00:29 +00:00