1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
Commit Graph

206 Commits

Author SHA1 Message Date
Rusty Russell
1078eb21c4 tdb_delete: check returns for 0, not -1.
TDB2 returns a negative error number on failure.  This is compatible
if we always check for != 0 instead of == -1.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:35 +02:00
Rusty Russell
058c4f8492 tdb_fetch_compat: use instead of tdb_fetch.
This is a noop for tdb1.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:35 +02:00
Andrew Bartlett
5e26e94092 s3-talloc Change TALLOC_ZERO_ARRAY() to talloc_zero_array()
Using the standard macro makes it easier to move code into common, as
TALLOC_ZERO_ARRAY isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
d5e6a47f06 s3-talloc Change TALLOC_P() to talloc()
Using the standard macro makes it easier to move code into common, as
TALLOC_P isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
3d15137653 s3-talloc Change TALLOC_ARRAY() to talloc_array()
Using the standard macro makes it easier to move code into common, as
TALLOC_ARRAY isn't standard talloc.
2011-06-09 12:40:08 +02:00
Andrew Bartlett
73b377432c s3-talloc Change TALLOC_REALLOC_ARRAY() to talloc_realloc()
Using the standard macro makes it easier to move code into common, as
TALLOC_REALLOC_ARRAY isn't standard talloc.

Andrew Bartlett
2011-06-09 12:40:08 +02:00
Günther Deschner
ae6a779bf9 s3-winbindd: make sure we obey the -n switch also for samlogon cache access.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed Jun  8 14:44:31 CEST 2011 on sn-devel-104
2011-06-08 14:44:31 +02:00
Günther Deschner
d8cfca3a9b s3: only include tdb headers where needed.
Guenther
2011-05-06 10:48:10 +02:00
Jeremy Allison
f85e095dd2 More simple const fixups. 2011-05-05 23:56:08 +02:00
Volker Lendecke
1272758f8f s3: Fix Coverity ID 1137: CONSTANT_EXPRESSION_RESULT
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Fri Apr  1 09:35:19 CEST 2011 on sn-devel-104
2011-04-01 09:35:19 +02:00
Günther Deschner
235f148590 s3-passdb: use passdb headers where needed.
Guenther
2011-03-30 01:13:08 +02:00
Günther Deschner
cc94bcb952 s3-winbindd: copy acct_info to wb_acct_info so we dont need passdb for it.
Guenther
2011-03-30 01:13:08 +02:00
Günther Deschner
0e771263ee s3-includes: only include system/filesys.h when needed.
Guenther
2011-03-30 01:13:07 +02:00
Volker Lendecke
d3ba16a500 s3: Remove unused args from nss_get_info_cached 2011-03-06 12:51:01 +01:00
Volker Lendecke
fff6fa7576 s3: Remove unused args from nss_get_info 2011-03-06 12:51:01 +01:00
Volker Lendecke
52c0fb359f s3:winbind: Protect against invalid winbindd_cache entries in lookuprids 2011-01-21 10:10:03 +01:00
Volker Lendecke
a159958065 s3: wcache_invalidate_samlogon only needs the SID 2010-12-19 23:25:06 +01:00
Volker Lendecke
e113b1c64f s3: netsamlogon_clear_cached_user only needs the SID 2010-12-19 23:25:06 +01:00
Volker Lendecke
0a6b684cac s3: Use sid_check_is.. 2010-11-22 22:30:38 +01:00
Volker Lendecke
92e8fd0513 s3: Call sid_check_is_domain instead of dom_sid_equal
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Thu Nov 18 15:32:32 UTC 2010 on sn-devel-104
2010-11-18 15:32:32 +00:00
Christian Ambach
51ddddfa9f s3:winbind add wcache_tdc_fetch_domainbysid
add a function to lookup a domain in the winbind cache by domain SID
2010-11-08 13:39:51 +01:00
Volker Lendecke
69155e4103 s3: Put some parentheses around conditionals 2010-11-08 13:39:51 +01:00
Volker Lendecke
cbe399155d s3: Consistently use stdbool types in new code 2010-11-08 13:39:51 +01:00
Christian Ambach
57b3d32c8d s3:winbind add timeouts to winbind cache
This adds a timeout value to cache entries and the NDR records
in the winbind cache.

The previous approach of just comparing the sequence number has some issues,
e.g. when retrying a wbinfo -n operation for a user in a not yet trusted
domain was always failing even after the trusted domain was added.

The new approach compares sequence number and timeout value to
determine if a cache entry is still valid or not.

