diff options
author | bubulle <bubulle@alioth.debian.org> | 2012-12-12 21:11:47 +0000 |
---|---|---|
committer | bubulle <bubulle@alioth.debian.org> | 2012-12-12 21:11:47 +0000 |
commit | 63f07bb10f08040c39530bdc6aaea46c7c0ac9dd (patch) | |
tree | 72e23ab4ded614b11b21fb13aea9f8eb58727a65 | |
parent | 2cf876031f5616a1de04777c978d7847887b45ac (diff) | |
download | samba-63f07bb10f08040c39530bdc6aaea46c7c0ac9dd.tar.gz |
Load samba-3.6.10 into branches/samba/upstream.upstream/3.6.10
git-svn-id: svn://svn.debian.org/svn/pkg-samba/branches/samba/upstream@4179 fc4039ab-9d04-0410-8cac-899223bdd6b0
130 files changed, 1246 insertions, 623 deletions
diff --git a/WHATSNEW.txt b/WHATSNEW.txt index e87882349f..45c3b4be4b 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,3 +1,97 @@ + ============================== + Release Notes for Samba 3.6.10 + December 10, 2012 + ============================== + + +This is is the latest stable release of Samba 3.6. + +Major enhancements in Samba 3.6.10 include: + +o Respond correctly to FILE_STREAM_INFO requests (bug #9460). +o Fix segfault when "default devmode" is disabled (bug #9433). +o Fix segfaults in "log level = 10" on Solaris (bug #9390). + + +Changes since 3.6.9: +-------------------- + +o Jeremy Allison <jra@samba.org> + * BUG 9236: ACL masks incorrectly applied when setting ACLs. + * BUG 9374: Allow smb2.acls torture test to pass against smbd with a POSIX + ACLs backend. + + +o Björn Baumbach <bb@sernet.de> + * BUG 9345: Manpages: Fix use of <smbconfoption> tag. + + +o Sumit Bose <sbose@redhat.com> + * BUG 9367: Use work around for 'winbind use default domain' only if it is + set. + + +o Günther Deschner <gd@samba.org> + * BUG 9272: 'net ads join' does not provide AES keys in host keytab. + * BUG 9426: Lookup nametype 0x20 in rpc_pipe_open_tcp_port(). + * BUG 9439: Fix ncacn_ip_tcp reconnection code for lsa lookups. + * BUG 9451: Allow to force DNS updates using net. + + +o David Disseldorp <ddiss@samba.org> + * BUG 9433: Fix segfault when "default devmode" is disabled. + + +o Volker Lendecke <vl@samba.org> + * BUG 9359: Optimization needed for SMB2 performance sensitive workloads. + * BUG 9422: Large read requests cause server to issue malformed reply. + * BUG 9439: Fix ncacn_ip_tcp reconnection code for lsa lookups. + + +o Stefan Metzmacher <metze@samba.org> + * BUG 9209: Improve the smb2.create.blob test. + * BUG 9272: 'net ads join' does not provide AES keys in host keytab. + * BUG 9390: Fix segfaults in "log level = 10" on Solaris. + * BUG 9402: lib/addns doesn't work with a bind9 server. + + +o Matthieu Patou <mat@matws.net> + * BUG 9418: Fix MD5 detection in the autoconf build. + + +o Andreas Schneider <asn@samba.org> + * BUG 8564: Fix segfault in pam_sm_authenticate(). + * BUG 9326: Fix 'net ads join' message for the dns domain. + * BUG 9386: Winbind: Failover if netlogon pipe is not available. + * BUG 9436: Fix leaking sockets of SMB connections to a DC. + + +o Richard Sharpe <realrichardsharpe@gmail.com> + * BUG 9460: Respond correctly to FILE_STREAM_INFO requests. + + +###################################################################### +Reporting bugs & Development Discussion +####################################### + +Please discuss this release on the samba-technical mailing list or by +joining the #samba-technical IRC channel on irc.freenode.net. + +If you do report problems then please try to send high quality +feedback. If you don't provide vital information to help us track down +the problem then you will probably be ignored. All bug reports should +be filed under the Samba 3.6 product in the project's Bugzilla +database (https://bugzilla.samba.org/). + + +====================================================================== +== Our Code, Our Bugs, Our Responsibility. +== The Samba Team +====================================================================== + +Release notes for older releases follow: +---------------------------------------- + ============================= Release Notes for Samba 3.6.9 October 29, 2012 @@ -125,8 +219,9 @@ database (https://bugzilla.samba.org/). == The Samba Team ====================================================================== -Release notes for older releases follow: ----------------------------------------- + +---------------------------------------------------------------------- + ============================= Release Notes for Samba 3.6.8 diff --git a/docs-xml/build/DTD/samba.entities b/docs-xml/build/DTD/samba.entities index f5d8cd2d33..c7e46c206f 100644 --- a/docs-xml/build/DTD/samba.entities +++ b/docs-xml/build/DTD/samba.entities @@ -180,7 +180,7 @@ use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.</para> <para>Note that specifying this parameter here will -override the <smbconfoption><name>log level</name></smbconfoption> parameter +override the <smbconfoption name="log level" /> parameter in the &smb.conf; file.</para> </listitem> </varlistentry>'> @@ -207,7 +207,7 @@ use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.</para> <para>Note that specifying this parameter here will -override the <smbconfoption><name>log level</name></smbconfoption> parameter +override the <smbconfoption name="log level" /> parameter in the &smb.conf; file.</para> </listitem> </varlistentry>'> @@ -297,11 +297,13 @@ being on a locally connected subnet. <para>If this parameter is not set then the name resolve order defined in the &smb.conf; file parameter -(<smbconfoption><name>name resolve order</name></smbconfoption>) will be used. +(<smbconfoption name="name resolve order" />) will be used. </para> <para>The default order is lmhosts, host, wins, bcast. Without -this parameter or any entry in the <smbconfoption><name>name resolve order</name></smbconfoption> parameter of the &smb.conf; file, the name +this parameter or any entry in the +<smbconfoption name="name resolve order" /> parameter of +the &smb.conf; file, the name resolution methods will be attempted in this order. </para></listitem> </varlistentry>'> @@ -310,7 +312,8 @@ resolution methods will be attempted in this order. </para></listitem> <term>-n|--netbiosname <primary NetBIOS name></term> <listitem><para>This option allows you to override the NetBIOS name that Samba uses for itself. This is identical -to setting the <smbconfoption><name>netbios name</name></smbconfoption> parameter in the &smb.conf; file. +to setting the <smbconfoption name="netbios name" /> parameter in +the &smb.conf; file. However, a command line setting will take precedence over settings in &smb.conf;.</para></listitem> diff --git a/docs/manpages/eventlogadm.8 b/docs/manpages/eventlogadm.8 index 196d6202c7..33d07fdd25 100644 --- a/docs/manpages/eventlogadm.8 +++ b/docs/manpages/eventlogadm.8 @@ -2,12 +2,12 @@ .\" Title: eventlogadm .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "EVENTLOGADM" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "EVENTLOGADM" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/findsmb.1 b/docs/manpages/findsmb.1 index 6f76e14221..9a3917b43b 100644 --- a/docs/manpages/findsmb.1 +++ b/docs/manpages/findsmb.1 @@ -2,12 +2,12 @@ .\" Title: findsmb .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "FINDSMB" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "FINDSMB" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_ad.8 b/docs/manpages/idmap_ad.8 index f08363511d..420019e68a 100644 --- a/docs/manpages/idmap_ad.8 +++ b/docs/manpages/idmap_ad.8 @@ -2,12 +2,12 @@ .\" Title: idmap_ad .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_AD" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_AD" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_adex.8 b/docs/manpages/idmap_adex.8 index 58188309bc..c4940182f8 100644 --- a/docs/manpages/idmap_adex.8 +++ b/docs/manpages/idmap_adex.8 @@ -2,12 +2,12 @@ .\" Title: idmap_adex .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_ADEX" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_ADEX" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_autorid.8 b/docs/manpages/idmap_autorid.8 index 7b99c767e6..b9c8ecc6c6 100644 --- a/docs/manpages/idmap_autorid.8 +++ b/docs/manpages/idmap_autorid.8 @@ -2,12 +2,12 @@ .\" Title: idmap_autorid .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_AUTORID" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_AUTORID" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_hash.8 b/docs/manpages/idmap_hash.8 index c95891c360..53805b4d90 100644 --- a/docs/manpages/idmap_hash.8 +++ b/docs/manpages/idmap_hash.8 @@ -2,12 +2,12 @@ .\" Title: idmap_hash .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_HASH" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_HASH" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_ldap.8 b/docs/manpages/idmap_ldap.8 index 15a80ea7b2..71cffde508 100644 --- a/docs/manpages/idmap_ldap.8 +++ b/docs/manpages/idmap_ldap.8 @@ -2,12 +2,12 @@ .\" Title: idmap_ldap .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_LDAP" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_LDAP" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_nss.8 b/docs/manpages/idmap_nss.8 index 49732d3ec6..0842050498 100644 --- a/docs/manpages/idmap_nss.8 +++ b/docs/manpages/idmap_nss.8 @@ -2,12 +2,12 @@ .\" Title: idmap_nss .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_NSS" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_NSS" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_rid.8 b/docs/manpages/idmap_rid.8 index e5f4cab2b0..725e8af715 100644 --- a/docs/manpages/idmap_rid.8 +++ b/docs/manpages/idmap_rid.8 @@ -2,12 +2,12 @@ .\" Title: idmap_rid .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_RID" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_RID" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_tdb.8 b/docs/manpages/idmap_tdb.8 index e1b22d2019..b8ee14a880 100644 --- a/docs/manpages/idmap_tdb.8 +++ b/docs/manpages/idmap_tdb.8 @@ -2,12 +2,12 @@ .\" Title: idmap_tdb .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_TDB" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_TDB" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/idmap_tdb2.8 b/docs/manpages/idmap_tdb2.8 index 8c95b04ba6..e8ac88b544 100644 --- a/docs/manpages/idmap_tdb2.8 +++ b/docs/manpages/idmap_tdb2.8 @@ -2,12 +2,12 @@ .\" Title: idmap_tdb2 .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "IDMAP_TDB2" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "IDMAP_TDB2" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/libsmbclient.7 b/docs/manpages/libsmbclient.7 index 84a800ce38..13ea97d5f2 100644 --- a/docs/manpages/libsmbclient.7 +++ b/docs/manpages/libsmbclient.7 @@ -2,12 +2,12 @@ .\" Title: libsmbclient .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: 7 .\" Source: Samba 3.6 .\" Language: English .\" -.TH "LIBSMBCLIENT" "7" "10/29/2012" "Samba 3\&.6" "7" +.TH "LIBSMBCLIENT" "7" "12/06/2012" "Samba 3\&.6" "7" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/lmhosts.5 b/docs/manpages/lmhosts.5 index 02718eac75..6e273460ed 100644 --- a/docs/manpages/lmhosts.5 +++ b/docs/manpages/lmhosts.5 @@ -2,12 +2,12 @@ .\" Title: lmhosts .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: File Formats and Conventions .\" Source: Samba 3.6 .\" Language: English .\" -.TH "LMHOSTS" "5" "10/29/2012" "Samba 3\&.6" "File Formats and Conventions" +.TH "LMHOSTS" "5" "12/06/2012" "Samba 3\&.6" "File Formats and Conventions" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/log2pcap.1 b/docs/manpages/log2pcap.1 index 734bc0fe02..b1666d0efa 100644 --- a/docs/manpages/log2pcap.1 +++ b/docs/manpages/log2pcap.1 @@ -2,12 +2,12 @@ .\" Title: log2pcap .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "LOG2PCAP" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "LOG2PCAP" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/net.8 b/docs/manpages/net.8 index acf6747557..caaa003e63 100644 --- a/docs/manpages/net.8 +++ b/docs/manpages/net.8 @@ -2,12 +2,12 @@ .\" Title: net .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "NET" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "NET" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -70,7 +70,7 @@ Port on the target server to connect to (usually 139 or 445)\&. Defaults to tryi \-n|\-\-netbiosname <primary NetBIOS name> .RS 4 This option allows you to override the NetBIOS name that Samba uses for itself\&. This is identical to setting the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBnetbios name\fR\m[] parameter in the smb\&.conf file\&. However, a command line setting will take precedence over settings in @@ -114,7 +114,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/nmbd.8 b/docs/manpages/nmbd.8 index 5260a567af..e242e52b6e 100644 --- a/docs/manpages/nmbd.8 +++ b/docs/manpages/nmbd.8 @@ -2,12 +2,12 @@ .\" Title: nmbd .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "NMBD" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "NMBD" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -134,7 +134,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/nmblookup.1 b/docs/manpages/nmblookup.1 index 5118f0daa3..0424d00be7 100644 --- a/docs/manpages/nmblookup.1 +++ b/docs/manpages/nmblookup.1 @@ -2,12 +2,12 @@ .\" Title: nmblookup .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "NMBLOOKUP" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "NMBLOOKUP" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -72,7 +72,7 @@ as an IP Address and do a node status query on this address\&. \-n|\-\-netbiosname <primary NetBIOS name> .RS 4 This option allows you to override the NetBIOS name that Samba uses for itself\&. This is identical to setting the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBnetbios name\fR\m[] parameter in the smb\&.conf file\&. However, a command line setting will take precedence over settings in @@ -132,7 +132,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/ntlm_auth.1 b/docs/manpages/ntlm_auth.1 index ea3d7f30ae..b8658ed944 100644 --- a/docs/manpages/ntlm_auth.1 +++ b/docs/manpages/ntlm_auth.1 @@ -2,12 +2,12 @@ .\" Title: ntlm_auth .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "NTLM_AUTH" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "NTLM_AUTH" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -274,7 +274,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/pam_winbind.8 b/docs/manpages/pam_winbind.8 index 782a5c96b4..c554206315 100644 --- a/docs/manpages/pam_winbind.8 +++ b/docs/manpages/pam_winbind.8 @@ -2,12 +2,12 @@ .\" Title: pam_winbind .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: 8 .\" Source: Samba 3.6 .\" Language: English .\" -.TH "PAM_WINBIND" "8" "10/29/2012" "Samba 3\&.6" "8" +.TH "PAM_WINBIND" "8" "12/06/2012" "Samba 3\&.6" "8" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/pam_winbind.conf.5 b/docs/manpages/pam_winbind.conf.5 index f8d4d1ed38..7c0c4dd501 100644 --- a/docs/manpages/pam_winbind.conf.5 +++ b/docs/manpages/pam_winbind.conf.5 @@ -2,12 +2,12 @@ .\" Title: pam_winbind.conf .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: 5 .\" Source: Samba 3.6 .\" Language: English .\" -.TH "PAM_WINBIND\&.CONF" "5" "10/29/2012" "Samba 3\&.6" "5" +.TH "PAM_WINBIND\&.CONF" "5" "12/06/2012" "Samba 3\&.6" "5" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/pdbedit.8 b/docs/manpages/pdbedit.8 index 1cede92bf2..0dc82d5f57 100644 --- a/docs/manpages/pdbedit.8 +++ b/docs/manpages/pdbedit.8 @@ -2,12 +2,12 @@ .\" Title: pdbedit .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "PDBEDIT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "PDBEDIT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -561,7 +561,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/profiles.1 b/docs/manpages/profiles.1 index e3187cf8ee..e34135058a 100644 --- a/docs/manpages/profiles.1 +++ b/docs/manpages/profiles.1 @@ -2,12 +2,12 @@ .\" Title: profiles .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "PROFILES" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "PROFILES" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/rpcclient.1 b/docs/manpages/rpcclient.1 index d6d379813a..931f6b63dd 100644 --- a/docs/manpages/rpcclient.1 +++ b/docs/manpages/rpcclient.1 @@ -2,12 +2,12 @@ .\" Title: rpcclient .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "RPCCLIENT" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "RPCCLIENT" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -73,7 +73,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. @@ -162,7 +162,7 @@ to prompt for a password and type it in directly\&. \-n|\-\-netbiosname <primary NetBIOS name> .RS 4 This option allows you to override the NetBIOS name that Samba uses for itself\&. This is identical to setting the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBnetbios name\fR\m[] parameter in the smb\&.conf file\&. However, a command line setting will take precedence over settings in diff --git a/docs/manpages/samba.7 b/docs/manpages/samba.7 index 4e6fa61ba3..167b0c11e9 100644 --- a/docs/manpages/samba.7 +++ b/docs/manpages/samba.7 @@ -2,12 +2,12 @@ .\" Title: samba .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: Miscellanea .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SAMBA" "7" "10/29/2012" "Samba 3\&.6" "Miscellanea" +.TH "SAMBA" "7" "12/06/2012" "Samba 3\&.6" "Miscellanea" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/sharesec.1 b/docs/manpages/sharesec.1 index 145123eb4c..57dec4c418 100644 --- a/docs/manpages/sharesec.1 +++ b/docs/manpages/sharesec.1 @@ -2,12 +2,12 @@ .\" Title: sharesec .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SHARESEC" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SHARESEC" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -88,7 +88,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/smb.conf.5 b/docs/manpages/smb.conf.5 index 1b3eb2ab38..03df9bd848 100644 --- a/docs/manpages/smb.conf.5 +++ b/docs/manpages/smb.conf.5 @@ -2,12 +2,12 @@ .\" Title: smb.conf .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: File Formats and Conventions .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMB\&.CONF" "5" "10/29/2012" "Samba 3\&.6" "File Formats and Conventions" +.TH "SMB\&.CONF" "5" "12/06/2012" "Samba 3\&.6" "File Formats and Conventions" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbcacls.1 b/docs/manpages/smbcacls.1 index eec1e10e23..6c53f91a34 100644 --- a/docs/manpages/smbcacls.1 +++ b/docs/manpages/smbcacls.1 @@ -2,12 +2,12 @@ .\" Title: smbcacls .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBCACLS" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBCACLS" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -108,7 +108,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/smbclient.1 b/docs/manpages/smbclient.1 index 355d6d6fd4..125cc87610 100644 --- a/docs/manpages/smbclient.1 +++ b/docs/manpages/smbclient.1 @@ -2,12 +2,12 @@ .\" Title: smbclient .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBCLIENT" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBCLIENT" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -249,7 +249,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. @@ -338,7 +338,7 @@ to prompt for a password and type it in directly\&. \-n|\-\-netbiosname <primary NetBIOS name> .RS 4 This option allows you to override the NetBIOS name that Samba uses for itself\&. This is identical to setting the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBnetbios name\fR\m[] parameter in the smb\&.conf file\&. However, a command line setting will take precedence over settings in diff --git a/docs/manpages/smbcontrol.1 b/docs/manpages/smbcontrol.1 index 51fbee5d2c..740e5f4090 100644 --- a/docs/manpages/smbcontrol.1 +++ b/docs/manpages/smbcontrol.1 @@ -2,12 +2,12 @@ .\" Title: smbcontrol .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBCONTROL" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBCONTROL" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbcquotas.1 b/docs/manpages/smbcquotas.1 index 6bd8df8d95..c57a9d5f45 100644 --- a/docs/manpages/smbcquotas.1 +++ b/docs/manpages/smbcquotas.1 @@ -2,12 +2,12 @@ .\" Title: smbcquotas .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBCQUOTAS" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBCQUOTAS" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -88,7 +88,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/smbd.8 b/docs/manpages/smbd.8 index 40a49bdcae..639c312a69 100644 --- a/docs/manpages/smbd.8 +++ b/docs/manpages/smbd.8 @@ -2,12 +2,12 @@ .\" Title: smbd .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBD" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "SMBD" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -96,7 +96,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/smbget.1 b/docs/manpages/smbget.1 index 7b035a87e4..e4c136724d 100644 --- a/docs/manpages/smbget.1 +++ b/docs/manpages/smbget.1 @@ -2,12 +2,12 @@ .\" Title: smbget .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBGET" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBGET" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbgetrc.5 b/docs/manpages/smbgetrc.5 index 88006cbc8e..be7fe59f87 100644 --- a/docs/manpages/smbgetrc.5 +++ b/docs/manpages/smbgetrc.5 @@ -2,12 +2,12 @@ .\" Title: smbgetrc .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: File Formats and Conventions .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBGETRC" "5" "10/29/2012" "Samba 3\&.6" "File Formats and Conventions" +.TH "SMBGETRC" "5" "12/06/2012" "Samba 3\&.6" "File Formats and Conventions" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbpasswd.5 b/docs/manpages/smbpasswd.5 index 5dc1bd4f14..f914db86dd 100644 --- a/docs/manpages/smbpasswd.5 +++ b/docs/manpages/smbpasswd.5 @@ -2,12 +2,12 @@ .\" Title: smbpasswd .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: File Formats and Conventions .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBPASSWD" "5" "10/29/2012" "Samba 3\&.6" "File Formats and Conventions" +.TH "SMBPASSWD" "5" "12/06/2012" "Samba 3\&.6" "File Formats and Conventions" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbpasswd.8 b/docs/manpages/smbpasswd.8 index 8d3dd3864a..458be15ee0 100644 --- a/docs/manpages/smbpasswd.8 +++ b/docs/manpages/smbpasswd.8 @@ -2,12 +2,12 @@ .\" Title: smbpasswd .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBPASSWD" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "SMBPASSWD" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbspool.8 b/docs/manpages/smbspool.8 index b71373ade2..cd9fc6bb99 100644 --- a/docs/manpages/smbspool.8 +++ b/docs/manpages/smbspool.8 @@ -2,12 +2,12 @@ .\" Title: smbspool .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBSPOOL" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "SMBSPOOL" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbstatus.1 b/docs/manpages/smbstatus.1 index 04461cd676..0d38b85d99 100644 --- a/docs/manpages/smbstatus.1 +++ b/docs/manpages/smbstatus.1 @@ -2,12 +2,12 @@ .\" Title: smbstatus .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBSTATUS" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBSTATUS" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -53,7 +53,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/smbta-util.8 b/docs/manpages/smbta-util.8 index 04829b8d93..7df4ee6707 100644 --- a/docs/manpages/smbta-util.8 +++ b/docs/manpages/smbta-util.8 @@ -2,12 +2,12 @@ .\" Title: smbta-util .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBTA\-UTIL" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "SMBTA\-UTIL" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbtar.1 b/docs/manpages/smbtar.1 index 14a6fb0050..711949dec5 100644 --- a/docs/manpages/smbtar.1 +++ b/docs/manpages/smbtar.1 @@ -2,12 +2,12 @@ .\" Title: smbtar .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBTAR" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBTAR" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/smbtree.1 b/docs/manpages/smbtree.1 index 99338ca095..9b4c977f96 100644 --- a/docs/manpages/smbtree.1 +++ b/docs/manpages/smbtree.1 @@ -2,12 +2,12 @@ .\" Title: smbtree .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMBTREE" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "SMBTREE" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -58,7 +58,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/swat.8 b/docs/manpages/swat.8 index 8ba9dd3d23..0713bdf9da 100644 --- a/docs/manpages/swat.8 +++ b/docs/manpages/swat.8 @@ -2,12 +2,12 @@ .\" Title: swat .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SWAT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "SWAT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -82,7 +82,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/tdbbackup.8 b/docs/manpages/tdbbackup.8 index b132130992..086a066015 100644 --- a/docs/manpages/tdbbackup.8 +++ b/docs/manpages/tdbbackup.8 @@ -2,12 +2,12 @@ .\" Title: tdbbackup .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "TDBBACKUP" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "TDBBACKUP" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/tdbdump.8 b/docs/manpages/tdbdump.8 index 1658cb7556..ebf1800423 100644 --- a/docs/manpages/tdbdump.8 +++ b/docs/manpages/tdbdump.8 @@ -2,12 +2,12 @@ .\" Title: tdbdump .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "TDBDUMP" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "TDBDUMP" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/tdbtool.8 b/docs/manpages/tdbtool.8 index deaedb2a2a..548df34644 100644 --- a/docs/manpages/tdbtool.8 +++ b/docs/manpages/tdbtool.8 @@ -2,12 +2,12 @@ .\" Title: tdbtool .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "TDBTOOL" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "TDBTOOL" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/testparm.1 b/docs/manpages/testparm.1 index 1c2d03bf1b..e457d35ea8 100644 --- a/docs/manpages/testparm.1 +++ b/docs/manpages/testparm.1 @@ -2,12 +2,12 @@ .\" Title: testparm .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "TESTPARM" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "TESTPARM" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_acl_tdb.8 b/docs/manpages/vfs_acl_tdb.8 index 666848d8cb..b7122b3e57 100644 --- a/docs/manpages/vfs_acl_tdb.8 +++ b/docs/manpages/vfs_acl_tdb.8 @@ -2,12 +2,12 @@ .\" Title: vfs_acl_tdb .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_ACL_TDB" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_ACL_TDB" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_acl_xattr.8 b/docs/manpages/vfs_acl_xattr.8 index f1ae20819c..a916c588a5 100644 --- a/docs/manpages/vfs_acl_xattr.8 +++ b/docs/manpages/vfs_acl_xattr.8 @@ -2,12 +2,12 @@ .\" Title: vfs_acl_xattr .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_ACL_XATTR" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_ACL_XATTR" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_aio_fork.8 b/docs/manpages/vfs_aio_fork.8 index 6110e56091..7d97583381 100644 --- a/docs/manpages/vfs_aio_fork.8 +++ b/docs/manpages/vfs_aio_fork.8 @@ -2,12 +2,12 @@ .\" Title: vfs_aio_fork .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_AIO_FORK" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_AIO_FORK" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_aio_pthread.8 b/docs/manpages/vfs_aio_pthread.8 index 4876eaff08..c9f952b3dd 100644 --- a/docs/manpages/vfs_aio_pthread.8 +++ b/docs/manpages/vfs_aio_pthread.8 @@ -2,12 +2,12 @@ .\" Title: vfs_aio_pthread .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_AIO_PTHREAD" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_AIO_PTHREAD" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_audit.8 b/docs/manpages/vfs_audit.8 index 029260c106..1e01ceac89 100644 --- a/docs/manpages/vfs_audit.8 +++ b/docs/manpages/vfs_audit.8 @@ -2,12 +2,12 @@ .\" Title: vfs_audit .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_AUDIT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_AUDIT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_cacheprime.8 b/docs/manpages/vfs_cacheprime.8 index 8c17977c14..d489c44ed1 100644 --- a/docs/manpages/vfs_cacheprime.8 +++ b/docs/manpages/vfs_cacheprime.8 @@ -2,12 +2,12 @@ .\" Title: vfs_cacheprime .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_CACHEPRIME" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_CACHEPRIME" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_cap.8 b/docs/manpages/vfs_cap.8 index 7d25d9e787..4fbf3d69f6 100644 --- a/docs/manpages/vfs_cap.8 +++ b/docs/manpages/vfs_cap.8 @@ -2,12 +2,12 @@ .\" Title: vfs_cap .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_CAP" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_CAP" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_catia.8 b/docs/manpages/vfs_catia.8 index 42219cc230..86466f8a10 100644 --- a/docs/manpages/vfs_catia.8 +++ b/docs/manpages/vfs_catia.8 @@ -2,12 +2,12 @@ .\" Title: vfs_catia .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_CATIA" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_CATIA" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_commit.8 b/docs/manpages/vfs_commit.8 index 4c4b1b0c17..2067a1d3c2 100644 --- a/docs/manpages/vfs_commit.8 +++ b/docs/manpages/vfs_commit.8 @@ -2,12 +2,12 @@ .\" Title: vfs_commit .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_COMMIT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_COMMIT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_crossrename.8 b/docs/manpages/vfs_crossrename.8 index 3c5cde741c..a7b9eb6af3 100644 --- a/docs/manpages/vfs_crossrename.8 +++ b/docs/manpages/vfs_crossrename.8 @@ -2,12 +2,12 @@ .\" Title: vfs_crossrename .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_CROSSRENAME" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_CROSSRENAME" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_default_quota.8 b/docs/manpages/vfs_default_quota.8 index 2a6b8547ea..59c57de680 100644 --- a/docs/manpages/vfs_default_quota.8 +++ b/docs/manpages/vfs_default_quota.8 @@ -2,12 +2,12 @@ .\" Title: vfs_default_quota .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_DEFAULT_QUOTA" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_DEFAULT_QUOTA" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_dirsort.8 b/docs/manpages/vfs_dirsort.8 index a8ef7ffb97..e839997122 100644 --- a/docs/manpages/vfs_dirsort.8 +++ b/docs/manpages/vfs_dirsort.8 @@ -2,12 +2,12 @@ .\" Title: vfs_dirsort .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_DIRSORT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_DIRSORT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_extd_audit.8 b/docs/manpages/vfs_extd_audit.8 index 54c2771c5d..f01793a6cd 100644 --- a/docs/manpages/vfs_extd_audit.8 +++ b/docs/manpages/vfs_extd_audit.8 @@ -2,12 +2,12 @@ .\" Title: vfs_extd_audit .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_EXTD_AUDIT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_EXTD_AUDIT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_fake_perms.8 b/docs/manpages/vfs_fake_perms.8 index 9fa9aa9dc5..3a3e2f9fc2 100644 --- a/docs/manpages/vfs_fake_perms.8 +++ b/docs/manpages/vfs_fake_perms.8 @@ -2,12 +2,12 @@ .\" Title: vfs_fake_perms .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_FAKE_PERMS" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_FAKE_PERMS" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_fileid.8 b/docs/manpages/vfs_fileid.8 index d04c5bf195..0f2b7c0be0 100644 --- a/docs/manpages/vfs_fileid.8 +++ b/docs/manpages/vfs_fileid.8 @@ -2,12 +2,12 @@ .\" Title: vfs_fileid .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_FILEID" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_FILEID" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_full_audit.8 b/docs/manpages/vfs_full_audit.8 index 2877a95190..ae009047d2 100644 --- a/docs/manpages/vfs_full_audit.8 +++ b/docs/manpages/vfs_full_audit.8 @@ -2,12 +2,12 @@ .\" Title: vfs_full_audit .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_FULL_AUDIT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_FULL_AUDIT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_gpfs.8 b/docs/manpages/vfs_gpfs.8 index 89221fe1b7..1107c22bc8 100644 --- a/docs/manpages/vfs_gpfs.8 +++ b/docs/manpages/vfs_gpfs.8 @@ -2,12 +2,12 @@ .\" Title: vfs_gpfs .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_GPFS" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_GPFS" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_netatalk.8 b/docs/manpages/vfs_netatalk.8 index 2cbad80a85..89f7432d22 100644 --- a/docs/manpages/vfs_netatalk.8 +++ b/docs/manpages/vfs_netatalk.8 @@ -2,12 +2,12 @@ .\" Title: vfs_netatalk .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_NETATALK" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_NETATALK" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_notify_fam.8 b/docs/manpages/vfs_notify_fam.8 index 7dc8dcdb6d..30e9d8c390 100644 --- a/docs/manpages/vfs_notify_fam.8 +++ b/docs/manpages/vfs_notify_fam.8 @@ -2,12 +2,12 @@ .\" Title: vfs_notify_fam .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_NOTIFY_FAM" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_NOTIFY_FAM" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_prealloc.8 b/docs/manpages/vfs_prealloc.8 index 0fffc85e55..7a3df78daf 100644 --- a/docs/manpages/vfs_prealloc.8 +++ b/docs/manpages/vfs_prealloc.8 @@ -2,12 +2,12 @@ .\" Title: vfs_prealloc .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_PREALLOC" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_PREALLOC" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_preopen.8 b/docs/manpages/vfs_preopen.8 index f2eb7dccd2..1b910b8bcc 100644 --- a/docs/manpages/vfs_preopen.8 +++ b/docs/manpages/vfs_preopen.8 @@ -2,12 +2,12 @@ .\" Title: vfs_preopen .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_PREOPEN" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_PREOPEN" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_readahead.8 b/docs/manpages/vfs_readahead.8 index 84a0881762..e1f13cc982 100644 --- a/docs/manpages/vfs_readahead.8 +++ b/docs/manpages/vfs_readahead.8 @@ -2,12 +2,12 @@ .\" Title: vfs_readahead .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_READAHEAD" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_READAHEAD" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_readonly.8 b/docs/manpages/vfs_readonly.8 index 0ac5c2d555..42bf2f17b6 100644 --- a/docs/manpages/vfs_readonly.8 +++ b/docs/manpages/vfs_readonly.8 @@ -2,12 +2,12 @@ .\" Title: vfs_readonly .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_READONLY" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_READONLY" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_recycle.8 b/docs/manpages/vfs_recycle.8 index ef5588a6e3..ad5594ee05 100644 --- a/docs/manpages/vfs_recycle.8 +++ b/docs/manpages/vfs_recycle.8 @@ -2,12 +2,12 @@ .\" Title: vfs_recycle .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_RECYCLE" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_RECYCLE" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_scannedonly.8 b/docs/manpages/vfs_scannedonly.8 index 8854c4b7ba..c917c602e0 100644 --- a/docs/manpages/vfs_scannedonly.8 +++ b/docs/manpages/vfs_scannedonly.8 @@ -2,12 +2,12 @@ .\" Title: vfs_scannedonly .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_SCANNEDONLY" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_SCANNEDONLY" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_shadow_copy.8 b/docs/manpages/vfs_shadow_copy.8 index f30e73f5fa..9ec97b5098 100644 --- a/docs/manpages/vfs_shadow_copy.8 +++ b/docs/manpages/vfs_shadow_copy.8 @@ -2,12 +2,12 @@ .\" Title: vfs_shadow_copy .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_SHADOW_COPY" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_SHADOW_COPY" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_shadow_copy2.8 b/docs/manpages/vfs_shadow_copy2.8 index 0c948df79f..5eea1279ce 100644 --- a/docs/manpages/vfs_shadow_copy2.8 +++ b/docs/manpages/vfs_shadow_copy2.8 @@ -2,12 +2,12 @@ .\" Title: vfs_shadow_copy2 .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_SHADOW_COPY2" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_SHADOW_COPY2" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_smb_traffic_analyzer.8 b/docs/manpages/vfs_smb_traffic_analyzer.8 index a605f2bb74..44774e76c6 100644 --- a/docs/manpages/vfs_smb_traffic_analyzer.8 +++ b/docs/manpages/vfs_smb_traffic_analyzer.8 @@ -2,12 +2,12 @@ .\" Title: smb_traffic_analyzer .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "SMB_TRAFFIC_ANALYZER" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "SMB_TRAFFIC_ANALYZER" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_streams_depot.8 b/docs/manpages/vfs_streams_depot.8 index c4c987936f..bd21c82aa2 100644 --- a/docs/manpages/vfs_streams_depot.8 +++ b/docs/manpages/vfs_streams_depot.8 @@ -2,12 +2,12 @@ .\" Title: vfs_streams_depot .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_STREAMS_DEPOT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_STREAMS_DEPOT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_streams_xattr.8 b/docs/manpages/vfs_streams_xattr.8 index 683a8be92e..3f5998d567 100644 --- a/docs/manpages/vfs_streams_xattr.8 +++ b/docs/manpages/vfs_streams_xattr.8 @@ -2,12 +2,12 @@ .\" Title: vfs_streams_xattr .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_STREAMS_XATTR" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_STREAMS_XATTR" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_time_audit.8 b/docs/manpages/vfs_time_audit.8 index 32f2b7a8ef..3d2ad105e4 100644 --- a/docs/manpages/vfs_time_audit.8 +++ b/docs/manpages/vfs_time_audit.8 @@ -2,12 +2,12 @@ .\" Title: vfs_time_audit .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_TIME_AUDIT" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_TIME_AUDIT" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfs_xattr_tdb.8 b/docs/manpages/vfs_xattr_tdb.8 index ffb31d3441..e416b544b6 100644 --- a/docs/manpages/vfs_xattr_tdb.8 +++ b/docs/manpages/vfs_xattr_tdb.8 @@ -2,12 +2,12 @@ .\" Title: vfs_xattr_tdb .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFS_XATTR_TDB" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "VFS_XATTR_TDB" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/vfstest.1 b/docs/manpages/vfstest.1 index 45d2a50bdc..758377962b 100644 --- a/docs/manpages/vfstest.1 +++ b/docs/manpages/vfstest.1 @@ -2,12 +2,12 @@ .\" Title: vfstest .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "VFSTEST" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "VFSTEST" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -60,7 +60,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/docs/manpages/wbinfo.1 b/docs/manpages/wbinfo.1 index 77b6bff2f6..ee65c16f80 100644 --- a/docs/manpages/wbinfo.1 +++ b/docs/manpages/wbinfo.1 @@ -2,12 +2,12 @@ .\" Title: wbinfo .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: User Commands .\" Source: Samba 3.6 .\" Language: English .\" -.TH "WBINFO" "1" "10/29/2012" "Samba 3\&.6" "User Commands" +.TH "WBINFO" "1" "12/06/2012" "Samba 3\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/winbind_krb5_locator.7 b/docs/manpages/winbind_krb5_locator.7 index 79d79545f1..7a19b535e5 100644 --- a/docs/manpages/winbind_krb5_locator.7 +++ b/docs/manpages/winbind_krb5_locator.7 @@ -2,12 +2,12 @@ .\" Title: winbind_krb5_locator .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: 7 .\" Source: Samba 3.6 .\" Language: English .\" -.TH "WINBIND_KRB5_LOCATOR" "7" "10/29/2012" "Samba 3\&.6" "7" +.TH "WINBIND_KRB5_LOCATOR" "7" "12/06/2012" "Samba 3\&.6" "7" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- diff --git a/docs/manpages/winbindd.8 b/docs/manpages/winbindd.8 index 20985be0d4..f9da787ce1 100644 --- a/docs/manpages/winbindd.8 +++ b/docs/manpages/winbindd.8 @@ -2,12 +2,12 @@ .\" Title: winbindd .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> -.\" Date: 10/29/2012 +.\" Date: 12/06/2012 .\" Manual: System Administration tools .\" Source: Samba 3.6 .\" Language: English .\" -.TH "WINBINDD" "8" "10/29/2012" "Samba 3\&.6" "System Administration tools" +.TH "WINBINDD" "8" "12/06/2012" "Samba 3\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- @@ -173,7 +173,7 @@ The higher this value, the more detail will be logged to the log files about the Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&. .sp Note that specifying this parameter here will override the -\m[blue]\fB\%smb.conf.5.html#\fR\m[] +\m[blue]\fBlog level\fR\m[] parameter in the smb\&.conf file\&. diff --git a/lib/addns/dnsgss.c b/lib/addns/dnsgss.c index c9037417da..a8b2ea18bc 100644 --- a/lib/addns/dnsgss.c +++ b/lib/addns/dnsgss.c @@ -164,6 +164,8 @@ static DNS_ERROR dns_negotiate_gss_ctx_int( TALLOC_CTX *mem_ctx, struct dns_request *resp; struct dns_buffer *buf; struct dns_tkey_record *tkey; + struct dns_rrec *tkey_answer = NULL; + uint16_t i; err = dns_receive(mem_ctx, conn, &buf); if (!ERR_DNS_IS_OK(err)) goto error; @@ -174,10 +176,16 @@ static DNS_ERROR dns_negotiate_gss_ctx_int( TALLOC_CTX *mem_ctx, /* * TODO: Compare id and keyname */ - - if ((resp->num_additionals != 1) || - (resp->num_answers == 0) || - (resp->answers[0]->type != QTYPE_TKEY)) { + + for (i=0; i < resp->num_answers; i++) { + if (resp->answers[i]->type != QTYPE_TKEY) { + continue; + } + + tkey_answer = resp->answers[i]; + } + + if (tkey_answer == NULL) { err = ERROR_DNS_INVALID_MESSAGE; goto error; } diff --git a/lib/replace/replace.c b/lib/replace/replace.c index d9a96ff8ef..83fa6b3371 100644 --- a/lib/replace/replace.c +++ b/lib/replace/replace.c @@ -750,7 +750,7 @@ void *rep_memmem(const void *haystack, size_t haystacklen, } #endif -#ifndef HAVE_VDPRINTF +#if !defined(HAVE_VDPRINTF) || !defined(HAVE_C99_VSNPRINTF) int rep_vdprintf(int fd, const char *format, va_list ap) { char *s = NULL; @@ -767,7 +767,7 @@ int rep_vdprintf(int fd, const char *format, va_list ap) } #endif -#ifndef HAVE_DPRINTF +#if !defined(HAVE_DPRINTF) || !defined(HAVE_C99_VSNPRINTF) int rep_dprintf(int fd, const char *format, ...) { int ret; diff --git a/lib/replace/replace.h b/lib/replace/replace.h index c47cf1c1b1..926ccc7bbb 100644 --- a/lib/replace/replace.h +++ b/lib/replace/replace.h @@ -355,16 +355,6 @@ int rep_dlclose(void *handle); /* prototype is in system/network.h */ #endif -#ifndef HAVE_VDPRINTF -#define vdprintf rep_vdprintf -int rep_vdprintf(int fd, const char *format, va_list ap); -#endif - -#ifndef HAVE_DPRINTF -#define dprintf rep_dprintf -int rep_dprintf(int fd, const char *format, ...); -#endif - #ifndef PRINTF_ATTRIBUTE #if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 ) /** Use gcc attribute to check printf fns. a1 is the 1-based index of @@ -385,7 +375,17 @@ int rep_dprintf(int fd, const char *format, ...); #endif #endif -#ifndef HAVE_VASPRINTF +#if !defined(HAVE_VDPRINTF) || !defined(HAVE_C99_VSNPRINTF) +#define vdprintf rep_vdprintf +int rep_vdprintf(int fd, const char *format, va_list ap) PRINTF_ATTRIBUTE(2,0); +#endif + +#if !defined(HAVE_DPRINTF) || !defined(HAVE_C99_VSNPRINTF) +#define dprintf rep_dprintf +int rep_dprintf(int fd, const char *format, ...) PRINTF_ATTRIBUTE(2,3); +#endif + +#if !defined(HAVE_VASPRINTF) || !defined(HAVE_C99_VSNPRINTF) #define vasprintf rep_vasprintf int rep_vasprintf(char **ptr, const char *format, va_list ap) PRINTF_ATTRIBUTE(2,0); #endif @@ -400,11 +400,29 @@ int rep_snprintf(char *,size_t ,const char *, ...) PRINTF_ATTRIBUTE(3,4); int rep_vsnprintf(char *,size_t ,const char *, va_list ap) PRINTF_ATTRIBUTE(3,0); #endif -#ifndef HAVE_ASPRINTF +#if !defined(HAVE_ASPRINTF) || !defined(HAVE_C99_VSNPRINTF) #define asprintf rep_asprintf int rep_asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3); #endif +#if !defined(HAVE_C99_VSNPRINTF) +#ifdef REPLACE_BROKEN_PRINTF +/* + * We do not redefine printf by default + * as it breaks the build if system headers + * use __attribute__((format(printf, 3, 0))) + * instead of __attribute__((format(__printf__, 3, 0))) + */ +#define printf rep_printf +#endif +int rep_printf(const char *, ...) PRINTF_ATTRIBUTE(1,2); +#endif + +#if !defined(HAVE_C99_VSNPRINTF) +#define fprintf rep_fprintf +int rep_fprintf(FILE *stream, const char *, ...) PRINTF_ATTRIBUTE(2,3); +#endif + #ifndef HAVE_VSYSLOG #ifdef HAVE_SYSLOG #define vsyslog rep_vsyslog diff --git a/lib/replace/snprintf.c b/lib/replace/snprintf.c index bca774263e..6b4a711045 100644 --- a/lib/replace/snprintf.c +++ b/lib/replace/snprintf.c @@ -1187,7 +1187,7 @@ static int add_cnk_list_entry(struct pr_chunk_x **list, return max; } - int vsnprintf (char *str, size_t count, const char *fmt, va_list args) + int rep_vsnprintf (char *str, size_t count, const char *fmt, va_list args) { return dopr(str, count, fmt, args); } @@ -1200,7 +1200,7 @@ static int add_cnk_list_entry(struct pr_chunk_x **list, * that doesn't work properly according to the autoconf test. */ #if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF) - int snprintf(char *str,size_t count,const char *fmt,...) + int rep_snprintf(char *str,size_t count,const char *fmt,...) { size_t ret; va_list ap; @@ -1213,7 +1213,7 @@ static int add_cnk_list_entry(struct pr_chunk_x **list, #endif #ifndef HAVE_C99_VSNPRINTF - int printf(const char *fmt, ...) + int rep_printf(const char *fmt, ...) { va_list ap; int ret; @@ -1234,7 +1234,7 @@ static int add_cnk_list_entry(struct pr_chunk_x **list, #endif #ifndef HAVE_C99_VSNPRINTF - int fprintf(FILE *stream, const char *fmt, ...) + int rep_fprintf(FILE *stream, const char *fmt, ...) { va_list ap; int ret; @@ -1256,8 +1256,8 @@ static int add_cnk_list_entry(struct pr_chunk_x **list, #endif -#ifndef HAVE_VASPRINTF - int vasprintf(char **ptr, const char *format, va_list ap) +#if !defined(HAVE_VASPRINTF) || !defined(HAVE_C99_VSNPRINTF) + int rep_vasprintf(char **ptr, const char *format, va_list ap) { int ret; va_list ap2; @@ -1278,9 +1278,8 @@ static int add_cnk_list_entry(struct pr_chunk_x **list, } #endif - -#ifndef HAVE_ASPRINTF - int asprintf(char **ptr, const char *format, ...) +#if !defined(HAVE_ASPRINTF) || !defined(HAVE_C99_VSNPRINTF) + int rep_asprintf(char **ptr, const char *format, ...) { va_list ap; int ret; diff --git a/lib/tsocket/tsocket.h b/lib/tsocket/tsocket.h index 3aca536124..98f864e6a5 100644 --- a/lib/tsocket/tsocket.h +++ b/lib/tsocket/tsocket.h @@ -627,6 +627,27 @@ int _tsocket_address_unix_from_path(TALLOC_CTX *mem_ctx, char *tsocket_address_unix_path(const struct tsocket_address *addr, TALLOC_CTX *mem_ctx); +/** + * @brief Request a syscall optimization for tdgram_recvfrom_send() + * + * This function is only used to reduce the amount of syscalls and + * optimize performance. You should only use this if you know + * what you're doing. + * + * The optimization is off by default. + * + * @param[in] dgram The tdgram_context of a bsd socket, if this + * not a bsd socket the function does nothing. + * + * @param[in] on The boolean value to turn the optimization on and off. + * + * @return The old boolean value. + * + * @see tdgram_recvfrom_send() + */ +bool tdgram_bsd_optimize_recvfrom(struct tdgram_context *dgram, + bool on); + #ifdef DOXYGEN /** * @brief Create a tdgram_context for a ipv4 or ipv6 UDP communication. @@ -689,6 +710,27 @@ int _tdgram_unix_socket(const struct tsocket_address *local, #endif /** + * @brief Request a syscall optimization for tstream_readv_send() + * + * This function is only used to reduce the amount of syscalls and + * optimize performance. You should only use this if you know + * what you're doing. + * + * The optimization is off by default. + * + * @param[in] stream The tstream_context of a bsd socket, if this + * not a bsd socket the function does nothing. + * + * @param[in] on The boolean value to turn the optimization on and off. + * + * @return The old boolean value. + * + * @see tstream_readv_send() + */ +bool tstream_bsd_optimize_readv(struct tstream_context *stream, + bool on); + +/** * @brief Connect async to a TCP endpoint and create a tstream_context for the * stream based communication. * diff --git a/lib/tsocket/tsocket_bsd.c b/lib/tsocket/tsocket_bsd.c index 9e80065227..58598d1a5b 100644 --- a/lib/tsocket/tsocket_bsd.c +++ b/lib/tsocket/tsocket_bsd.c @@ -654,6 +654,7 @@ struct tdgram_bsd { void *event_ptr; struct tevent_fd *fde; + bool optimize_recvfrom; void *readable_private; void (*readable_handler)(void *private_data); @@ -661,6 +662,25 @@ struct tdgram_bsd { void (*writeable_handler)(void *private_data); }; +bool tdgram_bsd_optimize_recvfrom(struct tdgram_context *dgram, + bool on) +{ + struct tdgram_bsd *bsds = + talloc_get_type(_tdgram_context_data(dgram), + struct tdgram_bsd); + bool old; + + if (bsds == NULL) { + /* not a bsd socket */ + return false; + } + + old = bsds->optimize_recvfrom; + bsds->optimize_recvfrom = on; + + return old; +} + static void tdgram_bsd_fde_handler(struct tevent_context *ev, struct tevent_fd *fde, uint16_t flags, @@ -837,14 +857,25 @@ static struct tevent_req *tdgram_bsd_recvfrom_send(TALLOC_CTX *mem_ctx, goto post; } + /* * this is a fast path, not waiting for the * socket to become explicit readable gains * about 10%-20% performance in benchmark tests. */ - tdgram_bsd_recvfrom_handler(req); - if (!tevent_req_is_in_progress(req)) { - goto post; + if (bsds->optimize_recvfrom) { + /* + * We only do the optimization on + * recvfrom if the caller asked for it. + * + * This is needed because in most cases + * we preferr to flush send buffers before + * receiving incoming requests. + */ + tdgram_bsd_recvfrom_handler(req); + if (!tevent_req_is_in_progress(req)) { + goto post; + } } ret = tdgram_bsd_set_readable_handler(bsds, ev, @@ -1400,6 +1431,7 @@ struct tstream_bsd { void *event_ptr; struct tevent_fd *fde; + bool optimize_readv; void *readable_private; void (*readable_handler)(void *private_data); @@ -1407,6 +1439,25 @@ struct tstream_bsd { void (*writeable_handler)(void *private_data); }; +bool tstream_bsd_optimize_readv(struct tstream_context *stream, + bool on) +{ + struct tstream_bsd *bsds = + talloc_get_type(_tstream_context_data(stream), + struct tstream_bsd); + bool old; + + if (bsds == NULL) { + /* not a bsd socket */ + return false; + } + + old = bsds->optimize_readv; + bsds->optimize_readv = on; + + return old; +} + static void tstream_bsd_fde_handler(struct tevent_context *ev, struct tevent_fd *fde, uint16_t flags, @@ -1619,9 +1670,19 @@ static struct tevent_req *tstream_bsd_readv_send(TALLOC_CTX *mem_ctx, * socket to become explicit readable gains * about 10%-20% performance in benchmark tests. */ - tstream_bsd_readv_handler(req); - if (!tevent_req_is_in_progress(req)) { - goto post; + if (bsds->optimize_readv) { + /* + * We only do the optimization on + * readv if the caller asked for it. + * + * This is needed because in most cases + * we preferr to flush send buffers before + * receiving incoming requests. + */ + tstream_bsd_readv_handler(req); + if (!tevent_req_is_in_progress(req)) { + goto post; + } } ret = tstream_bsd_set_readable_handler(bsds, ev, diff --git a/lib/tsocket/tsocket_helpers.c b/lib/tsocket/tsocket_helpers.c index 3a41a3efc3..809830d79a 100644 --- a/lib/tsocket/tsocket_helpers.c +++ b/lib/tsocket/tsocket_helpers.c @@ -212,6 +212,20 @@ static void tstream_readv_pdu_ask_for_next_vector(struct tevent_req *req) size_t to_read = 0; size_t i; struct tevent_req *subreq; + bool optimize = false; + bool save_optimize = false; + + if (state->count > 0) { + /* + * This is not the first time we asked for a vector, + * which means parts of the pdu already arrived. + * + * In this case it make sense to enable + * a syscall/performance optimization if the + * low level tstream implementation supports it. + */ + optimize = true; + } TALLOC_FREE(state->vector); state->count = 0; @@ -255,11 +269,26 @@ static void tstream_readv_pdu_ask_for_next_vector(struct tevent_req *req) return; } + if (optimize) { + /* + * If the low level stream is a bsd socket + * we will get syscall optimization. + * + * If it is not a bsd socket + * tstream_bsd_optimize_readv() just returns. + */ + save_optimize = tstream_bsd_optimize_readv(state->caller.stream, + true); + } subreq = tstream_readv_send(state, state->caller.ev, state->caller.stream, state->vector, state->count); + if (optimize) { + tstream_bsd_optimize_readv(state->caller.stream, + save_optimize); + } if (tevent_req_nomem(subreq, req)) { return; } diff --git a/nsswitch/pam_winbind.c b/nsswitch/pam_winbind.c index fc7cdcaea7..3257101223 100644 --- a/nsswitch/pam_winbind.c +++ b/nsswitch/pam_winbind.c @@ -2735,9 +2735,10 @@ out: _pam_free_data_info3(pamh); } - _PAM_LOG_FUNCTION_LEAVE("pam_sm_authenticate", ctx, retval); - - TALLOC_FREE(ctx); + if (ctx != NULL) { + _PAM_LOG_FUNCTION_LEAVE("pam_sm_authenticate", ctx, retval); + TALLOC_FREE(ctx); + } return retval; } diff --git a/packaging/RHEL-CTDB/samba.spec b/packaging/RHEL-CTDB/samba.spec index d5bbe5f776..3223f38dc9 100644 --- a/packaging/RHEL-CTDB/samba.spec +++ b/packaging/RHEL-CTDB/samba.spec @@ -5,7 +5,7 @@ Summary: Samba SMB client and server Vendor: Samba Team Packager: Samba Team <samba@samba.org> Name: samba -Version: 3.6.9 +Version: 3.6.10 Release: 1GITHASH Epoch: 0 License: GNU GPL version 3 diff --git a/packaging/RHEL/makerpms.sh b/packaging/RHEL/makerpms.sh index abaa624516..50872c7b7a 100644 --- a/packaging/RHEL/makerpms.sh +++ b/packaging/RHEL/makerpms.sh @@ -20,7 +20,7 @@ SRCDIR=`rpm --eval %_sourcedir` USERID=`id -u` GRPID=`id -g` -VERSION='3.6.9' +VERSION='3.6.10' REVISION='' SPECFILE="samba.spec" RPMVER=`rpm --version | awk '{print $3}'` diff --git a/packaging/RHEL/samba.spec b/packaging/RHEL/samba.spec index d96392076e..1d3a20f539 100644 --- a/packaging/RHEL/samba.spec +++ b/packaging/RHEL/samba.spec @@ -11,7 +11,7 @@ Summary: Samba SMB client and server Vendor: Samba Team Packager: Samba Team <samba@samba.org> Name: samba -Version: 3.6.9 +Version: 3.6.10 Release: 1 Epoch: 0 License: GNU GPL version 3 diff --git a/source3/VERSION b/source3/VERSION index 25aa4eca61..fd054c710b 100644 --- a/source3/VERSION +++ b/source3/VERSION @@ -25,7 +25,7 @@ ######################################################## SAMBA_VERSION_MAJOR=3 SAMBA_VERSION_MINOR=6 -SAMBA_VERSION_RELEASE=9 +SAMBA_VERSION_RELEASE=10 ######################################################## # Bug fix releases use a letter for the patch revision # diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index fc93641fd3..1daddcd2d4 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -1174,7 +1174,8 @@ struct passwd *smb_getpwnam( TALLOC_CTX *mem_ctx, const char *domuser, /* make sure we get the case of the username correct */ /* work around 'winbind use default domain = yes' */ - if ( !strchr_m( pw->pw_name, *lp_winbind_separator() ) ) { + if ( lp_winbind_use_default_domain() && + !strchr_m( pw->pw_name, *lp_winbind_separator() ) ) { char *domain; /* split the domain and username into 2 strings */ diff --git a/source3/configure b/source3/configure index 669a92dc50..5982975ed6 100755 --- a/source3/configure +++ b/source3/configure @@ -13945,32 +13945,15 @@ fi done -for ac_header in md5.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "md5.h" "ac_cv_header_md5_h" "$ac_includes_default" -if test "x$ac_cv_header_md5_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MD5_H 1 -_ACEOF - -fi - -done - - samba_cv_md5lib=none -if test x"$ac_cv_header_md5_h" = x"yes"; then - -$as_echo "#define HAVE_MD5_H 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5Update in -lmd5" >&5 -$as_echo_n "checking for MD5Update in -lmd5... " >&6; } -if ${ac_cv_lib_md5_MD5Update+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5Update in -lc" >&5 +$as_echo_n "checking for MD5Update in -lc... " >&6; } +if ${ac_cv_lib_c_MD5Update+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lmd5 $LIBS" +LIBS="-lc $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -13990,24 +13973,22 @@ return MD5Update (); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_md5_MD5Update=yes + ac_cv_lib_c_MD5Update=yes else - ac_cv_lib_md5_MD5Update=no + ac_cv_lib_c_MD5Update=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_md5_MD5Update" >&5 -$as_echo "$ac_cv_lib_md5_MD5Update" >&6; } -if test "x$ac_cv_lib_md5_MD5Update" = xyes; then : - samba_cv_md5lib=md5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_MD5Update" >&5 +$as_echo "$ac_cv_lib_c_MD5Update" >&6; } +if test "x$ac_cv_lib_c_MD5Update" = xyes; then : + samba_cv_md5lib="" fi -fi -if test x"$ac_cv_header_md5_h" = x"yes" -a \ - x"$samba_cv_md5lib" = x"none" ; then +if test x"$samba_cv_md5lib" = x"none" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5Update in -lmd" >&5 $as_echo_n "checking for MD5Update in -lmd... " >&6; } if ${ac_cv_lib_md_MD5Update+:} false; then : @@ -14050,15 +14031,14 @@ fi fi -if test x"$ac_cv_header_md5_h" = x"yes" -a \ - x"$samba_cv_md5lib" = x"none" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5Update in -lc" >&5 -$as_echo_n "checking for MD5Update in -lc... " >&6; } -if ${ac_cv_lib_c_MD5Update+:} false; then : +if test x"$samba_cv_md5lib" = x"none" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5Update in -lmd5" >&5 +$as_echo_n "checking for MD5Update in -lmd5... " >&6; } +if ${ac_cv_lib_md5_MD5Update+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lc $LIBS" +LIBS="-lmd5 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14078,32 +14058,47 @@ return MD5Update (); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_c_MD5Update=yes + ac_cv_lib_md5_MD5Update=yes else - ac_cv_lib_c_MD5Update=no + ac_cv_lib_md5_MD5Update=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_MD5Update" >&5 -$as_echo "$ac_cv_lib_c_MD5Update" >&6; } -if test "x$ac_cv_lib_c_MD5Update" = xyes; then : - samba_cv_md5lib="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_md5_MD5Update" >&5 +$as_echo "$ac_cv_lib_md5_MD5Update" >&6; } +if test "x$ac_cv_lib_md5_MD5Update" = xyes; then : + samba_cv_md5lib=md5 fi fi if test x"$samba_cv_md5lib" != x"none" ; then + for ac_header in md5.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "md5.h" "ac_cv_header_md5_h" "$ac_includes_default" +if test "x$ac_cv_header_md5_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MD5_H 1 +_ACEOF + +fi + +done + +fi + +CRYPTO_MD5_OBJ="../lib/crypto/md5.o" +if test x"$ac_cv_header_md5_h" = x"yes" -a \ + x"$samba_cv_md5lib" != x"none" ; then if test x"$samba_cv_md5lib" != x ; then LIBS="${LIBS} -l${samba_cv_md5lib}" - fi - CRYPTO_MD5_OBJ= $as_echo "#define HAVE_LIBMD5 1" >>confdefs.h -else - CRYPTO_MD5_OBJ="../lib/crypto/md5.o" + fi + CRYPTO_MD5_OBJ= fi @@ -30798,6 +30793,69 @@ $as_echo "#define HAVE_ENCTYPE_ARCFOUR_HMAC 1" >>confdefs.h found_arcfour_hmac=yes fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENCTYPE_AES128_CTS_HMAC_SHA1_96" >&5 +$as_echo_n "checking for ENCTYPE_AES128_CTS_HMAC_SHA1_96... " >&6; } +if ${samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <krb5.h> +int +main () +{ +krb5_enctype enctype; enctype = ENCTYPE_AES128_CTS_HMAC_SHA1_96; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=yes +else + samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96" >&5 +$as_echo "$samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96" >&6; } + if test x"$samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96" = x"yes"; then + +$as_echo "#define HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ENCTYPE_AES256_CTS_HMAC_SHA1_96" >&5 +$as_echo_n "checking for ENCTYPE_AES256_CTS_HMAC_SHA1_96... " >&6; } +if ${samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <krb5.h> +int +main () +{ +krb5_enctype enctype; enctype = ENCTYPE_AES256_CTS_HMAC_SHA1_96; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=yes +else + samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96" >&5 +$as_echo "$samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96" >&6; } + if test x"$samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96" = x"yes"; then + +$as_echo "#define HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AP_OPTS_USE_SUBKEY" >&5 $as_echo_n "checking for AP_OPTS_USE_SUBKEY... " >&6; } if ${samba_cv_HAVE_AP_OPTS_USE_SUBKEY+:} false; then : diff --git a/source3/configure.in b/source3/configure.in index 014d8445bb..a29818362c 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -752,35 +752,31 @@ AC_CHECK_HEADERS(netgroup.h) AC_CHECK_HEADERS(linux/falloc.h) dnl check for OS implementation of md5 conformant to rfc1321 -AC_CHECK_HEADERS(md5.h) - samba_cv_md5lib=none -if test x"$ac_cv_header_md5_h" = x"yes"; then - AC_DEFINE(HAVE_MD5_H, 1, - [Whether md5.h is available.]) - AC_CHECK_LIB(md5, MD5Update, [samba_cv_md5lib=md5]) -fi +AC_CHECK_LIB(c, MD5Update, [samba_cv_md5lib=""]) -if test x"$ac_cv_header_md5_h" = x"yes" -a \ - x"$samba_cv_md5lib" = x"none" ; then +if test x"$samba_cv_md5lib" = x"none" ; then AC_CHECK_LIB(md, MD5Update, [samba_cv_md5lib=md]) fi -if test x"$ac_cv_header_md5_h" = x"yes" -a \ - x"$samba_cv_md5lib" = x"none" ; then - AC_CHECK_LIB(c, MD5Update, [samba_cv_md5lib=""]) +if test x"$samba_cv_md5lib" = x"none" ; then + AC_CHECK_LIB(md5, MD5Update, [samba_cv_md5lib=md5]) fi if test x"$samba_cv_md5lib" != x"none" ; then + AC_CHECK_HEADERS(md5.h) +fi + +CRYPTO_MD5_OBJ="../lib/crypto/md5.o" +if test x"$ac_cv_header_md5_h" = x"yes" -a \ + x"$samba_cv_md5lib" != x"none" ; then if test x"$samba_cv_md5lib" != x ; then LIBS="${LIBS} -l${samba_cv_md5lib}" + AC_DEFINE(HAVE_LIBMD5, 1, + [Whether libmd5 conformant to rfc1321 is available.]) fi CRYPTO_MD5_OBJ= - AC_DEFINE(HAVE_LIBMD5, 1, - [Whether libmd5 conformant to rfc1321 is available.]) -else - CRYPTO_MD5_OBJ="../lib/crypto/md5.o" fi AC_SUBST(CRYPTO_MD5_OBJ) @@ -4156,6 +4152,27 @@ if test x"$with_ads_support" != x"no"; then found_arcfour_hmac=yes fi + AC_CACHE_CHECK([for ENCTYPE_AES128_CTS_HMAC_SHA1_96], + samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96,[ + AC_TRY_COMPILE([#include <krb5.h>], + [krb5_enctype enctype; enctype = ENCTYPE_AES128_CTS_HMAC_SHA1_96;], + samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=yes, + samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96=no)]) + if test x"$samba_cv_HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96" = x"yes"; then + AC_DEFINE(HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96,1, + [Whether the ENCTYPE_AES128_CTS_HMAC_SHA1_96 key type definition is available]) + fi + AC_CACHE_CHECK([for ENCTYPE_AES256_CTS_HMAC_SHA1_96], + samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96,[ + AC_TRY_COMPILE([#include <krb5.h>], + [krb5_enctype enctype; enctype = ENCTYPE_AES256_CTS_HMAC_SHA1_96;], + samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=yes, + samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96=no)]) + if test x"$samba_cv_HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96" = x"yes"; then + AC_DEFINE(HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96,1, + [Whether the ENCTYPE_AES256_CTS_HMAC_SHA1_96 key type definition is available]) + fi + AC_CACHE_CHECK([for AP_OPTS_USE_SUBKEY], samba_cv_HAVE_AP_OPTS_USE_SUBKEY,[ AC_TRY_COMPILE([#include <krb5.h>], diff --git a/source3/include/config.h.in b/source3/include/config.h.in index 6d17796636..f0234ca883 100644 --- a/source3/include/config.h.in +++ b/source3/include/config.h.in @@ -456,6 +456,14 @@ /* Define to 1 if you have the `dup2' function. */ #undef HAVE_DUP2 +/* Whether the ENCTYPE_AES128_CTS_HMAC_SHA1_96 key type definition is + available */ +#undef HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96 + +/* Whether the ENCTYPE_AES256_CTS_HMAC_SHA1_96 key type definition is + available */ +#undef HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96 + /* Whether the ENCTYPE_ARCFOUR_HMAC key type definition is available */ #undef HAVE_ENCTYPE_ARCFOUR_HMAC @@ -1419,7 +1427,7 @@ /* Whether the macro for makedev is available */ #undef HAVE_MAKEDEV -/* Whether md5.h is available. */ +/* Define to 1 if you have the <md5.h> header file. */ #undef HAVE_MD5_H /* Define to 1 if you have the `memalign' function. */ diff --git a/source3/include/proto.h b/source3/include/proto.h index 720f431cc7..189b286dd6 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1970,8 +1970,7 @@ void cancel_pending_lock_requests_by_fid(files_struct *fsp, enum file_close_type close_type); void send_stat_cache_delete_message(struct messaging_context *msg_ctx, const char *name); -NTSTATUS can_delete_directory(struct connection_struct *conn, - const char *dirname); +NTSTATUS can_delete_directory_fsp(files_struct *fsp); bool change_to_root_user(void); struct event_context *smbd_event_context(void); void contend_level2_oplocks_begin(files_struct *fsp, diff --git a/source3/include/version.h b/source3/include/version.h index bba3ee27e1..09ffa743c7 100644 --- a/source3/include/version.h +++ b/source3/include/version.h @@ -1,8 +1,8 @@ /* Autogenerated by script/mkversion.sh */ #define SAMBA_VERSION_MAJOR 3 #define SAMBA_VERSION_MINOR 6 -#define SAMBA_VERSION_RELEASE 9 -#define SAMBA_VERSION_OFFICIAL_STRING "3.6.9" +#define SAMBA_VERSION_RELEASE 10 +#define SAMBA_VERSION_OFFICIAL_STRING "3.6.10" #ifdef SAMBA_VERSION_VENDOR_FUNCTION # define SAMBA_VERSION_STRING SAMBA_VERSION_VENDOR_FUNCTION #else /* SAMBA_VERSION_VENDOR_FUNCTION */ diff --git a/source3/lib/dummysmbd.c b/source3/lib/dummysmbd.c index 2465e6552b..0ff0f2e874 100644 --- a/source3/lib/dummysmbd.c +++ b/source3/lib/dummysmbd.c @@ -44,8 +44,7 @@ void send_stat_cache_delete_message(struct messaging_context *msg_ctx, { } -NTSTATUS can_delete_directory(struct connection_struct *conn, - const char *dirname) +NTSTATUS can_delete_directory_fsp(files_struct *fsp) { return NT_STATUS_OK; } diff --git a/source3/lib/util.c b/source3/lib/util.c index d751c5bca5..23bb11c378 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -383,7 +383,7 @@ void smb_set_enclen(char *buf,int len,uint16 enc_ctx_num) void smb_setlen(char *buf,int len) { - _smb_setlen(buf,len); + _smb_setlen_large(buf,len); SCVAL(buf,4,0xFF); SCVAL(buf,5,'S'); diff --git a/source3/libads/kerberos.c b/source3/libads/kerberos.c index d496ade71b..6b8f247b2d 100644 --- a/source3/libads/kerberos.c +++ b/source3/libads/kerberos.c @@ -850,6 +850,7 @@ bool create_local_private_krb5_conf_for_domain(const char *realm, int fd; char *realm_upper = NULL; bool result = false; + char *aes_enctypes = NULL; if (!lp_create_krb5_conf()) { return false; @@ -887,14 +888,33 @@ bool create_local_private_krb5_conf_for_domain(const char *realm, goto done; } + aes_enctypes = talloc_strdup(fname, ""); + if (aes_enctypes == NULL) { + goto done; + } + +#ifdef HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96 + aes_enctypes = talloc_asprintf_append(aes_enctypes, "%s", "aes256-cts-hmac-sha1-96 "); + if (aes_enctypes == NULL) { + goto done; + } +#endif +#ifdef HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96 + aes_enctypes = talloc_asprintf_append(aes_enctypes, "%s", "aes128-cts-hmac-sha1-96"); + if (aes_enctypes == NULL) { + goto done; + } +#endif + file_contents = talloc_asprintf(fname, "[libdefaults]\n\tdefault_realm = %s\n" - "\tdefault_tgs_enctypes = RC4-HMAC DES-CBC-CRC DES-CBC-MD5\n" - "\tdefault_tkt_enctypes = RC4-HMAC DES-CBC-CRC DES-CBC-MD5\n" - "\tpreferred_enctypes = RC4-HMAC DES-CBC-CRC DES-CBC-MD5\n\n" + "\tdefault_tgs_enctypes = %s RC4-HMAC DES-CBC-CRC DES-CBC-MD5\n" + "\tdefault_tkt_enctypes = %s RC4-HMAC DES-CBC-CRC DES-CBC-MD5\n" + "\tpreferred_enctypes = %s RC4-HMAC DES-CBC-CRC DES-CBC-MD5\n\n" "[realms]\n\t%s = {\n" "\t%s\t}\n", - realm_upper, realm_upper, kdc_ip_string); + realm_upper, aes_enctypes, aes_enctypes, aes_enctypes, + realm_upper, kdc_ip_string); if (!file_contents) { goto done; diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c index 721a8c6f53..badce3e79e 100644 --- a/source3/libads/kerberos_keytab.c +++ b/source3/libads/kerberos_keytab.c @@ -261,9 +261,15 @@ int ads_keytab_add_entry(ADS_STRUCT *ads, const char *srvPrinc) krb5_keytab keytab = NULL; krb5_data password; krb5_kvno kvno; - krb5_enctype enctypes[4] = { + krb5_enctype enctypes[6] = { ENCTYPE_DES_CBC_CRC, ENCTYPE_DES_CBC_MD5, +#ifdef HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96 + ENCTYPE_AES128_CTS_HMAC_SHA1_96, +#endif +#ifdef HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96 + ENCTYPE_AES256_CTS_HMAC_SHA1_96, +#endif ENCTYPE_ARCFOUR_HMAC, 0 }; diff --git a/source3/libads/kerberos_verify.c b/source3/libads/kerberos_verify.c index d4c68cd0b0..56daf8fb3c 100644 --- a/source3/libads/kerberos_verify.c +++ b/source3/libads/kerberos_verify.c @@ -344,6 +344,12 @@ static krb5_error_code ads_secrets_verify_ticket(krb5_context context, /* Let's make some room for 2 password (old and new)*/ krb5_data passwords[2]; krb5_enctype enctypes[] = { +#ifdef HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96 + ENCTYPE_AES256_CTS_HMAC_SHA1_96, +#endif +#ifdef HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96 + ENCTYPE_AES128_CTS_HMAC_SHA1_96, +#endif ENCTYPE_ARCFOUR_HMAC, ENCTYPE_DES_CBC_CRC, ENCTYPE_DES_CBC_MD5, diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index f03219bb0b..8653ba7d08 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -94,7 +94,9 @@ static NTSTATUS smb_bytes_talloc_string(struct cli_state *cli, static void cli_set_session_key (struct cli_state *cli, const DATA_BLOB session_key) { - cli->user_session_key = data_blob(session_key.data, session_key.length); + cli->user_session_key = data_blob(NULL, 16); + data_blob_clear(&cli->user_session_key); + memcpy(cli->user_session_key.data, session_key.data, MIN(session_key.length, 16)); } /**************************************************************************** diff --git a/source3/libsmb/clikrb5.c b/source3/libsmb/clikrb5.c index 795820555e..dce1df7c9c 100644 --- a/source3/libsmb/clikrb5.c +++ b/source3/libsmb/clikrb5.c @@ -865,6 +865,12 @@ int cli_krb5_get_ticket(TALLOC_CTX *mem_ctx, krb5_ccache ccdef = NULL; krb5_auth_context auth_context = NULL; krb5_enctype enc_types[] = { +#ifdef HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96 + ENCTYPE_AES256_CTS_HMAC_SHA1_96, +#endif +#ifdef HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96 + ENCTYPE_AES128_CTS_HMAC_SHA1_96, +#endif ENCTYPE_ARCFOUR_HMAC, ENCTYPE_DES_CBC_MD5, ENCTYPE_DES_CBC_CRC, diff --git a/source3/locking/locking.c b/source3/locking/locking.c index 43798477ab..e60c4a883d 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -1476,8 +1476,7 @@ NTSTATUS can_set_delete_on_close(files_struct *fsp, uint32 dosmode) return NT_STATUS_ACCESS_DENIED; } - return can_delete_directory(fsp->conn, - fsp->fsp_name->base_name); + return can_delete_directory_fsp(fsp); } return NT_STATUS_OK; diff --git a/source3/modules/vfs_acl_common.c b/source3/modules/vfs_acl_common.c index a537011098..11c34e0539 100644 --- a/source3/modules/vfs_acl_common.c +++ b/source3/modules/vfs_acl_common.c @@ -646,7 +646,22 @@ static int open_acl_common(vfs_handle_struct *handle, get_current_nttok(handle->conn), fsp->access_mask, &access_granted); - if (!NT_STATUS_IS_OK(status)) { + /* + * Check if we need to override ACCESS_DENIED for DELETE_ACCESS. + * Do this if we only failed open on DELETE_ACCESS, and + * we have permission to delete from the parent directory. + */ + if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) && + (fsp->access_mask & DELETE_ACCESS) && + (access_granted == DELETE_ACCESS) && + can_delete_file_in_directory(handle->conn, smb_fname)) { + DEBUG(10,("open_acl_xattr: " + "overrode " + "DELETE_ACCESS on " + "file %s\n", + smb_fname_str_dbg(smb_fname))); + status = NT_STATUS_OK; + } else if (!NT_STATUS_IS_OK(status)) { DEBUG(10,("open_acl_xattr: %s open " "for access 0x%x (0x%x) " "refused with error %s\n", diff --git a/source3/modules/vfs_aio_pthread.c b/source3/modules/vfs_aio_pthread.c index ceef822d00..662781126e 100644 --- a/source3/modules/vfs_aio_pthread.c +++ b/source3/modules/vfs_aio_pthread.c @@ -74,6 +74,7 @@ static bool init_aio_threadpool(struct vfs_handle_struct *handle) struct fd_event *sock_event = NULL; int ret = 0; int num_threads; + int fd; if (pool) { return true; @@ -85,9 +86,14 @@ static bool init_aio_threadpool(struct vfs_handle_struct *handle) errno = ret; return false; } + + fd = pthreadpool_signal_fd(pool); + + set_blocking(fd, false); + sock_event = tevent_add_fd(server_event_context(), NULL, - pthreadpool_signal_fd(pool), + fd, TEVENT_FD_READ, aio_pthread_handle_completion, NULL); @@ -290,25 +296,43 @@ static void aio_pthread_handle_completion(struct event_context *event_ctx, return; } - ret = pthreadpool_finished_job(pool, &jobid); - if (ret) { - smb_panic("aio_pthread_handle_completion"); - return; - } + while (true) { + ret = pthreadpool_finished_job(pool, &jobid); - pd = find_private_data_by_jobid(jobid); - if (pd == NULL) { - DEBUG(1, ("aio_pthread_handle_completion cannot find jobid %d\n", - jobid)); - return; - } + if (ret == EINTR || ret == EAGAIN) { + return; + } +#ifdef EWOULDBLOCK + if (ret == EWOULDBLOCK) { + return; + } +#endif - aio_ex = (struct aio_extra *)pd->aiocb->aio_sigevent.sigev_value.sival_ptr; - smbd_aio_complete_aio_ex(aio_ex); + if (ret == ECANCELED) { + return; + } - DEBUG(10,("aio_pthread_handle_completion: jobid %d completed\n", - jobid )); - TALLOC_FREE(aio_ex); + if (ret) { + smb_panic("aio_pthread_handle_completion"); + return; + } + + pd = find_private_data_by_jobid(jobid); + if (pd == NULL) { + DEBUG(1, ("aio_pthread_handle_completion cannot find " + "jobid %d\n", jobid)); + return; + } + + aio_ex = (struct aio_extra *) + pd->aiocb->aio_sigevent.sigev_value.sival_ptr; + + smbd_aio_complete_aio_ex(aio_ex); + + DEBUG(10,("aio_pthread_handle_completion: jobid %d " + "completed\n", jobid )); + TALLOC_FREE(aio_ex); + } } /************************************************************************ diff --git a/source3/rpc_client/cli_lsarpc.c b/source3/rpc_client/cli_lsarpc.c index 99e0262dfb..330774d9d3 100644 --- a/source3/rpc_client/cli_lsarpc.c +++ b/source3/rpc_client/cli_lsarpc.c @@ -330,16 +330,16 @@ static NTSTATUS dcerpc_lsa_lookup_sids_noalloc(struct dcerpc_binding_handle *h, * at 20480 for win2k3, but we keep it at a save 1000 for now. */ #define LOOKUP_SIDS_HUNK_SIZE 1000 -static NTSTATUS dcerpc_lsa_lookup_sids_generic(struct dcerpc_binding_handle *h, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, - int num_sids, - const struct dom_sid *sids, - char ***pdomains, - char ***pnames, - enum lsa_SidType **ptypes, - bool use_lookupsids3, - NTSTATUS *presult) +NTSTATUS dcerpc_lsa_lookup_sids_generic(struct dcerpc_binding_handle *h, + TALLOC_CTX *mem_ctx, + struct policy_handle *pol, + int num_sids, + const struct dom_sid *sids, + char ***pdomains, + char ***pnames, + enum lsa_SidType **ptypes, + bool use_lookupsids3, + NTSTATUS *presult) { NTSTATUS status = NT_STATUS_OK; NTSTATUS result = NT_STATUS_OK; @@ -539,48 +539,19 @@ NTSTATUS dcerpc_lsa_lookup_sids3(struct dcerpc_binding_handle *h, result); } -NTSTATUS rpccli_lsa_lookup_sids3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, - int num_sids, - const struct dom_sid *sids, - char ***pdomains, - char ***pnames, - enum lsa_SidType **ptypes) -{ - NTSTATUS status; - NTSTATUS result = NT_STATUS_UNSUCCESSFUL; - - status = dcerpc_lsa_lookup_sids_generic(cli->binding_handle, - mem_ctx, - pol, - num_sids, - sids, - pdomains, - pnames, - ptypes, - true, - &result); - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - return result; -} - /** Lookup a list of names */ -static NTSTATUS dcerpc_lsa_lookup_names_generic(struct dcerpc_binding_handle *h, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, - uint32_t num_names, - const char **names, - const char ***dom_names, - enum lsa_LookupNamesLevel level, - struct dom_sid **sids, - enum lsa_SidType **types, - bool use_lookupnames4, - NTSTATUS *presult) +NTSTATUS dcerpc_lsa_lookup_names_generic(struct dcerpc_binding_handle *h, + TALLOC_CTX *mem_ctx, + struct policy_handle *pol, + uint32_t num_names, + const char **names, + const char ***dom_names, + enum lsa_LookupNamesLevel level, + struct dom_sid **sids, + enum lsa_SidType **types, + bool use_lookupnames4, + NTSTATUS *presult) { NTSTATUS status; struct lsa_String *lsa_names = NULL; @@ -790,33 +761,3 @@ NTSTATUS dcerpc_lsa_lookup_names4(struct dcerpc_binding_handle *h, true, result); } - -NTSTATUS rpccli_lsa_lookup_names4(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, - int num_names, - const char **names, - const char ***dom_names, - int level, - struct dom_sid **sids, - enum lsa_SidType **types) -{ - NTSTATUS status; - NTSTATUS result = NT_STATUS_UNSUCCESSFUL; - - status = dcerpc_lsa_lookup_names4(cli->binding_handle, - mem_ctx, - pol, - num_names, - names, - dom_names, - level, - sids, - types, - &result); - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - return result; -} diff --git a/source3/rpc_client/cli_lsarpc.h b/source3/rpc_client/cli_lsarpc.h index a26193e5b4..36afe0bdfb 100644 --- a/source3/rpc_client/cli_lsarpc.h +++ b/source3/rpc_client/cli_lsarpc.h @@ -125,7 +125,16 @@ NTSTATUS rpccli_lsa_lookup_sids(struct rpc_pipe_client *cli, char ***pdomains, char ***pnames, enum lsa_SidType **ptypes); - +NTSTATUS dcerpc_lsa_lookup_sids_generic(struct dcerpc_binding_handle *h, + TALLOC_CTX *mem_ctx, + struct policy_handle *pol, + int num_sids, + const struct dom_sid *sids, + char ***pdomains, + char ***pnames, + enum lsa_SidType **ptypes, + bool use_lookupsids3, + NTSTATUS *presult); /** * @brief Look up the names that correspond to an array of sids. * @@ -158,15 +167,6 @@ NTSTATUS dcerpc_lsa_lookup_sids3(struct dcerpc_binding_handle *h, char ***pnames, enum lsa_SidType **ptypes, NTSTATUS *result); -NTSTATUS rpccli_lsa_lookup_sids3(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, - int num_sids, - const struct dom_sid *sids, - char ***pdomains, - char ***pnames, - enum lsa_SidType **ptypes); - NTSTATUS dcerpc_lsa_lookup_names(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct policy_handle *pol, @@ -196,14 +196,17 @@ NTSTATUS dcerpc_lsa_lookup_names4(struct dcerpc_binding_handle *h, struct dom_sid **sids, enum lsa_SidType **types, NTSTATUS *result); -NTSTATUS rpccli_lsa_lookup_names4(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, int num_names, - const char **names, - const char ***dom_names, - int level, - struct dom_sid **sids, - enum lsa_SidType **types); +NTSTATUS dcerpc_lsa_lookup_names_generic(struct dcerpc_binding_handle *h, + TALLOC_CTX *mem_ctx, + struct policy_handle *pol, + uint32_t num_names, + const char **names, + const char ***dom_names, + enum lsa_LookupNamesLevel level, + struct dom_sid **sids, + enum lsa_SidType **types, + bool use_lookupnames4, + NTSTATUS *presult); bool fetch_domain_sid( char *domain, char *remote_machine, struct dom_sid *psid); diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c index ec58b3d646..4e5fd71e89 100644 --- a/source3/rpc_client/cli_pipe.c +++ b/source3/rpc_client/cli_pipe.c @@ -2450,7 +2450,7 @@ static NTSTATUS rpc_pipe_open_tcp_port(TALLOC_CTX *mem_ctx, const char *host, result->max_xmit_frag = RPC_MAX_PDU_FRAG_LEN; result->max_recv_frag = RPC_MAX_PDU_FRAG_LEN; - if (!resolve_name(host, &addr, 0, false)) { + if (!resolve_name(host, &addr, NBT_NAME_SERVER, false)) { status = NT_STATUS_NOT_FOUND; goto fail; } diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c index 8868a9894e..b5949e44cc 100644 --- a/source3/rpc_server/spoolss/srv_spoolss_nt.c +++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c @@ -1942,24 +1942,12 @@ WERROR _spoolss_OpenPrinterEx(struct pipes_struct *p, * save it here in case we get a job submission on this handle */ - if ((Printer->printer_type != SPLHND_SERVER) && - r->in.devmode_ctr.devmode) { + if ((Printer->printer_type != SPLHND_SERVER) + && (r->in.devmode_ctr.devmode != NULL)) { copy_devicemode(NULL, r->in.devmode_ctr.devmode, &Printer->devmode); } -#if 0 /* JERRY -- I'm doubtful this is really effective */ - /* HACK ALERT!!! Sleep for 1/3 of a second to try trigger a LAN/WAN - optimization in Windows 2000 clients --jerry */ - - if ( (r->in.access_mask == PRINTER_ACCESS_ADMINISTER) - && (RA_WIN2K == get_remote_arch()) ) - { - DEBUG(10,("_spoolss_OpenPrinterEx: Enabling LAN/WAN hack for Win2k clients.\n")); - sys_usleep( 500000 ); - } -#endif - return WERR_OK; } @@ -4037,8 +4025,22 @@ static WERROR construct_printer_info2(TALLOC_CTX *mem_ctx, r->cjobs = count; r->averageppm = info2->averageppm; - copy_devicemode(mem_ctx, info2->devmode, &r->devmode); - if (!r->devmode) { + if (info2->devmode != NULL) { + result = copy_devicemode(mem_ctx, + info2->devmode, + &r->devmode); + if (!W_ERROR_IS_OK(result)) { + return result; + } + } else if (lp_default_devmode(snum)) { + result = spoolss_create_default_devmode(mem_ctx, + info2->printername, + &r->devmode); + if (!W_ERROR_IS_OK(result)) { + return result; + } + } else { + r->devmode = NULL; DEBUG(8,("Returning NULL Devicemode!\n")); } @@ -4218,8 +4220,22 @@ static WERROR construct_printer_info8(TALLOC_CTX *mem_ctx, return result; } - copy_devicemode(mem_ctx, info2->devmode, &r->devmode); - if (!r->devmode) { + if (info2->devmode != NULL) { + result = copy_devicemode(mem_ctx, + info2->devmode, + &r->devmode); + if (!W_ERROR_IS_OK(result)) { + return result; + } + } else if (lp_default_devmode(snum)) { + result = spoolss_create_default_devmode(mem_ctx, + info2->printername, + &r->devmode); + if (!W_ERROR_IS_OK(result)) { + return result; + } + } else { + r->devmode = NULL; DEBUG(8,("Returning NULL Devicemode!\n")); } diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c index 9108a80c6c..92be816a4e 100644 --- a/source3/smbd/dir.c +++ b/source3/smbd/dir.c @@ -1643,16 +1643,19 @@ bool SearchDir(struct smb_Dir *dirp, const char *name, long *poffset) Is this directory empty ? *****************************************************************/ -NTSTATUS can_delete_directory(struct connection_struct *conn, - const char *dirname) +NTSTATUS can_delete_directory_fsp(files_struct *fsp) { NTSTATUS status = NT_STATUS_OK; long dirpos = 0; const char *dname = NULL; char *talloced = NULL; SMB_STRUCT_STAT st; - struct smb_Dir *dir_hnd = OpenDir(talloc_tos(), conn, - dirname, NULL, 0); + struct connection_struct *conn = fsp->conn; + struct smb_Dir *dir_hnd = OpenDir_fsp(talloc_tos(), + conn, + fsp, + NULL, + 0); if (!dir_hnd) { return map_nt_error_from_unix(errno); @@ -1667,12 +1670,12 @@ NTSTATUS can_delete_directory(struct connection_struct *conn, } } - if (!is_visible_file(conn, dirname, dname, &st, True)) { + if (!is_visible_file(conn, fsp->fsp_name->base_name, dname, &st, True)) { TALLOC_FREE(talloced); continue; } - DEBUG(10,("can_delete_directory: got name %s - can't delete\n", + DEBUG(10,("can_delete_directory_fsp: got name %s - can't delete\n", dname )); status = NT_STATUS_DIRECTORY_NOT_EMPTY; break; diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 6b94a6d247..d10b6978be 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -58,6 +58,13 @@ NTSTATUS smb1_file_se_access_check(struct connection_struct *conn, return NT_STATUS_OK; } + /* + * If we can access the path to this file, by + * default we have FILE_READ_ATTRIBUTES from the + * containing directory. See the section: + * "Algorithm to Check Access to an Existing File" + * in MS-FSA.pdf. + */ return se_access_check(sd, token, (access_desired & ~FILE_READ_ATTRIBUTES), @@ -1416,7 +1423,14 @@ NTSTATUS smbd_calculate_access_mask(connection_struct *conn, } } - access_mask = access_granted; + /* + * If we can access the path to this file, by + * default we have FILE_READ_ATTRIBUTES from the + * containing directory. See the section. + * "Algorithm to Check Access to an Existing File" + * in MS-FSA.pdf. + */ + access_mask = access_granted | FILE_READ_ATTRIBUTES; } else { access_mask = FILE_GENERIC_ALL; } @@ -2752,8 +2766,8 @@ static NTSTATUS open_directory(connection_struct *conn, mtimespec = smb_dname->st.st_ex_mtime; - /* Temporary access mask used to open the directory fd. */ - fsp->access_mask = FILE_READ_DATA | FILE_READ_ATTRIBUTES; + fsp->access_mask = access_mask; + #ifdef O_DIRECTORY status = fd_open(conn, fsp, O_RDONLY|O_DIRECTORY, 0); #else diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 22ad40faec..8d6e7ecea4 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -1372,7 +1372,11 @@ static bool ensure_canon_entry_valid(connection_struct *conn, for (pace = *pp_ace; pace; pace = pace->next) { if (pace->type == SMB_ACL_USER_OBJ) { - if (setting_acl && !is_default_acl) { + if (setting_acl) { + /* + * Ensure we have default parameters for the + * user (owner) even on default ACLs. + */ apply_default_perms(params, is_directory, pace, S_IRUSR); } got_user = True; @@ -1452,9 +1456,11 @@ static bool ensure_canon_entry_valid(connection_struct *conn, pace->perms = pace_other->perms; } - if (!is_default_acl) { - apply_default_perms(params, is_directory, pace, S_IRUSR); - } + /* + * Ensure we have default parameters for the + * user (owner) even on default ACLs. + */ + apply_default_perms(params, is_directory, pace, S_IRUSR); } else { pace->perms = unix_perms_to_acl_perms(pst->st_ex_mode, S_IRUSR, S_IWUSR, S_IXUSR); } diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 5aa19cbee0..358d0515ae 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -151,7 +151,7 @@ bool srv_send_smb(struct smbd_server_connection *sconn, char *buffer, } } - len = smb_len(buf_out) + 4; + len = smb_len_large(buf_out) + 4; ret = write_data(sconn->sock, buf_out+nwritten, len - nwritten); if (ret <= 0) { @@ -2030,7 +2030,8 @@ void chain_reply(struct smb_request *req) * example). */ req->chain_outbuf = TALLOC_REALLOC_ARRAY( - req, req->outbuf, uint8_t, smb_len(req->outbuf) + 4); + req, req->outbuf, uint8_t, + smb_len_large(req->outbuf) + 4); if (req->chain_outbuf == NULL) { smb_panic("talloc failed"); } diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 9514c72fb8..bdbdbc0aee 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -4062,7 +4062,7 @@ static NTSTATUS marshall_stream_info(unsigned int num_streams, unsigned int i; unsigned int ofs = 0; - for (i = 0; i < num_streams && ofs <= max_data_bytes; i++) { + for (i = 0; i < num_streams; i++) { unsigned int next_offset; size_t namelen; smb_ucs2_t *namebuf; @@ -4081,6 +4081,16 @@ static NTSTATUS marshall_stream_info(unsigned int num_streams, namelen -= 2; + /* + * We cannot overflow ... + */ + if ((ofs + 24 + namelen) > max_data_bytes) { + DEBUG(10, ("refusing to overflow reply at stream %u\n", + i)); + TALLOC_FREE(namebuf); + return STATUS_BUFFER_OVERFLOW; + } + SIVAL(data, ofs+4, namelen); SOFF_T(data, ofs+8, streams[i].size); SOFF_T(data, ofs+16, streams[i].alloc_size); @@ -4095,6 +4105,14 @@ static NTSTATUS marshall_stream_info(unsigned int num_streams, else { unsigned int align = ndr_align_size(next_offset, 8); + if ((next_offset + align) > max_data_bytes) { + DEBUG(10, ("refusing to overflow align " + "reply at stream %u\n", + i)); + TALLOC_FREE(namebuf); + return STATUS_BUFFER_OVERFLOW; + } + memset(data+next_offset, 0, align); next_offset += align; @@ -4105,6 +4123,8 @@ static NTSTATUS marshall_stream_info(unsigned int num_streams, ofs = next_offset; } + DEBUG(10, ("max_data: %u, data_size: %u\n", max_data_bytes, ofs)); + *data_size = ofs; return NT_STATUS_OK; @@ -4694,6 +4714,7 @@ NTSTATUS smbd_do_qfilepathinfo(connection_struct *conn, if (!NT_STATUS_IS_OK(status)) { DEBUG(10, ("marshall_stream_info failed: %s\n", nt_errstr(status))); + TALLOC_FREE(streams); return status; } diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c index f751d688aa..8f8b7b4cae 100644 --- a/source3/utils/net_ads.c +++ b/source3/utils/net_ads.c @@ -37,6 +37,7 @@ #include "krb5_env.h" #include "../libcli/security/security.h" #include "libsmb/libsmb.h" +#include "utils/net_dns.h" #ifdef HAVE_ADS @@ -1123,12 +1124,9 @@ static WERROR check_ads_config( void ) #if defined(WITH_DNS_UPDATES) #include "../lib/addns/dns.h" -DNS_ERROR DoDNSUpdate(char *pszServerName, - const char *pszDomainName, const char *pszHostName, - const struct sockaddr_storage *sslist, - size_t num_addrs ); -static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads, +static NTSTATUS net_update_dns_internal(struct net_context *c, + TALLOC_CTX *ctx, ADS_STRUCT *ads, const char *machine_name, const struct sockaddr_storage *addrs, int num_addrs) @@ -1190,7 +1188,7 @@ static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads, status = ads_dns_lookup_ns( ctx, root_domain, &nameservers, &ns_count ); if ( !NT_STATUS_IS_OK(status) || (ns_count == 0)) { - DEBUG(3,("net_ads_join: Failed to find name server for the %s " + DEBUG(3,("net_update_dns_internal: Failed to find name server for the %s " "realm\n", ads->config.realm)); goto done; } @@ -1201,12 +1199,25 @@ static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads, for (i=0; i < ns_count; i++) { + uint32_t flags = DNS_UPDATE_SIGNED | + DNS_UPDATE_UNSIGNED | + DNS_UPDATE_UNSIGNED_SUFFICIENT | + DNS_UPDATE_PROBE | + DNS_UPDATE_PROBE_SUFFICIENT; + + if (c->opt_force) { + flags &= ~DNS_UPDATE_PROBE_SUFFICIENT; + flags &= ~DNS_UPDATE_UNSIGNED_SUFFICIENT; + } + + status = NT_STATUS_UNSUCCESSFUL; + /* Now perform the dns update - we'll try non-secure and if we fail, we'll follow it up with a secure update */ fstrcpy( dns_server, nameservers[i].hostname ); - dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs); + dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs, flags); if (ERR_DNS_IS_OK(dns_err)) { status = NT_STATUS_OK; goto done; @@ -1233,7 +1244,8 @@ done: return status; } -static NTSTATUS net_update_dns_ext(TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, +static NTSTATUS net_update_dns_ext(struct net_context *c, + TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, const char *hostname, struct sockaddr_storage *iplist, int num_addrs) @@ -1263,18 +1275,18 @@ static NTSTATUS net_update_dns_ext(TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, iplist = iplist_alloc; } - status = net_update_dns_internal(mem_ctx, ads, machine_name, + status = net_update_dns_internal(c, mem_ctx, ads, machine_name, iplist, num_addrs); SAFE_FREE(iplist_alloc); return status; } -static NTSTATUS net_update_dns(TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, const char *hostname) +static NTSTATUS net_update_dns(struct net_context *c, TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, const char *hostname) { NTSTATUS status; - status = net_update_dns_ext(mem_ctx, ads, hostname, NULL, 0); + status = net_update_dns_ext(c, mem_ctx, ads, hostname, NULL, 0); return status; } #endif @@ -1436,7 +1448,7 @@ int net_ads_join(struct net_context *c, int argc, const char **argv) d_printf(_("Using short domain name -- %s\n"), r->out.netbios_domain_name); if (r->out.dns_domain_name) { - d_printf(_("Joined '%s' to realm '%s'\n"), r->in.machine_name, + d_printf(_("Joined '%s' to dns domain '%s'\n"), r->in.machine_name, r->out.dns_domain_name); } else { d_printf(_("Joined '%s' to domain '%s'\n"), r->in.machine_name, @@ -1479,7 +1491,7 @@ int net_ads_join(struct net_context *c, int argc, const char **argv) ads_kinit_password( ads_dns ); } - if ( !ads_dns || !NT_STATUS_IS_OK(net_update_dns( ctx, ads_dns, NULL)) ) { + if ( !ads_dns || !NT_STATUS_IS_OK(net_update_dns(c, ctx, ads_dns, NULL)) ) { d_fprintf( stderr, _("DNS update failed!\n") ); } @@ -1584,7 +1596,7 @@ static int net_ads_dns_register(struct net_context *c, int argc, const char **ar return -1; } - ntstatus = net_update_dns_ext(ctx, ads, hostname, addrs, num_addrs); + ntstatus = net_update_dns_ext(c, ctx, ads, hostname, addrs, num_addrs); if (!NT_STATUS_IS_OK(ntstatus)) { d_fprintf( stderr, _("DNS update failed!\n") ); ads_destroy( &ads ); @@ -1605,10 +1617,6 @@ static int net_ads_dns_register(struct net_context *c, int argc, const char **ar #endif } -#if defined(WITH_DNS_UPDATES) -DNS_ERROR do_gethostbyname(const char *server, const char *host); -#endif - static int net_ads_dns_gethostbyname(struct net_context *c, int argc, const char **argv) { #if defined(WITH_DNS_UPDATES) diff --git a/source3/utils/net_dns.c b/source3/utils/net_dns.c index 5fbdc0a70f..eda0492cee 100644 --- a/source3/utils/net_dns.c +++ b/source3/utils/net_dns.c @@ -22,23 +22,17 @@ #include "includes.h" #include "utils/net.h" #include "../lib/addns/dns.h" +#include "utils/net_dns.h" #if defined(WITH_DNS_UPDATES) -/* - * Silly prototype to get rid of a warning - */ - -DNS_ERROR DoDNSUpdate(char *pszServerName, - const char *pszDomainName, const char *pszHostName, - const struct sockaddr_storage *sslist, - size_t num_addrs ); /********************************************************************* *********************************************************************/ DNS_ERROR DoDNSUpdate(char *pszServerName, const char *pszDomainName, const char *pszHostName, - const struct sockaddr_storage *sslist, size_t num_addrs ) + const struct sockaddr_storage *sslist, size_t num_addrs, + uint32_t flags) { DNS_ERROR err; struct dns_connection *conn; @@ -46,6 +40,14 @@ DNS_ERROR DoDNSUpdate(char *pszServerName, OM_uint32 minor; struct dns_update_request *req, *resp; + DEBUG(10,("DoDNSUpdate called with flags: 0x%08x\n", flags)); + + if (!(flags & DNS_UPDATE_SIGNED) && + !(flags & DNS_UPDATE_UNSIGNED) && + !(flags & DNS_UPDATE_PROBE)) { + return ERROR_DNS_INVALID_PARAMETER; + } + if ( (num_addrs <= 0) || !sslist ) { return ERROR_DNS_INVALID_PARAMETER; } @@ -59,45 +61,65 @@ DNS_ERROR DoDNSUpdate(char *pszServerName, goto error; } - /* - * Probe if everything's fine - */ + if (flags & DNS_UPDATE_PROBE) { - err = dns_create_probe(mem_ctx, pszDomainName, pszHostName, - num_addrs, sslist, &req); - if (!ERR_DNS_IS_OK(err)) goto error; + /* + * Probe if everything's fine + */ - err = dns_update_transaction(mem_ctx, conn, req, &resp); - if (!ERR_DNS_IS_OK(err)) goto error; + err = dns_create_probe(mem_ctx, pszDomainName, pszHostName, + num_addrs, sslist, &req); + if (!ERR_DNS_IS_OK(err)) goto error; + + err = dns_update_transaction(mem_ctx, conn, req, &resp); + if (!ERR_DNS_IS_OK(err)) goto error; - if (dns_response_code(resp->flags) == DNS_NO_ERROR) { - TALLOC_FREE(mem_ctx); - return ERROR_DNS_SUCCESS; + if (!ERR_DNS_IS_OK(err)) { + DEBUG(3,("DoDNSUpdate: failed to probe DNS\n")); + } + + if ((dns_response_code(resp->flags) == DNS_NO_ERROR) && + (flags & DNS_UPDATE_PROBE_SUFFICIENT)) { + TALLOC_FREE(mem_ctx); + return ERROR_DNS_SUCCESS; + } } - /* - * First try without signing - */ + if (flags & DNS_UPDATE_UNSIGNED) { - err = dns_create_update_request(mem_ctx, pszDomainName, pszHostName, - sslist, num_addrs, &req); - if (!ERR_DNS_IS_OK(err)) goto error; + /* + * First try without signing + */ - err = dns_update_transaction(mem_ctx, conn, req, &resp); - if (!ERR_DNS_IS_OK(err)) goto error; + err = dns_create_update_request(mem_ctx, pszDomainName, pszHostName, + sslist, num_addrs, &req); + if (!ERR_DNS_IS_OK(err)) goto error; - if (dns_response_code(resp->flags) == DNS_NO_ERROR) { - TALLOC_FREE(mem_ctx); - return ERROR_DNS_SUCCESS; + err = dns_update_transaction(mem_ctx, conn, req, &resp); + if (!ERR_DNS_IS_OK(err)) goto error; + + if (!ERR_DNS_IS_OK(err)) { + DEBUG(3,("DoDNSUpdate: unsigned update failed\n")); + } + + if ((dns_response_code(resp->flags) == DNS_NO_ERROR) && + (flags & DNS_UPDATE_UNSIGNED_SUFFICIENT)) { + TALLOC_FREE(mem_ctx); + return ERROR_DNS_SUCCESS; + } } /* * Okay, we have to try with signing */ - { + if (flags & DNS_UPDATE_SIGNED) { gss_ctx_id_t gss_context; char *keyname; + err = dns_create_update_request(mem_ctx, pszDomainName, pszHostName, + sslist, num_addrs, &req); + if (!ERR_DNS_IS_OK(err)) goto error; + if (!(keyname = dns_generate_keyname( mem_ctx ))) { err = ERROR_DNS_NO_MEMORY; goto error; @@ -128,6 +150,10 @@ DNS_ERROR DoDNSUpdate(char *pszServerName, err = (dns_response_code(resp->flags) == DNS_NO_ERROR) ? ERROR_DNS_SUCCESS : ERROR_DNS_UPDATE_FAILED; + + if (!ERR_DNS_IS_OK(err)) { + DEBUG(3,("DoDNSUpdate: signed update failed\n")); + } } @@ -177,12 +203,6 @@ int get_my_ip_address( struct sockaddr_storage **pp_ss ) return count; } -/* - * Silly prototype to get rid of a warning - */ - -DNS_ERROR do_gethostbyname(const char *server, const char *host); - DNS_ERROR do_gethostbyname(const char *server, const char *host) { struct dns_connection *conn; diff --git a/source3/utils/net_dns.h b/source3/utils/net_dns.h new file mode 100644 index 0000000000..31e541be99 --- /dev/null +++ b/source3/utils/net_dns.h @@ -0,0 +1,43 @@ +/* + Samba Unix/Linux Dynamic DNS Update + net ads commands + + Copyright (C) Krishna Ganugapati (krishnag@centeris.com) 2006 + Copyright (C) Gerald Carter 2006 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* flags for DoDNSUpdate */ + +#define DNS_UPDATE_SIGNED 0x01 +#define DNS_UPDATE_SIGNED_SUFFICIENT 0x02 +#define DNS_UPDATE_UNSIGNED 0x04 +#define DNS_UPDATE_UNSIGNED_SUFFICIENT 0x08 +#define DNS_UPDATE_PROBE 0x10 +#define DNS_UPDATE_PROBE_SUFFICIENT 0x20 + +#if defined(WITH_DNS_UPDATES) + +#include "../lib/addns/dns.h" + +DNS_ERROR DoDNSUpdate(char *pszServerName, + const char *pszDomainName, const char *pszHostName, + const struct sockaddr_storage *sslist, + size_t num_addrs, + uint32_t flags); + +DNS_ERROR do_gethostbyname(const char *server, const char *host); + +#endif /* defined(WITH_DNS_UPDATES) */ diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c index d129e1f61c..28583fd123 100644 --- a/source3/winbindd/winbindd_cm.c +++ b/source3/winbindd/winbindd_cm.c @@ -1602,6 +1602,10 @@ static NTSTATUS cm_open_connection(struct winbindd_domain *domain, result = cm_prepare_connection(domain, fd, domain->dcname, &new_conn->cli, &retry); + if (!NT_STATUS_IS_OK(result)) { + /* Don't leak the smb connection socket */ + close(fd); + } if (!retry) break; @@ -2564,6 +2568,37 @@ NTSTATUS cm_connect_lsa(struct winbindd_domain *domain, TALLOC_CTX *mem_ctx, } /**************************************************************************** +Open a LSA connection to a DC, suiteable for LSA lookup calls. +****************************************************************************/ + +NTSTATUS cm_connect_lsat(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + struct rpc_pipe_client **cli, + struct policy_handle *lsa_policy) +{ + NTSTATUS status; + + if (domain->can_do_ncacn_ip_tcp) { + status = cm_connect_lsa_tcp(domain, mem_ctx, cli); + if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) || + NT_STATUS_EQUAL(status, NT_STATUS_RPC_SEC_PKG_ERROR) || + NT_STATUS_EQUAL(status, NT_STATUS_NETWORK_ACCESS_DENIED)) { + invalidate_cm_connection(&domain->conn); + status = cm_connect_lsa_tcp(domain, mem_ctx, cli); + } + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + return NT_STATUS_OK; + } + + status = cm_connect_lsa(domain, mem_ctx, cli, lsa_policy); + + return status; +} + +/**************************************************************************** Open the netlogon pipe to this DC. Use schannel if specified in client conf. session key stored in conn->netlogon_pipe->dc->sess_key. ****************************************************************************/ diff --git a/source3/winbindd/winbindd_msrpc.c b/source3/winbindd/winbindd_msrpc.c index 921cdb5a8b..b14a4f87c3 100644 --- a/source3/winbindd/winbindd_msrpc.c +++ b/source3/winbindd/winbindd_msrpc.c @@ -35,6 +35,13 @@ #undef DBGC_CLASS #define DBGC_CLASS DBGC_WINBIND +static NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, + struct winbindd_domain *domain, + uint32_t num_names, + const char **names, + const char ***domains, + struct dom_sid **sids, + enum lsa_SidType **types); /* Query display info for a domain. This returns enough information plus a bit extra to give an overview of domain users for the User Manager @@ -1057,16 +1064,6 @@ static NTSTATUS msrpc_password_policy(struct winbindd_domain *domain, return status; } -typedef NTSTATUS (*lookup_sids_fn_t)(struct dcerpc_binding_handle *h, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, - int num_sids, - const struct dom_sid *sids, - char ***pdomains, - char ***pnames, - enum lsa_SidType **ptypes, - NTSTATUS *result); - NTSTATUS winbindd_lookup_sids(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain, uint32_t num_sids, @@ -1081,25 +1078,21 @@ NTSTATUS winbindd_lookup_sids(TALLOC_CTX *mem_ctx, struct dcerpc_binding_handle *b = NULL; struct policy_handle lsa_policy; unsigned int orig_timeout; - lookup_sids_fn_t lookup_sids_fn = dcerpc_lsa_lookup_sids; - - if (domain->can_do_ncacn_ip_tcp) { - status = cm_connect_lsa_tcp(domain, mem_ctx, &cli); - if (NT_STATUS_IS_OK(status)) { - lookup_sids_fn = dcerpc_lsa_lookup_sids3; - goto lookup; - } - domain->can_do_ncacn_ip_tcp = false; - } - status = cm_connect_lsa(domain, mem_ctx, &cli, &lsa_policy); + bool use_lookupsids3 = false; + bool retried = false; + connect: + status = cm_connect_lsat(domain, mem_ctx, &cli, &lsa_policy); if (!NT_STATUS_IS_OK(status)) { return status; } - lookup: b = cli->binding_handle; + if (cli->transport->transport == NCACN_IP_TCP) { + use_lookupsids3 = true; + } + /* * This call can take a long time * allow the server to time out. @@ -1107,21 +1100,23 @@ NTSTATUS winbindd_lookup_sids(TALLOC_CTX *mem_ctx, */ orig_timeout = dcerpc_binding_handle_set_timeout(b, 35000); - status = lookup_sids_fn(b, - mem_ctx, - &lsa_policy, - num_sids, - sids, - domains, - names, - types, - &result); + status = dcerpc_lsa_lookup_sids_generic(b, + mem_ctx, + &lsa_policy, + num_sids, + sids, + domains, + names, + types, + use_lookupsids3, + &result); /* And restore our original timeout. */ dcerpc_binding_handle_set_timeout(b, orig_timeout); if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) || - NT_STATUS_EQUAL(status, NT_STATUS_RPC_SEC_PKG_ERROR)) { + NT_STATUS_EQUAL(status, NT_STATUS_RPC_SEC_PKG_ERROR) || + NT_STATUS_EQUAL(status, NT_STATUS_NETWORK_ACCESS_DENIED)) { /* * This can happen if the schannel key is not * valid anymore, we need to invalidate the @@ -1129,6 +1124,11 @@ NTSTATUS winbindd_lookup_sids(TALLOC_CTX *mem_ctx, * a netlogon connection first. */ invalidate_cm_connection(&domain->conn); + domain->can_do_ncacn_ip_tcp = domain->active_directory; + if (!retried) { + retried = true; + goto connect; + } status = NT_STATUS_ACCESS_DENIED; } @@ -1143,24 +1143,13 @@ NTSTATUS winbindd_lookup_sids(TALLOC_CTX *mem_ctx, return NT_STATUS_OK; } -typedef NTSTATUS (*lookup_names_fn_t)(struct dcerpc_binding_handle *h, - TALLOC_CTX *mem_ctx, - struct policy_handle *pol, +static NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, + struct winbindd_domain *domain, uint32_t num_names, const char **names, - const char ***dom_names, - enum lsa_LookupNamesLevel level, + const char ***domains, struct dom_sid **sids, - enum lsa_SidType **types, - NTSTATUS *result); - -NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, - struct winbindd_domain *domain, - uint32_t num_names, - const char **names, - const char ***domains, - struct dom_sid **sids, - enum lsa_SidType **types) + enum lsa_SidType **types) { NTSTATUS status; NTSTATUS result; @@ -1168,25 +1157,21 @@ NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, struct dcerpc_binding_handle *b = NULL; struct policy_handle lsa_policy; unsigned int orig_timeout = 0; - lookup_names_fn_t lookup_names_fn = dcerpc_lsa_lookup_names; - - if (domain->can_do_ncacn_ip_tcp) { - status = cm_connect_lsa_tcp(domain, mem_ctx, &cli); - if (NT_STATUS_IS_OK(status)) { - lookup_names_fn = dcerpc_lsa_lookup_names4; - goto lookup; - } - domain->can_do_ncacn_ip_tcp = false; - } - status = cm_connect_lsa(domain, mem_ctx, &cli, &lsa_policy); + bool use_lookupnames4 = false; + bool retried = false; + connect: + status = cm_connect_lsat(domain, mem_ctx, &cli, &lsa_policy); if (!NT_STATUS_IS_OK(status)) { return status; } - lookup: b = cli->binding_handle; + if (cli->transport->transport == NCACN_IP_TCP) { + use_lookupnames4 = true; + } + /* * This call can take a long time * allow the server to time out. @@ -1194,22 +1179,24 @@ NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, */ orig_timeout = dcerpc_binding_handle_set_timeout(b, 35000); - status = lookup_names_fn(b, - mem_ctx, - &lsa_policy, - num_names, - (const char **) names, - domains, - 1, - sids, - types, - &result); + status = dcerpc_lsa_lookup_names_generic(b, + mem_ctx, + &lsa_policy, + num_names, + (const char **) names, + domains, + 1, + sids, + types, + use_lookupnames4, + &result); /* And restore our original timeout. */ dcerpc_binding_handle_set_timeout(b, orig_timeout); if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) || - NT_STATUS_EQUAL(status, NT_STATUS_RPC_SEC_PKG_ERROR)) { + NT_STATUS_EQUAL(status, NT_STATUS_RPC_SEC_PKG_ERROR) || + NT_STATUS_EQUAL(status, NT_STATUS_NETWORK_ACCESS_DENIED)) { /* * This can happen if the schannel key is not * valid anymore, we need to invalidate the @@ -1217,6 +1204,10 @@ NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, * a netlogon connection first. */ invalidate_cm_connection(&domain->conn); + if (!retried) { + retried = true; + goto connect; + } status = NT_STATUS_ACCESS_DENIED; } diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c index 619b63212d..a966202888 100644 --- a/source3/winbindd/winbindd_pam.c +++ b/source3/winbindd/winbindd_pam.c @@ -1152,6 +1152,7 @@ static NTSTATUS winbind_samlogon_retry_loop(struct winbindd_domain *domain, struct netr_SamInfo3 **info3) { int attempts = 0; + int netr_attempts = 0; bool retry = false; NTSTATUS result; @@ -1166,22 +1167,47 @@ static NTSTATUS winbind_samlogon_retry_loop(struct winbindd_domain *domain, result = cm_connect_netlogon(domain, &netlogon_pipe); if (!NT_STATUS_IS_OK(result)) { - DEBUG(3,("could not open handle to NETLOGON pipe (error: %s)\n", - nt_errstr(result))); - if (NT_STATUS_EQUAL(result, NT_STATUS_IO_TIMEOUT)) { - if (attempts > 0) { - DEBUG(3, ("This is the second problem for this " - "particular call, forcing the close of " - "this connection\n")); - invalidate_cm_connection(&domain->conn); - } else { - DEBUG(3, ("First call to cm_connect_netlogon " - "has timed out, retrying\n")); - continue; - } + DEBUG(3,("Could not open handle to NETLOGON pipe " + "(error: %s, attempts: %d)\n", + nt_errstr(result), netr_attempts)); + + /* After the first retry always close the connection */ + if (netr_attempts > 0) { + DEBUG(3, ("This is again a problem for this " + "particular call, forcing the close " + "of this connection\n")); + invalidate_cm_connection(&domain->conn); + } + + /* After the second retry failover to the next DC */ + if (netr_attempts > 1) { + /* + * If the netlogon server is not reachable then + * it is possible that the DC is rebuilding + * sysvol and shutdown netlogon for that time. + * We should failover to the next dc. + */ + DEBUG(3, ("This is the third problem for this " + "particular call, adding DC to the " + "negative cache list\n")); + add_failed_connection_entry(domain->name, + domain->dcname, + result); + saf_delete(domain->name); + } + + /* Only allow 3 retries */ + if (netr_attempts < 3) { + DEBUG(3, ("The connection to netlogon " + "failed, retrying\n")); + netr_attempts++; + retry = true; + continue; } return result; } + netr_attempts = 0; + auth = netlogon_pipe->auth; if (netlogon_pipe->dc) { neg_flags = netlogon_pipe->dc->negotiate_flags; diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h index 41292d4e53..a38d54cde2 100644 --- a/source3/winbindd/winbindd_proto.h +++ b/source3/winbindd/winbindd_proto.h @@ -47,13 +47,6 @@ NTSTATUS winbindd_lookup_sids(TALLOC_CTX *mem_ctx, char ***domains, char ***names, enum lsa_SidType **types); -NTSTATUS winbindd_lookup_names(TALLOC_CTX *mem_ctx, - struct winbindd_domain *domain, - uint32_t num_names, - const char **names, - const char ***domains, - struct dom_sid **sids, - enum lsa_SidType **types); NTSTATUS rpc_lookup_sids(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain, struct lsa_SidArray *sids, @@ -170,6 +163,10 @@ NTSTATUS cm_connect_lsa(struct winbindd_domain *domain, TALLOC_CTX *mem_ctx, NTSTATUS cm_connect_lsa_tcp(struct winbindd_domain *domain, TALLOC_CTX *mem_ctx, struct rpc_pipe_client **cli); +NTSTATUS cm_connect_lsat(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + struct rpc_pipe_client **cli, + struct policy_handle *lsa_policy); NTSTATUS cm_connect_netlogon(struct winbindd_domain *domain, struct rpc_pipe_client **cli); bool fetch_current_dc_from_gencache(TALLOC_CTX *mem_ctx, diff --git a/source3/winbindd/winbindd_rpc.c b/source3/winbindd/winbindd_rpc.c index bf438a6d5c..9a95e57d8a 100644 --- a/source3/winbindd/winbindd_rpc.c +++ b/source3/winbindd/winbindd_rpc.c @@ -1033,6 +1033,7 @@ NTSTATUS rpc_trusted_domains(TALLOC_CTX *mem_ctx, static NTSTATUS rpc_try_lookup_sids3(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain, + struct rpc_pipe_client *cli, struct lsa_SidArray *sids, struct lsa_RefDomainList **pdomains, struct lsa_TransNameArray **pnames) @@ -1040,15 +1041,8 @@ static NTSTATUS rpc_try_lookup_sids3(TALLOC_CTX *mem_ctx, struct lsa_TransNameArray2 lsa_names2; struct lsa_TransNameArray *names; uint32_t i, count; - struct rpc_pipe_client *cli; NTSTATUS status, result; - status = cm_connect_lsa_tcp(domain, talloc_tos(), &cli); - if (!NT_STATUS_IS_OK(status)) { - domain->can_do_ncacn_ip_tcp = false; - return status; - } - ZERO_STRUCT(lsa_names2); status = dcerpc_lsa_LookupSids3(cli->binding_handle, mem_ctx, @@ -1098,19 +1092,16 @@ NTSTATUS rpc_lookup_sids(TALLOC_CTX *mem_ctx, uint32_t count; NTSTATUS status, result; - if (domain->can_do_ncacn_ip_tcp) { - status = rpc_try_lookup_sids3(mem_ctx, domain, sids, - pdomains, pnames); - if (!NT_STATUS_IS_ERR(status)) { - return status; - } - } - - status = cm_connect_lsa(domain, mem_ctx, &cli, &lsa_policy); + status = cm_connect_lsat(domain, mem_ctx, &cli, &lsa_policy); if (!NT_STATUS_IS_OK(status)) { return status; } + if (cli->transport->transport == NCACN_IP_TCP) { + return rpc_try_lookup_sids3(mem_ctx, domain, cli, sids, + pdomains, pnames); + } + names = TALLOC_ZERO_P(mem_ctx, struct lsa_TransNameArray); if (names == NULL) { return NT_STATUS_NO_MEMORY; diff --git a/source3/wscript b/source3/wscript index 1ea355945c..b40848d4c1 100644 --- a/source3/wscript +++ b/source3/wscript @@ -661,6 +661,8 @@ krb5_get_credentials_for_user krb5_get_host_realm krb5_free_host_realm''', conf.CHECK_VARIABLE('KV5M_KEYTAB', headers='krb5.h') conf.CHECK_VARIABLE('KRB5_KU_OTHER_CKSUM', headers='krb5.h') conf.CHECK_VARIABLE('KRB5_KEYUSAGE_APP_DATA_CKSUM', headers='krb5.h') + conf.CHECK_VARIABLE('ENCTYPE_AES128_CTS_HMAC_SHA1_96', headers='krb5.h') + conf.CHECK_VARIABLE('ENCTYPE_AES256_CTS_HMAC_SHA1_96', headers='krb5.h') conf.CHECK_STRUCTURE_MEMBER('krb5_keytab_entry', 'key', headers='krb5.h', define='HAVE_KRB5_KEYTAB_ENTRY_KEY') conf.CHECK_STRUCTURE_MEMBER('krb5_keytab_entry', 'keyblock', headers='krb5.h', diff --git a/source4/torture/smb2/create.c b/source4/torture/smb2/create.c index f11c8375b1..3850a3ce22 100644 --- a/source4/torture/smb2/create.c +++ b/source4/torture/smb2/create.c @@ -444,14 +444,103 @@ static bool test_create_blob(struct torture_context *tctx, struct smb2_tree *tre status = smb2_util_close(tree, io.out.file.handle); CHECK_STATUS(status, NT_STATUS_OK); - torture_comment(tctx, "Testing bad tag length\n"); + torture_comment(tctx, "Testing bad tag length 0\n"); + ZERO_STRUCT(io.in.blobs); status = smb2_create_blob_add(tctx, &io.in.blobs, - "xxx", data_blob(NULL, 0)); + "x", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); + + torture_comment(tctx, "Testing bad tag length 1\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "x", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); + + torture_comment(tctx, "Testing bad tag length 2\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xx", data_blob(NULL, 0)); CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); + torture_comment(tctx, "Testing bad tag length 3\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); status = smb2_create(tree, tctx, &io); CHECK_STATUS(status, NT_STATUS_INVALID_PARAMETER); + torture_comment(tctx, "Testing tag length 4\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + + torture_comment(tctx, "Testing tag length 5\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + + torture_comment(tctx, "Testing tag length 6\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxxxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + + torture_comment(tctx, "Testing tag length 7\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxxxxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + + torture_comment(tctx, "Testing tag length 8\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxxxxxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + + torture_comment(tctx, "Testing tag length 16\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxxxxxxxxxxxxxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + + torture_comment(tctx, "Testing tag length 17\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxxxxxxxxxxxxxxx", data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + + torture_comment(tctx, "Testing tag length 34\n"); + ZERO_STRUCT(io.in.blobs); + status = smb2_create_blob_add(tctx, &io.in.blobs, + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + data_blob(NULL, 0)); + CHECK_STATUS(status, NT_STATUS_OK); + status = smb2_create(tree, tctx, &io); + CHECK_STATUS(status, NT_STATUS_OK); + smb2_deltree(tree, FNAME); return true; |