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

157 Commits

Author SHA1 Message Date
Volker Lendecke
0cae043b0c w3:winbind: Convert WINBINDD_ALLOCATE_GID to the new API 2009-08-30 09:48:28 +02:00
Volker Lendecke
9e7c6f12fd w3:winbind: Convert WINBINDD_ALLOCATE_UID to the new API 2009-08-30 09:48:28 +02:00
Volker Lendecke
2774a02f64 s3:winbind: Convert WINBINDD_LIST_GROUPS to the new API 2009-08-29 19:53:46 +02:00
Volker Lendecke
6b474c56a5 s3:winbind: Convert WINBINDD_LIST_USERS to the new API 2009-08-29 19:53:29 +02:00
Volker Lendecke
e47491e83c s3:winbind: Convert the getgrent functions to the new API 2009-08-29 19:42:27 +02:00
Volker Lendecke
50d9fb42fc w3:winbind: Convert WINBINDD_LOOKUPRIDS to the new API 2009-08-29 19:42:26 +02:00
Volker Lendecke
425239caee s3:winbind: Convert the GETDCNAME routines to the new API 2009-08-29 19:42:26 +02:00
Volker Lendecke
244bb7f163 s3:winbind: Convert winbindd_dsgetdcname to the new API 2009-08-29 19:42:26 +02:00
Volker Lendecke
9c30a8dc6f s3:winbind: Convert the GETPWENT routines to the new API 2009-08-29 19:42:26 +02:00
Volker Lendecke
1d8d3fd7c3 s3:winbind: Convert WINBINDD_GETUSERSIDS to the new API 2009-08-27 15:04:09 +02:00
Volker Lendecke
2c23e7dc5a s3:winbind: The get[gr|pw]end functions need access to the client state 2009-08-16 13:28:14 +02:00
Volker Lendecke
459233e630 s3:winbind: Convert WINBINDD_GETGRNAM to the new API 2009-08-16 12:39:08 +02:00
Volker Lendecke
a511a87519 s3:winbind: Convert WINBINDD_GETGRGID to the new API 2009-08-16 12:39:07 +02:00
Volker Lendecke
0f64bb5b7e s3:winbind: Convert winbindd_show_sequence to the new API 2009-08-16 10:38:24 +02:00
Volker Lendecke
0a16265bc2 s3:winbind: Convert WINBINDD_GETGROUPS to the new API 2009-08-05 03:21:25 -04:00
Volker Lendecke
fec380818f s3:winbind: Convert WINBINDD_GETUSERDOMGROUPS to the new API 2009-08-05 03:21:25 -04:00
Volker Lendecke
592822786d s3:winbind: Convert WINBINDD_GETSIDALIASES to the new API 2009-08-05 03:21:24 -04:00
Volker Lendecke
bd9d7f75e3 s3:winbind: Convert WINBINDD_GETPWUID to the new API 2009-08-05 03:21:23 -04:00
Volker Lendecke
5bbb7a0d14 s3:winbind: Convert WINBINDD_GETPWNAM to the new API 2009-08-05 03:21:23 -04:00
Volker Lendecke
9dc401a20e s3:winbind: Convert WINBINDD_GETPWSID to the new API 2009-08-05 03:21:23 -04:00
Volker Lendecke
10685b37d4 s3:winbind: Convert WINBINDD_GID_TO_SID the new API 2009-08-05 03:21:22 -04:00
Volker Lendecke
9b369ffcf0 s3:winbind: Convert WINBINDD_UID_TO_SID the new API 2009-08-05 03:21:22 -04:00
Volker Lendecke
5db561a608 s3:winbind: Convert WINBINDD_SID_TO_GID the new API 2009-08-05 03:21:21 -04:00
Volker Lendecke
fb7150f23b s3:winbind: Convert WINBINDD_SID_TO_UID to the new API 2009-08-05 03:21:21 -04:00
Volker Lendecke
9c6f4cd12a s3:winbind: Convert WINBINDD_LOOKUPNAME to the new API 2009-08-05 03:21:21 -04:00
Volker Lendecke
74b45ba46c s3:winbind: Remove old version of WINBINDD_PING 2009-08-05 03:21:20 -04:00
Volker Lendecke
fa59f9720d s3:winbind: Convert WINBINDD_LOOKUPSID to the new API 2009-08-05 03:21:20 -04:00
Volker Lendecke
f511ccbc42 Slightly restructure the async winbind request calling convention
The main loop now allocates the response, this has to be done everywhere
2009-07-31 17:28:53 +02:00
Volker Lendecke
e30509f037 Fix a valgrind error in winbind
When looking for idle clients, we dereferenced state->response. As this is
dynamically allocated now, the proper test is whether state->response exists at
all. This is the case when an async operation is in process at that moment.
2009-07-27 16:15:54 +02:00
Volker Lendecke
8cba97a164 Fix a winbind memleak 2009-07-25 12:59:20 -04:00
Volker Lendecke
8a17cd810f Make gencache more stable
This provides a compromise between stability and performance: gencache is a
persistent database these days that for performance reasons can not use tdb
transactions for all writes. This patch splits up gencache into gencache.tdb
and gencache_notrans.tdb. gencache_notrans is used with CLEAR_IF_FIRST, writes
to it don't use transactions. By default every 5 minutes and when a program
exits, all entries from _notrans.tdb are transferred to gencache.tdb in one
transaction.
2009-07-15 10:55:20 +02:00
Volker Lendecke
5a9ca3db03 Fix bug 4699: Remove pidfile on clean shutdown 2009-06-18 16:17:57 -07:00
Volker Lendecke
49eccee209 Remove "winbindd_request" and "winbindd_response" from winbindd_cli_state
This shrinks the memory footprint of an idle client by 5592 bytes to 60 bytes
on my 32-bit box.
2009-06-14 22:22:10 +02:00
Volker Lendecke
97ba4f6efd Make winbindd_cli_state->response a pointer instead of a struct member
Same comment as in baa6084378e530b: This is just a preparatory checkin.

