1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-05 12:23:50 +03:00
Commit Graph

124 Commits

Author SHA1 Message Date
Gerald Carter
939c3cb5d7 r10656: BIG merge from trunk. Features not copied over
* \PIPE\unixinfo
* winbindd's {group,alias}membership new functions
* winbindd's lookupsids() functionality
* swat (trunk changes to be reverted as per discussion with Deryck)
2007-10-10 11:04:48 -05:00
Gerald Carter
e1de6f238f r9588: remove netsamlogon_cache interface...everything seems to work fine. Will deal with any fallout from special environments using a non-cache solution 2007-10-10 11:03:22 -05:00
Gerald Carter
4936d6d8b2 r9330: Remove the classic dual daemon since it was not being used.
It was already gone in trunk anyways.
working on fixing BUG 3000 which does work now but we are flying
without a cache.
2007-10-10 11:00:33 -05:00
Gerald Carter
c064609b94 r9322: fixing debug log and ensuring that we set the right winbind_methods
pointer in get_cache() by requiring that all domain structure be
initialized with the set_dc_type_and_flags().
2007-10-10 11:00:33 -05:00
Jeremy Allison
9506b8e145 r7882: Looks like a large patch - but what it actually does is make Samba
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
2007-10-10 10:58:00 -05:00
Volker Lendecke
7365c9accf r7785: This looks much larger than it is. It changes the top-level functions of the
parent winbind not to return winbindd_result. This is to hopefully fix all the
problems where a result has been scheduled for write twice.

The problematic ones have been the functions that might have been delayed as
well as under other circumstances immediately gets answered from the cache.

Now a request needs to be explicitly replied to with a request_error() or
request_ok().

Volker
2007-10-10 10:57:20 -05:00
Gerald Carter
c9c3e3c122 r7454: couple of winbindd fixes
* make sure to use our domain as the account name in the net_req_auth2()
  request when running on a Samba DC
* make sure to lookup the correct domain (not default to ours) when getting an async
  getpwnam() call
2007-10-10 10:57:09 -05:00
Gerald Carter
a112c5570a r7440: * merge registry server changes from trunk (so far) for more
printmig.exe work
* merge the sys_select_signal(char c) change from trunk
  in order to keeo the winbind code in sync
2007-10-10 10:57:09 -05:00
Gerald Carter
a0ac9a8ffd r7415: * big change -- volker's new async winbindd from trunk 2007-10-10 10:57:08 -05:00
Gerald Carter
318c3db4cb r7130: remove 'winbind enable local accounts' code from the 3.0 tree 2007-10-10 10:57:01 -05:00
Volker Lendecke
3493d9f383 r6263: Get rid of generate_wellknown_sids, they are const static and initializable
statically.

Volker
2007-10-10 10:56:33 -05:00
Jeremy Allison
620f2e608f r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
2007-10-10 10:53:32 -05:00
Volker Lendecke
8a28475a0b r2470: Fix bug 1797: winbind and nmbd ignored "-l" option.
Thanks to Igor Zhbanov bsg@uniyar.ac.ru.

Volker
2007-10-10 10:52:44 -05:00
Jeremy Allison
bfdeb22c69 r2265: Volkers change to HEAD looks very good. Commit message
from HEAD follows :
While torturing winbind a bit I found the following unfortunate behaviour:

Sending multiple requests at a high rate for a slow operation exposed that no
response comes back until the last request in the queue has been
processed. This is an unfortunate result of serially going through all sockets> that have shown to be readable or writable. All client sockets become readable> at the same time, none of them is writable. We go through them, read the
request, process the complete request. Before we enter the select system call
the next time all requests have to have completed.

This patch optimizes this by first looking at the sockets for writability. A
write on a socket that came back from select does not block, so this
additional loop might have a non-zero cost, but it can't prevent other
operations from proceeding.

After a possibly long-running winbindd_process() we directly start select()
again. To avoid starvation the currently processed client is demoted to be the> last one in the list of clients.

Jeremy.
2007-10-10 10:52:38 -05:00
Richard Sharpe
e3dc7934b5 r1557: Add sigchld handling to winbindd. Next step is to have the child restarted if
need be. We should also make sure the main line know we no longer have a child.
2007-10-10 10:52:14 -05:00
Volker Lendecke
29235f0c69 r1297: Yes, it does survive valgrind for my tests :-)
Check in the 'winbind proxy only' mode -- no new parameter required :-)

