1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-15 23:24:37 +03:00

483 Commits

Author SHA1 Message Date
Michael Adam
89ce05bb14 winbind: remove duplicate debug message for failing messaging_init().
Leave the message inside winbind_messaging_context() for now.
There might be callers, where this debug message could prove useful...

Michael
(This used to be commit e9177ec56a8fe596d6fcfc4a95df87e39f757818)
2008-06-26 12:31:10 +02:00
Michael Adam
b33d226a61 winbind: untangle logic in winbind_messaging_context() slightly.
Michael
(This used to be commit e710a9b73ea2fd176de7093125bc5f3f3f3a9404)
2008-06-26 12:31:10 +02:00
Michael Adam
7f8df9c217 winbindd: don't panic if messaging_init() fails - return NULL instead.
Leave appropriate handling to the callers.

Michael
(This used to be commit 3e0c24323af5f10fa68ae8aad552b7346536c908)
2008-06-26 12:31:10 +02:00
Jeremy Allison
9f71be1250 Merge branch 'v3-3-test' of ssh://jra@git.samba.org/data/git/samba into v3-3-test
(This used to be commit 9075c5f2ada8f96ae8d6cbcfc36663969e9bf34f)
2008-06-25 15:24:18 -07:00
Jeremy Allison
ae16606a90 Part of fix for #5551. Split out the group enumeration functions to a BUILTIN and a Domain
specific version. Stops the domain groups appearing twice.
Jeremy.
(This used to be commit 77b99530e0ce0ab0f335d8b22774548d30690550)
2008-06-25 15:23:32 -07:00
Günther Deschner
14d500c0e7 rename rpccli_samr_chgpasswd3 to rpccli_samr_chgpasswd_user3.
Guenther
(This used to be commit b1209a039b45985e0b28777e04cba5bcc3de061e)
2008-06-25 23:58:50 +02:00
Günther Deschner
059293cbf4 rename rpccli_samr_chgpasswd_user to rpccli_samr_chgpasswd_user2.
Guenther
(This used to be commit 5b4650d56c04be0c498413f17afb2cf6d0e7d548)
2008-06-25 23:58:50 +02:00
Jeremy Allison
7687a22510 Final (hopefully :-) part of fix for bug #5551. Allow passdb backend to enumerate domain groups.
Jeremy
(This used to be commit 2181770e4589d475b95b4103a8f95a58787f1f86)
2008-06-25 12:44:18 -07:00
Jeremy Allison
2a4b8fa664 Fix bug #5533. Winbindd fails to cope correctly with a workgroup name containing a '.'.
Jeremy.
(This used to be commit 96325ff44dc404a68d4ebd423cf78210ec3ff902)
2008-06-20 12:49:14 -07:00
Volker Lendecke
ee281b7479 Revert "Fix a memleak caused by a crappy get_sorted_dc_list() API"
This reverts commit 2ea03a1e95a30e321e390bef9408a1215711de07.
(This used to be commit 80c2e8295a00c3d88372b55b81d03b455feb69b2)
2008-06-17 12:21:03 +02:00
Karolin Seeger
a7cf0bd32a idmap: Fix typos in comments.
Karolin
(This used to be commit 94a4d7fa3209eb668161b8110af6f877b4833fa7)
2008-06-17 10:30:19 +02:00
Karolin Seeger
98ed31a107 Fix typo.
arguements -> arguments

Karolin
(This used to be commit 16b5b772d216d10613d433884634b1215efbd6e6)
2008-06-17 09:46:17 +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 b58e4f6b3d73294d8448c0dff4341183c52e5b7c)
2008-06-16 15:21:28 +02:00
Jeremy Allison
1db2dc1931 Bugfix noticed by Herb. On using the again: tag as a
goto target we were not reinitializing the array counts.

From Herb:

This is in the file nsswitch/winbindd_cm.c (samba-3.0.30) line 1236

We have a label again: where we keep trying to find the name of the DC
from the list of IPs returned by get_dcs. If we fail to figure out the
name we do a goto again at the end of the function. The problem is we
don't reset the num_dcs, num_addrs, etc and free the memory in the
various arrays. This seems wrong to me. I have a winbindd core where
I have 9 IPs returned for the DCs but at the time of the crash num_dcs
is 87 and if I look through the array dcs it keeps repeating entries
from the same group of 9

