1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

930 Commits

Author SHA1 Message Date
Volker Lendecke
56b4aa3266 s3: Move the in-memory ccache to the parent
None of this blocks, so there is no reason to keep this in
a winbind child process
2010-04-19 14:27:24 +02:00
Volker Lendecke
9d0629d155 s3-winbind: Allow changing the password for pdb 2010-04-19 14:27:20 +02:00
Volker Lendecke
45eeed2893 s3: Convert WINBINDD_PAM_LOGOFF to the new async API 2010-04-19 14:27:20 +02:00
Volker Lendecke
518a4f5423 s3: Convert WINBINDD_PAM_CHAUTHTOK to the new async API 2010-04-19 14:27:20 +02:00
Volker Lendecke
d869e7a0d8 s3: Convert WINBINDD_PAM_AUTH_CRAP to the new async API 2010-04-19 14:27:19 +02:00
Volker Lendecke
61ec0f571a s3: Convert WINBINDD_PAM_AUTH to the new async API 2010-04-19 14:27:19 +02:00
Volker Lendecke
cafba3d7a7 winbindd: Fill in num_entries where available
The server implementation of WINBINDD_LIST_USERS, WINBINDD_LIST_GROUPS and
WINBINDD_LIST_TRUSTDOM knows the number of entries returned.

Bump up the version number so that a newer lib does not rely on something an
older winbind does not do.
2010-04-19 14:27:18 +02:00
Volker Lendecke
fec712aca5 s3: Add some debug to GETSIDALIASES 2010-04-19 14:27:18 +02:00
Volker Lendecke
058d4a21af s3: Fix indentation in remove_ccache 2010-04-18 15:25:03 +02:00
Volker Lendecke
36e57fa728 s3: Fix a typo in winbindd_ccache_save 2010-04-18 15:25:03 +02:00
Volker Lendecke
577bceb19b s3-winbind: Authenticate SAM users 2010-04-13 21:21:34 +02:00
Karolin Seeger
b0a9e5ba77 s3-winbindd: Fix typo in comment.
Karolin
2010-04-13 20:08:22 +02:00
Volker Lendecke
59d68899c4 s3: Use sizeof(chal) instead of a constant 2010-04-11 15:28:39 +02:00
Volker Lendecke
b91484a1a0 s3: Cosmetics -- I could not spot where "chal" was initialized 2010-04-11 11:15:44 +02:00
Volker Lendecke
f73e480e19 s3: Remove domain selection from dual_pam_auth
We're in a child, the parent already has chosen the domain by
picking the right child to connect to.

Metze, you've done work on winbind lately, so it goes to you:

Please check :-)
2010-04-10 22:42:25 +02:00
Volker Lendecke
4085e189a1 s3: Check 0 termination in GETALIASES 2010-04-10 17:05:38 +02:00
Volker Lendecke
3d5732fc13 s3: Remove the separate "child" argument from setup_domain_child() 2010-04-08 15:12:42 +02:00
Stefan Metzmacher
eb9b7d0363 s3:winbindd: make "smbcontrol winbindd validate-cache" reliable again
commit 73577205cf81644e7fe853eaf3e6459f7f443096
(s3:winbindd: fix problems with SIGCHLD handling (bug #7317))
broke this.

metze
2010-04-08 12:48:32 +02:00
Volker Lendecke
3ccecdd650 s3: Fix a cut&paste error in winbindd_list_groups_done 2010-04-05 16:04:03 +02:00
Stefan Metzmacher
e18ddb6036 s3:winbindd: remove unused variables
metze
2010-04-01 18:11:25 +02:00
Stefan Metzmacher
73577205cf s3:winbindd: fix problems with SIGCHLD handling (bug #7317)
The main problem is that we call CatchChild() within the
parent winbindd, which overwrites the signal handler
that was registered by winbindd_setup_sig_chld_handler().

That means winbindd_sig_chld_handler() and winbind_child_died()
are never triggered when a winbindd domain child dies.
As a result will get "broken pipe" for all requests to that domain.

To reduce the risk of similar bugs in future we call
CatchChild() in winbindd_reinit_after_fork() now.

We also use a full winbindd_reinit_after_fork() in the
cache validation child now instead instead of just resetting
the SIGCHLD handler by hand. This will also fix possible
tdb problems on systems without pread/pwrite and disabled mmap
as we now correctly reopen the tdb handle for the child.

metze
2010-04-01 17:25:11 +02:00
Volker Lendecke
3475c61179 s3: Ensure NULL termination before printing in winbindd_pam_logoff 2010-04-01 16:34:01 +02:00
Volker Lendecke
64c564291d s3: Fix a typo in winbindd_pam_logoff 2010-04-01 15:14:09 +02:00
Stefan Metzmacher
a2411c5708 s3:winbindd: correctly invalidate the cached connection
There're maybe additional TCP connection for ncacn_ip_tcp.

metze
2010-04-01 13:01:27 +02:00
Stefan Metzmacher
0f95d00f49 s3:winbindd: only set child_domain in the child
metze
2010-04-01 13:01:26 +02:00
Stefan Metzmacher
d930904b99 s3:winbindd: make sure we don't try rpc requests against unaccessable domains
This makes sure we don't crash while trying to dereference domain->conn.cli->foo
while trying to establish a rpc connection to the server.

metze
2010-04-01 13:01:26 +02:00
Volker Lendecke
658dc77446 s3: fix a typo in winbind_client_response_written 2010-04-01 12:56:54 +02:00
Volker Lendecke
0e3f031e59 s3: Fix an error message in winbindd_pam_chauthtok() 2010-03-31 22:07:39 +02:00
Volker Lendecke
15d58f688f s3: Ensure null termination in winbindd_pam_chauthtok() 2010-03-31 22:07:38 +02:00
Volker Lendecke
6d9b2e62cb s3: Make check_info3_in_group static 2010-03-31 21:03:07 +02:00
Volker Lendecke
cf4a8f7639 s3-winbind: Make append_auth_data() static 2010-03-31 21:03:06 +02:00
Stefan Metzmacher
4c6cde99c0 s3:winbindd: correctly retry if the netlogon pipe gets disconnected during a logon call
This fixes hopefully the last part of bug #7295.

metze
2010-03-29 22:15:13 +02:00
Stefan Metzmacher
6bd5a2a373 s3:winbindd_reconnect: don't only reconnect on NT_STATUS_UNSUCCESSFUL
metze
2010-03-29 18:11:19 +02:00
Stefan Metzmacher
94a4bcd2f0 s3:winbindd_cm: invalidate connection if cm_connect_netlogon() fails
metze
2010-03-29 18:11:18 +02:00
Stefan Metzmacher
4f391fedac s3:winbindd: consistently use TALLOC_FREE(conn->foo_pipe) is we create a new connection
metze
2010-03-29 18:11:18 +02:00
Stefan Metzmacher
d980c06a99 s3:winbindd_cm: use rpccli_is_connected() helper function
metze
2010-03-29 18:11:18 +02:00
Stefan Metzmacher
408a3eb35a s3:winbindd_cm: use cli_state_is_connected() helper function
metze
2010-03-29 18:11:17 +02:00
Volker Lendecke
8b1651cb50 s3: Fix bug 7212, "getent group does not return group members" 2010-03-29 15:03:18 +02:00
Andreas Schneider
a6f25fc635 s3-smbd: Don't close stdout if we want to log to stdout. 2010-03-26 14:48:54 +01:00
Stefan Metzmacher
7d977da925 s3:ntlmssp: pass names and use_ntlmv2 to ntlmssp_client_start() and store them
Inspired by the NTLMSSP merge work by Andrew Bartlett.

metze

Signed-off-by: Günther Deschner <gd@samba.org>
2010-03-24 17:34:55 +01:00
Volker Lendecke
13400a6589 s3: Fix a bad memleak in winbind 2010-03-22 16:47:52 +01:00
Volker Lendecke
89c785c47a s3: Fix a long-standing problem with recycled PIDs
When a samba server process dies hard, it has no chance to clean up its entries
in locking.tdb, brlock.tdb, connections.tdb and sessionid.tdb.

For locking.tdb and brlock.tdb Samba is robust by checking every time we read
an entry from the database if the corresponding process still exists. If it
does not exist anymore, the entry is deleted. This is not 100% failsafe though:
On systems with a limited PID space there is a non-zero chance that between the
smbd's death and the fresh access, the PID is recycled by another long-running
process. This renders all files that had been locked by the killed smbd
potentially unusable until the new process also dies.

This patch is supposed to fix the problem the following way: Every process ID
in every database is augmented by a random 64-bit number that is stored in a
serverid.tdb. Whenever we need to check if a process still exists we know its
PID and the 64-bit number. We look up the PID in serverid.tdb and compare the
64-bit number. If it's the same, the process still is a valid smbd holding the
lock. If it is different, a new smbd has taken over.

I believe this is safe against an smbd that has died hard and the PID has been
taken over by a non-samba process. This process would not have registered
itself with a fresh 64-bit number in serverid.tdb, so the old one still exists
in serverid.tdb. We protect against this case by the parent smbd taking care of
deregistering PIDs from serverid.tdb and the fact that serverid.tdb is
CLEAR_IF_FIRST.

CLEAR_IF_FIRST does not work in a cluster, so the automatic cleanup does not
work when all smbds are restarted. For this, "net serverid wipe" has to be run
before smbd starts up. As a convenience, "net serverid wipedbs" also cleans up
sessionid.tdb and connections.tdb.

While there, this also cleans up overloading connections.tdb with all the
process entries just for messaging_send_all().

Volker
2010-03-10 16:07:10 +01:00
Stefan Metzmacher
31293c64a3 s3:winbindd: add DEBUG(10,...) for the end of each top level
That will hopefully make debugging a bit easier (at least for me).

metze
2010-03-05 14:03:55 +01: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
Volker Lendecke
5c40aa59d7 s3: Remove unused count_all_current_connections() 2010-02-28 20:45:21 +01:00
Volker Lendecke
0e9882a65e s3: Fix but 7145 -- duplicate sam and unix accounts
For me this survives the

TESTS=posix_s3 POSIX_SUBTESTS="RPC-SAMR-LARGE-DC LOCAL-NSS-WRAPPER" make test

reproducer. Günther, please check!

Volker
2010-02-28 14:40:25 +01:00
Roel van Meer
cfc79f222d Fix one of the valgrind warnings from bug #6814 - Fixes for problems reported by valgrind
The timeval passed to event_add_to_select_args() must be initialized
as event_add_to_select_args() uses a timeval_min() on this and next_event.
2010-02-26 14:54:22 -08:00
Simo Sorce
61b7a24f16 s3 move the sitename cache in its own file 2010-02-23 12:46:26 -05:00
Volker Lendecke
752bffc53f s3: Consolidate server_id_self into the equivalent procid_self() 2010-02-23 15:30:00 +01:00
Stefan Metzmacher
f924b77492 s3:winbindd: never mark external domains as internal!
This way we can endup with silently using builtin_passdb_methods
for an ad domain without an inbound trust.

This fixes bug #7170.

metze
2010-02-23 10:23:32 +01:00