If you don't set idmap uid or idmap gid, winbind will not do idmap stuff, it
will only proxy the netlogon request and thus speed up the authentication of
domain users.

Volker
2007-10-10 10:52:05 -05:00
Gerald Carter
157d53782d r294: checking in volker's winbindd patches; tested on domain members (Samba and AD) as well as on a Samba DC 2007-10-10 10:51:17 -05:00
Gerald Carter
b393469d95 r116: volker's patch for local group and group nesting 2007-10-10 10:51:10 -05:00
Gerald Carter
d1848988d9 BUG 1182: patch from john.klinger@lmco.com (John Klinger) to reanable the -n 'no cache' option for winbindd -
Richard Sharpe
0032c3f46a Remove an unused parameter from reload_services_file. -
Stefan Metzmacher
12d6bc3bd0 update copyright to -2004
metze
-
Andrew Bartlett
7c34de8096 This merges in my 'always use ADS' patch. Tested on a mix of NT and ADS
domains, this patch ensures that we always use the ADS backend when
security=ADS, and the remote server is capable.

The routines used for this behaviour have been upgraded to modern Samba
codeing standards.

This is a change in behaviour for mixed mode domains, and if the trusted
domain cannot be reached with our current krb5.conf file, we will show
that domain as disconnected.

This is in line with existing behaviour for native mode domains, and for
our primary domain.

As a consequence of testing this patch, I found that our kerberos error
handling was well below par - we would often throw away useful error
values.  These changes move more routines to ADS_STATUS to return
kerberos errors.

Also found when valgrinding the setup, fix a few memory leaks.

While sniffing the resultant connections, I noticed we would query our
list of trusted domains twice - so I have reworked some of the code to
avoid that.

Andrew Bartlett
-
Volker Lendecke
3ce6c9f273 Commit the translation of the realm to the netbios domain name in the kerberos
session setup. After talking to jht and abartlet I made this unconditional, no
additional parameter.

Jerry: This is a change in behaviour, but I think it is necessary.

Volker
-
Andrew Bartlett
df14b0af31 Add a comment, and a useful debug message. -
Andrew Tridgell
702b35da0a as discussed on irc, this is a small patch that allows a few more
winbind functions to be accessed via NSS. This provides a much cleaner
way for applications that need (for example) to provide name->sid
mappings to do this via NSS rather than having to know the winbindd
pipe protocol (as this might change).

This patch also adds a varient of the winbindd_getgroups() call called
winbindd_getusersids() that provides direct SID->SIDs listing of a
users supplementary groups. This is enough to allow non-Samba
applications to do ACL checking.

A test program for the new functionality will be committed shortly.

I also added the 'wbinfo --user-sids' option to expose the new
function in wbinfo.
-
Andrew Tridgell
b3e024ce1d a small include file rearrangement that doesn't affect normal
compilation, but that allows Samba3 to take advantage of pre-compiled
headers in gcc if available.
-
Tim Potter
0519a7022b Final round of printf warnings fixes for the moment. -
Richard Sharpe
7c7ef9680b Add a better error message to wb_common.c when unable to connect to a pipe
socket and add a comment to winbindd.c to explain the fancy calculation of
buffer offset.
-
Gerald Carter
3324adcace make sure we keep the trusted domain cache up to date -
Gerald Carter
ae452e51b0 metze's autogenerate patch for version.h -
Gerald Carter
4d3acce506 fix 2 bugs:
1)  don't ask trusted DC's for a list of trusted domains.  This causes
      us to treat non-transitive ones as if they were transitive.  Not
      needed anyways

  2)  Fix dc lookup bug where we would always try to use DNS to resolve
      the DC's for a domain (even if it was a trusted NT4 domain).
-
Gerald Carter
9f835b85dd convert snprintf() calls using pstrings & fstrings
to pstr_sprintf() and fstr_sprintf() to try to standardize.
lots of snprintf() calls were using len-1; some were using
len.  At least this helps to be consistent.
-
Tim Potter
f93528ba00 Fixup a bunch of printf-style functions and debugs to use unsigned long when
displaying pid_t, uid_t and gid_t values.  This removes a whole lot of warnings
on some of the 64-bit build farm machines as well as help us out when 64-bit
uid/gid/pid values come along.
-
Tim Potter
8b818ce381 Replace the eight (!) copies of dummy become/unbecome root with a single one. -
Gerald Carter
837d7c54d3 fixes for 'net rpc vampire'. I can now take a blank Samba host
and migrate an NT4 domain and still logon from domain members
(tested logon scripts, system policies, profiles, & home directories)
(passdb backend = tdbsam)