I increased the cache version number so an old cache will be wiped
automatically after upgrade.
2010-11-08 13:39:51 +01:00
Andrew Bartlett
f768b32e37 libcli/security Provide a common, top level libcli/security/security.h
This will reduce the noise from merges of the rest of the
libcli/security code, without this commit changing what code
is actually used.

This includes (along with other security headers) dom_sid.h and
security_token.h

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Oct 12 05:54:10 UTC 2010 on sn-devel-104
2010-10-12 05:54:10 +00:00
Jeremy Allison
f98d217514 Change to using TDB_INCOMPATIBLE_HASH (the jenkins hash) on all
TDB_CLEAR_IF_FIRST tdb's. For tdb's like gencache where we open
without CLEAR_IF_FIRST and then with CLEAR_IF_FIRST if corrupt
this is still safe to use as if opening an existing tdb the new
hash will be ignored - it's only used on creating a new tdb not
opening an old one.

Jeremy.
2010-09-27 17:18:54 -07:00
Günther Deschner
bf38287c76 s3-winbindd: another attempt to fix the non-ldap build.
Guenther
2010-09-21 00:20:00 -07:00
Günther Deschner
4dbd743e46 s3-util_sid: use shared dom_sid_compare_auth and dom_sid_equal_X functions.
Guenther
2010-09-20 14:04:37 -07:00
Björn Jacke
1c82ca01c3 s3/winbind: remove unused winbindd_check_cache_size 2010-09-19 22:58:33 -07:00
Volker Lendecke
eaf778593f s3: Remove "mem_ctx" from wcache_save_creds() 2010-09-09 06:19:24 +02:00
Volker Lendecke
d38e1d13ea s3: Remove "mem_ctx" from lookup_cached_name() 2010-09-09 06:19:24 +02:00
Günther Deschner
e7a6a3ec0d s3: avoid global include of ads.h.
Guenther
2010-08-05 00:32:02 +02:00
Andreas Schneider
f85167a161 s3-winbind: Don't cache queries to builtin and own sam domain. 2010-07-13 19:17:41 +02:00
Günther Deschner
11ae9aff97 s3-winbind: Fixed the winbind caching. 2010-07-06 18:38:14 +02:00
Günther Deschner
d1538add73 s3-nss_info: only include nss_info.h where needed.
Guenther
2010-07-01 23:20:40 +02:00
Andrew Bartlett
cba7f8b827 s3:dom_sid Global replace of DOM_SID with struct dom_sid
This matches the structure that new code is being written to,
and removes one more of the old-style named structures, and
the need to know that is is just an alias for struct dom_sid.

Andrew Bartlett

Signed-off-by: Günther Deschner <gd@samba.org>
2010-05-21 10:39:59 +02:00
Bo Yang
aaafadb7d5 s3: Fix unnecessary traversing winbindd_cache.tdb in SIGHUP handler.
Signed-off-by: Bo Yang <boyang@samba.org>
2010-03-06 20:58:23 +08:00
Bo Yang
9fed9011ff s3: Don't invalidate cache for uninitialized domains.
Signed-off-by: Bo Yang <boyang@samba.org>
2010-02-09 17:06:14 +08:00
Volker Lendecke
026b23062e s3: Fix a winbind segfault in "trusted_domains"
We have to initialize domain->backend by calling "get_cache" before doing a
query

