[SCM] Samba Shared Repository - branch v3-5-test updated

Günther Deschner gd at samba.org
Fri Dec 18 07:50:19 MST 2009


The branch, v3-5-test has been updated
       via  038fb57... s3: re-run make samba3-idl.
       via  44feb66... s3-docs: mention pam_winbind.conf(5) manpage in pam_winbind(8) manpage.
       via  f69c3d5... s3-docs: add new pam_winbind.conf(5) manpage.
       via  0d5db6d... s4-smbtorture: skip GetAliasMembership against s4.
       via  2365f86... s4-smbtorture: add a samr_GetAliasMembership test to RPC-SAMR.
       via  600b632d.. tdbtool: avoid using c++ reserved words.
       via  c793209... s4-smbtorture: fix smbtorture after setprinter IDL fixes.
       via  598d362... s3-spoolss: fix rpcclient after setprinter IDL fixes.
       via  33f47d4... spoolss: more mork on SetPrinterInfo() levels.
       via  3cef8b4... spoolss: add spoolss_DriverInfo7.
       via  2f94722... s3-pdbedit: allow to call "pdbedit -N description -u user" without specifiyng "-r".
       via  ea74427... s4-smbtorture: run GetPrinterDriver2 tests against each printer's driver.
      from  f3f1c3c... WHATSNEW: Fix typo.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test


- Log -----------------------------------------------------------------
commit 038fb57092132459bbd8aff8836abdf2a0bbaeed
Author: Günther Deschner <gd at samba.org>
Date:   Fri Dec 18 15:49:34 2009 +0100

    s3: re-run make samba3-idl.
    
    Guenther

commit 44feb66c4b958947954853ae7a6b7b017ebd9166
Author: Günther Deschner <gd at samba.org>
Date:   Fri Dec 18 13:56:43 2009 +0100

    s3-docs: mention pam_winbind.conf(5) manpage in pam_winbind(8) manpage.
    
    Guenther
    (cherry picked from commit 72d68acbf59aa8531cc132551cc8e8313b7dc3b7)

commit f69c3d57849396a8b31d6b2dfb074c3abe02c6eb
Author: Günther Deschner <gd at samba.org>
Date:   Fri Dec 18 13:56:01 2009 +0100

    s3-docs: add new pam_winbind.conf(5) manpage.
    
    Guenther
    (cherry picked from commit 74816678706b7028fa63a4e552887fcf98322711)

commit 0d5db6d06bfbc7f52bf3fa61468f6220d63bccc8
Author: Günther Deschner <gd at samba.org>
Date:   Thu Dec 17 18:02:53 2009 +0100

    s4-smbtorture: skip GetAliasMembership against s4.
    
    It returns NT_STATUS_INTERNAL_DB_CORRUPTION for unknown sids and I could not
    figure out why.
    
    Guenther
    (cherry picked from commit dc4c41124228878d2c29fe2b240b23eb49631fe1)

commit 2365f868a08503945e92193c18eec5fb1ae2dc93
Author: Günther Deschner <gd at samba.org>
Date:   Thu Dec 17 15:34:22 2009 +0100

    s4-smbtorture: add a samr_GetAliasMembership test to RPC-SAMR.
    
    Guenther
    (cherry picked from commit 619ad0c6ecf88a861ad1a1e1d5564bd1f91855cc)

commit 600b632d7bf04998e5078153553c48953475202b
Author: Günther Deschner <gd at samba.org>
Date:   Thu Dec 17 00:13:23 2009 +0100

    tdbtool: avoid using c++ reserved words.
    
    Guenther
    (cherry picked from commit a23084e1e89a44cf692f6e205263ee53371b80c9)

commit c79320978f3cdfb698fe7eb060d1678bdac01caa
Author: Günther Deschner <gd at samba.org>
Date:   Wed Dec 16 10:33:41 2009 +0100

    s4-smbtorture: fix smbtorture after setprinter IDL fixes.
    
    Guenther
    (cherry picked from commit a9689bb755b4fd22a8c2b651aa90b2f74188edcb)