Jerry, Volker and Guenther please check.

Jeremy.
(This used to be commit 15f464321a7c71a86b747918343746050d286655)
2008-06-08 14:19:44 -07:00
Volker Lendecke
bde7cbf4a7 Fix a memleak caused by a crappy get_sorted_dc_list() API
(This used to be commit 2ea03a1e95a30e321e390bef9408a1215711de07)
2008-06-05 10:56:18 +02:00
Gerald W. Carter
dd7cf3464d winbindd_cm: Replace the use of lp_realm() with our_domain->alt_name.
Reduce the use of config parameters with run time information after discussion
with Guenther.
(This used to be commit 57d596395db287301eefd34e62c9aaf857c34c69)
2008-06-03 11:21:02 -05:00
Jeremy Allison
11ef7d202a Fix by Bo Yang <boyang@novell.com> for bug with winbindd trusted domain child
not keeping primary domain online status up to date.
Jeremy.
(This used to be commit 0621c7c8161b7b94cc9249ab3e71855d3030b6fb)
2008-06-02 15:26:37 -07: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 e61ad0c1586733ae1d3518ce56d95094d1ac5ef9)
2008-05-30 23:49:36 -07:00
Jeremy Allison
4408fdaf29 Fix valgrind bug in debug statement. Don't reference uninitialized memory.
Jeremy.
(This used to be commit 25e76a19f22cdf726928d6c4b165745de9e455d6)
2008-05-30 17:53:16 -07:00
Jeremy Allison
908812e98d Fix bug #5504. winbindd children and parent were handing SIGTERM in the same way - deleting the socket!
Jeremy.
(This used to be commit 3ab5a3883e33eba159152aa02544d71f047c7e45)
2008-05-30 17:52:54 -07:00
Jeremy Allison
433a05c1ab Fix winbindd on a PDC by reverting : 83b04c60fac76ccd2d5aecb14f8896a07d488b1f..6e66512d5beb256a44c6703cdb8c7fa7e0fd8537.
We still need to address https://bugzilla.redhat.com/show_bug.cgi?id=429024, but this
will come later.
Jeremy.
(This used to be commit 41e20becf3b976656f60aaec9175df329803b012)
2008-05-29 10:37:52 -07:00
Michael Adam
c5a030a38a winbind: correctly omit check for trusted domain support in cm_prepare_connection
when checking for a trusted domain situation.
This is how it was meant to be:

Otherwise, with a dc-trusted-domain situation but trusted domains disabled,
we would attempt to do a session setup and fail (wouldn't even get a trust
password).

Michael
(This used to be commit a5a51ca8e5971992d9b060d66201b808bd2b7a53)
2008-05-26 16:42:25 +02:00
Volker Lendecke
1a1fc2f814 Fix two c++ warnings
(This used to be commit 3b1dae7c31b881834ca4494c4434ae97a56ce6c7)
2008-05-25 13:53:45 +02:00
Gerald W. Carter
4d2f71e53f Manually merge Steven Danneman's patch for SPNEGO auth to a trusted
Win2008 domain (merged from v3-0-test).

   commit 8dc4e979776aae0ecaa74b51dc1eac78a7631405
   Author: Steven Danneman <sdanneman@isilon.com>
   Date:   Wed May 7 13:34:26 2008 -0700

      spnego SPN fix when contacting trusted domains

      cli_session_setup_spnego() was not taking into consideration the situation
      where we're connecting to a trusted domain, specifically one (like W2K8)
      which doesn't return a SPN in the NegTokenInit.

      This caused two problems:

      1) When guessing the SPN using kerberos_get_default_realm_from_ccache() we
      were always using our default realm, not the realm of the domain we're
      connecting to.

      2) When falling back on NTLMSSP for authentication we were passing the name
      of the domain we're connecting to for use in our credentials when we should be
      passing our own workgroup name.

      The fix for both was to split the single "domain" parameter into
      "user_domain" and "dest_realm" parameters.  We use the "user_domain"
      parameter to pass into the NTLM call, and we used "dest_realm" to create an SPN
      if none was returned in the NegTokenInit2 packet.  If no "dest_realm" is
      provided we assume we're connecting to our own domain and use the credentials
      cache to build the SPN.

      Since we have a reasonable guess at the SPN, I removed the check that defaults
      us directly to NTLM when negHint is empty.