Thanks to Christian Ambach to find this :-)
2010-01-13 12:22:31 +01:00
Volker Lendecke
3ea64e0ad8 s3: Replace most calls to sid_append_rid() by sid_compose() 2010-01-10 20:56:16 +01:00
Bo Yang
d06fb8e027 s3: List trusted domains from wcache when domain is offline.
Signed-off-by: Bo Yang <boyang@samba.org>
2010-01-06 19:19:52 +08:00
Bo Yang
133638c8ae s3: Make winbindd_cache.c aware of domain offline to avoid unnecessary backend query.
Signed-off-by: Bo Yang <boyang@samba.org>
2010-01-06 19:19:43 +08:00
Volker Lendecke
b8fcba9cb8 s3: Pass netr_DomainTrustList instead of names and sids through (*trusted_domains) 2009-12-28 15:54:13 +01:00
Volker Lendecke
2c49678ce5 s3: Remove some unused code
Watch the #if 0 -- we never stored this in the cache anymore
2009-12-28 14:59:46 +01:00
Volker Lendecke
0a6a13dd07 s3: Fix a typo found by Matthias Dieter Wallnöfer <mdw@samba.org> -- thanks :-) 2009-12-26 15:21:09 +01:00
Volker Lendecke
634d084517 s3: Replace IS_DOMAIN_OFFLINE by a function 2009-12-26 12:26:07 +01:00
Volker Lendecke
5aa0d97464 s3: wbinfo --ping-dc is not cacheable 2009-12-23 13:11:55 +01:00
Günther Deschner
a3306e352d s3-winbindd: add wbint_ChangeMachineAccount implementation.
Guenther
2009-10-13 12:42:44 +02:00
Günther Deschner
efaa98e824 s3-winbindd: NDR_WBINT_CHECKMACHINEACCOUNT should not be cacheable.
Guenther
2009-10-08 10:40:42 +02:00
Volker Lendecke
360436b656 s3:winbind: Fix Coverity ID 940: Resource Leak 2009-09-04 07:53:56 +02:00
Volker Lendecke
0cae043b0c w3:winbind: Convert WINBINDD_ALLOCATE_GID to the new API 2009-08-30 09:48:28 +02:00
Volker Lendecke
9e7c6f12fd w3:winbind: Convert WINBINDD_ALLOCATE_UID to the new API 2009-08-30 09:48:28 +02:00
Volker Lendecke
129562206a s3:winbind: add a fake NDR winbind cache validator 2009-08-29 19:42:27 +02:00
Volker Lendecke
99cf696150 s3:winbind: Fix a bug found by RPC-SAMR
We need to enumerate passdb alias members

Thanks to gd for bugging me :-)
2009-08-29 10:44:13 +02:00
Volker Lendecke
94948f7a40 s3:winbind: Some calls are not cacheable 2009-08-27 15:04:09 +02:00
Volker Lendecke
2f16bf5445 s3:winbind: Factor out wcache_store_seqnum() 2009-08-27 15:04:09 +02:00
Volker Lendecke
f3d71d3e8c s3:winbind: Add a generic cache for NDR based parent-child requests 2009-08-27 15:04:09 +02:00
Volker Lendecke
3532c8b9d8 s3:winbind: Factor out wcache_fetch_seqnum 2009-08-27 15:04:09 +02:00
Volker Lendecke
d49ab9226f s3:winbind: Fix Coverity ID 942: Resource Leak 2009-08-26 18:20:06 +02:00
Volker Lendecke
3d46eaf411 s3:winbind: Make wcache_lookup_groupmem available publically 2009-08-16 12:38:19 +02:00
Volker Lendecke
c6b36ce573 s3:winbind: WINBIND_USERINFO -> wbint_userinfo 2009-08-16 10:38:24 +02:00
Volker Lendecke
718a26fd29 s3:winbind: Make wcache_lookup_usergroups externally visible 2009-08-05 03:21:24 -04:00
Volker Lendecke
ff3ce9016a s3:winbind: Make wcache_lookup_useraliases available publically 2009-08-05 03:21:24 -04:00
Volker Lendecke
360227a0fe s3:winbind: Make wcache_query_user externally visible 2009-08-05 03:21:22 -04:00
Volker Lendecke
f6554611ab s3:winbind: Make wcache_name_to_sid visible externally 2009-08-05 03:21:20 -04:00
Volker Lendecke
2d6589fb02 s3:winbind: Make wcache_sid_to_name externally visible 2009-08-05 03:21:19 -04:00
Volker Lendecke
7180ae0b8e Add some const to winbind_userinfo 2009-08-03 22:48:45 +02:00
Volker Lendecke
4f147388c0 Refactor 9b78af1f: Fix lookupname recursion
Pass a "flags" argument instead of the original winbind command down the
name_to_sid chain. This way we are independent of the winbind commands and
can take the decision at a much higher level
2009-08-02 11:24:48 +02:00
Volker Lendecke
c67037d986 Refactoring: mem_ctx is not needed as an argument to centry_sid 2009-07-31 23:49:08 +02:00
Volker Lendecke
d3f21d0a1f Fix some nonempty blank lines 2009-07-27 12:50:48 +02:00
Volker Lendecke
0834574fdd Remove some unused code 2009-06-14 11:25:47 +02:00
Jeremy Allison
b4c9cfb2af Fix a bunch of compiler warnings about wrong format types.
Should make Solaris 10 builds look cleaner.
Jeremy.
2009-05-11 21:56:57 -07:00
Andrew Bartlett
f28f113d8e Rework Samba3 to use new libcli/auth code (partial)
This commit is mostly to cope with the removal of SamOemHash (replaced
by arcfour_crypt()) and other collisions (such as changed function
arguments compared to Samba3).

