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

38186 Commits

Author SHA1 Message Date
Volker Lendecke
ed058f4dc3 s3: Fix a winbind race leading to 100% CPU
This fixes a race condition that leads to the winbindd_children list becoming
corrupted. It happens when on a busy winbind SIGCHLD is a bit late.

Imagine a winbind with multiple requests in the queue for a single child. Child
dies, and before the SIGCHLD handler is called we find the socket to be dead.
wb_child_request_done is called, receiving an error from wb_simple_trans_recv.
It closes the socket. Then immediately the wb_child_request_trigger will do
another fork_domain_child before the signal handler is called. This means that
we do another fork_domain_child, we have child->sock==-1 at this point.
fork_domain_child will do a DLIST_ADD(winbindd_children, child) a second time
where the child is already part of that list. This corrupts the list. Then the
signal handler kicks in, spinning in

for (child = winbindd_children; child != NULL; child = child->next) {

forever. Not good. This patch makes sure that both conditions (sock==-1 and not
part of the list) for a winbindd_child struct match up.

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Fri Aug 26 18:51:24 CEST 2011 on sn-devel-104
2011-08-26 18:51:24 +02:00
Volker Lendecke
b72944fea7 s3: Fix two int/enum mixups 2011-08-26 16:36:17 +02:00
Amitay Isaacs
322b5253f4 s3-passdb: Allocate talloc stackframe before calling pdb_get_group_sid()
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-08-26 14:06:07 +02:00
Amitay Isaacs
8c466c1411 s3-param: Allocate talloc stackframe before calling s3 param routines
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-08-26 14:06:07 +02:00
Volker Lendecke
e0e3d215b1 s3: Use sys_write in fork_domain_child
Counterpart for last checkin. A lot less likely, but not impossible in a child.

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Fri Aug 26 13:14:27 CEST 2011 on sn-devel-104
2011-08-26 13:14:27 +02:00
Volker Lendecke
964e809ce2 s3: Use sys_read in fork_domain_child
I've seen

[2011/08/26 01:44:10.872057,  1] winbindd/winbindd_dual.c:1336(fork_domain_child)
  fork_domain_child: Could not read child status: nread=-1, error=Interrupted system call

on a customer box. Not good.
2011-08-26 11:42:35 +02:00
Amitay Isaacs
17c74e5dfd s3-passdb: Make domain_sid argument optional for search_aliases method
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-08-26 10:06:33 +10:00
Amitay Isaacs
0cfeb65a0b s3-passdb: Return assigned number of hours and not MAX_HOURS_LEN
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-08-26 10:06:33 +10:00
Amitay Isaacs
a38a3b16e1 s3-passdb: Convert lm_pw and nt_pw to python string using length
lm_pw and nt_pw are fixed length strings and convert them to python
strings as fixed length strings.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-08-26 10:06:32 +10:00
Amitay Isaacs
d847f62161 s3-param: Add a dump() method to output parameters
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-08-26 10:06:32 +10:00
Michael Adam
9d3fa10c35 s3:dbwrap_tdb: correctly catch the error from the return code of tdb_parse in db_tdb_fetch() 2011-08-25 23:55:06 +02:00
Michael Adam
316834cf42 s3:smbd: remove an unused variable in dptr_create() 2011-08-25 23:55:06 +02:00
Michael Adam
1e09f12d1f s3:registry: fix the v2_to_v3 upgrade code so that it does not create value list security records for the INFO/version key ... 2011-08-25 23:55:06 +02:00
Michael Adam
9b46798b11 s3:registry: fix the v1_to_v2 upgrade code so that it does not normalize the INFO/version key ... 2011-08-25 23:55:06 +02:00
Michael Adam
b4cb969e40 s3:registry: define a constant REGDB_VERSION_KEYNAME for the key INFO/version (and use it) 2011-08-25 23:55:06 +02:00
Michael Adam
b1a94b66cc s3:registry: hand db context in to v2_to_v3 upgrade code via private_data
This also fixes the earlier faulty handing in of a useless stackframe
memory context via private_data.
2011-08-25 23:55:06 +02:00
Michael Adam
48f08011e5 s3:registry: fix broken use of dbwrap store record in v1_to_v2 upgrade code
This also fixes broken private_data parameter for the traverse function
(making use of it): Originally a memory context was handed in but was not used.
2011-08-25 23:55:06 +02:00
SATOH Fumiyasu
faa769ec19 s3: Fix the build of vfs_aixacl2.c
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Thu Aug 25 23:06:12 CEST 2011 on sn-devel-104
2011-08-25 23:06:11 +02:00
Volker Lendecke
77810431c9 s3: Remove a bogus comment 2011-08-25 21:36:19 +02:00
Volker Lendecke
f533b50105 s3: Pass smbd_server_connection to (unused) server_encryption_shutdown 2011-08-25 21:36:19 +02:00
Volker Lendecke
7e70f85350 s3: Pass smbd_server_connection to srv_encrypt_buffer 2011-08-25 21:36:19 +02:00
Volker Lendecke
d4c4705e55 s3: Pass smbd_server_connection to srv_decrypt_buffer 2011-08-25 21:36:19 +02:00
Volker Lendecke
08262fe964 s3: Pass smbd_server_connection to srv_free_enc_buffer 2011-08-25 21:36:19 +02:00
Volker Lendecke
f9ef138ec7 s3: Pass smbd_server_connection to is_encrypted_packet 2011-08-25 21:36:19 +02:00
Volker Lendecke
b4b9918cc8 s3: Pass sconn to valid_smb_header 2011-08-25 21:36:19 +02:00
Volker Lendecke
4cb6e1284c s3: Explicitly pass smb_srv_trans_enc_ctx to srv_enc_ctx 2011-08-25 21:36:18 +02:00
Volker Lendecke
16888be44a s3: Fix some nonempty blank lines 2011-08-25 21:36:18 +02:00
Günther Deschner
1593654914 s3-waf: fix some unresolved symbols in idmap ad modules.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Thu Aug 25 15:15:57 CEST 2011 on sn-devel-104
2011-08-25 15:15:56 +02:00
Günther Deschner
e00a6c40bf s3-registry: fix bug #8401 - registry/reg_format.c must include includes.h.
Guenther
2011-08-25 13:45:34 +02:00
Andrew Tridgell
fb612af655 pdb-samba4: use ldb_get_default_basedn() instead of NULL
this makes pdb-samba4 safe for multi-domain setups

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-08-25 07:39:37 +10:00
Christian Ambach
fac75f04a8 s3:winbindd fix a return code check
talloc_traverse_dict will return with -1 in case of an error and
might return positive values that indicate the count of found
entries

Autobuild-User: Christian Ambach <ambi@samba.org>
Autobuild-Date: Wed Aug 24 18:09:11 CEST 2011 on sn-devel-104
2011-08-24 18:09:11 +02:00
Volker Lendecke
6d2f65ba7f s3: Fix an uninitialized variable
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Wed Aug 24 00:34:04 CEST 2011 on sn-devel-104
2011-08-24 00:34:04 +02:00
Volker Lendecke
0d3dc8e2d1 s3: Fix the build on FreeBSD
lsasd.c uses basename(3), which according to susv3
requires libgen.h and without which the FreeBSD build breaks.
2011-08-23 23:01:07 +02:00
Volker Lendecke
932f2229f1 s/event_context/tevent_context/ in smbsock_any_connect
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue Aug 23 18:21:58 CEST 2011 on sn-devel-104
2011-08-23 18:21:58 +02:00
Volker Lendecke
5ba5ccdc41 s/event_context/tevent_context/ in smbsock_connect 2011-08-23 16:51:26 +02:00
Olivier Sessink
89b672f247 scannedonly module: improve sleep behavior when reading a directory with multiple non-scanned files 2011-08-23 16:51:20 +02:00
Volker Lendecke
5007ad3026 s3: Slightly simplify serverid_exists
procid_is_me() works fine in the clustering case as well

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Mon Aug 22 21:28:13 CEST 2011 on sn-devel-104
2011-08-22 21:28:13 +02:00
Vicentiu Ciorbaru
3fc2bc34a5 s3-net: Added documentation for net_rpc_conf functions
Added comments to most functions of net rpc conf for easier
understanding of the code.

Signed-off-by: Michael Adam <obnox@samba.org>

Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Mon Aug 22 17:08:15 CEST 2011 on sn-devel-104
2011-08-22 17:08:15 +02:00
Vicentiu Ciorbaru
33de7ebcfc s3-test: Added net conf tests to tests.py
The tests are added as blackbox tests and they can be called with
the wildcard source3.blackbox.net.*.conf with either 'local' or 'rpc'
instead of '*' .

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 14:02:20 +02:00
Vicentiu Ciorbaru
2c11d8f177 s3-test: Added new testsuites for test net [rpc] conf
The script tests all commands present in the net conf tool.
It is also possible to provide a fourth command line parameter
'rpc' in order to run the tests with the use of rpc.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 14:01:48 +02:00
Vicentiu Ciorbaru
94db542f60 s3-test: added samba3.blackbox.net.rpc.registry.roundtrip testsuite
The testsuite makes use of the rpc mode from the registry roundtrip
script to test net rpc conf / net rpc registry

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:28 +02:00
Vicentiu Ciorbaru
ed233dba9a s3-test: Enhanced the net registry roundtrip test script
The script now supports an rpc mode, which is triggered by the
presence of a fourth command line parameter "rpc"

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:28 +02:00
Vicentiu Ciorbaru
57b7fb7256 s3-net: Implemented net rpc conf import command
The function takes a local file in smb.conf format,
uses calls to smbconf to create smbconf_service structs,
which are then placed in the remote registry.

The function also provides a test module to only print
the changes that it would make.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:28 +02:00
Vicentiu Ciorbaru
a00851f337 s3-net: Added net rpc conf import command to net rpc conf
The function only appears in the commands list usage of net rpc
conf.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:28 +02:00
Vicentiu Ciorbaru
66583da28d s3-net: Implemented net rpc conf addshare command
The function is mostly a wrapper around a series of setparm
commands. It can be used to quickly set up a share with simple
parameters.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:28 +02:00
Vicentiu Ciorbaru
16b463739b s3-net: Added net rpc conf addshare command to net rpc conf
The function only appears in the commands list usage of net rpc
conf.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:28 +02:00
Vicentiu Ciorbaru
7ee8a492c6 s3-net: Implemented net rpc conf setincludes command
The function creates the share key if it does not exist.
If the share key was present it deletes the previous includes.
After this the function sets the new includes accordingly.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:28 +02:00
Vicentiu Ciorbaru
f9862971c1 s3-net: Added net rpc conf setincludes command to net rpc conf
The function only appears in the commands list usage of net rpc
conf.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:27 +02:00
Vicentiu Ciorbaru
0c7f1d32e8 s3-net: Implemented net rpc conf setparm command
The function creates the share key if it does not exist.
If the share key was present it deletes the previous value.
After this the function sets the new value accordingly.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:27 +02:00
Vicentiu Ciorbaru
ffe98b51ef s3-net: Added net rpc conf setparm command to net rpc conf
The function only appears in the commands list usage of net rpc
conf.

Signed-off-by: Michael Adam <obnox@samba.org>
2011-08-22 13:59:27 +02:00