1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-10 13:57:47 +03:00

433 Commits

Author SHA1 Message Date
Volker Lendecke
13248e8917 Revert "s:Fix uid_to_sid mapping when the idmap cache is empty."
This reverts commit 9a9b64dbdfce4414ada22d4f882c8c757b5813e1.
2009-01-02 15:00:05 +01:00
Volker Lendecke
c033ea5626 Revert "s3:idmap: Remove passd check from idmap_backends_unixid_to_sid()."
This reverts commit 45db33e73262d8e195a46fb96405dfb3dc43d6bc.
2009-01-02 15:00:05 +01: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
Stefan Metzmacher
429276556a s3:winbindd: we don't need to call messaging_reinit() twice
reinit_after_fork() already calls messaging_reinit()

metze
2008-12-31 11:01:46 +01:00
Michael Adam
45db33e732 s3:idmap: Remove passd check from idmap_backends_unixid_to_sid().
As noted by Metzy, it makes no sense here to check id->sid.
What is worse, this might even be passed in uninitialized.

This still fixes the bug for me (of course), but we might need
to check, if another special handling of passdb is needed
(possibly changing from constant return code NT_STATUS_OK...)

Michael

Signed-off-by: Michael Adam <obnox@samba.org>
2008-12-25 12:14:03 +01:00
Michael Adam
9a9b64dbdf s:Fix uid_to_sid mapping when the idmap cache is empty.
This failed for backends other than passed, since
idmap_backends_unixid_to_sid() always asked passdb first,
which returned Success no matter whether a mapping was
found or not.

One effect wast that getpwuid failed after "net cache flush".
Only after filling the cache with a getpwnam call it succeeded.

This fix makes the behaviour of idmap_backends_unixid_to_sid()
exactly the same as that of idmap_backends_sid_to_unixid()

Michael

Signed-off-by: Michael Adam <obnox@samba.org>
2008-12-25 12:14:02 +01:00
Gerald (Jerry) Carter
5aadfe29f0 Fix "allow trusted domain" so it disables trusted domains. 2008-12-22 11:07:29 -08:00
Volker Lendecke
2504d78c82 Fix a "ignoring function call result" warning 2008-12-19 13:57:32 +01:00
Volker Lendecke
bb8ca0fdbf Make cli_negprot return NTSTATUS instead of bool 2008-12-19 10:28:30 +01:00
SATOH Fumiyasu
d46c1907fc winbindd: vars for signals must be volatile sig_atomic_t 2008-12-12 18:04:03 +01:00
Volker Lendecke
15c942657d Add wb_trans_send/revc 2008-12-08 22:09:34 +01:00
Volker Lendecke
2bd8a6e21e Add infrastructure to transfer winbindd_request/response asynchronously 2008-12-08 22:09:33 +01:00
Volker Lendecke
1db7076b8e Fix nonempty blank lines 2008-12-07 21:30:35 +01:00
Michael Adam
0f38bd9072 s3:winbindd: fix horrible mis-indentation of toplvl braces in getgrsid_sid2gid_recv
to make code more readble

Michael
2008-12-04 14:00:44 +01:00
Michael Adam
95b4baf5ad s3:winbindd: don't open a new dc connection in winbindd_getpwnam (main winbindd)
This is just to find the corresponding domain struct.
Actual connection is handled by the domain child.

Michael
2008-12-04 13:39:05 +01:00
Michael Adam
db59cbfba8 s3:winbindd: don't open a new dc connection in winbindd_getgrnam (main winbindd)
This is just to find the corresponding domain struct.
Actual connection is handled by the domain child.

Michael
2008-12-04 13:39:05 +01:00
Tim Prouty
1eb743ab8e s3: Change sockaddr util function names for consistency
Also eliminates name conflicts with OneFS system libraries
2008-12-03 10:40:20 -08:00
Tim Prouty
1bcd91366d s3: Fix 'ctx' might be used unitialized warnings 2008-12-01 21:59:00 -08:00
Michael Adam
0744c32678 s3:winbindd/nss_info: remove unused variable from nss_init()
Michael
2008-12-01 04:37:24 +01:00
Michael Adam
c77435caaf s3:winbindd/nss_info: make nss_domain_list_add_domain() static
Michael
2008-12-01 04:37:24 +01:00
Michael Adam
37be1f6d08 s3:winbindd/nss_info: fix default backend handling for ad backends.
This fixes "winbind nss info = rfc2307" (or sfu or sfu20).
Originally, only explicitly configured domains (like "rfc2307:domain")
worked with the ad module, since the domain name was not passed
backe to the module. This is fixed by recording the first backend
listed without domain in the "winbind nss info" parameter as the
default backend, and creating new nss_domain entries (using this default
backend) on the fly as requests for domains which are not explicitly
configured are encountered.