commit 598d362527a3de7927f905f2a8fa8aba51fefb7d
Author: Günther Deschner <gd at samba.org>
Date:   Wed Dec 16 10:33:13 2009 +0100

    s3-spoolss: fix rpcclient after setprinter IDL fixes.
    
    Guenther
    (cherry picked from commit 31cf2b086a9275955b0480b4b9035dc12671761d)

commit 33f47d45f348546313ee743ed6ad48fbcab50e98
Author: Günther Deschner <gd at samba.org>
Date:   Wed Dec 16 10:32:35 2009 +0100

    spoolss: more mork on SetPrinterInfo() levels.
    
    Guenther
    (cherry picked from commit be95cb6f8357334af08d1502910a429328b85bc5)

commit 3cef8b4862c2564ef5e856aa00bbdaa611d2a57f
Author: Günther Deschner <gd at samba.org>
Date:   Wed Dec 16 10:39:00 2009 +0100

    spoolss: add spoolss_DriverInfo7.
    
    Guenther
    (cherry picked from commit 64e588f868c23bf4c836f4029a285885db5d087e)

commit 2f947224076315ebc983e38f993c452c52beb5a7
Author: Günther Deschner <gd at samba.org>
Date:   Wed Dec 16 15:59:04 2009 +0100

    s3-pdbedit: allow to call "pdbedit -N description -u user" without specifiyng "-r".
    
    Guenther
    (cherry picked from commit d9f93224bdd2b02a8c96667009e43406b47d4c35)

commit ea7442720fbde39817abf9a6f312a940d634e6d8
Author: Günther Deschner <gd at samba.org>
Date:   Tue Dec 15 22:26:39 2009 +0100

    s4-smbtorture: run GetPrinterDriver2 tests against each printer's driver.
    
    Guenther
    (cherry picked from commit 308b50a7bb07a7db6d2119f9ff08f33fce922562)

-----------------------------------------------------------------------

Summary of changes:
 docs-xml/manpages-3/pam_winbind.8.xml              |    6 +-
 .../{pam_winbind.8.xml => pam_winbind.conf.5.xml}  |  156 +++------
 lib/tdb/tools/tdbtool.c                            |    4 +-
 librpc/gen_ndr/ndr_spoolss.c                       |  364 ++++++++++++++++----
 librpc/gen_ndr/ndr_spoolss.h                       |    6 +
 librpc/gen_ndr/spoolss.h                           |   25 ++-
 librpc/idl/spoolss.idl                             |   25 ++-
 source3/rpcclient/cmd_spoolss.c                    |    4 +-
 source3/utils/pdbedit.c                            |    6 +-
 source4/torture/rpc/samr.c                         |   51 +++
 source4/torture/rpc/spoolss.c                      |   70 +++--
 11 files changed, 494 insertions(+), 223 deletions(-)
 copy docs-xml/manpages-3/{pam_winbind.8.xml => pam_winbind.conf.5.xml} (55%)


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/pam_winbind.8.xml b/docs-xml/manpages-3/pam_winbind.8.xml
index ae29c40..47cf998 100644
--- a/docs-xml/manpages-3/pam_winbind.8.xml
+++ b/docs-xml/manpages-3/pam_winbind.8.xml
@@ -62,7 +62,9 @@
 		file situated at
 		<filename>/etc/security/pam_winbind.conf</filename>. Options
 		from the PAM configuration file take precedence to those from
-		the configuration file.
+		the configuration file. See
+		<citerefentry><refentrytitle>pam_winbind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+		for further details.
 
 		<variablelist>
 
@@ -231,6 +233,8 @@
 <refsect1>
 	<title>SEE ALSO</title>
 	<para><citerefentry>
+	<refentrytitle>pam_winbind.conf</refentrytitle>
+	<manvolnum>5</manvolnum></citerefentry>, <citerefentry>
 	<refentrytitle>wbinfo</refentrytitle>
 	<manvolnum>1</manvolnum></citerefentry>, <citerefentry>
 	<refentrytitle>winbindd</refentrytitle>
