summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-04-29s3: Avoid a potential 100% CPU loop in winbinddVolker Lendecke1-0/+27
In the clustering case if ctdb is unhappy, winbindd_reinit_after_fork fails. This can lead to an endless loop depending on the scheduling of the parent vs child. Parent forks, child is immediately scheduled and exits. Parent gets SIGCHLD, parent is then scheduled before it sends the request out to the child. Parent tries to fork again immediately. The code before this patch did not really take into account that reinit_after_fork can fail. The code now sends the result of winbindd_reinit_after_fork to the parent and the parent only considers the child alive when it got NT_STATUS_OK. This was seen in 3.4 winbind. winbind has changed significantly since then, so it might be possible that this does not happen anymore in exactly this way. But passing up the status of reinit_after_fork and only consider the child alive when that's ok is the correct thing to do anyway. Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Fri Apr 29 17:58:19 CEST 2011 on sn-devel-104
2011-04-29s3: Make winbindd_reinit_after_fork return NTSTATUSVolker Lendecke4-12/+23
2011-04-29s3: In winbind, close parent/child socketsVolker Lendecke4-5/+15
This should further reduce fd load in winbind children
2011-04-29s3-tevent: only include ../lib/util/tevent wrappers where needed.Günther Deschner44-2/+46
Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Fri Apr 29 14:00:30 CEST 2011 on sn-devel-104
2011-04-29s3-tsocket: only include ../lib/tsocket/tsocket.h where needed.Günther Deschner10-1/+9
Guenther
2011-04-29s3-build: remove some unused headers.Günther Deschner4-7/+0
Guenther
2011-04-29s3-ldap Only prototype ldap_init_fd() when we have found it in the librariesAndrew Bartlett1-0/+3
Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Apr 29 11:47:07 CEST 2011 on sn-devel-104
2011-04-29build: put doserr.c into it's own subsystem, so it's no longer a duplicateAndrew Bartlett4-3/+14
Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Apr 29 10:00:32 CEST 2011 on sn-devel-104
2011-04-29selftest: Restore the s3member environment by avoiding smbcaclsAndrew Bartlett2-15/+13
This removes the need for acls on the filesystem for simple domain member tests. ACL tests should be written at some point... Andrew Bartlett Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>
2011-04-29s4-param Rename lp_destructor() -> lpcfg_destructor() for consistencyAndrew Bartlett1-2/+2
2011-04-29s4-param Rename unused lp_ functions to match param.hAndrew Bartlett1-5/+5
2011-04-29s4-param Rename volume_label() -> lpcfg_volume_label()Andrew Bartlett3-3/+3
2011-04-29lib/util Re-merge the string_sub() and all_string_sub() from source3Andrew Bartlett6-150/+47
Andrew Bartlett
2011-04-29lib/util/charset Move strstr_m() to the top levelAndrew Bartlett3-81/+84
2011-04-29s4-param Rename private_path() -> lpcfg_private_path()Andrew Bartlett11-18/+18
This is consistent with lock_path() Andrew Bartlett
2011-04-29s4-param Remove config_path() -> lpcfg_config_path()Andrew Bartlett3-3/+3
This is consistent with lock_path() Andrew Bartlett
2011-04-29s4-param Rename lock_path() -> lpcfg_lock_path()Andrew Bartlett4-5/+5
This avoids a conflict with the source3/ lock_path()
2011-04-29libcli/smb Move attrib_string in commonAndrew Bartlett9-70/+97
2011-04-29s3-client Add TALLOC_CTX argument to attrib_string().Andrew Bartlett3-5/+5
This ensures the caller knows where the memory was allocated. Andrew Bartlett
2011-04-29s3-smb Use FILE_ATTRIBUTE_ARCHIVE intead of aARCHAndrew Bartlett14-32/+29
This means we use just one constant for this file attribute. Andrew Bartlett
2011-04-29s3-smb Use FILE_ATTRIBUTE_DIRECTORY intead of aDIRAndrew Bartlett21-87/+86
This means we use just one constant for this file attribute. Andrew Bartlett
2011-04-29s3-smb Use FILE_ATTRIBUTE_VOLUME intead of aVOLIDAndrew Bartlett3-5/+4
This means we use just one constant for this file attribute. Andrew Bartlett
2011-04-29s3-smb Use FILE_ATTRIBUTE_SYSTEM intead of aSYSTEMAndrew Bartlett23-161/+160
This means we use just one constant for this file attribute. Andrew Bartlett
2011-04-29s3-smb Use FILE_ATTRIBUTE_HIDDEN intead of aHIDDENAndrew Bartlett23-171/+170
This means we use just one constant for this file attribute. Andrew Bartlett
2011-04-29s3-smb Use FILE_ATTRIBUTE_READONLY intead of aRONLYAndrew Bartlett10-22/+21
This means we use just one constant for this file attribute. Andrew Bartlett
2011-04-29libcli/smb Move FILE_ATTRIBUTE defines to the top levelAndrew Bartlett3-38/+23
2011-04-29s3-libads Move variables into if (socket_wrapper_dir()) where they are used.Andrew Bartlett1-4/+4
2011-04-29build: Fix kerberos build issues in top level buildAndrew Bartlett2-8/+9
2011-04-29s3-ldap Move ldap prototypes to inside #ifdef HAVE_LDAP_HAndrew Bartlett1-10/+11
This fixes the build without LDAP development headers.
2011-04-29Revert "s4:selftest: skip s3member tests for now"Stefan Metzmacher1-1/+0
This reverts commit c5034ac3155958c0d3e2a1cfbfc669bc2e869f29. This doesn't seem to help and isn't needed if the filesystem has posix acl support. metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Fri Apr 29 08:23:01 CEST 2011 on sn-devel-104
2011-04-28s4:libcli/smb_composite: move smb2_composite_setpathinfo_setinfo_done()Stefan Metzmacher1-25/+27
It should be after smb2_composite_setpathinfo_create_done(). metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Thu Apr 28 21:38:53 CEST 2011 on sn-devel-104
2011-04-28s4:libcli/smb_composite: move smb2_composite_setpathinfo_create_done()Stefan Metzmacher1-22/+23
It should be after smb2_composite_setpathinfo_send(). metze
2011-04-28s4:libcli/smb_composite: add smb2_composite_setpathinfo_close_done()Stefan Metzmacher1-1/+12
metze
2011-04-28s4:libcli/smb_composite: better names for smb2_composite_setpathinfo_* funcs ↵Stefan Metzmacher1-22/+15
and vars metze
2011-04-28s4:libcli/smb2: let smb2_session_setup_spnego_* use tevent_reqStefan Metzmacher2-72/+118
metze
2011-04-28s4:libcli/smb2: move smb2_session_setup_spnego_send() to the topStefan Metzmacher1-62/+64
smb2_session_setup_spnego_send() should be on the top of the smb2_session_setup_spnego_* block. metze
2011-04-28s4:libcli/smb2: move smb2_connect_tcon_done()Stefan Metzmacher1-20/+22
It should be after smb2_connect_session_done(). metze
2011-04-28s4:libcli/smb2: move smb2_connect_session_done()Stefan Metzmacher1-36/+38
It should be after smb2_connect_negprot_done(). metze
2011-04-28s4:libcli/smb2: move smb2_connect_negprot_done()Stefan Metzmacher1-69/+71
It should be after smb2_connect_socket_done(). metze
2011-04-28s4:libcli/smb2: move smb2_connect_socket_done()Stefan Metzmacher1-55/+57
It should be after smb2_connect_resolve_done(). metze
2011-04-28s4:libcli/smb2: move smb2_connect_resolve_done()Stefan Metzmacher1-36/+35
It should be after smb2_connect_send(). metze
2011-04-28s4:libcli/smb2: rename step functions of smb2_connect_*()Stefan Metzmacher1-26/+10
They should all start with a smb2_connect_ prefix. metze
2011-04-28s4:libcli/smb2: convert smb2_connect_*() to tevent_reqStefan Metzmacher3-123/+215
metze
2011-04-28s4:ntvfs/smb2: use sync version of smb2_connect()Stefan Metzmacher1-10/+8
We don't use it in an async fashion anyway. metze
2011-04-28s4:selftest: skip s3member tests for nowStefan Metzmacher1-0/+1
They are flakey, see http://git.samba.org/autobuild.flakey/2011-04-28-1501/samba4.stdout http://git.samba.org/autobuild.flakey/2011-04-28-1700/samba4.stdout metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Thu Apr 28 18:42:06 CEST 2011 on sn-devel-104
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-28s4-selftest: Don't use a hardcoded target DC nameAndrew Bartlett1-1/+1
Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Thu Apr 28 07:34:31 CEST 2011 on sn-devel-104
2011-04-28selftest: Make combined test the default when s3build is enabledAndrew Bartlett1-0/+2
2011-04-28selftest: Fix combination of Samba3 and Samba4 test listsAndrew Bartlett2-10/+26
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>