removed call to idmap_init_wellknown_sids() from winbindd.c
since the local domain should be handled by the guest passdb backend
(and you don't really always want the Administrator account to be root)
...and we didn't pay attention to this anyways now.
-
Alexander Bokovoy
02c5e2fc6f Add support for MSG_SMB_CONF_UPDATED and MSG_SHUTDOWN to all daemons (smbd, nmbd, winbindd). Reviewed by jerry and tridge. -
Gerald Carter
369a914ebe remove -B and default to dual-daemon mode (-Y to run as a single process) -
Gerald Carter
1111bc7b0c Large set of changes to add UNIX account/group management
to winbindd.  See README.idmap-and-winbind-changes for details.
-
Gerald Carter
389fe1e51a fix linking issues in winbindd with become/unbecome_root() in passdb.c -
Jeremy Allison
8f830c509a Some const correctness. Stop tdb being used as a remote backend. If an
idmap backend is specified cause smbd to ask winbindd (use winbindd if
you want a consistant remote backend solution).
Should work well enough for next beta now...
Jeremy.
-
Simo Sorce
2bdbeb9e97 add tdb backup function separation and winbind idmap upgrade code form
pre-2.2.4 tdb database format.

tx volker for your work on this
-
Gerald Carter
aac01dc7bc merge of the netsamlogon caching code from APPLIANCE_HEAD
This replaces the universal group caching code (was originally
based on that code).  Only applies to the the RPC code.

One comment: domain local groups don't show up in 'getent group'
that's easy to fix.

Code has been tested against 2k domain but doesn't change anything
with respect to NT4 domains.

netsamlogon caching works pretty much like the universal group
caching code did but has had much more testing and puts winbind
mostly back in sync between branches.
-
Simo Sorce
0e58085978 And finally IDMAP in 3_0
We really need idmap_ldap to have a good solution with ldapsam, porting
it from the prvious code is beeing made, the code is really simple to do
so I am confident it is not a problem to commit this code in.

Not committing it would have been worst.
I really would have been able to finish also the group code, maybe we can
put it into a followin release after 3.0.0 even if it may be an upgrade
problem.

The code has been tested and seem to work right, more testing is needed for
corner cases.

Currently winbind pdc (working only for users and not for groups) is
disabled as I was not able to make a complete group code replacement that
works somewhat in a week (I have a complete patch, but there are bugs)

Simo.
-
Jelmer Vernooij
d817eaf0ec Reverse previous patch from Stefan and me after comments by Andrew Bartlett -
Jelmer Vernooij
74d9ecfe2d Patch from metze and me that adds dummy smb_register_*() functions so
that is now possible to, for example, load a module which contains
an auth method into a binary without the auth/ subsystem built in.
-
Tim Potter
25e55aca0f There appears to be no reason why we have to execute the
initialisation code in winbindd_init_common() after the fork when
running in dual daemon mode.

The only tricky bit is we have to run a tdb_reopen_all() somewhere in
the child to avoid tdb corruption.

Fixed bug #60.
-
Andrew Bartlett
d4d5e6c2ee Merge HEAD's winbind into 3.0.
This includes the 'SIDs Rule' patch, mimir's trusted domains cacheing code,
the winbind_idmap abstraction (not idmap proper, but the stuff that held up
the winbind LDAP backend in HEAD).

Andrew Bartlett
-
Gerald Carter
6735a9889f update copyright notice that is written to the logs -
Tim Potter
b11f35fdde Merge:
- Jelmer's latest popt changes
 - debugging tdb messages now initialised and handled in lib/messages.c
-
Andrew Bartlett
92c2a33483 Winbind merges from HEAD:
- fix winbindd_pam bugs
 - give a better error message for unauthorized access to auth_crap
 - show this message in wbinfo
 - fix spelling: privilaged -> privileged
   ** This changes the location of the winbindd privileged pipe **
   (thanks to tpot)

Andrew Bartlett
-