Volker
2009-06-14 22:22:10 +02:00
Volker Lendecke
f1dd6cd64d winbind: replace process_loop() by tevent_loop_once() 2009-06-14 11:25:48 +02:00
Volker Lendecke
07fac35b3b Make rescan_trusted_domains a timed event 2009-06-14 11:25:48 +02:00
Volker Lendecke
c4a97b2b41 Do not store the listening fde 2009-06-14 11:25:48 +02:00
Volker Lendecke
eaaaea01e0 Avoid scanning the client list when a client exits 2009-06-14 11:25:48 +02:00
Volker Lendecke
340b55a842 Add async wb_ping 2009-06-14 11:25:47 +02:00
Volker Lendecke
e3bed4848f Add an async wb request loop 2009-06-14 11:25:47 +02:00
Volker Lendecke
0834574fdd Remove some unused code 2009-06-14 11:25:47 +02:00
Volker Lendecke
c049d098d1 Convert the main winbind client communication to wb_reqtrans.c 2009-06-14 11:25:46 +02:00
Volker Lendecke
baa6084378 Make winbindd_cli_state->request a pointer instead of a struct member
In itself, this is pretty pointless. But in the next steps I'll convert the
winbind internal communication to wb_reqtrans which allocates the request
properly. This minimizes the later diff.

Volker
2009-06-14 11:25:44 +02:00
Marc VanHeyningen
a4887e250b s3: Allow child processes to exit gracefully if we are out of fds
When we run out of file descriptors for some reason, every new
connection forks a child that immediately panics causing smbd to
coredump.  This seems unnecessarily harsh; with this code change we
now catch that error and merely log a message about it and exit
without the core dump.

Signed-off-by: Tim Prouty <tprouty@samba.org>
2009-05-27 13:16:17 -07:00
Volker Lendecke
68c5c6df0e Fix a race condition in winbind leading to a panic
In winbind, we do multiple events in one select round. This needs fixing, but
as long as we're still using it, for efficiency reasons we need to do that.

What can happen is the following: We have outgoing data pending for a client,
thus

	state->fd_event.flags == EVENT_FD_WRITE

Now a new client comes in, we go through the list of clients to find an idle
one. The detection for idle clients in remove_idle_client does not take the
pending data into account. We close the socket that has pending outgoing data,
the accept(2) one syscall later gives us the same socket.

In new_connection(), we do a setup_async_read, setting up a read fde. The
select from before however had found the socket (that we had already closed!!)
to be writable. In rw_callback we only want to see a readable flag, and we
panic in the SMB_ASSERT(flags == EVENT_FD_READ).

Found using

bin/smbtorture //127.0.0.1/tmp -U% -N 500 -o 2 local-wbclient

Volker
2009-05-24 18:57:13 +02:00
Bo Yang
d7480a91b4 s3: ignore EPIPE error when winbind finally writes to wb client because client might have already closed the socket
Signed-off-by: Bo Yang <boyang@samba.org>
2009-05-22 03:22:52 +08:00
Volker Lendecke
3fa69438b9 Convert response.extra_data.data from malloc to talloc 2009-05-12 18:02:00 +02:00
Volker Lendecke
646668bc51 Fix some type-punned warnings 2009-05-07 23:38:48 +02:00
Volker Lendecke
26a9643e45 Remove a misleading comment 2009-05-07 23:38:48 +02:00
Stefan Metzmacher
93c2057c8b s3:winbindd: accept new connections via fd events
metze
2009-03-18 07:00:42 +01:00