diff --git a/docs-xml/manpages-3/pam_winbind.8.xml b/docs-xml/manpages-3/pam_winbind.conf.5.xml
similarity index 55%
copy from docs-xml/manpages-3/pam_winbind.8.xml
copy to docs-xml/manpages-3/pam_winbind.conf.5.xml
index ae29c40..113515c 100644
--- a/docs-xml/manpages-3/pam_winbind.8.xml
+++ b/docs-xml/manpages-3/pam_winbind.conf.5.xml
@@ -1,120 +1,92 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
 <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
-<refentry id="pam_winbind.8">
+<refentry id="pam_winbind.conf.5">
 
 <refmeta>
-	<refentrytitle>pam_winbind</refentrytitle>
-	<manvolnum>8</manvolnum>
+	<refentrytitle>pam_winbind.conf</refentrytitle>
+	<manvolnum>5</manvolnum>
 	<refmiscinfo class="source">Samba</refmiscinfo>
-	<refmiscinfo class="manual">8</refmiscinfo>
-	<refmiscinfo class="version">3.5</refmiscinfo>
+	<refmiscinfo class="manual">5</refmiscinfo>
+	<refmiscinfo class="version">3.6</refmiscinfo>
 </refmeta>
 
 
 <refnamediv>
-	<refname>pam_winbind</refname>
-	<refpurpose>PAM module for Winbind</refpurpose>
+	<refname>pam_winbind.conf</refname>
+	<refpurpose>Configuration file of PAM module for Winbind</refpurpose>
 </refnamediv>
 
 <refsect1>
 	<title>DESCRIPTION</title>
 
-	<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+	<para>This configuration file is part of the <citerefentry><refentrytitle>samba</refentrytitle>
 	<manvolnum>7</manvolnum></citerefentry> suite.</para>
 
 	<para>
-	pam_winbind is a PAM module that can authenticate users against the local domain by talking to the Winbind daemon.
+	pam_winbind.conf is the configuration file for the pam_winbind PAM
+	module. See
+	<citerefentry><refentrytitle>pam_winbind</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+	for further details.
 	</para>
-
 </refsect1>
 
 <refsect1>
 	<title>SYNOPSIS</title>
 
 	<para>
-		Edit the PAM system config /etc/pam.d/service and modify it as the following example shows:
-		<programlisting>
-			    ...
-			    auth      required        pam_env.so
-			    auth      sufficient      pam_unix2.so
-			+++ auth      required        pam_winbind.so  use_first_pass
-			    account   requisite       pam_unix2.so
-			+++ account   required        pam_winbind.so  use_first_pass
-			+++ password  sufficient      pam_winbind.so
-			    password  requisite       pam_pwcheck.so  cracklib
-			    password  required        pam_unix2.so    use_authtok
-			    session   required        pam_unix2.so
-			+++ session   required        pam_winbind.so
-			    ...
-		</programlisting>
-
-		Make sure that pam_winbind is one of the first modules in the session part. It may retrieve
-		kerberos tickets which are needed by other modules.
+		The pam_winbind.conf configuration file is a classic ini-style
+		configuration file. There is only one section (global) where
+		various options are defined.
 	</para>
 </refsect1>
 
 <refsect1>
 	<title>OPTIONS</title>
 	<para>
-	
+
 		pam_winbind supports several options which can either be set in
 		the PAM configuration files or in the pam_winbind configuration
 		file situated at
 		<filename>/etc/security/pam_winbind.conf</filename>. Options
 		from the PAM configuration file take precedence to those from
-		the configuration file.
+		the pam_winbind.conf configuration file.
 
 		<variablelist>
 
 		<varlistentry>
-		<term>debug</term>
-		<listitem><para>Gives debugging output to syslog.</para></listitem>
+		<term>debug = yes|no</term>
+		<listitem><para>Gives debugging output to syslog. Defaults to "no".</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>debug_state</term>
-		<listitem><para>Gives detailed PAM state debugging output to syslog.</para></listitem>
+		<term>debug_state = yes|no</term>
+		<listitem><para>Gives detailed PAM state debugging output to syslog. Defaults to "no".</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>require_membership_of=[SID or NAME]</term>
+		<term>require_membership_of = [SID or NAME]</term>
 		<listitem><para>
 		If this option is set, pam_winbind will only succeed if the user is a member of the given SID or NAME. A SID
 		can be either a group-SID, an alias-SID or even an user-SID. It is also possible to give a NAME instead of the
 		SID. That name must have the form: <parameter>MYDOMAIN\\mygroup</parameter> or
 		<parameter>MYDOMAIN\\myuser</parameter>.  pam_winbind will, in that case, lookup the SID internally. Note that
 		NAME may not contain any spaces. It is thus recommended to only use SIDs. You can verify the list of SIDs a