We still provide creds_hash3 until Samba3 uses the credentials code in
netlogon server

Andrew Bartlett
2009-04-14 16:23:35 +10:00
Volker Lendecke
b17f9e15ef Make opt_nocache static to winbindd.c 2009-03-12 10:20:08 +01:00
Jeremy Allison
faa1100d22 More warning fixes for Solaris.
Jeremy.
2009-02-23 16:22:43 -08:00
Michael Adam
59859b547c s3: separate tdb validation code out into its own source file
So this gets now linked only into its single user: winbindd
(needed by winbindd_cache.c)

Michael
2009-01-28 09:43:57 +01:00
Michael Adam
edbc7efa35 s3:winbindd: put winbindd_cache.tdb into cache_dir, not lock_dir.
Michael
2009-01-16 01:02:23 +01:00
boyang
45c67ff244 refresh sequence number as soon as possible when domain->sequence_number == -1 or domain->last_status is not ok. 2009-01-07 11:02:04 -08:00
Jeremy Allison
bb23f5725f Fix more asprintf and "ignoring return code" warnings from gcc 4.3.
Jeremy.
2008-12-31 16:30:11 -08:00
Michael Adam
af6f1b4085 s3:winbindd_cache: add debugging to get_nss_info_cached()
Michael
2008-12-01 04:37:23 +01:00
Gerald (Jerry) Carter
d6de32db2f winbindd: Add support for name aliasing.
* Add support user and group name aliasing by expanding
  the ws_name_replace() and ws_name_return() functions.
  The lookup path is
     aliases -> qualified name -> SID
     SID -> fully qualified name -> alias
  In other words, the name aliasing support is a thin layer
  built on top of SID/NAME translation.

* Rename the ws_name_XX() functions to normalize_name_map()
  and normalize_name_unmap().  Chaneg interface to return
  NTSTATUS rather than char *.

* Add associated cache validation functions.
2008-09-16 10:27:49 -07:00
Jeremy Allison
29af730964 Fix the wcache_invalidate_samlogon calls.
Jeremy.
(This used to be commit 7c820899ed)
2008-08-27 17:29:10 -07:00
Günther Deschner
3bdfcbac5c winbindd: handle trusted domains without sid.
Guenther
(This used to be commit 0c1efc6c89)
2008-07-30 17:09:58 +02:00
Karolin Seeger
3b1de7f7f4 Revert "winbind cache: Don't create SN cache entries during name-to-sid queries."
This reverts commit b58e4f6b3d.

Details can be found on the samba-technical mailing list.

Karolin
(This used to be commit 534a445df4)
2008-07-01 10:34:22 +02:00
Karolin Seeger
13eab02679 winbind cache: Don't create SN cache entries during name-to-sid queries.
Clients can request name-to-sid queries for different combinations of
upper and lower case names. We don't want to create the reverse caching
entries for each combination used.

This avoids inconsistent answers on sid-to-name queries.

Please review!

Karolin
(This used to be commit b58e4f6b3d)
2008-06-16 15:21:28 +02:00
Jeremy Allison
346dbc62b8 Split the winbindd_passdb backend into a 'builtin' and a 'sam'
backend. This allows winbindd when running on a Samba PDC to
correctly answer wbinfo -u lists and other queries.
Jeremy.
(This used to be commit e61ad0c158)
2008-05-30 23:49:36 -07:00
Steven Danneman
96653e1ff7 Make WINBINDD_LIST_GROUPS handler asynchronous.
Previously WINBINDD_LIST_GROUPS requests (ex: wbinfo -g) were handled by the
winbindd parent process in a sequential fashion.  This patch, delegates the work
to the winbindd children so that the request is handled much faster in large
domain topologies, and doesn't block the parent from receiving new requests.

The core group enumeration and conversion that was handled in
winbindd_list_groups() has been moved into winbindd_dual_list_groups() to be
done by the child.

The parent winbindd_list_groups() simply calls each of the children
asynchronously.

listgroups_recv() aggregates the final group list that will be returned to the
client and tracks how many of the children have returned their lists.

The domain name of the child is passed back through the callbacks to be used in
debugging messages.

There are also several fixes to typos in various comments.
(This used to be commit 037b9689d9)
2008-05-22 13:55:57 -05:00
Michael Adam
65c0fd5920 winbindd_cache: simplify logic in new key length check for UA keys.
This reduces indentation by combining common code paths,
and wraps long lines.

Holger: sorry, I could not resist. I think it is much easier to
understand what is going on when we only have one check and
determine the max allowed key length in advance.