Michael
2008-12-01 04:37:24 +01:00
Michael Adam
a7e60befdc s3:winbindd/nss_info: whitespace cleanup.
Remove trailing spaces and fix tab / space mixup.

Michael
2008-12-01 04:37:23 +01:00
Michael Adam
af6f1b4085 s3:winbindd_cache: add debugging to get_nss_info_cached()
Michael
2008-12-01 04:37:23 +01:00
Michael Adam
09d05bcffe s3:winbindd/nss_info: add entry debug message to nss_get_info()
Michael
2008-12-01 04:37:23 +01:00
Michael Adam
1048c2ccbe s3:winbindd/nss_info: add debugging to nss_init()
Michael
2008-12-01 04:37:22 +01:00
Michael Adam
82ee6d2f7d s3:winbindd/idmap_ad: add entry debug message to nss_ad_get_info()
Michael
2008-12-01 04:37:22 +01:00
Michael Adam
484fa90aef s3:winbindd/idmap_ad: add support for trusted domains to idmap_ad (bug #3661)
This initial fix does at least work for explicitly configured domains.

The patch has a few disadvantages:

1. It does work only for explicitly configured domains, not with
   the default backend (idmap backend = ad), since it relies on the
   domain name being passed in via the idmap_domain. One workaround
   for this would be to create clones of the default idmap_domain
   for domains not explicitly configured.

2. It calls find_domain_from_name_noinit() from idmap_ad_cached_connection.
   The problem here is that only the NetBIOS domain name (workgroup
   name) is passed in via the idmap_domain struct, and the module
   has to establish a connection to the domain based on that information.
   find_domain_from_name_noinit() has the disadvantage that it uses the state
   of the domain list at fork time (unless used from the main winbindd).
   But this should be ok as long as the primary domain was reachable at
   start time.

For nss_info, the situation is similar - This will only work for domains
explicitly configured in smb.conf as follows:
"winbind nss info = rfc2307:dom1 sfu:dom2 rfc2307:dom3 template:dom4"
Setting the default nss info to one of the ad backends (rfc2307, sfu, sfu20)
will fail since the domain name is not passed in with the nss_domain_entry.

Michael
2008-12-01 04:37:22 +01:00
Michael Adam
be233ae32a s3:winbindd/idmap_ad: refactor core of nss_{sfu|sfu20|rfc2307}_init to common function.
Michael
2008-12-01 04:37:22 +01:00
Michael Adam
73fddcd656 s3:winbindd/idmap_ad: rename ctx to mem_ctx in nss_ad_get_info()
in preparation to using the idmap_ad_context there

Michael
2008-12-01 04:37:22 +01:00
Michael Adam
11d5b1a21a s3:winbindd/idmap: add diagnostic entry debug msg to idmap_backends_sid_to_unixid
Michael
2008-12-01 04:37:21 +01:00
Michael Adam
7b4e54359f s3:winbindd/idmap: add diagnostic entry debug msg to idmap_backends_unixid_to_sid
Michael
2008-12-01 04:37:21 +01:00
Michael Adam
5f5fa28c5d s3:winbindd/idmap: add diagnostic entry debug msg to idmap_find_domain().
Michael
2008-12-01 04:37:21 +01:00
Michael Adam
67cc93c4a2 s3:winbindd/idmap_util: unify entering debug messages and add ouput of domain
Michael
2008-12-01 04:37:20 +01:00
Michael Adam
757a1f5132 s3:winbindd/nss_info: change nss_map_{to|from}_alias to take nss_domain_entry
instead of just the domain name

Michael
2008-12-01 04:37:20 +01:00
Michael Adam
03304c5152 Revert "UNFINISHED - s3:idmap_ad: multi-domain"
This reverts commit 6a4957d35d50e6508917aca62b282ae4904187c8.

Sorry - this got accidentially pushed.

Michael
2008-11-25 15:24:43 +01:00
Michael Adam
6a4957d35d UNFINISHED - s3:idmap_ad: multi-domain
Michael
2008-11-25 11:29:42 +01:00
Michael Adam
dd54e68014 s3-winbindd: make all winbind rpc-methods static.
Now that the methods are no longer needed in winbindd_ads,
we can make them static again.

Michael
2008-11-21 23:32:30 +01:00
Michael Adam
e179c41718 s3-winbindd_ads: use the reconnect methods instead of the rpc methods directly
Some of the ads methods just point to the rpc methods.
This makes winbindd_ads use the reconnect methods instead of
calling the rpc methods directly in order to prevent
negative cache entries for e.g. name_to_sid, when the dc
has closed the connection without sending a reset.

Michael
2008-11-21 23:32:29 +01:00
Michael Adam
fa60e4e97d s3-winbindd_ads: prevent negative GM/ cache entries due to broken connections
The ads lookup_groupmem() function calls lda_lookupsids to resolve sids
to names. This is tried only once. So in case the connection was broken,
e.g. closed by the server (without a reset packet), there will be an empty
GM/ cache entry for the requested group which will prevent proper working
of access checks among other checks for the expiry period.

This patch works around this problem by retrying once if the lsa_lookupsids
call fails, re-establishing the dc-connection, as we already do in many other
places (e.g. the winbindd retry methods for the rpc layer).

Michael
2008-11-21 23:32:29 +01:00
Günther Deschner
03e0d0fb37 s3-winbindd: for now only change machine pwd when not using a system krb5 keytab.
Guenther
2008-11-21 00:57:22 +01:00
Steven Danneman
ce44a20323 Clean-up various trailing space and >80 column lines. 2008-11-18 17:06:22 -08:00
Steven Danneman
00c6271d5c Added ability to remove id mappings in wbinfo and libwbclient.
The idmap_tdb backend already provides an interface to remove existing id
mappings.  This commit plumbs that ability up through, winbindd, libwbclient,
and wbinfo.

Added new winbindd command:
        WINBINDD_REMOVE_MAPPING
Added new libwbclient interfaces:
        wbcRemoveUidMapping() and wbcRemoveGidMapping()
Added new wbinfo options:
        --remove-uid-mapping
        --remove-gid-mapping

Increased libwbclient version to 0.2
Increased winbind interface version to 20
2008-11-18 16:04:04 -08:00
Steven Danneman
6d59be1e6d Fix extended DN parse error when AD object does not have a SID.
Some AD objects, like Exchange Public Folders, can be members of Security
Groups but do not have a SID attribute.  This patch adds more granular return
errors to ads_get_sid_from_extended_dn().  Callers can now determine if a parse
error occured because of bad input, or the DN was valid but contained no SID.

I updated all callers to ignore SIDless objects when appropriate.

Also did some cleanup to the out paths of lookup_usergroups_memberof()
2008-11-18 13:02:21 -08:00
Steven Danneman
9a7900fb38 Whitespace and >80 column cleanups. 2008-11-18 13:02:20 -08:00
Davide Sfriso
9ea794417e Fix bug #5906 when running winbindd on a Samba PDC. Winbindd crash on 'getent group'
Jeremy.
2008-11-17 15:38:56 -08:00
Günther Deschner
6a61580617 s3-winbindd: workaround for samr_ChangePasswordUser3 to User2 fallback for w2k dcs.
Guenther
2008-11-13 17:33:18 +01:00
Jeremy Allison
d67e7f3e15 Fix memory leak in error path, spotted by Martin Zielinski <mz@seh.de>.
Jeremy.
2008-11-12 14:06:47 -08:00
Günther Deschner
a4c24b4d30 s3-samr-idl: cleanup.
Guenther
2008-11-10 21:46:25 +01:00
Kai Blin
7d8787c915 ntlm_auth: Put huge NTLMv2 blobs into extra_data on CRAP auth.
This fixes bug #5865
2008-11-10 12:50:02 +01:00
Tim Prouty
2efacde8c4 s3: fix a few "shadows a global declaration" warnings 2008-11-03 14:44:38 -08:00