-		user is a member of with <command>wbinfo --user-sids=SID</command>.
+		user is a member of with <command>wbinfo --user-sids=SID</command>. This setting is empty by default.
 		</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>use_first_pass</term>
+		<term>try_first_pass = yes|no</term>
 		<listitem><para>
 		By default, pam_winbind tries to get the authentication token from a previous module. If no token is available
 		it asks the user for the old password. With this option, pam_winbind aborts with an error if no authentication
-		token from a previous module is available.
-		</para></listitem>
-		</varlistentry>
-
-		<varlistentry>
-		<term>try_first_pass</term>
-		<listitem><para>
-				Same as the use_first_pass option (previous item), except that if the primary password is not
-				valid, PAM will prompt for a password.
-		</para></listitem>
-		</varlistentry>
-
-		<varlistentry>
-		<term>use_authtok</term>
-		<listitem><para>
-		Set the new password to the one provided by the previously stacked password module. If this option is not set 
-		pam_winbind will ask the user for the new password.
+		token from a previous module is available. If a primary password is not valid, PAM will prompt for a password.
+		Default to "no".
 		</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>krb5_auth</term>
+		<term>krb5_auth = yes|no</term>
 		<listitem><para>
 
 		pam_winbind can authenticate using Kerberos when winbindd is
@@ -125,15 +97,15 @@
 		MSRPC. When this parameter is used in conjunction with
 		<parameter>winbind refresh tickets</parameter>, winbind will
 		keep your Ticket Granting Ticket (TGT) uptodate by refreshing
-		it whenever necessary.
+		it whenever necessary. Defaults to "no".
 
 		</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>krb5_ccache_type=[type]</term>
+		<term>krb5_ccache_type = [type]</term>
 		<listitem><para>
-		
+
 		When pam_winbind is configured to try kerberos authentication
 		by enabling the <parameter>krb5_auth</parameter> option, it can
 		store the retrieved Ticket Granting Ticket (TGT) in a
@@ -143,35 +115,35 @@
 		the form of /tmp/krb5cc_UID will be created, where UID is
 		replaced with the numeric user id.  Leave empty to just do
 		kerberos authentication without having a ticket cache after the
-		logon has succeeded.
+		logon has succeeded. This setting is empty by default.
 
 		</para></listitem>
 		</varlistentry>
-	
+
 		<varlistentry>
-		<term>cached_login</term>
+		<term>cached_login = yes|no</term>
 		<listitem><para>
-		Winbind allows to logon using cached credentials when <parameter>winbind offline logon</parameter> is enabled. To use this feature from the PAM module this option must be set.
+		Winbind allows to logon using cached credentials when <parameter>winbind offline logon</parameter> is enabled. To use this feature from the PAM module this option must be set. Defaults to "no".
 		</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>silent</term>
+		<term>silent = yes|no</term>
 		<listitem><para>
-		Do not emit any messages.
+		Do not emit any messages. Defaults to "no".
 		</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>mkhomedir</term>
+		<term>mkhomedir = yes|no</term>
 		<listitem><para>
 		Create homedirectory for a user on-the-fly, option is valid in
-		PAM session block.
+		PAM session block. Defaults to "no".
 		</para></listitem>
 		</varlistentry>
 
 		<varlistentry>
-		<term>warn_pwd_expire</term>
+		<term>warn_pwd_expire = days</term>
 		<listitem><para>
 		Defines number of days before pam_winbind starts to warn about passwords that are
 		going to expire. Defaults to 14 days.
@@ -185,52 +157,10 @@
 </refsect1>
 
 <refsect1>
