summaryrefslogtreecommitdiff
path: root/source3
AgeCommit message (Collapse)AuthorFilesLines
2011-04-28s3: Close the winbind client fds after forkingVolker Lendecke1-0/+10
In an overload situation, the winbind helper child process inherits all those hundreds of fd's which it will never talk to. Close them. We (Christian Ambach and me) just saw a crash in libkrb5. Christian's analysis showed that libkrb5 also does select, probably exceeding FD_SETSIZE and crashing due to that reason. The parent winbind in theory does not do Kerberos at all, so this should fix that problem. The crash is interesting because the child process did not really crash. Somewhere in glibc backtrace() is called, probably due to an assert() or some explicit consistency check. This then somehow generates a signal probably due to corrupted memory structures. That signal triggers Samba to again call backtrace(). This blocks hard on a ptrace_once(). Sorry for the long backtrace here, but this *is* interesting. The child process blocking and not really crashing makes the situation worse: The parent process does not get told the child has crashed and more client sockets pile up. This patch is intended to put some relief on this problem by closing the majority of sockets the parent holds. (gdb) bt \#0 0x00002ad686a2b07b in pthread_once () from /lib64/libpthread.so.0 \#1 0x00002ad6867adf87 in backtrace () from /lib64/libc.so.6 \#2 0x00002ad683eab27c in log_stack_trace () at lib/util.c:1580 \#3 0x00002ad683eab34b in smb_panic (why=0x2ad6841c6ec3 "internal error") at lib/util.c:1481 \#4 0x00002ad683e9af3e in fault_report (sig=1) at lib/fault.c:52 \#5 sig_fault (sig=1) at lib/fault.c:75 #6 <signal handler called> \#7 0x00002ad68673b005 in _int_malloc () from /lib64/libc.so.6 \#8 0x00002ad68673c95d in calloc () from /lib64/libc.so.6 \#9 0x00002ad684503e25 in _dl_new_object () from /lib64/ld-linux-x86-64.so.2 \#10 0x00002ad6844ffadc in _dl_map_object_from_fd () from /lib64/ld-linux-x86-64.so.2 \#11 0x00002ad684501d43 in _dl_map_object () from /lib64/ld-linux-x86-64.so.2 \#12 0x00002ad68450ac8d in dl_open_worker () from /lib64/ld-linux-x86-64.so.2 \#13 0x00002ad684506ed6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 \#14 0x00002ad68450a68c in _dl_open () from /lib64/ld-linux-x86-64.so.2 \#15 0x00002ad6867d0ba0 in do_dlopen () from /lib64/libc.so.6 \#16 0x00002ad684506ed6 in _dl_catch_error () from /lib64/ld-linux-x86-64.so.2 \#17 0x00002ad6867d0d07 in __libc_dlopen_mode () from /lib64/libc.so.6 \#18 0x00002ad6867adeea in init () from /lib64/libc.so.6 \#19 0x00002ad686a2b083 in pthread_once () from /lib64/libpthread.so.0 \#20 0x00002ad6867adf87 in backtrace () from /lib64/libc.so.6 \#21 0x00002ad68673285f in __libc_message () from /lib64/libc.so.6 \#22 0x00002ad68673a30f in _int_free () from /lib64/libc.so.6 \#23 0x00002ad68673a76b in free () from /lib64/libc.so.6 \#24 0x00002ad6853fe346 in krb5int_sendto () from /usr/lib64/libkrb5.so.3 \#25 0x00002ad6853fe511 in krb5_sendto_kdc () from /usr/lib64/libkrb5.so.3 \#26 0x00002ad6853df7c4 in ?? () from /usr/lib64/libkrb5.so.3 \#27 0x00002ad6853e0919 in krb5_get_init_creds () from /usr/lib64/libkrb5.so.3 \#28 0x00002ad6853e2a94 in krb5_get_init_creds_password () from /usr/lib64/libkrb5.so.3 \#29 0x00002ad684169ff1 in kerberos_kinit_password_ext (principal=0x2ad684702180 "<sanitized>", password=0x2ad6844c5bb0 "<sanitized>", time_offset=0, expire_time=0x2ad6846bf380, renew_till_time=0x0, cache_name=0x2ad6843cb3e0 "MEMORY:winbind_ccache", request_pac=false, add_netbios_addr=false, renewable_time=<value optimized out>, ntstatus=0x0) at libads/kerberos.c:223 \#30 0x00002ad68416a223 in ads_kinit_password (ads=0x2ad6846bf330) at libads/kerberos.c:327 \#31 0x00002ad68415f725 in ads_sasl_spnego_bind (ads=0x2ad6846bf330) at libads/sasl.c:812 \#32 0x00002ad68415dbc1 in ads_sasl_bind (ads=0x2ad6846bf330) at libads/sasl.c:1114 \#33 0x00002ad68415c09b in ads_connect (ads=0x2ad6846bf330) at libads/ldap.c:711 \#34 0x00002ad683e1b8f7 in ads_cached_connection (domain=0x2ad6846b07c0) at winbindd/winbindd_ads.c:124 \#35 0x00002ad683e1bc85 in sequence_number (domain=0x2ad6846b07c0, seq=0x2ad6846b0cd8) at winbindd/winbindd_ads.c:1233 \#36 0x00002ad683dffdd7 in refresh_sequence_number (domain=0x2ad6846b07c0, force=128) at winbindd/winbindd_cache.c:510 \#37 0x00002ad683e00520 in wcache_fetch (cache=<value optimized out>, domain=0x2ad6846b07c0, format=0x2ad68419901e "U/%s") at winbindd/winbindd_cache.c:638 \#38 0x00002ad683e04ac8 in query_user (domain=0x2ad6846b07c0, mem_ctx=0x2ad6846bc920, user_sid=0x7fff1d0cb8c0, info=0x7fff1d0cb810) at winbindd/winbindd_cache.c:1910 \#39 0x00002ad683df2d38 in winbindd_dual_userinfo (domain=0x2ad6846b07c0, state=0x7fff1d0cc9c0) at winbindd/winbindd_user.c:173 \#40 0x00002ad683e232e0 in fork_domain_child (child=0x2ad6846c2440) at winbindd/winbindd_dual.c:485 \#41 schedule_async_request (child=0x2ad6846c2440) at winbindd/winbindd_dual.c:319 \#42 0x00002ad683e229f2 in async_request_fail (state=0x2ad6846c1d00) at winbindd/winbindd_dual.c:214 \#43 0x00002ad683ebabec in run_events (ev=0x2ad6846aebf0, selrtn=0, read_fds=0x7fff1d0ce910, write_fds=<value optimized out>) at lib/events.c:123 \#44 0x00002ad683df08cb in process_loop (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at winbindd/winbindd.c:1113 \#45 main (argc=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>) at winbindd/winbindd.c:1437 Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Thu Apr 28 12:06:12 CEST 2011 on sn-devel-104
2011-04-28s3: Fix a strange German translationVolker Lendecke1-1/+1
2011-04-28selftest: Fix combination of Samba3 and Samba4 test listsAndrew Bartlett1-0/+1
The previous code was too subtle, and tried to filter via two xfail scripts. The --fail-immediately for the source3 knownfail would then fail samba4 know failures. Andrew Bartlett Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>
2011-04-28s3-libads: Use ldap_init_fd() to connect to AD server in socket_wrapperAndrew Bartlett4-7/+48
This means that we control the connection setup, don't rely on signals for timeouts and the connection uses socket_wrapper where that is required in our test environment. According to bug reports, this method is also used by curl and other tools, so we are not the first to (ab)use the OpenLDAP libs in this way. It is ONLY enabled for socket_wrapper at this time, as this is the best way to get 'make test' working for S3 winbind tests in an S4 domain. Andrew Bartlett
2011-04-28s3-libads Pass a struct sockaddr_storage to cldap routinesAndrew Bartlett6-48/+33
This avoids these routines doing a DNS lookup that has already been done, and ensures that the emulated DNS lookup isn't thrown away. Andrew Bartlett
2011-04-28lib/util/charset Merge talloc-based pull and push charset functionsAndrew Bartlett3-126/+3
These were copied from source3/lib/charcnv.c Andrew Bartlett
2011-04-28lib/util/charset use convert_string.c in commonAndrew Bartlett1-1/+1
This brings another layer of the charcnv library in common. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-04-28Remove another fstring in this code.Jeremy Allison1-12/+20
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Apr 28 03:15:32 CEST 2011 on sn-devel-104
2011-04-27s3: Properly clean up in pthreadpool_init in case of failureVolker Lendecke1-0/+6
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Apr 27 23:57:19 CEST 2011 on sn-devel-104
2011-04-27s3-rpc_server Fix compile without kerberosAndrew Bartlett2-3/+9
Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Wed Apr 27 23:08:48 CEST 2011 on sn-devel-104
2011-04-27Fixup (C) - we've both worked lots on this :-).Jeremy Allison1-0/+2
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Apr 27 21:56:29 CEST 2011 on sn-devel-104
2011-04-27Remove fstrings from client struct. Properly talloc strings (ensuring we ↵Jeremy Allison3-49/+278
never end up with a NULL pointer).
2011-04-27s3-waf: add pthreadpool support.Günther Deschner3-4/+21
Volker, please check. Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Wed Apr 27 17:57:32 CEST 2011 on sn-devel-104
2011-04-27s3-waf: check for pthread support.Günther Deschner1-0/+31
Guenther
2011-04-27s3-netapi: Fix Coverity CID #2302: FORWARD_NULLGünther Deschner1-1/+1
Guenther
2011-04-27s3-winbind Use get_dyn_WINBINDD_SOCKET_DIR() to get the winbind pipe dirAndrew Bartlett1-1/+1
This ensures we follow the dynconfig convention for the socket directory, and makes it easier to ensure that the client and server both refer to the same socket. Andrew Bartlett
2011-04-27dynconfig: Have only one dynconfig.o in the common code.Andrew Bartlett8-198/+12
2011-04-27s3-test Make samba3.blackbox.net.local.registry.roundtrip reliableAndrew Bartlett1-2/+2
Looking for smb.conf files with find -name \*.conf would find and not find all sorts of things that were just not valid inputs. When restricted to under source3 it then finds no inputs in the top level build, as it only worked on the generated smb.conf files from 'make test' environments. Instead, just run it on the one file we know is valid, and if we want to run it on more files, then we can make this test run against more environments, or specific target files. Andrew Bartlett
2011-04-27s3-waf Don't enable profiling by defaultAndrew Bartlett1-1/+1
This is disabled by default in the s3-autoconf build. Andrew Bartlett
2011-04-27build: fixed build problems due to implicit library deps in samba3coreAndrew Tridgell1-3/+3
this fixes the top level build on svart and probably other hosts Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Wed Apr 27 08:27:49 CEST 2011 on sn-devel-104
2011-04-27auth/kerberos Add check for gss_inquire_sec_context_by_oidAndrew Bartlett2-1/+2
Not all kerberos distributions have this function. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Wed Apr 27 07:39:08 CEST 2011 on sn-devel-104
2011-04-27s3-gse: Don't release the mech OID from gss_accept_security_contextAndrew Bartlett3-5/+33
This is constant data according to the man pages I find for this fucntion, and causes a segfault to free() when linked to Heimdal. I am advised that while it is constant for gss_mech_krb5, it may not be for other mechanisms, so an assert will ensure this is dealt with by the programmer who extends this code in future. Andrew Bartlett
2011-04-27auth/kerberos Move all the PAC handling functions to auth/kerberosAndrew Bartlett1-1/+1
2011-04-27auth/kerberos: Create common helper to get the verified PAC from GSSAPIAndrew Bartlett7-98/+19
This only works for Heimdal and MIT Krb5 1.8, other versions will get an ACCESS_DEINED error. We no longer manually verify any details of the PAC in Samba for GSSAPI logins, as we never had the information to do it properly, and it is better to have the GSSAPI library handle it. Andrew Bartlett
2011-04-27s3-libsmb Use 'resolv:hosts file' as a DNS emulation when specified.Andrew Bartlett3-1/+43
This allows make test to operate without making real DNS calls. Andrew Bartlett
2011-04-27s3-libads Don't start a DEBUG with 'time'Andrew Bartlett1-1/+1
This strange requirement comes from our subunit test harness. Andrew Bartlett
2011-04-27libcli/auth Move Samba4's gssapi_error_string from GENSEC to libcli/authAndrew Bartlett1-8/+0
This will allow the GSSAPI PAC fetch code to use it. Andrew Bartlett
2011-04-27s3: Make cli_session_setup_lanman2 asyncVolker Lendecke1-53/+201
Signed-off-by: Jeremy Allison <jra@samba.org> Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Apr 27 00:25:35 CEST 2011 on sn-devel-104
2011-04-26s3: Make cli_session_setup_nt1 asyncVolker Lendecke1-87/+246
Signed-off-by: Jeremy Allison <jra@samba.org>
2011-04-26s3: Make plaintext session setup asyncVolker Lendecke1-59/+145
Signed-off-by: Jeremy Allison <jra@samba.org>
2011-04-26s3: Remove cli_writeVolker Lendecke3-209/+0
Signed-off-by: Jeremy Allison <jra@samba.org>
2011-04-26s3: Use cli_writeall instead of cli_writeVolker Lendecke9-103/+169
Signed-off-by: Jeremy Allison <jra@samba.org>
2011-04-26s3: Add cli_writeallVolker Lendecke2-3/+55
Signed-off-by: Jeremy Allison <jra@samba.org>
2011-04-26s3:vfs use gpfs_lib_initChristian Ambach3-0/+22
With newer GPFS releases, libgpfs contains a function gpfs_lib_init(). It marks the pseudo-device the lib uses as interface to the GPFS kernel module to not be to destroyed after each call to GPFS. This saves us some microseconds creating and removing the device each time we do a call to libgpfs. Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Apr 26 20:52:36 CEST 2011 on sn-devel-104
2011-04-26s3-utils: Fix Bug #8106. Fix the build of smbget on HP NonStop.Günther Deschner1-0/+1
Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Tue Apr 26 16:41:17 CEST 2011 on sn-devel-104
2011-04-26s3: Fix a typoVolker Lendecke1-1/+1
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Apr 26 13:31:08 CEST 2011 on sn-devel-104
2011-04-26s3: Allow unlimited parallelism in pthreadpoolVolker Lendecke2-9/+31
2011-04-26s3-libads Remove KRB5_DNS_HACKAndrew Bartlett1-12/+0
We have winbindd write a custom krb5.conf or use a kdc locator plugin to do this properly now. Andrew Bartlett
2011-04-26libcli/dns Improve dns_hosts_file, using Samba3's struct dns_rr_srvAndrew Bartlett1-36/+1
By reworking the 'fake DNS' file to use struct dns_rr_srv it should be possible to emulate that resolver layer as well as the Samba4 sockaddr_storage* based layer. This will then give us a common DNS emulation for 'make test'. Andrew Bartlett
2011-04-26build: Invert --enable-s3build into --disable-s3buildAndrew Bartlett1-1/+1
We always want the s3 binaries, except when building an smbtorture4 for the s3-waf and autoconf builds. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Tue Apr 26 04:27:28 CEST 2011 on sn-devel-104
2011-04-26build: Move Heimdal/MIT compat build rules to heimdal_buildAndrew Bartlett1-11/+0
This allows top level build rules to rely on these names at all times. Andrew Bartlett
2011-04-25No longer need to call SMB_VFS_LSTAT - check name hasn't changed above is ↵Jeremy Allison1-23/+0
sufficient. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Apr 25 23:35:37 CEST 2011 on sn-devel-104
2011-04-25Correctly detect and deny symlinks anywhere in a path (not just the last ↵Jeremy Allison1-27/+60
component) if "follow symlinks = no".
2011-04-25s3: Remove unused codeVolker Lendecke1-6/+0
This is done in name_query_send these days Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Mon Apr 25 19:24:58 CEST 2011 on sn-devel-104
2011-04-25s3: Move setting the name_query timeoutVolker Lendecke1-9/+9
An async caller might want a different timeout behaviour
2011-04-25s3:lib/util_sock: listen on IPv6 addresses with IPV6_ONLY (bug #7383)Stefan Metzmacher1-0/+26
This avoids getting IPv4 addresses as mapped IPv6 addresses (e.g. ::ffff:192.168.0.1). Before the bahavior was inconsistent between operating system and distributions. Some system have IPV6_ONLY as default. Now we consistently get AF_INET for IPv4 addresses and AF_INET6 for IPv6 addresses. It also makes it possible to listen only on IPv6 now as "::" doesn't imply "0.0.0.0" anymore. Which also avoids confusing log messages that we were not able to bind to "0.0.0.0". metze
2011-04-25s3:lib/access: normalize IPv4 mapped IPv6 addresses in both directions (bug ↵Stefan Metzmacher1-14/+17
#7383) metze
2011-04-25s3: Some build farm machines do not have /bin/trueVolker Lendecke1-4/+7
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Mon Apr 25 14:35:42 CEST 2011 on sn-devel-104
2011-04-25s3: Fix some typos in dsgetdcnameVolker Lendecke1-3/+3
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Mon Apr 25 12:35:30 CEST 2011 on sn-devel-104
2011-04-25s3: "port" is not used in dsgetdcnameVolker Lendecke1-3/+0
Günther, please check!