Michael
(This used to be commit e489f3d988)
2008-04-23 14:55:51 +02:00
Holger Hetterich
7a407d5927 winbindd_cache: recognize and allow longer UA keys
UA keys consist of a potientally large number of concatenated SID strings which
can grow much larger than 1024 bytes in complex environments. We catch those keys
and allow them exclusivly to be larger.
(This used to be commit fcd35232e1)
2008-04-23 13:57:14 +02:00
Michael Adam
b884db5c47 winbindd: only call winbindd_validate_cache when not in offline logon mode.
originally, the cache was cleared before calling validate, but
this way, we skipt the validation of the database when not in
offline logon mode.

This is put into a new wrapper function winbindd_cache_validate_and_initialize()
which is now called in winbindd.c instead calling validate and
initialize functions separately.

Michael
(This used to be commit 641b5e3fec)
2008-04-10 13:23:30 +02:00
Bo Yang
66dad54c72 Only cache password policy results that worked, otherwise we
cannot login until the cache expires even if a connection
to a DC has been restored.
(This used to be commit 8671f9767d)
2008-04-07 09:51:42 -04:00
Michael Adam
2487f0c88c winbindd_cache: add missing validation function for pwinfo cache entry
Michael
(This used to be commit 6d3fc63bfa)
2008-03-29 02:10:41 +01:00
Volker Lendecke
2198058624 Fix wbinfo -a trusted\\user%password on a Samba DC with trusts
Winbind can't be allowed to connect to the local smbd.
(This used to be commit 0d617f639a)
2008-03-27 13:11:10 +01:00
Günther Deschner
c25958a046 Use netr_SamInfo3 everywhere in winbindd.
Guenther
(This used to be commit d9502eb753)
2008-02-17 02:12:00 +01:00
Günther Deschner
742fd39b7a Use rpccli_samr_QueryDomainInfo() in winbindd.
Guenther
(This used to be commit dd9fa33e96)
2008-02-06 02:09:44 +01:00
Michael Adam
de53e47c76 Fix prototype: Add a void to an empty function parameter list.
Michael
(This used to be commit 3f89aea8e4)
2008-01-09 01:47:10 +01:00
Michael Adam
d82702c218 Use the proper boolean constants.
Michael
(This used to be commit 6f673b7f10)
2008-01-07 11:27:54 +01:00
Michael Adam
696cf4d3c0 Make wcache_invalidate_cache() return bool, not int.
Michael
(This used to be commit dba24ceae7)
2008-01-07 10:59:14 +01:00
Michael Adam
c4d3f1b0f5 Add some braces to if statement.
Michael
(This used to be commit 66fc1db1d1)
2008-01-07 10:41:09 +01:00
Andreas Schneider
18699d003b Prevent winbindd from segfaulting due to corrupted cache tdb.
If we try to flush the caches and due to a corrupted tdb we and have no tdb
context close the tdb and validate it. Initialize the cache afterwards again.
(This used to be commit d0c0f91fb9)
2008-01-07 10:24:34 +01:00
Volker Lendecke
2e07c2ade8 s/sid_to_string/sid_to_fstring/
least surprise for callers
(This used to be commit eb523ba776)
2007-12-15 22:47:30 +01:00
Volker Lendecke
14ef4cdec1 Replace sid_string_static with sid_to_string
This adds 28 fstrings on the stack, but I think an fstring on the stack is
still far better than a static one.
(This used to be commit c7c885078b)
2007-12-15 22:09:37 +01:00
Volker Lendecke
900288a2b8 Replace sid_string_static by sid_string_dbg in DEBUGs
(This used to be commit bb35e794ec)
2007-12-15 22:09:36 +01:00
Andreas Schneider
d818a93d07 Don't restart winbind if a corrupted tdb is found during initialization.
The tdb is validated before it gets initialized. Since then sighandlers changed
a restart isn't needed anymore.
(This used to be commit aabe9b33fc)
2007-12-12 13:51:13 +01:00
Jeremy Allison
30191d1a57 RIP BOOL. Convert BOOL -> bool. I found a few interesting
bugs in various places whilst doing this (places that assumed
BOOL == int). I also need to fix the Samba4 pidl generation
(next checkin).
Jeremy.
(This used to be commit f35a266b3c)
2007-10-18 17:40:25 -07:00
Stefan Metzmacher
28aa4bff8d r25154: move winbindd code into winbindd/
metze
(This used to be commit 3ac7566ae1)
2007-10-10 12:30:46 -05:00