-	<title>PAM DATA EXPORTS</title>
-
-	<para>This section describes the data exported in the PAM stack which could be used in other PAM modules.</para>
-
-	<varlistentry>
-		<term>PAM_WINBIND_HOMEDIR</term>
-		<listitem>
-			<para>
-				This is the Windows Home Directory set in the profile tab in the user settings
-				on the Active Directory Server. This could be a local path or a directory on a
-				share mapped to a drive.
-			</para>
-		</listitem>
-	</varlistentry>
-	<varlistentry>
-		<term>PAM_WINBIND_LOGONSCRIPT</term>
-		<listitem>
-			<para>
-				The path to the logon script which should be executed if a user logs in. This is
-				normally a relative path to the script stored on the server.
-			</para>
-		</listitem>
-	</varlistentry>
-	<varlistentry>
-		<term>PAM_WINBIND_LOGONSERVER</term>
-		<listitem>
-			<para>
-				This exports the Active Directory server we are authenticating against. This can be
-				used as a variable later.
-			</para>
-		</listitem>
-	</varlistentry>
-	<varlistentry>
-		<term>PAM_WINBIND_PROFILEPATH</term>
-		<listitem>
-			<para>
-				This is the profile path set in the profile tab in the user settings. Normally
-				the home directory is synced with this directory on a share.
-			</para>
-		</listitem>
-	</varlistentry>
-</refsect1>
-
-<refsect1>
 	<title>SEE ALSO</title>
 	<para><citerefentry>
+	<refentrytitle>pam_winbind</refentrytitle>
+	<manvolnum>8</manvolnum></citerefentry>, <citerefentry>
 	<refentrytitle>wbinfo</refentrytitle>
 	<manvolnum>1</manvolnum></citerefentry>, <citerefentry>
 	<refentrytitle>winbindd</refentrytitle>
@@ -247,12 +177,12 @@
 
 <refsect1>
 	<title>AUTHOR</title>
-	
+
 	<para>
 	The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by
 	the Samba Team as an Open Source project similar to the way the Linux kernel is developed.
 	</para>
-	
+
 	<para>This manpage was written by Jelmer Vernooij and Guenther Deschner.</para>
 
 </refsect1>
diff --git a/lib/tdb/tools/tdbtool.c b/lib/tdb/tools/tdbtool.c
index d646515..b47e771 100644
--- a/lib/tdb/tools/tdbtool.c
+++ b/lib/tdb/tools/tdbtool.c
@@ -537,9 +537,9 @@ static void next_record(TDB_CONTEXT *the_tdb, TDB_DATA *pkey)
 		print_rec(the_tdb, *pkey, dbuf, NULL);
 }
 
-static int count(TDB_DATA key, TDB_DATA data, void *private)
+static int count(TDB_DATA key, TDB_DATA data, void *private_data)
 {
-	(*(unsigned int *)private)++;
+	(*(unsigned int *)private_data)++;
 	return 0;
 }
 
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index 4467087..9cb83b5 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -6616,12 +6616,12 @@ static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo2(struct ndr_push *ndr,
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->drivername));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->location));
-		NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->sepfile));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->printprocessor));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
-		NDR_CHECK(ndr_push_unique_ptr(ndr, r->secdesc));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->secdesc_ptr));
 		NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority));
@@ -6675,14 +6675,6 @@ static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo2(struct ndr_push *ndr,
 			NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
 			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->location, ndr_charset_length(r->location, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 		}
-		if (r->devmode) {
-			{
-				struct ndr_push *_ndr_devmode;
-				NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
-				NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
-				NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
-			}
-		}
 		if (r->sepfile) {
 			NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
 			NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
@@ -6707,14 +6699,6 @@ static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo2(struct ndr_push *ndr,
 			NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
 			NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 		}
-		if (r->secdesc) {
-			{
-				struct ndr_push *_ndr_secdesc;
-				NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
-				NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
-				NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
-			}
-		}
 	}
 	return NDR_ERR_SUCCESS;
 }
