The branch, v3-4-stable has been updated via e1a17c8 WHATSNEW: Update changes since 3.4.12. via 4a7df93 s3: Fix bug 8099 - setpwent() actually does endpwent() on FreeBSD (cherry picked from commit 2167ac2cd42c9ed5aaae0086dbd27e29d1d77686) (cherry picked from commit fd387cd0bf186a94b64e8c2085c943992629e5af) via 17ba461 WHATSNEW: Prepare 3.4.13 release notes. via 69da1d2 s3-cli_pipe: fix timeout in rpc_pipe_open_tcp_port(). via 4bcf42d Allow NULL queue to writev_send from c32b64f WHATSNEW: Start 3.4.13 release notes.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-4-stable - Log ----------------------------------------------------------------- commit e1a17c8cbc0a619d0f0a34e65559bb6a2081dd97 Author: Karolin Seeger <ksee...@samba.org> Date: Wed Apr 20 20:51:26 2011 +0200 WHATSNEW: Update changes since 3.4.12. Karolin (cherry picked from commit b5e5510ea62af1df31b5f06c5cf1029217b648e1) commit 4a7df93a2a1dd0ffd368529da9ed11129dc3af91 Author: Sergey Korsak <s...@1plus1.net> Date: Tue Apr 19 18:51:32 2011 +0200 s3: Fix bug 8099 - setpwent() actually does endpwent() on FreeBSD (cherry picked from commit 2167ac2cd42c9ed5aaae0086dbd27e29d1d77686) (cherry picked from commit fd387cd0bf186a94b64e8c2085c943992629e5af) commit 17ba461da17272cf5b1c7dcba9c393069d9974db Author: Karolin Seeger <ksee...@samba.org> Date: Mon Apr 18 15:00:14 2011 +0200 WHATSNEW: Prepare 3.4.13 release notes. Karolin (cherry picked from commit 0517118cbfe7455ba288d6c59cb5ed7f22274b35) commit 69da1d2d5e80ba5a8f1ef4e76890b5d3e7176a07 Author: Günther Deschner <g...@samba.org> Date: Wed Apr 13 17:41:36 2011 +0200 s3-cli_pipe: fix timeout in rpc_pipe_open_tcp_port(). Make sure we use a timeout of 60 seconds, not 60 milliseconds... This prevented us from successfully using the ncacn_ip_tcp client in a lot of places, I guess. Guenther Autobuild-User: Volker Lendecke <vlen...@samba.org> Autobuild-Date: Wed Apr 13 18:59:19 CEST 2011 on sn-devel-104 (cherry picked from commit 4b3fe5247a6e16b1ad9f05269e9aa00e3120e36a) Fix bug #8085 - incorrect timeout handling in ncacn_ip_tcp client code. (cherry picked from commit d7d39c723e1855a3d18813e8a79fcca9770b0142) (cherry picked from commit f7a175f47ee65c58363615541577db65d8b9fa76) commit 4bcf42d4048d739b5309e3f3d4331dd66632e049 Author: Volker Lendecke <v...@samba.org> Date: Sun May 10 10:49:18 2009 +0200 Allow NULL queue to writev_send Fix bug #8086 - null pointer reference crashes winbind. (cherry picked from commit 7a801a842c7c6636c654489cb53bb8271c6927c8) ----------------------------------------------------------------------- Summary of changes: WHATSNEW.txt | 17 ++++++++++++++--- lib/async_req/async_sock.c | 22 ++++++++++++++++------ nsswitch/winbind_nss_freebsd.c | 8 ++++---- source3/rpc_client/cli_pipe.c | 2 +- 4 files changed, 35 insertions(+), 14 deletions(-) Changeset truncated at 500 lines: diff --git a/WHATSNEW.txt b/WHATSNEW.txt index 1ae912a..d8900c4 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,20 +1,31 @@ ============================== Release Notes for Samba 3.4.13 - , 2011 + April 21, 2011 ============================== This is the latest stable release of Samba 3.4. +Major enhancements in Samba 3.4.13 include: -o +o Fix Winbind crash caused by null pointer reference (bug #8086). +o Fix incorrect timeout handling in ncacn_ip_tcp client code (bug #8085). Changes since 3.4.12 -------------------- -o Jeremy Allison <j...@samba.org> +o Günther Deschner <g...@samba.org> + * BUG 8085: Fix incorrect timeout handling in ncacn_ip_tcp client code. + + +o Volker Lendecke <v...@samba.org> + * BUG 8086: Fix Winbind crash caused by null pointer reference. + + +o Sergey Korsak <s...@1plus1.net> + * BUG 8099: setpwent() actually does endpwent() on FreeBSD. ###################################################################### diff --git a/lib/async_req/async_sock.c b/lib/async_req/async_sock.c index 39705f4..c428e3c 100644 --- a/lib/async_req/async_sock.c +++ b/lib/async_req/async_sock.c @@ -387,11 +387,11 @@ struct tevent_req *writev_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct tevent_queue *queue, int fd, struct iovec *iov, int count) { - struct tevent_req *result; + struct tevent_req *req; struct writev_state *state; - result = tevent_req_create(mem_ctx, &state, struct writev_state); - if (result == NULL) { + req = tevent_req_create(mem_ctx, &state, struct writev_state); + if (req == NULL) { return NULL; } state->ev = ev; @@ -404,12 +404,22 @@ struct tevent_req *writev_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, goto fail; } - if (!tevent_queue_add(queue, ev, result, writev_trigger, NULL)) { + if (queue == NULL) { + struct tevent_fd *fde; + fde = tevent_add_fd(state->ev, state, state->fd, + TEVENT_FD_WRITE, writev_handler, req); + if (tevent_req_nomem(fde, req)) { + return tevent_req_post(req, ev); + } + return req; + } + + if (!tevent_queue_add(queue, ev, req, writev_trigger, NULL)) { goto fail; } - return result; + return req; fail: - TALLOC_FREE(result); + TALLOC_FREE(req); return NULL; } diff --git a/nsswitch/winbind_nss_freebsd.c b/nsswitch/winbind_nss_freebsd.c index ac230c8..5fcd557 100644 --- a/nsswitch/winbind_nss_freebsd.c +++ b/nsswitch/winbind_nss_freebsd.c @@ -58,14 +58,14 @@ static ns_mtab methods[] = { { NSDB_GROUP, "getgrnam_r", __nss_compat_getgrnam_r, _nss_winbind_getgrnam_r }, { NSDB_GROUP, "getgrgid_r", __nss_compat_getgrgid_r, _nss_winbind_getgrgid_r }, { NSDB_GROUP, "getgrent_r", __nss_compat_getgrent_r, _nss_winbind_getgrent_r }, -{ NSDB_GROUP, "endgrent", __nss_compat_setgrent, _nss_winbind_setgrent }, -{ NSDB_GROUP, "setgrent", __nss_compat_endgrent, _nss_winbind_endgrent }, +{ NSDB_GROUP, "setgrent", __nss_compat_setgrent, _nss_winbind_setgrent }, +{ NSDB_GROUP, "endgrent", __nss_compat_endgrent, _nss_winbind_endgrent }, { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_winbind_getpwnam_r }, { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_winbind_getpwuid_r }, { NSDB_PASSWD, "getpwent_r", __nss_compat_getpwent_r, _nss_winbind_getpwent_r }, -{ NSDB_PASSWD, "endpwent", __nss_compat_setpwent, _nss_winbind_setpwent }, -{ NSDB_PASSWD, "setpwent", __nss_compat_endpwent, _nss_winbind_endpwent }, +{ NSDB_PASSWD, "setpwent", __nss_compat_setpwent, _nss_winbind_setpwent }, +{ NSDB_PASSWD, "endpwent", __nss_compat_endpwent, _nss_winbind_endpwent }, }; diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c index 22794bc..b47bef8 100644 --- a/source3/rpc_client/cli_pipe.c +++ b/source3/rpc_client/cli_pipe.c @@ -3247,7 +3247,7 @@ static NTSTATUS rpc_pipe_open_tcp_port(TALLOC_CTX *mem_ctx, const char *host, goto fail; } - status = open_socket_out(&addr, port, 60, &fd); + status = open_socket_out(&addr, port, 60*1000, &fd); if (!NT_STATUS_IS_OK(status)) { goto fail; } -- Samba Shared Repository