(This used to be commit b78b14c88e8354aadf9ba7644bdb1c29245fe419)
2008-05-23 16:01:45 -05:00
Gerald W. Carter
b72fc49f44 Manually port Steven Dannenman fix for using the correct machine domain when
looking up trust credentials in our tdb.

   commit fd0ae47046d37ec8297396a2733209c4d999ea91
   Author: Steven Danneman <sdanneman@isilon.com>
   Date:   Thu May 8 13:34:49 2008 -0700

      Use machine account and machine password from our domain when
      contacting trusted domains.
(This used to be commit 69b37ae60757075a0712149c5f97f17ee22c2e41)
2008-05-23 15:19:58 -05:00
Jeremy Allison
cfde5c8d47 Get rid of "shadowed local var" warnings with gcc.
Jeremy.
(This used to be commit 0bc18967aa7cb6f4debeaa48be81d0e48a7d9503)
2008-05-22 14:19:14 -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 037b9689d9042a398cb91e4628a82fcdfa913c21)
2008-05-22 13:55:57 -05:00
Michael Adam
03dcad0b27 winbindd: freeze winbindd_proto.h
Michael
(This used to be commit 467b8f0f4d58fc00d07264c651016087bd00b233)
2008-05-18 23:09:34 +02:00
Jeremy Allison
5e70a25116 Fix bug #5464. Pointed out by Herb @ Connectathon. In fork_domain_child() we call :
CatchChild();

*before* we fork the domain child. This call establishes a signal handler that
eats SIGCLD signals and doesn't call sys_select_signal() as the main daemon
SIGCLD handler should do. This causes the parent to ignore dead children and
time out, instead of calling winbind_child_died() on receipt of the signal. The
correct fix is to move the CatchChild call into the child code after the fork.

Jeremy.
(This used to be commit 8d701a142be2b75dc30ad215bc178af902eb4af9)
2008-05-14 14:10:39 -07:00
Jim McDonough
a6b0ea8ee3 Enable winbind child processes to do something with signals,
in particular closing and reopening logs on SIGHUP.

Conflicts:

	source/winbindd/winbindd.c
(This used to be commit 0f7b11accec7df1c0e9a9dc0828a5e0c5ddec4cb)
2008-05-13 16:57:01 -04:00
coffeedude
34933a5c23 libwbclient: Abstract the DS_XXX flags for DsGetDcName().
The wbcLookupDomainController() call supports a set of flags
defined in wbclient.h.  Add a mapping function between these
flags and the original DS_XXX flags in order to prevent having
to include the generated RPC headers in wbclient.h.
(This used to be commit 31614cd5e08dd6389c66e6ddf9f2d5429c6ab033)
2008-05-13 12:58:52 -05:00
Günther Deschner
67c644aa59 dsgetdcname: use existing messaging_context if possible.
Guenther
(This used to be commit 7889516a384c155a9045aad4409c041fddd0d98d)
2008-05-09 14:59:20 +02:00
Günther Deschner
f11acf3582 Use strip_hostname after dsgetdcname/getdcname calls.
Guenther
(This used to be commit 82cbb3269b2e764c9c2a2fbcbe9c29feae07fb62)
2008-05-09 14:59:19 +02:00
Günther Deschner
9be17e2187 dsgetdcname: mailslot replies are identical to the cldap ones, use cldap everywhere.
Guenther
(This used to be commit fe904ee77a7fec1674e9db660978c40c17897f77)
2008-05-09 14:59:19 +02:00
Günther Deschner
1f6065765c mailslot/cldap: use nt_version bits in queries.
Guenther
(This used to be commit b261f063125f8454d8f4e8f6b6f8aa5bc393ea34)
2008-05-06 09:41:41 +02:00
Gerald W. Carter
c413c97ff4 Winbind: Prevent cycle in children list when reaping dead child processes.
Thanks to Glenn Curtis and Kyle Stemen @ Likewise.  Their explanation is:

    In winbindd_dual.c, there is a list of children processes that
    is maintained using macros DTLIST_ADD and DTLIST_REMOVE. In the
    case when a scheduled_async_request fails, the particular child
    was located in the list, and its attributes were cleared out
    and it was reused for a subsequent async request. The bug was that
    the new request would queue the same node into the doubly-linked
    list and would result in list->next pointing to the same node as
    list itself. This would set up an infinite loop in the processing of
    the for loop when the list of children was referenced.

    Solution was to fully remove the child node from the list, such that
    it could be inserted without risk of being inserted twice.