@@ -6735,8 +6719,6 @@ static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr,
 	TALLOC_CTX *_mem_save_comment_0;
 	uint32_t _ptr_location;
 	TALLOC_CTX *_mem_save_location_0;
-	uint32_t _ptr_devmode;
-	TALLOC_CTX *_mem_save_devmode_0;
 	uint32_t _ptr_sepfile;
 	TALLOC_CTX *_mem_save_sepfile_0;
 	uint32_t _ptr_printprocessor;
@@ -6745,8 +6727,6 @@ static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr,
 	TALLOC_CTX *_mem_save_datatype_0;
 	uint32_t _ptr_parameters;
 	TALLOC_CTX *_mem_save_parameters_0;
-	uint32_t _ptr_secdesc;
-	TALLOC_CTX *_mem_save_secdesc_0;
 	if (ndr_flags & NDR_SCALARS) {
 		NDR_CHECK(ndr_pull_align(ndr, 5));
 		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
@@ -6791,12 +6771,7 @@ static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr,
 		} else {
 			r->location = NULL;
 		}
-		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
-		if (_ptr_devmode) {
-			NDR_PULL_ALLOC(ndr, r->devmode);
-		} else {
-			r->devmode = NULL;
-		}
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
 		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
 		if (_ptr_sepfile) {
 			NDR_PULL_ALLOC(ndr, r->sepfile);
@@ -6821,12 +6796,7 @@ static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr,
 		} else {
 			r->parameters = NULL;
 		}
-		NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
-		if (_ptr_secdesc) {
-			NDR_PULL_ALLOC(ndr, r->secdesc);
-		} else {
-			r->secdesc = NULL;
-		}
+		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->secdesc_ptr));
 		NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
 		if (r->priority > 99) {
@@ -6925,17 +6895,6 @@ static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr,
 			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->location, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t), CH_UTF16));
 			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
 		}
-		if (r->devmode) {
-			_mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
-			NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
-			{
-				struct ndr_pull *_ndr_devmode;
-				NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
-				NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
-				NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
-			}
-			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
-		}
 		if (r->sepfile) {
 			_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
 			NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
@@ -6984,17 +6943,6 @@ static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo2(struct ndr_pull *ndr,
 			NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
 			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
 		}
-		if (r->secdesc) {
-			_mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
-			NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
-			{
-				struct ndr_pull *_ndr_secdesc;
-				NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
-				NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
-				NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
-			}
-			NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
-		}
 	}
 	return NDR_ERR_SUCCESS;
 }
@@ -7045,12 +6993,7 @@ _PUBLIC_ void ndr_print_spoolss_SetPrinterInfo2(struct ndr_print *ndr, const cha
 		ndr_print_string(ndr, "location", r->location);
 	}
 	ndr->depth--;
-	ndr_print_ptr(ndr, "devmode", r->devmode);
-	ndr->depth++;
-	if (r->devmode) {
-		ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
-	}
-	ndr->depth--;
+	ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
 	ndr_print_ptr(ndr, "sepfile", r->sepfile);
 	ndr->depth++;
 	if (r->sepfile) {
@@ -7075,12 +7018,7 @@ _PUBLIC_ void ndr_print_spoolss_SetPrinterInfo2(struct ndr_print *ndr, const cha
 		ndr_print_string(ndr, "parameters", r->parameters);
 	}
 	ndr->depth--;
-	ndr_print_ptr(ndr, "secdesc", r->secdesc);
-	ndr->depth++;
-	if (r->secdesc) {
-		ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
-	}
-	ndr->depth--;
+	ndr_print_uint32(ndr, "secdesc_ptr", r->secdesc_ptr);
 	ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
 	ndr_print_uint32(ndr, "priority", r->priority);
 	ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
@@ -7423,6 +7361,70 @@ _PUBLIC_ void ndr_print_spoolss_SetPrinterInfo7(struct ndr_print *ndr, const cha
 	ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo8 *r)
+{
+	if (ndr_flags & NDR_SCALARS) {
+		NDR_CHECK(ndr_push_align(ndr, 4));
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
+		NDR_CHECK(ndr_push_trailer_align(ndr, 4));
+	}
+	if (ndr_flags & NDR_BUFFERS) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list