627a785784
We need to detach dcesrv_iface_state from dcesrv_assoc_group, if dcesrv_assoc_group is free'ed first. Typically this doesn't happen, but it does when rpc_worker_connection_terminated explicitly calls talloc_unlink(conn, conn->assoc_group) and dcesrv_iface_state_store_conn() is used. But we better do it in all assoc_group destructors. ==381007==ERROR: AddressSanitizer: heap-use-after-free on address 0x50d000004f80 at pc 0x7f15fc12e0ac bp 0x7ffe43267780 sp 0x7ffe43267778 READ of size 8 at 0x50d000004f80 thread T0 #0 0x7f15fc12e0ab in dcesrv_iface_state_destructor ../../librpc/rpc/dcesrv_handles.c:166 #1 0x7f15fc0f7d76 in _tc_free_internal ../../lib/talloc/talloc.c:1158 #2 0x7f15fc0f7acd in _tc_free_children_internal ../../lib/talloc/talloc.c:1669 #3 0x7f15fc0f7acd in _tc_free_internal ../../lib/talloc/talloc.c:1184 #4 0x7f15fc0f7acd in _tc_free_children_internal ../../lib/talloc/talloc.c:1669 #5 0x7f15fc0f7acd in _tc_free_internal ../../lib/talloc/talloc.c:1184 #6 0x7f15fc0f7acd in _tc_free_children_internal ../../lib/talloc/talloc.c:1669 #7 0x7f15fc0f7acd in _tc_free_internal ../../lib/talloc/talloc.c:1184 #8 0x7f15fc0f924c in _talloc_free_internal ../../lib/talloc/talloc.c:1248 #9 0x7f15fc0f924c in _talloc_free ../../lib/talloc/talloc.c:1792 #10 0x7f15fadac024 in ncacn_terminate_connection ../../source3/rpc_server/rpc_server.c:263 #11 0x7f15fadac024 in dcesrv_transport_terminate_connection ../../source3/rpc_server/rpc_server.c:251 #12 0x7f15fc11e5ef in dcesrv_terminate_connection ../../librpc/rpc/dcesrv_core.c:2968 #13 0x7f15fc125446 in dcesrv_read_fragment_done ../../librpc/rpc/dcesrv_core.c:3196 #14 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #15 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #16 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #17 0x7f15fb4f69a1 in _tevent_req_nterror ../../lib/util/tevent_ntstatus.c:46 #18 0x7f15fabda2f4 in dcerpc_read_ncacn_packet_done ../../librpc/rpc/dcerpc_util.c:612 #19 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #20 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #21 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #22 0x7f15fbff4228 in tstream_readv_pdu_readv_done ../../lib/tsocket/tsocket_helpers.c:313 #23 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #24 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #25 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #26 0x7f15fbff1800 in tstream_readv_done ../../lib/tsocket/tsocket.c:593 #27 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #28 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #29 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #30 0x7f15fadbc1a3 in tstream_npa_readv_msg_mode_handler ../../libcli/named_pipe_auth/npa_tstream.c:697 #31 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #32 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #33 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #34 0x7f15fbff4228 in tstream_readv_pdu_readv_done ../../lib/tsocket/tsocket_helpers.c:313 #35 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #36 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #37 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #38 0x7f15fbff1800 in tstream_readv_done ../../lib/tsocket/tsocket.c:593 #39 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #40 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #41 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #42 0x7f15fbff9691 in tstream_bsd_readv_handler ../../lib/tsocket/tsocket_bsd.c:2080 #43 0x7f15fbff6f85 in tstream_bsd_fde_handler ../../lib/tsocket/tsocket_bsd.c:1764 #44 0x7f15fb7d9ac1 in tevent_common_invoke_fd_handler ../../lib/tevent/tevent_fd.c:174 #45 0x7f15fb7ef185 in epoll_event_loop ../../lib/tevent/tevent_epoll.c:696 #46 0x7f15fb7ef185 in epoll_event_loop_once ../../lib/tevent/tevent_epoll.c:926 #47 0x7f15fb7e77b8 in std_event_loop_once ../../lib/tevent/tevent_standard.c:110 #48 0x7f15fb7d7549 in _tevent_loop_once ../../lib/tevent/tevent.c:820 #49 0x7f15fc936b7c in rpc_worker_main ../../source3/rpc_server/rpc_worker.c:1249 #50 0x5632ae1e1ec3 in main ../../source3/rpc_server/rpcd_lsad.c:132 #51 0x7f15f7c2a2ad in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #52 0x7f15f7c2a378 in __libc_start_main_impl ../csu/libc-start.c:360 #53 0x5632ae162e64 in _start ../sysdeps/x86_64/start.S:115 0x50d000004f80 is located 112 bytes inside of 136-byte region [0x50d000004f10,0x50d000004f98) freed by thread T0 here: #0 0x7f15fcefb418 in free ../../../../libsanitizer/asan/asan_malloc_linux.cpp:52 #1 0x7f15fc0f857d in _tc_free_internal ../../lib/talloc/talloc.c:1222 #2 0x7f15fc0f8d0f in _talloc_free_internal ../../lib/talloc/talloc.c:1248 #3 0x7f15fc0f8d0f in talloc_unlink ../../lib/talloc/talloc.c:1473 #4 0x7f15fc934580 in rpc_worker_connection_terminated ../../source3/rpc_server/rpc_worker.c:143 #5 0x7f15fc9310bd in dcesrv_connection_destructor ../../source3/rpc_server/rpc_worker.c:175 #6 0x7f15fc0f7d76 in _tc_free_internal ../../lib/talloc/talloc.c:1158 #7 0x7f15fc0f7acd in _tc_free_children_internal ../../lib/talloc/talloc.c:1669 #8 0x7f15fc0f7acd in _tc_free_internal ../../lib/talloc/talloc.c:1184 #9 0x7f15fc0f924c in _talloc_free_internal ../../lib/talloc/talloc.c:1248 #10 0x7f15fc0f924c in _talloc_free ../../lib/talloc/talloc.c:1792 #11 0x7f15fadac024 in ncacn_terminate_connection ../../source3/rpc_server/rpc_server.c:263 #12 0x7f15fadac024 in dcesrv_transport_terminate_connection ../../source3/rpc_server/rpc_server.c:251 #13 0x7f15fc11e5ef in dcesrv_terminate_connection ../../librpc/rpc/dcesrv_core.c:2968 #14 0x7f15fc125446 in dcesrv_read_fragment_done ../../librpc/rpc/dcesrv_core.c:3196 #15 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #16 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #17 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #18 0x7f15fb4f69a1 in _tevent_req_nterror ../../lib/util/tevent_ntstatus.c:46 #19 0x7f15fabda2f4 in dcerpc_read_ncacn_packet_done ../../librpc/rpc/dcerpc_util.c:612 #20 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #21 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #22 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #23 0x7f15fbff4228 in tstream_readv_pdu_readv_done ../../lib/tsocket/tsocket_helpers.c:313 #24 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #25 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #26 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #27 0x7f15fbff1800 in tstream_readv_done ../../lib/tsocket/tsocket.c:593 #28 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #29 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 #30 0x7f15fb7dcdb7 in _tevent_req_error ../../lib/tevent/tevent_req.c:252 #31 0x7f15fadbc1a3 in tstream_npa_readv_msg_mode_handler ../../libcli/named_pipe_auth/npa_tstream.c:697 #32 0x7f15fb7dcae5 in _tevent_req_notify_callback ../../lib/tevent/tevent_req.c:177 #33 0x7f15fb7dcd1c in tevent_req_finish ../../lib/tevent/tevent_req.c:234 previously allocated by thread T0 here: #0 0x7f15fcefc777 in malloc ../../../../libsanitizer/asan/asan_malloc_linux.cpp:69 #1 0x7f15fc0fbc57 in __talloc_with_prefix ../../lib/talloc/talloc.c:783 #2 0x7f15fc0fd8cf in __talloc ../../lib/talloc/talloc.c:825 #3 0x7f15fc0fd8cf in _talloc_named_const ../../lib/talloc/talloc.c:982 #4 0x7f15fc0fd8cf in _talloc_zero ../../lib/talloc/talloc.c:2421 #5 0x7f15fc93156e in rpc_worker_assoc_group_new ../../source3/rpc_server/rpc_worker.c:681 #6 0x7f15fc93156e in rpc_worker_assoc_group_find ../../source3/rpc_server/rpc_worker.c:730 #7 0x7f15fc120a18 in dcesrv_bind ../../librpc/rpc/dcesrv_core.c:1158 #8 0x7f15fc120a18 in dcesrv_process_ncacn_packet ../../librpc/rpc/dcesrv_core.c:2324 #9 0x7f15fc120a18 in dcesrv_loop_next_packet ../../librpc/rpc/dcesrv_core.c:3222 #10 0x7f15fc933722 in rpc_worker_new_client ../../source3/rpc_server/rpc_worker.c:489 #11 0x7f15fc933722 in rpc_worker_new_client_filter ../../source3/rpc_server/rpc_worker.c:558 #12 0x7f15fbef95ca in messaging_dispatch_waiters ../../source3/lib/messages.c:1343 #13 0x7f15fbefb589 in messaging_dispatch_rec ../../source3/lib/messages.c:1371 #14 0x7f15fbefb589 in messaging_recv_cb ../../source3/lib/messages.c:431 #15 0x7f15faddba9e in msg_dgm_ref_recv ../../lib/messaging/messages_dgm_ref.c:144 #16 0x7f15fadd6cc3 in messaging_dgm_recv ../../lib/messaging/messages_dgm.c:1426 #17 0x7f15fadd7618 in messaging_dgm_read_handler ../../lib/messaging/messages_dgm.c:1316 #18 0x7f15fb7d9ac1 in tevent_common_invoke_fd_handler ../../lib/tevent/tevent_fd.c:174 #19 0x7f15fb7ef185 in epoll_event_loop ../../lib/tevent/tevent_epoll.c:696 #20 0x7f15fb7ef185 in epoll_event_loop_once ../../lib/tevent/tevent_epoll.c:926 #21 0x7f15fb7e77b8 in std_event_loop_once ../../lib/tevent/tevent_standard.c:110 #22 0x7f15fb7d7549 in _tevent_loop_once ../../lib/tevent/tevent.c:820 #23 0x7f15fc936b7c in rpc_worker_main ../../source3/rpc_server/rpc_worker.c:1249 #24 0x5632ae1e1ec3 in main ../../source3/rpc_server/rpcd_lsad.c:132 #25 0x7f15f7c2a2ad in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 BUG: https://bugzilla.samba.org/show_bug.cgi?id=15765 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> |
||
---|---|---|
.github | ||
auth | ||
bootstrap | ||
buildtools | ||
coverity | ||
ctdb | ||
dfs_server | ||
docs-xml | ||
dynconfig | ||
examples | ||
file_server | ||
include | ||
lib | ||
libcli | ||
libds/common | ||
libgpo | ||
librpc | ||
nsswitch | ||
packaging | ||
pidl | ||
python | ||
release-scripts | ||
rust | ||
script | ||
selftest | ||
source3 | ||
source4 | ||
testdata | ||
testprogs | ||
tests | ||
testsuite | ||
third_party | ||
wintest | ||
.bzrignore | ||
.clang-format | ||
.clangd | ||
.codespellignore | ||
.codespellrc | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci-coverage-runners.yml | ||
.gitlab-ci-coverage.yml | ||
.gitlab-ci-default-runners.yml | ||
.gitlab-ci-default.yml | ||
.gitlab-ci-main.yml | ||
.gitlab-ci-private.yml | ||
.gitlab-ci.yml | ||
.gitleaks.toml | ||
.mailmap | ||
.testr.conf | ||
.ycm_extra_conf.py | ||
callcatcher-exceptions.grep | ||
configure | ||
configure.developer | ||
COPYING | ||
GPG_AA99442FB680B620_replaces_6F33915B6568B7EA.txt | ||
Makefile | ||
PFIF.txt | ||
README.cifs-utils | ||
README.Coding.md | ||
README.contributing | ||
README.md | ||
SECURITY.md | ||
setup.cfg | ||
VERSION | ||
VFS-License-clarification.txt | ||
WHATSNEW.txt | ||
wscript | ||
wscript_build | ||
wscript_build_embedded_heimdal | ||
wscript_build_system_heimdal | ||
wscript_build_system_mitkrb5 | ||
wscript_configure_embedded_heimdal | ||
wscript_configure_system_gnutls | ||
wscript_configure_system_heimdal | ||
wscript_configure_system_mitkrb5 |
About Samba
Samba is the standard Windows interoperability suite of programs for Linux and Unix. Samba is Free Software licensed under the GNU General Public License and the Samba project is a member of the Software Freedom Conservancy. Since 1992, Samba has provided secure, stable and fast file and print services for all clients using the SMB/CIFS protocol, such as all versions of DOS and Windows, OS/2, Linux and many others. Samba is an important component to seamlessly integrate Linux/Unix Servers and Desktops into Active Directory environments. It can function both as a domain controller or as a regular domain member.
For the AD DC implementation a full HOWTO is provided at: https://wiki.samba.org/index.php/Samba4/HOWTO
Community guidelines can be read at: https://wiki.samba.org/index.php/How_to_do_Samba:_Nicely
This software is freely distributable under the GNU public license, a copy of which you should have received with this software (in a file called COPYING).
CONTRIBUTIONS
Please see https://wiki.samba.org/index.php/Contribute for detailed set-by-step instructions on how to submit a patch for Samba via GitLab.
Samba's GitLab mirror is at https://gitlab.com/samba-team/samba
OUR CONTRIBUTORS
See https://www.samba.org/samba/team/ for details of the Samba Team, as well as details of all those currently active in Samba development.
If you like a particular feature then look through the git change-log (on the web at https://gitweb.samba.org/?p=samba.git;a=summary) and see who added it, then send them an email.
Remember that free software of this kind lives or dies by the response we get. If no one tells us they like it then we'll probably move onto something else.
MORE INFO
DOCUMENTATION
There is quite a bit of documentation included with the package, including man pages and the wiki at https://wiki.samba.org
If you would like to help with our documentation, please contribute that improved content to the wiki, we are moving as much content there as possible.
MAILING LIST
Please do NOT send subscription/unsubscription requests to the lists!
There is a mailing list for discussion of Samba. For details go to https://lists.samba.org/ or send mail to samba-subscribe@lists.samba.org
There is also an announcement mailing list where new versions are announced. To subscribe go to https://lists.samba.org/ or send mail to samba-announce-subscribe@lists.samba.org. All announcements also go to the samba list, so you only need to be on one.
For details of other Samba mailing lists and for access to archives, see https://lists.samba.org/
MAILING LIST ETIQUETTE
A few tips when submitting to this or any mailing list.
-
Make your subject short and descriptive. Avoid the words "help" or "Samba" in the subject. The readers of this list already know that a) you need help, and b) you are writing about samba (of course, you may need to distinguish between Samba PDC and other file sharing software). Avoid phrases such as "what is" and "how do i". Some good subject lines might look like "Slow response with Excel files" or "Migrating from Samba PDC to NT PDC".
-
If you include the original message in your reply, trim it so that only the relevant lines, enough to establish context, are included. Chances are (since this is a mailing list) we've already read the original message.
-
Trim irrelevant headers from the original message in your reply. All we need to see is a) From, b) Date, and c) Subject. We don't even really need the Subject, if you haven't changed it. Better yet is to just preface the original message with "On [date] [someone] wrote:".
-
Please don't reply to or argue about spam, spam filters or viruses on any Samba lists. We do have a spam filtering system that is working quite well thank you very much but occasionally unwanted messages slip through. Deal with it.
-
Never say "Me too." It doesn't help anyone solve the problem. Instead, if you ARE having the same problem, give more information. Have you seen something that the other writer hasn't mentioned, which may be helpful?
-
If you ask about a problem, then come up with the solution on your own or through another source, by all means post it. Someone else may have the same problem and is waiting for an answer, but never hears of it.
-
Give as much relevant information as possible such as Samba release number, OS, kernel version, etc...
-
RTFM. Google.
WEBSITE
A Samba website has been setup with lots of useful info. Connect to:
As well as general information and documentation, this also has searchable archives of the mailing list and links to other useful resources such as the wiki.