Note that the child is re-added to the list in fork_domain_child() again.
(This used to be commit b379b5b5d8a6daccc69aaf2be6d9a6e276e7dd78)
2008-04-30 10:09:43 -05:00
Günther Deschner
b77601a4b7 mailslot: allow to give back struct nbt_ntlogon_packet.
Guenther
(This used to be commit 2b178dcae608ecc05f62593a7a0c2a127b8b7ca2)
2008-04-24 22:01:52 +02:00
Günther Deschner
e66d452466 mailslot: allow to define nt_version in send_getdc_request().
Guenther
(This used to be commit ce3728191b23badfd5eb92701e4cebf84273b61e)
2008-04-24 22:01:51 +02:00
Volker Lendecke
0c4093a234 Fix CLEAR_IF_FIRST handling of messages.tdb
We now open messages.tdb even before we do the become_daemon. become_daemon()
involves a fork and an immediate exit of the parent, thus the
parent_is_longlived argument must be set to false in this case. The parent is
not really long lived :-)
(This used to be commit 4f4781c6d17fe2db34dd5945fec52a7685448aec)
2008-04-23 22:18:26 +02:00
Gerald W. Carter
de154dcf92 Mark a domain offline in the wbcDomainInfo structure using the domain_flags.
Use the existing domain_flags fiueld in wbcDomainInfo to set a bit if the
domain is marked as offline by Winbind.
(This used to be commit 59cfba2c3d6d4594f08cbe3b7295ab36a7cfb044)
2008-04-23 08:47:50 -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 e489f3d988feafe35b486b31a9e60c2399e6a6e7)
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 fcd35232e111f9b046ae35d939d08c29d0d43438)
2008-04-23 13:57:14 +02:00
Volker Lendecke
9ffcc7966f Fix wbinfo --group-info if the winbind separator set to non \
In getgrsid_lookupsid_recv() we use parse_domain_user which itself looks at
lp_winbind_separator(). Thus when building up that group name we should better
use it as well.
(This used to be commit 5df75578ef1da41164936cd11b14114889201d47)
2008-04-22 15:42:09 +02:00
Günther Deschner
bcbac69d1a cldap: avoid duplicate definitions so remove ads_cldap.h.
Guenther
(This used to be commit 538eefe22ad69540b9f73ffaa613d6be045de199)
2008-04-21 20:21:40 +02:00
Günther Deschner
1eca3f138c winbind: pass down existing talloc context.
Guenther
(This used to be commit 675bf42cfff89b05f21d77ca74eba20c4a24d44c)
2008-04-21 20:21:39 +02:00
Andrew Bartlett
154f4837b3 Add in a nice big comment explaining why SamLogonEx matters.
Andrew Bartlett
(This used to be commit 87232351b5e66728f8d602259961909e8c1dfcb6)
2008-04-21 17:48:31 +02:00
Günther Deschner
937091161b winbind: Use libnbt for NTLOGON SAMLOGON mailslot request and reply.
Guenther
(This used to be commit 2d6a1c5da64195784b0b102edb268356a24d84b5)
2008-04-21 11:03:32 +02:00
Volker Lendecke
e73e8297f5 Replace cli_rpc_pipe_close by a talloc destructor on rpc_pipe_struct
(This used to be commit 99fc3283c4ecc791f5a242bd1983b4352ce3e6cf)
2008-04-20 14:08:16 +02:00
Volker Lendecke
e1102b8f48 Introduce rpccli_set_timeout()
Reduce dependency on "cli" member of rpc_pipe_client struct
(This used to be commit 2e4c1ba38963cffe4c3f25ab24bc28975f2fc291)
2008-04-20 00:14:26 +02:00
Volker Lendecke
2a2188591b Add "desthost" to rpc_pipe_client
This reduces the dependency on cli_state
(This used to be commit 783afab9c891dd7bcb78895b2a639b6f3a0edf5b)
2008-04-20 00:13:09 +02:00